示例#1
0
 public static function create(SerializerInterface $serializer)
 {
     $chainGuesser = ChainGuesserFactory::create($serializer);
     $naming = new Naming();
     $merger = new JsonSchemaMerger();
     $resolver = new Resolver($serializer);
     $chainGuesser->addGuesser(new SimpleTypeGuesser());
     $chainGuesser->addGuesser(new ArrayGuesser());
     $chainGuesser->addGuesser(new MultipleGuesser());
     $chainGuesser->addGuesser(new ObjectGuesser($naming, $resolver));
     $chainGuesser->addGuesser(new DefinitionGuesser());
     $chainGuesser->addGuesser(new ItemsGuesser());
     $chainGuesser->addGuesser(new AnyOfGuesser());
     $chainGuesser->addGuesser(new AllOfGuesser($resolver));
     $chainGuesser->addGuesser(new OneOfGuesser());
     $chainGuesser->addGuesser(new ObjectOneOfGuesser($merger, $resolver));
     $chainGuesser->addGuesser(new PatternPropertiesGuesser());
     $chainGuesser->addGuesser(new AdditionalItemsGuesser());
     $chainGuesser->addGuesser(new AdditionalPropertiesGuesser());
     return $chainGuesser;
 }
 public static function create(SerializerInterface $serializer, array $options = [])
 {
     $chainGuesser = ChainGuesserFactory::create($serializer);
     $naming = new Naming();
     $merger = new JsonSchemaMerger();
     $resolver = new Resolver($serializer);
     $dateFormat = isset($options['date-format']) ? $options['date-format'] : \DateTime::RFC3339;
     $chainGuesser->addGuesser(new DateTimeGuesser($dateFormat));
     $chainGuesser->addGuesser(new SimpleTypeGuesser());
     $chainGuesser->addGuesser(new ArrayGuesser());
     $chainGuesser->addGuesser(new MultipleGuesser());
     $chainGuesser->addGuesser(new ObjectGuesser($naming, $resolver));
     $chainGuesser->addGuesser(new DefinitionGuesser());
     $chainGuesser->addGuesser(new ItemsGuesser());
     $chainGuesser->addGuesser(new AnyOfGuesser());
     $chainGuesser->addGuesser(new AllOfGuesser($resolver));
     $chainGuesser->addGuesser(new OneOfGuesser());
     $chainGuesser->addGuesser(new ObjectOneOfGuesser($merger, $resolver));
     $chainGuesser->addGuesser(new PatternPropertiesGuesser());
     $chainGuesser->addGuesser(new AdditionalItemsGuesser());
     $chainGuesser->addGuesser(new AdditionalPropertiesGuesser());
     return $chainGuesser;
 }