/** * @inheritdoc */ public function denormalize(FixtureBag $builtFixtures, string $className, string $fixtureId, array $specs, FlagBag $flags) : FixtureBag { try { return $this->collectionDenormalizer->denormalize($builtFixtures, $className, $fixtureId, $specs, $flags); } catch (InvalidScopeException $exception) { // Continue to fallback on a more conventional way } if (null === $this->denormalizer) { throw DenormalizerExceptionFactory::createDenormalizerNotFoundUnexpectedCall(__METHOD__); } if (null === $this->parser) { throw FlagParserExceptionFactory::createForExpectedMethodToBeCalledIfHasAParser(__METHOD__); } $flags = $this->parser->parse($fixtureId)->mergeWith($flags, false); $fixtureId = $flags->getKey(); $fixtureIds = $this->buildIds($fixtureId); foreach ($fixtureIds as $fixtureId => $valueForCurrent) { $builtFixtures = $this->denormalizeFixture($builtFixtures, $className, $fixtureId, $specs, $flags, (string) $valueForCurrent); } return $builtFixtures; }
/** * @inheritdoc */ public function buildIds(string $id) : array { return $this->collectionDenormalizer->buildIds($id); }