* @license http://www.apache.org/licenses/LICENSE-2.0 * @link http://phpsx.org */ class TypeFactory { public static function getAny(): AnyType { return new AnyType(); } /** * @throws Exception\InvalidSchemaException */ public static function getArray(?TypeInterface $type = null): ArrayType { $array = new ArrayType(); if ($type !== null) { $array->setItems($type); } return $array; } public static function getBoolean(): BooleanType { return new BooleanType(); } public static function getGeneric(?string $type = null): GenericType { $generic = new GenericType(); if ($type !== null) { $generic->setGeneric($type); } return $generic; } public static function getInteger(): IntegerType { return new IntegerType(); } /** * @throws Exception\InvalidSchemaException */ public static function getIntersection(?array $types = null): IntersectionType { $intersection = new IntersectionType(); if ($types !== null) { $intersection->setAllOf($types); } return $intersection; } /** * @throws Exception\InvalidSchemaException */ public static function getMap(?TypeInterface $type = null): MapType { $map = new MapType(); if ($type !== null) { $map->setAdditionalProperties($type); } return $map; } public static function getNumber(): NumberType { return new NumberType(); } public static function getReference(?string $ref = null): ReferenceType { $reference = new ReferenceType(); if ($ref !== null) { $reference->setRef($ref); } return $reference; } public static function getString(): StringType { return new StringType(); } public static function getStruct(): StructType { return new StructType(); } /** * @throws Exception\InvalidSchemaException */ public static function getUnion(?array $types = null): UnionType { $union = new UnionType(); if ($types !== null) { $union->setOneOf($types); } return $union; } public static function getBinary(): StringType { return self::getString() ->setFormat(TypeAbstract::FORMAT_BINARY); } public static function getDateTime(): StringType { return self::getString() ->setFormat(TypeAbstract::FORMAT_DATETIME); } public static function getDate(): StringType { return self::getString() ->setFormat(TypeAbstract::FORMAT_DATE); } public static function getDuration(): StringType { return self::getString() ->setFormat(TypeAbstract::FORMAT_DURATION); } public static function getTime(): StringType { return self::getString() ->setFormat(TypeAbstract::FORMAT_TIME); } public static function getUri(): StringType { return self::getString() ->setFormat(TypeAbstract::FORMAT_URI); } } __halt_compiler();----SIGNATURE:----V/RZmqSdEjiJzhxI0SwAhPBUfYkceOX0dbnAiWa6EAuHEtU9ExtqJrZbBJc3Mvo3PkyNuUuy1CrNy2aDbfHLhKnn3vBKUii5sZ/GVH1rjXRzH161kwOqvXbf3X15COdsZULzekI3+W2X974i7KAuxVR3njB3I0Le6D8KNbnbGQW2qD9NFOy30+sGQHM75fEWksgXZ6PzdxGSMnHC/EjbC/q33sjnUJoLmDa+Za0mnjQfBgXy4UICbE5vO1bIpw3Sm6tdVZC5pAsDMhmc+UGgnZn+07FwzaK1/sgw5lNk2gwe5iEs+TFBBT9nkGlo05VYDU5mIel/ajwI71pj+sQdeFbm7td+4WWHRMzTm0/ByS6wegMRoX5USZZMq2YEsjmsiaV5HPnvNqA6+NSyBqIx5EmYhGDDYP/mV/ElTP+A9EU0C5HaSLa3QBMwNrokbrg9syPmTNkdBTpK2RnSW3TVZNizBbXTThGrXJ/TOG+RLMD3C2fgEUI4n8RyPKduCIB2jBO7KnScjHOlZSM2Vj+NLmnAcKvlgfWtZynZKrPZqlpaFLjNomQ6LAOtzt89WXljT6mRt3BzVQOJhA19LcYqVNAAKmIUdK3fW+w+iYKIMNcNOPWlHDJSPC16xJoGLLAi1SxqRjFPYueco+T7hstdxHLQ2BEmGv/upw9Ym/F5414=----ATTACHMENT:----NDY0MDkzOTQzMjk5NTQwNyAyNTI0MTY4NjgyNDk0MjgxIDk0NDM0OTg0NDY1NzUwNTQ=