33namespace Swaggest \JsonSchema ;
44
55use Swaggest \JsonSchema \Constraint \Properties ;
6- use Swaggest \JsonSchema \Structure \SchemaStructure ;
6+ use Swaggest \JsonSchema \Structure \ClassStructure ;
77
88
9- class JsonSchema extends SchemaStructure {
9+ class JsonSchema extends ClassStructure {
1010 /** @var string */
1111 public $ id ;
1212
@@ -114,69 +114,69 @@ class JsonSchema extends SchemaStructure {
114114 */
115115 public static function setUpProperties ($ properties , Schema $ ownerSchema )
116116 {
117- $ properties ->id = JsonSchema ::string ();
118- $ properties ->schema = JsonSchema ::string ();
117+ $ properties ->id = Schema ::string ();
118+ $ properties ->schema = Schema ::string ();
119119 $ ownerSchema ->addPropertyMapping ('$schema ' , self ::names ()->schema );
120- $ properties ->title = JsonSchema ::string ();
121- $ properties ->description = JsonSchema ::string ();
120+ $ properties ->title = Schema ::string ();
121+ $ properties ->description = Schema ::string ();
122122 $ properties ->default = new Schema ();
123- $ properties ->multipleOf = JsonSchema ::number ();
123+ $ properties ->multipleOf = Schema ::number ();
124124 $ properties ->multipleOf ->minimum = 0 ;
125125 $ properties ->multipleOf ->exclusiveMinimum = true ;
126- $ properties ->maximum = JsonSchema ::number ();
127- $ properties ->exclusiveMaximum = JsonSchema ::boolean ();
128- $ properties ->minimum = JsonSchema ::number ();
129- $ properties ->exclusiveMinimum = JsonSchema ::boolean ();
130- $ 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 ();
131131 $ properties ->maxLength ->minimum = 0 ;
132132 $ properties ->minLength = new Schema ();
133- $ properties ->minLength ->allOf [0 ] = JsonSchema ::integer ();
133+ $ properties ->minLength ->allOf [0 ] = Schema ::integer ();
134134 $ properties ->minLength ->allOf [0 ]->minimum = 0 ;
135135 $ properties ->minLength ->allOf [1 ] = new Schema ();
136- $ properties ->pattern = JsonSchema ::string ();
136+ $ properties ->pattern = Schema ::string ();
137137 $ properties ->additionalItems = new Schema ();
138- $ properties ->additionalItems ->anyOf [0 ] = JsonSchema ::boolean ();
139- $ properties ->additionalItems ->anyOf [1 ] = JsonSchema ::schema ();
138+ $ properties ->additionalItems ->anyOf [0 ] = Schema ::boolean ();
139+ $ properties ->additionalItems ->anyOf [1 ] = Schema ::schema ();
140140 $ properties ->items = new Schema ();
141- $ properties ->items ->anyOf [0 ] = JsonSchema ::schema ();
142- $ properties ->items ->anyOf [1 ] = JsonSchema ::arr ();
143- $ 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 ();
144144 $ properties ->items ->anyOf [1 ]->minItems = 1 ;
145- $ properties ->maxItems = JsonSchema ::integer ();
145+ $ properties ->maxItems = Schema ::integer ();
146146 $ properties ->maxItems ->minimum = 0 ;
147147 $ properties ->minItems = new Schema ();
148- $ properties ->minItems ->allOf [0 ] = JsonSchema ::integer ();
148+ $ properties ->minItems ->allOf [0 ] = Schema ::integer ();
149149 $ properties ->minItems ->allOf [0 ]->minimum = 0 ;
150150 $ properties ->minItems ->allOf [1 ] = new Schema ();
151- $ properties ->uniqueItems = JsonSchema ::boolean ();
152- $ properties ->maxProperties = JsonSchema ::integer ();
151+ $ properties ->uniqueItems = Schema ::boolean ();
152+ $ properties ->maxProperties = Schema ::integer ();
153153 $ properties ->maxProperties ->minimum = 0 ;
154154 $ properties ->minProperties = new Schema ();
155- $ properties ->minProperties ->allOf [0 ] = JsonSchema ::integer ();
155+ $ properties ->minProperties ->allOf [0 ] = Schema ::integer ();
156156 $ properties ->minProperties ->allOf [0 ]->minimum = 0 ;
157157 $ properties ->minProperties ->allOf [1 ] = new Schema ();
158- $ properties ->required = JsonSchema ::arr ();
159- $ properties ->required ->items = JsonSchema ::string ();
158+ $ properties ->required = Schema ::arr ();
159+ $ properties ->required ->items = Schema ::string ();
160160 $ properties ->required ->uniqueItems = true ;
161161 $ properties ->required ->minItems = 1 ;
162162 $ properties ->additionalProperties = new Schema ();
163- $ properties ->additionalProperties ->anyOf [0 ] = JsonSchema ::boolean ();
164- $ properties ->additionalProperties ->anyOf [1 ] = JsonSchema ::schema ();
165- $ properties ->definitions = JsonSchema ::object ();
166- $ properties ->definitions ->additionalProperties = JsonSchema ::schema ();
167- $ properties ->properties = JsonSchema ::object ();
168- $ properties ->properties ->additionalProperties = JsonSchema ::schema ();
169- $ properties ->patternProperties = JsonSchema ::object ();
170- $ properties ->patternProperties ->additionalProperties = JsonSchema ::schema ();
171- $ properties ->dependencies = JsonSchema ::object ();
172- //$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();
173173 $ properties ->dependencies ->additionalProperties = new Schema ();
174- $ properties ->dependencies ->additionalProperties ->anyOf [0 ] = JsonSchema ::schema ();
175- $ properties ->dependencies ->additionalProperties ->anyOf [1 ] = JsonSchema ::arr ();
176- $ 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 ();
177177 $ properties ->dependencies ->additionalProperties ->anyOf [1 ]->uniqueItems = true ;
178178 $ properties ->dependencies ->additionalProperties ->anyOf [1 ]->minItems = 1 ;
179- $ properties ->enum = JsonSchema ::arr ();
179+ $ properties ->enum = Schema ::arr ();
180180 $ properties ->enum ->uniqueItems = true ;
181181 $ properties ->enum ->minItems = 1 ;
182182 $ properties ->type = new Schema ();
@@ -190,7 +190,7 @@ public static function setUpProperties($properties, Schema $ownerSchema)
190190 5 => 'object ' ,
191191 6 => 'string ' ,
192192 );
193- $ properties ->type ->anyOf [1 ] = JsonSchema ::arr ();
193+ $ properties ->type ->anyOf [1 ] = Schema ::arr ();
194194 $ properties ->type ->anyOf [1 ]->items = new Schema ();
195195 $ properties ->type ->anyOf [1 ]->items ->enum = array (
196196 0 => 'array ' ,
@@ -203,19 +203,19 @@ public static function setUpProperties($properties, Schema $ownerSchema)
203203 );
204204 $ properties ->type ->anyOf [1 ]->uniqueItems = true ;
205205 $ properties ->type ->anyOf [1 ]->minItems = 1 ;
206- $ properties ->format = JsonSchema ::string ();
207- $ properties ->ref = JsonSchema ::string ();
206+ $ properties ->format = Schema ::string ();
207+ $ properties ->ref = Schema ::string ();
208208 $ ownerSchema ->addPropertyMapping ('$ref ' , self ::names ()->ref );
209- $ properties ->allOf = JsonSchema ::arr ();
210- $ properties ->allOf ->items = JsonSchema ::schema ();
209+ $ properties ->allOf = Schema ::arr ();
210+ $ properties ->allOf ->items = Schema ::schema ();
211211 $ properties ->allOf ->minItems = 1 ;
212- $ properties ->anyOf = JsonSchema ::arr ();
213- $ properties ->anyOf ->items = JsonSchema ::schema ();
212+ $ properties ->anyOf = Schema ::arr ();
213+ $ properties ->anyOf ->items = Schema ::schema ();
214214 $ properties ->anyOf ->minItems = 1 ;
215- $ properties ->oneOf = JsonSchema ::arr ();
216- $ properties ->oneOf ->items = JsonSchema ::schema ();
215+ $ properties ->oneOf = Schema ::arr ();
216+ $ properties ->oneOf ->items = Schema ::schema ();
217217 $ properties ->oneOf ->minItems = 1 ;
218- $ properties ->not = JsonSchema ::schema ();
218+ $ properties ->not = Schema ::schema ();
219219 $ ownerSchema ->type = 'object ' ;
220220 $ ownerSchema ->dependencies = array (
221221 'exclusiveMaximum ' =>
0 commit comments