44
55use Swaggest \JsonSchema \Constraint \Properties ;
66use Swaggest \JsonSchema \Structure \ClassStructure ;
7- use Swaggest \JsonSchema \Structure \SchemaStructure ;
87
98
10- class JsonSchema extends SchemaStructure {
9+ class JsonSchema extends ClassStructure {
1110 /** @var string */
1211 public $ id ;
1312
@@ -115,69 +114,69 @@ class JsonSchema extends SchemaStructure {
115114 */
116115 public static function setUpProperties ($ properties , Schema $ ownerSchema )
117116 {
118- $ properties ->id = JsonSchema ::string ();
119- $ properties ->schema = JsonSchema ::string ();
117+ $ properties ->id = Schema ::string ();
118+ $ properties ->schema = Schema ::string ();
120119 $ ownerSchema ->addPropertyMapping ('$schema ' , self ::names ()->schema );
121- $ properties ->title = JsonSchema ::string ();
122- $ properties ->description = JsonSchema ::string ();
120+ $ properties ->title = Schema ::string ();
121+ $ properties ->description = Schema ::string ();
123122 $ properties ->default = new Schema ();
124- $ properties ->multipleOf = JsonSchema ::number ();
123+ $ properties ->multipleOf = Schema ::number ();
125124 $ properties ->multipleOf ->minimum = 0 ;
126125 $ properties ->multipleOf ->exclusiveMinimum = true ;
127- $ properties ->maximum = JsonSchema ::number ();
128- $ properties ->exclusiveMaximum = JsonSchema ::boolean ();
129- $ properties ->minimum = JsonSchema ::number ();
130- $ properties ->exclusiveMinimum = JsonSchema ::boolean ();
131- $ properties ->maxLength = JsonSchema ::integer ();
126+ $ properties ->maximum = Schema ::number ();
127+ $ properties ->exclusiveMaximum = Schema ::boolean ();
128+ $ properties ->minimum = Schema ::number ();
129+ $ properties ->exclusiveMinimum = Schema ::boolean ();
130+ $ properties ->maxLength = Schema ::integer ();
132131 $ properties ->maxLength ->minimum = 0 ;
133132 $ properties ->minLength = new Schema ();
134- $ properties ->minLength ->allOf [0 ] = JsonSchema ::integer ();
133+ $ properties ->minLength ->allOf [0 ] = Schema ::integer ();
135134 $ properties ->minLength ->allOf [0 ]->minimum = 0 ;
136135 $ properties ->minLength ->allOf [1 ] = new Schema ();
137- $ properties ->pattern = JsonSchema ::string ();
136+ $ properties ->pattern = Schema ::string ();
138137 $ properties ->additionalItems = new Schema ();
139- $ properties ->additionalItems ->anyOf [0 ] = JsonSchema ::boolean ();
140- $ properties ->additionalItems ->anyOf [1 ] = JsonSchema ::schema ();
138+ $ properties ->additionalItems ->anyOf [0 ] = Schema ::boolean ();
139+ $ properties ->additionalItems ->anyOf [1 ] = Schema ::schema ();
141140 $ properties ->items = new Schema ();
142- $ properties ->items ->anyOf [0 ] = JsonSchema ::schema ();
143- $ properties ->items ->anyOf [1 ] = JsonSchema ::arr ();
144- $ properties ->items ->anyOf [1 ]->items = JsonSchema ::schema ();
141+ $ properties ->items ->anyOf [0 ] = Schema ::schema ();
142+ $ properties ->items ->anyOf [1 ] = Schema ::arr ();
143+ $ properties ->items ->anyOf [1 ]->items = Schema ::schema ();
145144 $ properties ->items ->anyOf [1 ]->minItems = 1 ;
146- $ properties ->maxItems = JsonSchema ::integer ();
145+ $ properties ->maxItems = Schema ::integer ();
147146 $ properties ->maxItems ->minimum = 0 ;
148147 $ properties ->minItems = new Schema ();
149- $ properties ->minItems ->allOf [0 ] = JsonSchema ::integer ();
148+ $ properties ->minItems ->allOf [0 ] = Schema ::integer ();
150149 $ properties ->minItems ->allOf [0 ]->minimum = 0 ;
151150 $ properties ->minItems ->allOf [1 ] = new Schema ();
152- $ properties ->uniqueItems = JsonSchema ::boolean ();
153- $ properties ->maxProperties = JsonSchema ::integer ();
151+ $ properties ->uniqueItems = Schema ::boolean ();
152+ $ properties ->maxProperties = Schema ::integer ();
154153 $ properties ->maxProperties ->minimum = 0 ;
155154 $ properties ->minProperties = new Schema ();
156- $ properties ->minProperties ->allOf [0 ] = JsonSchema ::integer ();
155+ $ properties ->minProperties ->allOf [0 ] = Schema ::integer ();
157156 $ properties ->minProperties ->allOf [0 ]->minimum = 0 ;
158157 $ properties ->minProperties ->allOf [1 ] = new Schema ();
159- $ properties ->required = JsonSchema ::arr ();
160- $ properties ->required ->items = JsonSchema ::string ();
158+ $ properties ->required = Schema ::arr ();
159+ $ properties ->required ->items = Schema ::string ();
161160 $ properties ->required ->uniqueItems = true ;
162161 $ properties ->required ->minItems = 1 ;
163162 $ properties ->additionalProperties = new Schema ();
164- $ properties ->additionalProperties ->anyOf [0 ] = JsonSchema ::boolean ();
165- $ properties ->additionalProperties ->anyOf [1 ] = JsonSchema ::schema ();
166- $ properties ->definitions = JsonSchema ::object ();
167- $ properties ->definitions ->additionalProperties = JsonSchema ::schema ();
168- $ properties ->properties = JsonSchema ::object ();
169- $ properties ->properties ->additionalProperties = JsonSchema ::schema ();
170- $ properties ->patternProperties = JsonSchema ::object ();
171- $ properties ->patternProperties ->additionalProperties = JsonSchema ::schema ();
172- $ properties ->dependencies = JsonSchema ::object ();
173- //$properties->dependencies->additionalProperties = JsonSchema ::schema();
163+ $ properties ->additionalProperties ->anyOf [0 ] = Schema ::boolean ();
164+ $ properties ->additionalProperties ->anyOf [1 ] = Schema ::schema ();
165+ $ properties ->definitions = Schema ::object ();
166+ $ properties ->definitions ->additionalProperties = Schema ::schema ();
167+ $ properties ->properties = Schema ::object ();
168+ $ properties ->properties ->additionalProperties = Schema ::schema ();
169+ $ properties ->patternProperties = Schema ::object ();
170+ $ properties ->patternProperties ->additionalProperties = Schema ::schema ();
171+ $ properties ->dependencies = Schema ::object ();
172+ //$properties->dependencies->additionalProperties = Schema ::schema();
174173 $ properties ->dependencies ->additionalProperties = new Schema ();
175- $ properties ->dependencies ->additionalProperties ->anyOf [0 ] = JsonSchema ::schema ();
176- $ properties ->dependencies ->additionalProperties ->anyOf [1 ] = JsonSchema ::arr ();
177- $ properties ->dependencies ->additionalProperties ->anyOf [1 ]->items = JsonSchema ::string ();
174+ $ properties ->dependencies ->additionalProperties ->anyOf [0 ] = Schema ::schema ();
175+ $ properties ->dependencies ->additionalProperties ->anyOf [1 ] = Schema ::arr ();
176+ $ properties ->dependencies ->additionalProperties ->anyOf [1 ]->items = Schema ::string ();
178177 $ properties ->dependencies ->additionalProperties ->anyOf [1 ]->uniqueItems = true ;
179178 $ properties ->dependencies ->additionalProperties ->anyOf [1 ]->minItems = 1 ;
180- $ properties ->enum = JsonSchema ::arr ();
179+ $ properties ->enum = Schema ::arr ();
181180 $ properties ->enum ->uniqueItems = true ;
182181 $ properties ->enum ->minItems = 1 ;
183182 $ properties ->type = new Schema ();
@@ -191,7 +190,7 @@ public static function setUpProperties($properties, Schema $ownerSchema)
191190 5 => 'object ' ,
192191 6 => 'string ' ,
193192 );
194- $ properties ->type ->anyOf [1 ] = JsonSchema ::arr ();
193+ $ properties ->type ->anyOf [1 ] = Schema ::arr ();
195194 $ properties ->type ->anyOf [1 ]->items = new Schema ();
196195 $ properties ->type ->anyOf [1 ]->items ->enum = array (
197196 0 => 'array ' ,
@@ -204,19 +203,19 @@ public static function setUpProperties($properties, Schema $ownerSchema)
204203 );
205204 $ properties ->type ->anyOf [1 ]->uniqueItems = true ;
206205 $ properties ->type ->anyOf [1 ]->minItems = 1 ;
207- $ properties ->format = JsonSchema ::string ();
208- $ properties ->ref = JsonSchema ::string ();
206+ $ properties ->format = Schema ::string ();
207+ $ properties ->ref = Schema ::string ();
209208 $ ownerSchema ->addPropertyMapping ('$ref ' , self ::names ()->ref );
210- $ properties ->allOf = JsonSchema ::arr ();
211- $ properties ->allOf ->items = JsonSchema ::schema ();
209+ $ properties ->allOf = Schema ::arr ();
210+ $ properties ->allOf ->items = Schema ::schema ();
212211 $ properties ->allOf ->minItems = 1 ;
213- $ properties ->anyOf = JsonSchema ::arr ();
214- $ properties ->anyOf ->items = JsonSchema ::schema ();
212+ $ properties ->anyOf = Schema ::arr ();
213+ $ properties ->anyOf ->items = Schema ::schema ();
215214 $ properties ->anyOf ->minItems = 1 ;
216- $ properties ->oneOf = JsonSchema ::arr ();
217- $ properties ->oneOf ->items = JsonSchema ::schema ();
215+ $ properties ->oneOf = Schema ::arr ();
216+ $ properties ->oneOf ->items = Schema ::schema ();
218217 $ properties ->oneOf ->minItems = 1 ;
219- $ properties ->not = JsonSchema ::schema ();
218+ $ properties ->not = Schema ::schema ();
220219 $ ownerSchema ->type = 'object ' ;
221220 $ ownerSchema ->dependencies = array (
222221 'exclusiveMaximum ' =>
0 commit comments