1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package discovery_v1
18
19 import (
20 "fmt"
21 "regexp"
22 "strings"
23
24 "gopkg.in/yaml.v3"
25
26 "github.com/google/gnostic-models/compiler"
27 )
28
29
30 func Version() string {
31 return "discovery_v1"
32 }
33
34
35 func NewAnnotations(in *yaml.Node, context *compiler.Context) (*Annotations, error) {
36 errors := make([]error, 0)
37 x := &Annotations{}
38 m, ok := compiler.UnpackMap(in)
39 if !ok {
40 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
41 errors = append(errors, compiler.NewError(context, message))
42 } else {
43 allowedKeys := []string{"required"}
44 var allowedPatterns []*regexp.Regexp
45 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
46 if len(invalidKeys) > 0 {
47 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
48 errors = append(errors, compiler.NewError(context, message))
49 }
50
51 v1 := compiler.MapValueForKey(m, "required")
52 if v1 != nil {
53 v, ok := compiler.SequenceNodeForNode(v1)
54 if ok {
55 x.Required = compiler.StringArrayForSequenceNode(v)
56 } else {
57 message := fmt.Sprintf("has unexpected value for required: %s", compiler.Display(v1))
58 errors = append(errors, compiler.NewError(context, message))
59 }
60 }
61 }
62 return x, compiler.NewErrorGroupOrNil(errors)
63 }
64
65
66 func NewAny(in *yaml.Node, context *compiler.Context) (*Any, error) {
67 errors := make([]error, 0)
68 x := &Any{}
69 bytes := compiler.Marshal(in)
70 x.Yaml = string(bytes)
71 return x, compiler.NewErrorGroupOrNil(errors)
72 }
73
74
75 func NewAuth(in *yaml.Node, context *compiler.Context) (*Auth, error) {
76 errors := make([]error, 0)
77 x := &Auth{}
78 m, ok := compiler.UnpackMap(in)
79 if !ok {
80 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
81 errors = append(errors, compiler.NewError(context, message))
82 } else {
83 allowedKeys := []string{"oauth2"}
84 var allowedPatterns []*regexp.Regexp
85 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
86 if len(invalidKeys) > 0 {
87 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
88 errors = append(errors, compiler.NewError(context, message))
89 }
90
91 v1 := compiler.MapValueForKey(m, "oauth2")
92 if v1 != nil {
93 var err error
94 x.Oauth2, err = NewOauth2(v1, compiler.NewContext("oauth2", v1, context))
95 if err != nil {
96 errors = append(errors, err)
97 }
98 }
99 }
100 return x, compiler.NewErrorGroupOrNil(errors)
101 }
102
103
104 func NewDocument(in *yaml.Node, context *compiler.Context) (*Document, error) {
105 errors := make([]error, 0)
106 x := &Document{}
107 m, ok := compiler.UnpackMap(in)
108 if !ok {
109 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
110 errors = append(errors, compiler.NewError(context, message))
111 } else {
112 requiredKeys := []string{"discoveryVersion", "kind"}
113 missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
114 if len(missingKeys) > 0 {
115 message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
116 errors = append(errors, compiler.NewError(context, message))
117 }
118 allowedKeys := []string{"auth", "basePath", "baseUrl", "batchPath", "canonicalName", "description", "discoveryVersion", "documentationLink", "etag", "features", "fullyEncodeReservedExpansion", "icons", "id", "kind", "labels", "methods", "mtlsRootUrl", "name", "ownerDomain", "ownerName", "packagePath", "parameters", "protocol", "resources", "revision", "rootUrl", "schemas", "servicePath", "title", "version", "version_module"}
119 var allowedPatterns []*regexp.Regexp
120 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
121 if len(invalidKeys) > 0 {
122 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
123 errors = append(errors, compiler.NewError(context, message))
124 }
125
126 v1 := compiler.MapValueForKey(m, "kind")
127 if v1 != nil {
128 x.Kind, ok = compiler.StringForScalarNode(v1)
129 if !ok {
130 message := fmt.Sprintf("has unexpected value for kind: %s", compiler.Display(v1))
131 errors = append(errors, compiler.NewError(context, message))
132 }
133 }
134
135 v2 := compiler.MapValueForKey(m, "discoveryVersion")
136 if v2 != nil {
137 x.DiscoveryVersion, ok = compiler.StringForScalarNode(v2)
138 if !ok {
139 message := fmt.Sprintf("has unexpected value for discoveryVersion: %s", compiler.Display(v2))
140 errors = append(errors, compiler.NewError(context, message))
141 }
142 }
143
144 v3 := compiler.MapValueForKey(m, "id")
145 if v3 != nil {
146 x.Id, ok = compiler.StringForScalarNode(v3)
147 if !ok {
148 message := fmt.Sprintf("has unexpected value for id: %s", compiler.Display(v3))
149 errors = append(errors, compiler.NewError(context, message))
150 }
151 }
152
153 v4 := compiler.MapValueForKey(m, "name")
154 if v4 != nil {
155 x.Name, ok = compiler.StringForScalarNode(v4)
156 if !ok {
157 message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v4))
158 errors = append(errors, compiler.NewError(context, message))
159 }
160 }
161
162 v5 := compiler.MapValueForKey(m, "version")
163 if v5 != nil {
164 x.Version, ok = compiler.StringForScalarNode(v5)
165 if !ok {
166 message := fmt.Sprintf("has unexpected value for version: %s", compiler.Display(v5))
167 errors = append(errors, compiler.NewError(context, message))
168 }
169 }
170
171 v6 := compiler.MapValueForKey(m, "revision")
172 if v6 != nil {
173 x.Revision, ok = compiler.StringForScalarNode(v6)
174 if !ok {
175 message := fmt.Sprintf("has unexpected value for revision: %s", compiler.Display(v6))
176 errors = append(errors, compiler.NewError(context, message))
177 }
178 }
179
180 v7 := compiler.MapValueForKey(m, "title")
181 if v7 != nil {
182 x.Title, ok = compiler.StringForScalarNode(v7)
183 if !ok {
184 message := fmt.Sprintf("has unexpected value for title: %s", compiler.Display(v7))
185 errors = append(errors, compiler.NewError(context, message))
186 }
187 }
188
189 v8 := compiler.MapValueForKey(m, "description")
190 if v8 != nil {
191 x.Description, ok = compiler.StringForScalarNode(v8)
192 if !ok {
193 message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v8))
194 errors = append(errors, compiler.NewError(context, message))
195 }
196 }
197
198 v9 := compiler.MapValueForKey(m, "icons")
199 if v9 != nil {
200 var err error
201 x.Icons, err = NewIcons(v9, compiler.NewContext("icons", v9, context))
202 if err != nil {
203 errors = append(errors, err)
204 }
205 }
206
207 v10 := compiler.MapValueForKey(m, "documentationLink")
208 if v10 != nil {
209 x.DocumentationLink, ok = compiler.StringForScalarNode(v10)
210 if !ok {
211 message := fmt.Sprintf("has unexpected value for documentationLink: %s", compiler.Display(v10))
212 errors = append(errors, compiler.NewError(context, message))
213 }
214 }
215
216 v11 := compiler.MapValueForKey(m, "labels")
217 if v11 != nil {
218 v, ok := compiler.SequenceNodeForNode(v11)
219 if ok {
220 x.Labels = compiler.StringArrayForSequenceNode(v)
221 } else {
222 message := fmt.Sprintf("has unexpected value for labels: %s", compiler.Display(v11))
223 errors = append(errors, compiler.NewError(context, message))
224 }
225 }
226
227 v12 := compiler.MapValueForKey(m, "protocol")
228 if v12 != nil {
229 x.Protocol, ok = compiler.StringForScalarNode(v12)
230 if !ok {
231 message := fmt.Sprintf("has unexpected value for protocol: %s", compiler.Display(v12))
232 errors = append(errors, compiler.NewError(context, message))
233 }
234 }
235
236 v13 := compiler.MapValueForKey(m, "baseUrl")
237 if v13 != nil {
238 x.BaseUrl, ok = compiler.StringForScalarNode(v13)
239 if !ok {
240 message := fmt.Sprintf("has unexpected value for baseUrl: %s", compiler.Display(v13))
241 errors = append(errors, compiler.NewError(context, message))
242 }
243 }
244
245 v14 := compiler.MapValueForKey(m, "basePath")
246 if v14 != nil {
247 x.BasePath, ok = compiler.StringForScalarNode(v14)
248 if !ok {
249 message := fmt.Sprintf("has unexpected value for basePath: %s", compiler.Display(v14))
250 errors = append(errors, compiler.NewError(context, message))
251 }
252 }
253
254 v15 := compiler.MapValueForKey(m, "rootUrl")
255 if v15 != nil {
256 x.RootUrl, ok = compiler.StringForScalarNode(v15)
257 if !ok {
258 message := fmt.Sprintf("has unexpected value for rootUrl: %s", compiler.Display(v15))
259 errors = append(errors, compiler.NewError(context, message))
260 }
261 }
262
263 v16 := compiler.MapValueForKey(m, "servicePath")
264 if v16 != nil {
265 x.ServicePath, ok = compiler.StringForScalarNode(v16)
266 if !ok {
267 message := fmt.Sprintf("has unexpected value for servicePath: %s", compiler.Display(v16))
268 errors = append(errors, compiler.NewError(context, message))
269 }
270 }
271
272 v17 := compiler.MapValueForKey(m, "batchPath")
273 if v17 != nil {
274 x.BatchPath, ok = compiler.StringForScalarNode(v17)
275 if !ok {
276 message := fmt.Sprintf("has unexpected value for batchPath: %s", compiler.Display(v17))
277 errors = append(errors, compiler.NewError(context, message))
278 }
279 }
280
281 v18 := compiler.MapValueForKey(m, "parameters")
282 if v18 != nil {
283 var err error
284 x.Parameters, err = NewParameters(v18, compiler.NewContext("parameters", v18, context))
285 if err != nil {
286 errors = append(errors, err)
287 }
288 }
289
290 v19 := compiler.MapValueForKey(m, "auth")
291 if v19 != nil {
292 var err error
293 x.Auth, err = NewAuth(v19, compiler.NewContext("auth", v19, context))
294 if err != nil {
295 errors = append(errors, err)
296 }
297 }
298
299 v20 := compiler.MapValueForKey(m, "features")
300 if v20 != nil {
301 v, ok := compiler.SequenceNodeForNode(v20)
302 if ok {
303 x.Features = compiler.StringArrayForSequenceNode(v)
304 } else {
305 message := fmt.Sprintf("has unexpected value for features: %s", compiler.Display(v20))
306 errors = append(errors, compiler.NewError(context, message))
307 }
308 }
309
310 v21 := compiler.MapValueForKey(m, "schemas")
311 if v21 != nil {
312 var err error
313 x.Schemas, err = NewSchemas(v21, compiler.NewContext("schemas", v21, context))
314 if err != nil {
315 errors = append(errors, err)
316 }
317 }
318
319 v22 := compiler.MapValueForKey(m, "methods")
320 if v22 != nil {
321 var err error
322 x.Methods, err = NewMethods(v22, compiler.NewContext("methods", v22, context))
323 if err != nil {
324 errors = append(errors, err)
325 }
326 }
327
328 v23 := compiler.MapValueForKey(m, "resources")
329 if v23 != nil {
330 var err error
331 x.Resources, err = NewResources(v23, compiler.NewContext("resources", v23, context))
332 if err != nil {
333 errors = append(errors, err)
334 }
335 }
336
337 v24 := compiler.MapValueForKey(m, "etag")
338 if v24 != nil {
339 x.Etag, ok = compiler.StringForScalarNode(v24)
340 if !ok {
341 message := fmt.Sprintf("has unexpected value for etag: %s", compiler.Display(v24))
342 errors = append(errors, compiler.NewError(context, message))
343 }
344 }
345
346 v25 := compiler.MapValueForKey(m, "ownerDomain")
347 if v25 != nil {
348 x.OwnerDomain, ok = compiler.StringForScalarNode(v25)
349 if !ok {
350 message := fmt.Sprintf("has unexpected value for ownerDomain: %s", compiler.Display(v25))
351 errors = append(errors, compiler.NewError(context, message))
352 }
353 }
354
355 v26 := compiler.MapValueForKey(m, "ownerName")
356 if v26 != nil {
357 x.OwnerName, ok = compiler.StringForScalarNode(v26)
358 if !ok {
359 message := fmt.Sprintf("has unexpected value for ownerName: %s", compiler.Display(v26))
360 errors = append(errors, compiler.NewError(context, message))
361 }
362 }
363
364 v27 := compiler.MapValueForKey(m, "version_module")
365 if v27 != nil {
366 x.VersionModule, ok = compiler.BoolForScalarNode(v27)
367 if !ok {
368 message := fmt.Sprintf("has unexpected value for version_module: %s", compiler.Display(v27))
369 errors = append(errors, compiler.NewError(context, message))
370 }
371 }
372
373 v28 := compiler.MapValueForKey(m, "canonicalName")
374 if v28 != nil {
375 x.CanonicalName, ok = compiler.StringForScalarNode(v28)
376 if !ok {
377 message := fmt.Sprintf("has unexpected value for canonicalName: %s", compiler.Display(v28))
378 errors = append(errors, compiler.NewError(context, message))
379 }
380 }
381
382 v29 := compiler.MapValueForKey(m, "fullyEncodeReservedExpansion")
383 if v29 != nil {
384 x.FullyEncodeReservedExpansion, ok = compiler.BoolForScalarNode(v29)
385 if !ok {
386 message := fmt.Sprintf("has unexpected value for fullyEncodeReservedExpansion: %s", compiler.Display(v29))
387 errors = append(errors, compiler.NewError(context, message))
388 }
389 }
390
391 v30 := compiler.MapValueForKey(m, "packagePath")
392 if v30 != nil {
393 x.PackagePath, ok = compiler.StringForScalarNode(v30)
394 if !ok {
395 message := fmt.Sprintf("has unexpected value for packagePath: %s", compiler.Display(v30))
396 errors = append(errors, compiler.NewError(context, message))
397 }
398 }
399
400 v31 := compiler.MapValueForKey(m, "mtlsRootUrl")
401 if v31 != nil {
402 x.MtlsRootUrl, ok = compiler.StringForScalarNode(v31)
403 if !ok {
404 message := fmt.Sprintf("has unexpected value for mtlsRootUrl: %s", compiler.Display(v31))
405 errors = append(errors, compiler.NewError(context, message))
406 }
407 }
408 }
409 return x, compiler.NewErrorGroupOrNil(errors)
410 }
411
412
413 func NewIcons(in *yaml.Node, context *compiler.Context) (*Icons, error) {
414 errors := make([]error, 0)
415 x := &Icons{}
416 m, ok := compiler.UnpackMap(in)
417 if !ok {
418 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
419 errors = append(errors, compiler.NewError(context, message))
420 } else {
421 requiredKeys := []string{"x16", "x32"}
422 missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
423 if len(missingKeys) > 0 {
424 message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
425 errors = append(errors, compiler.NewError(context, message))
426 }
427 allowedKeys := []string{"x16", "x32"}
428 var allowedPatterns []*regexp.Regexp
429 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
430 if len(invalidKeys) > 0 {
431 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
432 errors = append(errors, compiler.NewError(context, message))
433 }
434
435 v1 := compiler.MapValueForKey(m, "x16")
436 if v1 != nil {
437 x.X16, ok = compiler.StringForScalarNode(v1)
438 if !ok {
439 message := fmt.Sprintf("has unexpected value for x16: %s", compiler.Display(v1))
440 errors = append(errors, compiler.NewError(context, message))
441 }
442 }
443
444 v2 := compiler.MapValueForKey(m, "x32")
445 if v2 != nil {
446 x.X32, ok = compiler.StringForScalarNode(v2)
447 if !ok {
448 message := fmt.Sprintf("has unexpected value for x32: %s", compiler.Display(v2))
449 errors = append(errors, compiler.NewError(context, message))
450 }
451 }
452 }
453 return x, compiler.NewErrorGroupOrNil(errors)
454 }
455
456
457 func NewMediaUpload(in *yaml.Node, context *compiler.Context) (*MediaUpload, error) {
458 errors := make([]error, 0)
459 x := &MediaUpload{}
460 m, ok := compiler.UnpackMap(in)
461 if !ok {
462 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
463 errors = append(errors, compiler.NewError(context, message))
464 } else {
465 allowedKeys := []string{"accept", "maxSize", "protocols", "supportsSubscription"}
466 var allowedPatterns []*regexp.Regexp
467 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
468 if len(invalidKeys) > 0 {
469 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
470 errors = append(errors, compiler.NewError(context, message))
471 }
472
473 v1 := compiler.MapValueForKey(m, "accept")
474 if v1 != nil {
475 v, ok := compiler.SequenceNodeForNode(v1)
476 if ok {
477 x.Accept = compiler.StringArrayForSequenceNode(v)
478 } else {
479 message := fmt.Sprintf("has unexpected value for accept: %s", compiler.Display(v1))
480 errors = append(errors, compiler.NewError(context, message))
481 }
482 }
483
484 v2 := compiler.MapValueForKey(m, "maxSize")
485 if v2 != nil {
486 x.MaxSize, ok = compiler.StringForScalarNode(v2)
487 if !ok {
488 message := fmt.Sprintf("has unexpected value for maxSize: %s", compiler.Display(v2))
489 errors = append(errors, compiler.NewError(context, message))
490 }
491 }
492
493 v3 := compiler.MapValueForKey(m, "protocols")
494 if v3 != nil {
495 var err error
496 x.Protocols, err = NewProtocols(v3, compiler.NewContext("protocols", v3, context))
497 if err != nil {
498 errors = append(errors, err)
499 }
500 }
501
502 v4 := compiler.MapValueForKey(m, "supportsSubscription")
503 if v4 != nil {
504 x.SupportsSubscription, ok = compiler.BoolForScalarNode(v4)
505 if !ok {
506 message := fmt.Sprintf("has unexpected value for supportsSubscription: %s", compiler.Display(v4))
507 errors = append(errors, compiler.NewError(context, message))
508 }
509 }
510 }
511 return x, compiler.NewErrorGroupOrNil(errors)
512 }
513
514
515 func NewMethod(in *yaml.Node, context *compiler.Context) (*Method, error) {
516 errors := make([]error, 0)
517 x := &Method{}
518 m, ok := compiler.UnpackMap(in)
519 if !ok {
520 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
521 errors = append(errors, compiler.NewError(context, message))
522 } else {
523 allowedKeys := []string{"description", "etagRequired", "flatPath", "httpMethod", "id", "mediaUpload", "parameterOrder", "parameters", "path", "request", "response", "scopes", "streamingType", "supportsMediaDownload", "supportsMediaUpload", "supportsSubscription", "useMediaDownloadService"}
524 var allowedPatterns []*regexp.Regexp
525 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
526 if len(invalidKeys) > 0 {
527 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
528 errors = append(errors, compiler.NewError(context, message))
529 }
530
531 v1 := compiler.MapValueForKey(m, "id")
532 if v1 != nil {
533 x.Id, ok = compiler.StringForScalarNode(v1)
534 if !ok {
535 message := fmt.Sprintf("has unexpected value for id: %s", compiler.Display(v1))
536 errors = append(errors, compiler.NewError(context, message))
537 }
538 }
539
540 v2 := compiler.MapValueForKey(m, "path")
541 if v2 != nil {
542 x.Path, ok = compiler.StringForScalarNode(v2)
543 if !ok {
544 message := fmt.Sprintf("has unexpected value for path: %s", compiler.Display(v2))
545 errors = append(errors, compiler.NewError(context, message))
546 }
547 }
548
549 v3 := compiler.MapValueForKey(m, "httpMethod")
550 if v3 != nil {
551 x.HttpMethod, ok = compiler.StringForScalarNode(v3)
552 if !ok {
553 message := fmt.Sprintf("has unexpected value for httpMethod: %s", compiler.Display(v3))
554 errors = append(errors, compiler.NewError(context, message))
555 }
556 }
557
558 v4 := compiler.MapValueForKey(m, "description")
559 if v4 != nil {
560 x.Description, ok = compiler.StringForScalarNode(v4)
561 if !ok {
562 message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v4))
563 errors = append(errors, compiler.NewError(context, message))
564 }
565 }
566
567 v5 := compiler.MapValueForKey(m, "parameters")
568 if v5 != nil {
569 var err error
570 x.Parameters, err = NewParameters(v5, compiler.NewContext("parameters", v5, context))
571 if err != nil {
572 errors = append(errors, err)
573 }
574 }
575
576 v6 := compiler.MapValueForKey(m, "parameterOrder")
577 if v6 != nil {
578 v, ok := compiler.SequenceNodeForNode(v6)
579 if ok {
580 x.ParameterOrder = compiler.StringArrayForSequenceNode(v)
581 } else {
582 message := fmt.Sprintf("has unexpected value for parameterOrder: %s", compiler.Display(v6))
583 errors = append(errors, compiler.NewError(context, message))
584 }
585 }
586
587 v7 := compiler.MapValueForKey(m, "request")
588 if v7 != nil {
589 var err error
590 x.Request, err = NewRequest(v7, compiler.NewContext("request", v7, context))
591 if err != nil {
592 errors = append(errors, err)
593 }
594 }
595
596 v8 := compiler.MapValueForKey(m, "response")
597 if v8 != nil {
598 var err error
599 x.Response, err = NewResponse(v8, compiler.NewContext("response", v8, context))
600 if err != nil {
601 errors = append(errors, err)
602 }
603 }
604
605 v9 := compiler.MapValueForKey(m, "scopes")
606 if v9 != nil {
607 v, ok := compiler.SequenceNodeForNode(v9)
608 if ok {
609 x.Scopes = compiler.StringArrayForSequenceNode(v)
610 } else {
611 message := fmt.Sprintf("has unexpected value for scopes: %s", compiler.Display(v9))
612 errors = append(errors, compiler.NewError(context, message))
613 }
614 }
615
616 v10 := compiler.MapValueForKey(m, "supportsMediaDownload")
617 if v10 != nil {
618 x.SupportsMediaDownload, ok = compiler.BoolForScalarNode(v10)
619 if !ok {
620 message := fmt.Sprintf("has unexpected value for supportsMediaDownload: %s", compiler.Display(v10))
621 errors = append(errors, compiler.NewError(context, message))
622 }
623 }
624
625 v11 := compiler.MapValueForKey(m, "supportsMediaUpload")
626 if v11 != nil {
627 x.SupportsMediaUpload, ok = compiler.BoolForScalarNode(v11)
628 if !ok {
629 message := fmt.Sprintf("has unexpected value for supportsMediaUpload: %s", compiler.Display(v11))
630 errors = append(errors, compiler.NewError(context, message))
631 }
632 }
633
634 v12 := compiler.MapValueForKey(m, "useMediaDownloadService")
635 if v12 != nil {
636 x.UseMediaDownloadService, ok = compiler.BoolForScalarNode(v12)
637 if !ok {
638 message := fmt.Sprintf("has unexpected value for useMediaDownloadService: %s", compiler.Display(v12))
639 errors = append(errors, compiler.NewError(context, message))
640 }
641 }
642
643 v13 := compiler.MapValueForKey(m, "mediaUpload")
644 if v13 != nil {
645 var err error
646 x.MediaUpload, err = NewMediaUpload(v13, compiler.NewContext("mediaUpload", v13, context))
647 if err != nil {
648 errors = append(errors, err)
649 }
650 }
651
652 v14 := compiler.MapValueForKey(m, "supportsSubscription")
653 if v14 != nil {
654 x.SupportsSubscription, ok = compiler.BoolForScalarNode(v14)
655 if !ok {
656 message := fmt.Sprintf("has unexpected value for supportsSubscription: %s", compiler.Display(v14))
657 errors = append(errors, compiler.NewError(context, message))
658 }
659 }
660
661 v15 := compiler.MapValueForKey(m, "flatPath")
662 if v15 != nil {
663 x.FlatPath, ok = compiler.StringForScalarNode(v15)
664 if !ok {
665 message := fmt.Sprintf("has unexpected value for flatPath: %s", compiler.Display(v15))
666 errors = append(errors, compiler.NewError(context, message))
667 }
668 }
669
670 v16 := compiler.MapValueForKey(m, "etagRequired")
671 if v16 != nil {
672 x.EtagRequired, ok = compiler.BoolForScalarNode(v16)
673 if !ok {
674 message := fmt.Sprintf("has unexpected value for etagRequired: %s", compiler.Display(v16))
675 errors = append(errors, compiler.NewError(context, message))
676 }
677 }
678
679 v17 := compiler.MapValueForKey(m, "streamingType")
680 if v17 != nil {
681 x.StreamingType, ok = compiler.StringForScalarNode(v17)
682 if !ok {
683 message := fmt.Sprintf("has unexpected value for streamingType: %s", compiler.Display(v17))
684 errors = append(errors, compiler.NewError(context, message))
685 }
686 }
687 }
688 return x, compiler.NewErrorGroupOrNil(errors)
689 }
690
691
692 func NewMethods(in *yaml.Node, context *compiler.Context) (*Methods, error) {
693 errors := make([]error, 0)
694 x := &Methods{}
695 m, ok := compiler.UnpackMap(in)
696 if !ok {
697 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
698 errors = append(errors, compiler.NewError(context, message))
699 } else {
700
701
702 x.AdditionalProperties = make([]*NamedMethod, 0)
703 for i := 0; i < len(m.Content); i += 2 {
704 k, ok := compiler.StringForScalarNode(m.Content[i])
705 if ok {
706 v := m.Content[i+1]
707 pair := &NamedMethod{}
708 pair.Name = k
709 var err error
710 pair.Value, err = NewMethod(v, compiler.NewContext(k, v, context))
711 if err != nil {
712 errors = append(errors, err)
713 }
714 x.AdditionalProperties = append(x.AdditionalProperties, pair)
715 }
716 }
717 }
718 return x, compiler.NewErrorGroupOrNil(errors)
719 }
720
721
722 func NewNamedMethod(in *yaml.Node, context *compiler.Context) (*NamedMethod, error) {
723 errors := make([]error, 0)
724 x := &NamedMethod{}
725 m, ok := compiler.UnpackMap(in)
726 if !ok {
727 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
728 errors = append(errors, compiler.NewError(context, message))
729 } else {
730 allowedKeys := []string{"name", "value"}
731 var allowedPatterns []*regexp.Regexp
732 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
733 if len(invalidKeys) > 0 {
734 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
735 errors = append(errors, compiler.NewError(context, message))
736 }
737
738 v1 := compiler.MapValueForKey(m, "name")
739 if v1 != nil {
740 x.Name, ok = compiler.StringForScalarNode(v1)
741 if !ok {
742 message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
743 errors = append(errors, compiler.NewError(context, message))
744 }
745 }
746
747 v2 := compiler.MapValueForKey(m, "value")
748 if v2 != nil {
749 var err error
750 x.Value, err = NewMethod(v2, compiler.NewContext("value", v2, context))
751 if err != nil {
752 errors = append(errors, err)
753 }
754 }
755 }
756 return x, compiler.NewErrorGroupOrNil(errors)
757 }
758
759
760 func NewNamedParameter(in *yaml.Node, context *compiler.Context) (*NamedParameter, error) {
761 errors := make([]error, 0)
762 x := &NamedParameter{}
763 m, ok := compiler.UnpackMap(in)
764 if !ok {
765 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
766 errors = append(errors, compiler.NewError(context, message))
767 } else {
768 allowedKeys := []string{"name", "value"}
769 var allowedPatterns []*regexp.Regexp
770 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
771 if len(invalidKeys) > 0 {
772 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
773 errors = append(errors, compiler.NewError(context, message))
774 }
775
776 v1 := compiler.MapValueForKey(m, "name")
777 if v1 != nil {
778 x.Name, ok = compiler.StringForScalarNode(v1)
779 if !ok {
780 message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
781 errors = append(errors, compiler.NewError(context, message))
782 }
783 }
784
785 v2 := compiler.MapValueForKey(m, "value")
786 if v2 != nil {
787 var err error
788 x.Value, err = NewParameter(v2, compiler.NewContext("value", v2, context))
789 if err != nil {
790 errors = append(errors, err)
791 }
792 }
793 }
794 return x, compiler.NewErrorGroupOrNil(errors)
795 }
796
797
798 func NewNamedResource(in *yaml.Node, context *compiler.Context) (*NamedResource, error) {
799 errors := make([]error, 0)
800 x := &NamedResource{}
801 m, ok := compiler.UnpackMap(in)
802 if !ok {
803 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
804 errors = append(errors, compiler.NewError(context, message))
805 } else {
806 allowedKeys := []string{"name", "value"}
807 var allowedPatterns []*regexp.Regexp
808 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
809 if len(invalidKeys) > 0 {
810 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
811 errors = append(errors, compiler.NewError(context, message))
812 }
813
814 v1 := compiler.MapValueForKey(m, "name")
815 if v1 != nil {
816 x.Name, ok = compiler.StringForScalarNode(v1)
817 if !ok {
818 message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
819 errors = append(errors, compiler.NewError(context, message))
820 }
821 }
822
823 v2 := compiler.MapValueForKey(m, "value")
824 if v2 != nil {
825 var err error
826 x.Value, err = NewResource(v2, compiler.NewContext("value", v2, context))
827 if err != nil {
828 errors = append(errors, err)
829 }
830 }
831 }
832 return x, compiler.NewErrorGroupOrNil(errors)
833 }
834
835
836 func NewNamedSchema(in *yaml.Node, context *compiler.Context) (*NamedSchema, error) {
837 errors := make([]error, 0)
838 x := &NamedSchema{}
839 m, ok := compiler.UnpackMap(in)
840 if !ok {
841 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
842 errors = append(errors, compiler.NewError(context, message))
843 } else {
844 allowedKeys := []string{"name", "value"}
845 var allowedPatterns []*regexp.Regexp
846 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
847 if len(invalidKeys) > 0 {
848 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
849 errors = append(errors, compiler.NewError(context, message))
850 }
851
852 v1 := compiler.MapValueForKey(m, "name")
853 if v1 != nil {
854 x.Name, ok = compiler.StringForScalarNode(v1)
855 if !ok {
856 message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
857 errors = append(errors, compiler.NewError(context, message))
858 }
859 }
860
861 v2 := compiler.MapValueForKey(m, "value")
862 if v2 != nil {
863 var err error
864 x.Value, err = NewSchema(v2, compiler.NewContext("value", v2, context))
865 if err != nil {
866 errors = append(errors, err)
867 }
868 }
869 }
870 return x, compiler.NewErrorGroupOrNil(errors)
871 }
872
873
874 func NewNamedScope(in *yaml.Node, context *compiler.Context) (*NamedScope, error) {
875 errors := make([]error, 0)
876 x := &NamedScope{}
877 m, ok := compiler.UnpackMap(in)
878 if !ok {
879 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
880 errors = append(errors, compiler.NewError(context, message))
881 } else {
882 allowedKeys := []string{"name", "value"}
883 var allowedPatterns []*regexp.Regexp
884 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
885 if len(invalidKeys) > 0 {
886 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
887 errors = append(errors, compiler.NewError(context, message))
888 }
889
890 v1 := compiler.MapValueForKey(m, "name")
891 if v1 != nil {
892 x.Name, ok = compiler.StringForScalarNode(v1)
893 if !ok {
894 message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
895 errors = append(errors, compiler.NewError(context, message))
896 }
897 }
898
899 v2 := compiler.MapValueForKey(m, "value")
900 if v2 != nil {
901 var err error
902 x.Value, err = NewScope(v2, compiler.NewContext("value", v2, context))
903 if err != nil {
904 errors = append(errors, err)
905 }
906 }
907 }
908 return x, compiler.NewErrorGroupOrNil(errors)
909 }
910
911
912 func NewOauth2(in *yaml.Node, context *compiler.Context) (*Oauth2, error) {
913 errors := make([]error, 0)
914 x := &Oauth2{}
915 m, ok := compiler.UnpackMap(in)
916 if !ok {
917 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
918 errors = append(errors, compiler.NewError(context, message))
919 } else {
920 allowedKeys := []string{"scopes"}
921 var allowedPatterns []*regexp.Regexp
922 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
923 if len(invalidKeys) > 0 {
924 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
925 errors = append(errors, compiler.NewError(context, message))
926 }
927
928 v1 := compiler.MapValueForKey(m, "scopes")
929 if v1 != nil {
930 var err error
931 x.Scopes, err = NewScopes(v1, compiler.NewContext("scopes", v1, context))
932 if err != nil {
933 errors = append(errors, err)
934 }
935 }
936 }
937 return x, compiler.NewErrorGroupOrNil(errors)
938 }
939
940
941 func NewParameter(in *yaml.Node, context *compiler.Context) (*Parameter, error) {
942 errors := make([]error, 0)
943 x := &Parameter{}
944 m, ok := compiler.UnpackMap(in)
945 if !ok {
946 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
947 errors = append(errors, compiler.NewError(context, message))
948 } else {
949 allowedKeys := []string{"$ref", "additionalProperties", "annotations", "default", "description", "enum", "enumDescriptions", "format", "id", "items", "location", "maximum", "minimum", "pattern", "properties", "repeated", "required", "type"}
950 var allowedPatterns []*regexp.Regexp
951 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
952 if len(invalidKeys) > 0 {
953 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
954 errors = append(errors, compiler.NewError(context, message))
955 }
956
957 v1 := compiler.MapValueForKey(m, "id")
958 if v1 != nil {
959 x.Id, ok = compiler.StringForScalarNode(v1)
960 if !ok {
961 message := fmt.Sprintf("has unexpected value for id: %s", compiler.Display(v1))
962 errors = append(errors, compiler.NewError(context, message))
963 }
964 }
965
966 v2 := compiler.MapValueForKey(m, "type")
967 if v2 != nil {
968 x.Type, ok = compiler.StringForScalarNode(v2)
969 if !ok {
970 message := fmt.Sprintf("has unexpected value for type: %s", compiler.Display(v2))
971 errors = append(errors, compiler.NewError(context, message))
972 }
973 }
974
975 v3 := compiler.MapValueForKey(m, "$ref")
976 if v3 != nil {
977 x.XRef, ok = compiler.StringForScalarNode(v3)
978 if !ok {
979 message := fmt.Sprintf("has unexpected value for $ref: %s", compiler.Display(v3))
980 errors = append(errors, compiler.NewError(context, message))
981 }
982 }
983
984 v4 := compiler.MapValueForKey(m, "description")
985 if v4 != nil {
986 x.Description, ok = compiler.StringForScalarNode(v4)
987 if !ok {
988 message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v4))
989 errors = append(errors, compiler.NewError(context, message))
990 }
991 }
992
993 v5 := compiler.MapValueForKey(m, "default")
994 if v5 != nil {
995 x.Default, ok = compiler.StringForScalarNode(v5)
996 if !ok {
997 message := fmt.Sprintf("has unexpected value for default: %s", compiler.Display(v5))
998 errors = append(errors, compiler.NewError(context, message))
999 }
1000 }
1001
1002 v6 := compiler.MapValueForKey(m, "required")
1003 if v6 != nil {
1004 x.Required, ok = compiler.BoolForScalarNode(v6)
1005 if !ok {
1006 message := fmt.Sprintf("has unexpected value for required: %s", compiler.Display(v6))
1007 errors = append(errors, compiler.NewError(context, message))
1008 }
1009 }
1010
1011 v7 := compiler.MapValueForKey(m, "format")
1012 if v7 != nil {
1013 x.Format, ok = compiler.StringForScalarNode(v7)
1014 if !ok {
1015 message := fmt.Sprintf("has unexpected value for format: %s", compiler.Display(v7))
1016 errors = append(errors, compiler.NewError(context, message))
1017 }
1018 }
1019
1020 v8 := compiler.MapValueForKey(m, "pattern")
1021 if v8 != nil {
1022 x.Pattern, ok = compiler.StringForScalarNode(v8)
1023 if !ok {
1024 message := fmt.Sprintf("has unexpected value for pattern: %s", compiler.Display(v8))
1025 errors = append(errors, compiler.NewError(context, message))
1026 }
1027 }
1028
1029 v9 := compiler.MapValueForKey(m, "minimum")
1030 if v9 != nil {
1031 x.Minimum, ok = compiler.StringForScalarNode(v9)
1032 if !ok {
1033 message := fmt.Sprintf("has unexpected value for minimum: %s", compiler.Display(v9))
1034 errors = append(errors, compiler.NewError(context, message))
1035 }
1036 }
1037
1038 v10 := compiler.MapValueForKey(m, "maximum")
1039 if v10 != nil {
1040 x.Maximum, ok = compiler.StringForScalarNode(v10)
1041 if !ok {
1042 message := fmt.Sprintf("has unexpected value for maximum: %s", compiler.Display(v10))
1043 errors = append(errors, compiler.NewError(context, message))
1044 }
1045 }
1046
1047 v11 := compiler.MapValueForKey(m, "enum")
1048 if v11 != nil {
1049 v, ok := compiler.SequenceNodeForNode(v11)
1050 if ok {
1051 x.Enum = compiler.StringArrayForSequenceNode(v)
1052 } else {
1053 message := fmt.Sprintf("has unexpected value for enum: %s", compiler.Display(v11))
1054 errors = append(errors, compiler.NewError(context, message))
1055 }
1056 }
1057
1058 v12 := compiler.MapValueForKey(m, "enumDescriptions")
1059 if v12 != nil {
1060 v, ok := compiler.SequenceNodeForNode(v12)
1061 if ok {
1062 x.EnumDescriptions = compiler.StringArrayForSequenceNode(v)
1063 } else {
1064 message := fmt.Sprintf("has unexpected value for enumDescriptions: %s", compiler.Display(v12))
1065 errors = append(errors, compiler.NewError(context, message))
1066 }
1067 }
1068
1069 v13 := compiler.MapValueForKey(m, "repeated")
1070 if v13 != nil {
1071 x.Repeated, ok = compiler.BoolForScalarNode(v13)
1072 if !ok {
1073 message := fmt.Sprintf("has unexpected value for repeated: %s", compiler.Display(v13))
1074 errors = append(errors, compiler.NewError(context, message))
1075 }
1076 }
1077
1078 v14 := compiler.MapValueForKey(m, "location")
1079 if v14 != nil {
1080 x.Location, ok = compiler.StringForScalarNode(v14)
1081 if !ok {
1082 message := fmt.Sprintf("has unexpected value for location: %s", compiler.Display(v14))
1083 errors = append(errors, compiler.NewError(context, message))
1084 }
1085 }
1086
1087 v15 := compiler.MapValueForKey(m, "properties")
1088 if v15 != nil {
1089 var err error
1090 x.Properties, err = NewSchemas(v15, compiler.NewContext("properties", v15, context))
1091 if err != nil {
1092 errors = append(errors, err)
1093 }
1094 }
1095
1096 v16 := compiler.MapValueForKey(m, "additionalProperties")
1097 if v16 != nil {
1098 var err error
1099 x.AdditionalProperties, err = NewSchema(v16, compiler.NewContext("additionalProperties", v16, context))
1100 if err != nil {
1101 errors = append(errors, err)
1102 }
1103 }
1104
1105 v17 := compiler.MapValueForKey(m, "items")
1106 if v17 != nil {
1107 var err error
1108 x.Items, err = NewSchema(v17, compiler.NewContext("items", v17, context))
1109 if err != nil {
1110 errors = append(errors, err)
1111 }
1112 }
1113
1114 v18 := compiler.MapValueForKey(m, "annotations")
1115 if v18 != nil {
1116 var err error
1117 x.Annotations, err = NewAnnotations(v18, compiler.NewContext("annotations", v18, context))
1118 if err != nil {
1119 errors = append(errors, err)
1120 }
1121 }
1122 }
1123 return x, compiler.NewErrorGroupOrNil(errors)
1124 }
1125
1126
1127 func NewParameters(in *yaml.Node, context *compiler.Context) (*Parameters, error) {
1128 errors := make([]error, 0)
1129 x := &Parameters{}
1130 m, ok := compiler.UnpackMap(in)
1131 if !ok {
1132 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
1133 errors = append(errors, compiler.NewError(context, message))
1134 } else {
1135
1136
1137 x.AdditionalProperties = make([]*NamedParameter, 0)
1138 for i := 0; i < len(m.Content); i += 2 {
1139 k, ok := compiler.StringForScalarNode(m.Content[i])
1140 if ok {
1141 v := m.Content[i+1]
1142 pair := &NamedParameter{}
1143 pair.Name = k
1144 var err error
1145 pair.Value, err = NewParameter(v, compiler.NewContext(k, v, context))
1146 if err != nil {
1147 errors = append(errors, err)
1148 }
1149 x.AdditionalProperties = append(x.AdditionalProperties, pair)
1150 }
1151 }
1152 }
1153 return x, compiler.NewErrorGroupOrNil(errors)
1154 }
1155
1156
1157 func NewProtocols(in *yaml.Node, context *compiler.Context) (*Protocols, error) {
1158 errors := make([]error, 0)
1159 x := &Protocols{}
1160 m, ok := compiler.UnpackMap(in)
1161 if !ok {
1162 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
1163 errors = append(errors, compiler.NewError(context, message))
1164 } else {
1165 allowedKeys := []string{"resumable", "simple"}
1166 var allowedPatterns []*regexp.Regexp
1167 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
1168 if len(invalidKeys) > 0 {
1169 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
1170 errors = append(errors, compiler.NewError(context, message))
1171 }
1172
1173 v1 := compiler.MapValueForKey(m, "simple")
1174 if v1 != nil {
1175 var err error
1176 x.Simple, err = NewSimple(v1, compiler.NewContext("simple", v1, context))
1177 if err != nil {
1178 errors = append(errors, err)
1179 }
1180 }
1181
1182 v2 := compiler.MapValueForKey(m, "resumable")
1183 if v2 != nil {
1184 var err error
1185 x.Resumable, err = NewResumable(v2, compiler.NewContext("resumable", v2, context))
1186 if err != nil {
1187 errors = append(errors, err)
1188 }
1189 }
1190 }
1191 return x, compiler.NewErrorGroupOrNil(errors)
1192 }
1193
1194
1195 func NewRequest(in *yaml.Node, context *compiler.Context) (*Request, error) {
1196 errors := make([]error, 0)
1197 x := &Request{}
1198 m, ok := compiler.UnpackMap(in)
1199 if !ok {
1200 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
1201 errors = append(errors, compiler.NewError(context, message))
1202 } else {
1203 allowedKeys := []string{"$ref", "parameterName"}
1204 var allowedPatterns []*regexp.Regexp
1205 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
1206 if len(invalidKeys) > 0 {
1207 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
1208 errors = append(errors, compiler.NewError(context, message))
1209 }
1210
1211 v1 := compiler.MapValueForKey(m, "$ref")
1212 if v1 != nil {
1213 x.XRef, ok = compiler.StringForScalarNode(v1)
1214 if !ok {
1215 message := fmt.Sprintf("has unexpected value for $ref: %s", compiler.Display(v1))
1216 errors = append(errors, compiler.NewError(context, message))
1217 }
1218 }
1219
1220 v2 := compiler.MapValueForKey(m, "parameterName")
1221 if v2 != nil {
1222 x.ParameterName, ok = compiler.StringForScalarNode(v2)
1223 if !ok {
1224 message := fmt.Sprintf("has unexpected value for parameterName: %s", compiler.Display(v2))
1225 errors = append(errors, compiler.NewError(context, message))
1226 }
1227 }
1228 }
1229 return x, compiler.NewErrorGroupOrNil(errors)
1230 }
1231
1232
1233 func NewResource(in *yaml.Node, context *compiler.Context) (*Resource, error) {
1234 errors := make([]error, 0)
1235 x := &Resource{}
1236 m, ok := compiler.UnpackMap(in)
1237 if !ok {
1238 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
1239 errors = append(errors, compiler.NewError(context, message))
1240 } else {
1241 allowedKeys := []string{"methods", "resources"}
1242 var allowedPatterns []*regexp.Regexp
1243 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
1244 if len(invalidKeys) > 0 {
1245 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
1246 errors = append(errors, compiler.NewError(context, message))
1247 }
1248
1249 v1 := compiler.MapValueForKey(m, "methods")
1250 if v1 != nil {
1251 var err error
1252 x.Methods, err = NewMethods(v1, compiler.NewContext("methods", v1, context))
1253 if err != nil {
1254 errors = append(errors, err)
1255 }
1256 }
1257
1258 v2 := compiler.MapValueForKey(m, "resources")
1259 if v2 != nil {
1260 var err error
1261 x.Resources, err = NewResources(v2, compiler.NewContext("resources", v2, context))
1262 if err != nil {
1263 errors = append(errors, err)
1264 }
1265 }
1266 }
1267 return x, compiler.NewErrorGroupOrNil(errors)
1268 }
1269
1270
1271 func NewResources(in *yaml.Node, context *compiler.Context) (*Resources, error) {
1272 errors := make([]error, 0)
1273 x := &Resources{}
1274 m, ok := compiler.UnpackMap(in)
1275 if !ok {
1276 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
1277 errors = append(errors, compiler.NewError(context, message))
1278 } else {
1279
1280
1281 x.AdditionalProperties = make([]*NamedResource, 0)
1282 for i := 0; i < len(m.Content); i += 2 {
1283 k, ok := compiler.StringForScalarNode(m.Content[i])
1284 if ok {
1285 v := m.Content[i+1]
1286 pair := &NamedResource{}
1287 pair.Name = k
1288 var err error
1289 pair.Value, err = NewResource(v, compiler.NewContext(k, v, context))
1290 if err != nil {
1291 errors = append(errors, err)
1292 }
1293 x.AdditionalProperties = append(x.AdditionalProperties, pair)
1294 }
1295 }
1296 }
1297 return x, compiler.NewErrorGroupOrNil(errors)
1298 }
1299
1300
1301 func NewResponse(in *yaml.Node, context *compiler.Context) (*Response, error) {
1302 errors := make([]error, 0)
1303 x := &Response{}
1304 m, ok := compiler.UnpackMap(in)
1305 if !ok {
1306 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
1307 errors = append(errors, compiler.NewError(context, message))
1308 } else {
1309 allowedKeys := []string{"$ref"}
1310 var allowedPatterns []*regexp.Regexp
1311 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
1312 if len(invalidKeys) > 0 {
1313 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
1314 errors = append(errors, compiler.NewError(context, message))
1315 }
1316
1317 v1 := compiler.MapValueForKey(m, "$ref")
1318 if v1 != nil {
1319 x.XRef, ok = compiler.StringForScalarNode(v1)
1320 if !ok {
1321 message := fmt.Sprintf("has unexpected value for $ref: %s", compiler.Display(v1))
1322 errors = append(errors, compiler.NewError(context, message))
1323 }
1324 }
1325 }
1326 return x, compiler.NewErrorGroupOrNil(errors)
1327 }
1328
1329
1330 func NewResumable(in *yaml.Node, context *compiler.Context) (*Resumable, error) {
1331 errors := make([]error, 0)
1332 x := &Resumable{}
1333 m, ok := compiler.UnpackMap(in)
1334 if !ok {
1335 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
1336 errors = append(errors, compiler.NewError(context, message))
1337 } else {
1338 allowedKeys := []string{"multipart", "path"}
1339 var allowedPatterns []*regexp.Regexp
1340 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
1341 if len(invalidKeys) > 0 {
1342 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
1343 errors = append(errors, compiler.NewError(context, message))
1344 }
1345
1346 v1 := compiler.MapValueForKey(m, "multipart")
1347 if v1 != nil {
1348 x.Multipart, ok = compiler.BoolForScalarNode(v1)
1349 if !ok {
1350 message := fmt.Sprintf("has unexpected value for multipart: %s", compiler.Display(v1))
1351 errors = append(errors, compiler.NewError(context, message))
1352 }
1353 }
1354
1355 v2 := compiler.MapValueForKey(m, "path")
1356 if v2 != nil {
1357 x.Path, ok = compiler.StringForScalarNode(v2)
1358 if !ok {
1359 message := fmt.Sprintf("has unexpected value for path: %s", compiler.Display(v2))
1360 errors = append(errors, compiler.NewError(context, message))
1361 }
1362 }
1363 }
1364 return x, compiler.NewErrorGroupOrNil(errors)
1365 }
1366
1367
1368 func NewSchema(in *yaml.Node, context *compiler.Context) (*Schema, error) {
1369 errors := make([]error, 0)
1370 x := &Schema{}
1371 m, ok := compiler.UnpackMap(in)
1372 if !ok {
1373 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
1374 errors = append(errors, compiler.NewError(context, message))
1375 } else {
1376 allowedKeys := []string{"$ref", "additionalProperties", "annotations", "default", "description", "enum", "enumDescriptions", "format", "id", "items", "location", "maximum", "minimum", "pattern", "properties", "readOnly", "repeated", "required", "type"}
1377 var allowedPatterns []*regexp.Regexp
1378 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
1379 if len(invalidKeys) > 0 {
1380 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
1381 errors = append(errors, compiler.NewError(context, message))
1382 }
1383
1384 v1 := compiler.MapValueForKey(m, "id")
1385 if v1 != nil {
1386 x.Id, ok = compiler.StringForScalarNode(v1)
1387 if !ok {
1388 message := fmt.Sprintf("has unexpected value for id: %s", compiler.Display(v1))
1389 errors = append(errors, compiler.NewError(context, message))
1390 }
1391 }
1392
1393 v2 := compiler.MapValueForKey(m, "type")
1394 if v2 != nil {
1395 x.Type, ok = compiler.StringForScalarNode(v2)
1396 if !ok {
1397 message := fmt.Sprintf("has unexpected value for type: %s", compiler.Display(v2))
1398 errors = append(errors, compiler.NewError(context, message))
1399 }
1400 }
1401
1402 v3 := compiler.MapValueForKey(m, "description")
1403 if v3 != nil {
1404 x.Description, ok = compiler.StringForScalarNode(v3)
1405 if !ok {
1406 message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v3))
1407 errors = append(errors, compiler.NewError(context, message))
1408 }
1409 }
1410
1411 v4 := compiler.MapValueForKey(m, "default")
1412 if v4 != nil {
1413 x.Default, ok = compiler.StringForScalarNode(v4)
1414 if !ok {
1415 message := fmt.Sprintf("has unexpected value for default: %s", compiler.Display(v4))
1416 errors = append(errors, compiler.NewError(context, message))
1417 }
1418 }
1419
1420 v5 := compiler.MapValueForKey(m, "required")
1421 if v5 != nil {
1422 x.Required, ok = compiler.BoolForScalarNode(v5)
1423 if !ok {
1424 message := fmt.Sprintf("has unexpected value for required: %s", compiler.Display(v5))
1425 errors = append(errors, compiler.NewError(context, message))
1426 }
1427 }
1428
1429 v6 := compiler.MapValueForKey(m, "format")
1430 if v6 != nil {
1431 x.Format, ok = compiler.StringForScalarNode(v6)
1432 if !ok {
1433 message := fmt.Sprintf("has unexpected value for format: %s", compiler.Display(v6))
1434 errors = append(errors, compiler.NewError(context, message))
1435 }
1436 }
1437
1438 v7 := compiler.MapValueForKey(m, "pattern")
1439 if v7 != nil {
1440 x.Pattern, ok = compiler.StringForScalarNode(v7)
1441 if !ok {
1442 message := fmt.Sprintf("has unexpected value for pattern: %s", compiler.Display(v7))
1443 errors = append(errors, compiler.NewError(context, message))
1444 }
1445 }
1446
1447 v8 := compiler.MapValueForKey(m, "minimum")
1448 if v8 != nil {
1449 x.Minimum, ok = compiler.StringForScalarNode(v8)
1450 if !ok {
1451 message := fmt.Sprintf("has unexpected value for minimum: %s", compiler.Display(v8))
1452 errors = append(errors, compiler.NewError(context, message))
1453 }
1454 }
1455
1456 v9 := compiler.MapValueForKey(m, "maximum")
1457 if v9 != nil {
1458 x.Maximum, ok = compiler.StringForScalarNode(v9)
1459 if !ok {
1460 message := fmt.Sprintf("has unexpected value for maximum: %s", compiler.Display(v9))
1461 errors = append(errors, compiler.NewError(context, message))
1462 }
1463 }
1464
1465 v10 := compiler.MapValueForKey(m, "enum")
1466 if v10 != nil {
1467 v, ok := compiler.SequenceNodeForNode(v10)
1468 if ok {
1469 x.Enum = compiler.StringArrayForSequenceNode(v)
1470 } else {
1471 message := fmt.Sprintf("has unexpected value for enum: %s", compiler.Display(v10))
1472 errors = append(errors, compiler.NewError(context, message))
1473 }
1474 }
1475
1476 v11 := compiler.MapValueForKey(m, "enumDescriptions")
1477 if v11 != nil {
1478 v, ok := compiler.SequenceNodeForNode(v11)
1479 if ok {
1480 x.EnumDescriptions = compiler.StringArrayForSequenceNode(v)
1481 } else {
1482 message := fmt.Sprintf("has unexpected value for enumDescriptions: %s", compiler.Display(v11))
1483 errors = append(errors, compiler.NewError(context, message))
1484 }
1485 }
1486
1487 v12 := compiler.MapValueForKey(m, "repeated")
1488 if v12 != nil {
1489 x.Repeated, ok = compiler.BoolForScalarNode(v12)
1490 if !ok {
1491 message := fmt.Sprintf("has unexpected value for repeated: %s", compiler.Display(v12))
1492 errors = append(errors, compiler.NewError(context, message))
1493 }
1494 }
1495
1496 v13 := compiler.MapValueForKey(m, "location")
1497 if v13 != nil {
1498 x.Location, ok = compiler.StringForScalarNode(v13)
1499 if !ok {
1500 message := fmt.Sprintf("has unexpected value for location: %s", compiler.Display(v13))
1501 errors = append(errors, compiler.NewError(context, message))
1502 }
1503 }
1504
1505 v14 := compiler.MapValueForKey(m, "properties")
1506 if v14 != nil {
1507 var err error
1508 x.Properties, err = NewSchemas(v14, compiler.NewContext("properties", v14, context))
1509 if err != nil {
1510 errors = append(errors, err)
1511 }
1512 }
1513
1514 v15 := compiler.MapValueForKey(m, "additionalProperties")
1515 if v15 != nil {
1516 var err error
1517 x.AdditionalProperties, err = NewSchema(v15, compiler.NewContext("additionalProperties", v15, context))
1518 if err != nil {
1519 errors = append(errors, err)
1520 }
1521 }
1522
1523 v16 := compiler.MapValueForKey(m, "items")
1524 if v16 != nil {
1525 var err error
1526 x.Items, err = NewSchema(v16, compiler.NewContext("items", v16, context))
1527 if err != nil {
1528 errors = append(errors, err)
1529 }
1530 }
1531
1532 v17 := compiler.MapValueForKey(m, "$ref")
1533 if v17 != nil {
1534 x.XRef, ok = compiler.StringForScalarNode(v17)
1535 if !ok {
1536 message := fmt.Sprintf("has unexpected value for $ref: %s", compiler.Display(v17))
1537 errors = append(errors, compiler.NewError(context, message))
1538 }
1539 }
1540
1541 v18 := compiler.MapValueForKey(m, "annotations")
1542 if v18 != nil {
1543 var err error
1544 x.Annotations, err = NewAnnotations(v18, compiler.NewContext("annotations", v18, context))
1545 if err != nil {
1546 errors = append(errors, err)
1547 }
1548 }
1549
1550 v19 := compiler.MapValueForKey(m, "readOnly")
1551 if v19 != nil {
1552 x.ReadOnly, ok = compiler.BoolForScalarNode(v19)
1553 if !ok {
1554 message := fmt.Sprintf("has unexpected value for readOnly: %s", compiler.Display(v19))
1555 errors = append(errors, compiler.NewError(context, message))
1556 }
1557 }
1558 }
1559 return x, compiler.NewErrorGroupOrNil(errors)
1560 }
1561
1562
1563 func NewSchemas(in *yaml.Node, context *compiler.Context) (*Schemas, error) {
1564 errors := make([]error, 0)
1565 x := &Schemas{}
1566 m, ok := compiler.UnpackMap(in)
1567 if !ok {
1568 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
1569 errors = append(errors, compiler.NewError(context, message))
1570 } else {
1571
1572
1573 x.AdditionalProperties = make([]*NamedSchema, 0)
1574 for i := 0; i < len(m.Content); i += 2 {
1575 k, ok := compiler.StringForScalarNode(m.Content[i])
1576 if ok {
1577 v := m.Content[i+1]
1578 pair := &NamedSchema{}
1579 pair.Name = k
1580 var err error
1581 pair.Value, err = NewSchema(v, compiler.NewContext(k, v, context))
1582 if err != nil {
1583 errors = append(errors, err)
1584 }
1585 x.AdditionalProperties = append(x.AdditionalProperties, pair)
1586 }
1587 }
1588 }
1589 return x, compiler.NewErrorGroupOrNil(errors)
1590 }
1591
1592
1593 func NewScope(in *yaml.Node, context *compiler.Context) (*Scope, error) {
1594 errors := make([]error, 0)
1595 x := &Scope{}
1596 m, ok := compiler.UnpackMap(in)
1597 if !ok {
1598 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
1599 errors = append(errors, compiler.NewError(context, message))
1600 } else {
1601 allowedKeys := []string{"description"}
1602 var allowedPatterns []*regexp.Regexp
1603 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
1604 if len(invalidKeys) > 0 {
1605 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
1606 errors = append(errors, compiler.NewError(context, message))
1607 }
1608
1609 v1 := compiler.MapValueForKey(m, "description")
1610 if v1 != nil {
1611 x.Description, ok = compiler.StringForScalarNode(v1)
1612 if !ok {
1613 message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v1))
1614 errors = append(errors, compiler.NewError(context, message))
1615 }
1616 }
1617 }
1618 return x, compiler.NewErrorGroupOrNil(errors)
1619 }
1620
1621
1622 func NewScopes(in *yaml.Node, context *compiler.Context) (*Scopes, error) {
1623 errors := make([]error, 0)
1624 x := &Scopes{}
1625 m, ok := compiler.UnpackMap(in)
1626 if !ok {
1627 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
1628 errors = append(errors, compiler.NewError(context, message))
1629 } else {
1630
1631
1632 x.AdditionalProperties = make([]*NamedScope, 0)
1633 for i := 0; i < len(m.Content); i += 2 {
1634 k, ok := compiler.StringForScalarNode(m.Content[i])
1635 if ok {
1636 v := m.Content[i+1]
1637 pair := &NamedScope{}
1638 pair.Name = k
1639 var err error
1640 pair.Value, err = NewScope(v, compiler.NewContext(k, v, context))
1641 if err != nil {
1642 errors = append(errors, err)
1643 }
1644 x.AdditionalProperties = append(x.AdditionalProperties, pair)
1645 }
1646 }
1647 }
1648 return x, compiler.NewErrorGroupOrNil(errors)
1649 }
1650
1651
1652 func NewSimple(in *yaml.Node, context *compiler.Context) (*Simple, error) {
1653 errors := make([]error, 0)
1654 x := &Simple{}
1655 m, ok := compiler.UnpackMap(in)
1656 if !ok {
1657 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
1658 errors = append(errors, compiler.NewError(context, message))
1659 } else {
1660 allowedKeys := []string{"multipart", "path"}
1661 var allowedPatterns []*regexp.Regexp
1662 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
1663 if len(invalidKeys) > 0 {
1664 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
1665 errors = append(errors, compiler.NewError(context, message))
1666 }
1667
1668 v1 := compiler.MapValueForKey(m, "multipart")
1669 if v1 != nil {
1670 x.Multipart, ok = compiler.BoolForScalarNode(v1)
1671 if !ok {
1672 message := fmt.Sprintf("has unexpected value for multipart: %s", compiler.Display(v1))
1673 errors = append(errors, compiler.NewError(context, message))
1674 }
1675 }
1676
1677 v2 := compiler.MapValueForKey(m, "path")
1678 if v2 != nil {
1679 x.Path, ok = compiler.StringForScalarNode(v2)
1680 if !ok {
1681 message := fmt.Sprintf("has unexpected value for path: %s", compiler.Display(v2))
1682 errors = append(errors, compiler.NewError(context, message))
1683 }
1684 }
1685 }
1686 return x, compiler.NewErrorGroupOrNil(errors)
1687 }
1688
1689
1690 func NewStringArray(in *yaml.Node, context *compiler.Context) (*StringArray, error) {
1691 errors := make([]error, 0)
1692 x := &StringArray{}
1693 x.Value = make([]string, 0)
1694 for _, node := range in.Content {
1695 s, _ := compiler.StringForScalarNode(node)
1696 x.Value = append(x.Value, s)
1697 }
1698 return x, compiler.NewErrorGroupOrNil(errors)
1699 }
1700
1701
1702 func (m *Annotations) ResolveReferences(root string) (*yaml.Node, error) {
1703 errors := make([]error, 0)
1704 return nil, compiler.NewErrorGroupOrNil(errors)
1705 }
1706
1707
1708 func (m *Any) ResolveReferences(root string) (*yaml.Node, error) {
1709 errors := make([]error, 0)
1710 return nil, compiler.NewErrorGroupOrNil(errors)
1711 }
1712
1713
1714 func (m *Auth) ResolveReferences(root string) (*yaml.Node, error) {
1715 errors := make([]error, 0)
1716 if m.Oauth2 != nil {
1717 _, err := m.Oauth2.ResolveReferences(root)
1718 if err != nil {
1719 errors = append(errors, err)
1720 }
1721 }
1722 return nil, compiler.NewErrorGroupOrNil(errors)
1723 }
1724
1725
1726 func (m *Document) ResolveReferences(root string) (*yaml.Node, error) {
1727 errors := make([]error, 0)
1728 if m.Icons != nil {
1729 _, err := m.Icons.ResolveReferences(root)
1730 if err != nil {
1731 errors = append(errors, err)
1732 }
1733 }
1734 if m.Parameters != nil {
1735 _, err := m.Parameters.ResolveReferences(root)
1736 if err != nil {
1737 errors = append(errors, err)
1738 }
1739 }
1740 if m.Auth != nil {
1741 _, err := m.Auth.ResolveReferences(root)
1742 if err != nil {
1743 errors = append(errors, err)
1744 }
1745 }
1746 if m.Schemas != nil {
1747 _, err := m.Schemas.ResolveReferences(root)
1748 if err != nil {
1749 errors = append(errors, err)
1750 }
1751 }
1752 if m.Methods != nil {
1753 _, err := m.Methods.ResolveReferences(root)
1754 if err != nil {
1755 errors = append(errors, err)
1756 }
1757 }
1758 if m.Resources != nil {
1759 _, err := m.Resources.ResolveReferences(root)
1760 if err != nil {
1761 errors = append(errors, err)
1762 }
1763 }
1764 return nil, compiler.NewErrorGroupOrNil(errors)
1765 }
1766
1767
1768 func (m *Icons) ResolveReferences(root string) (*yaml.Node, error) {
1769 errors := make([]error, 0)
1770 return nil, compiler.NewErrorGroupOrNil(errors)
1771 }
1772
1773
1774 func (m *MediaUpload) ResolveReferences(root string) (*yaml.Node, error) {
1775 errors := make([]error, 0)
1776 if m.Protocols != nil {
1777 _, err := m.Protocols.ResolveReferences(root)
1778 if err != nil {
1779 errors = append(errors, err)
1780 }
1781 }
1782 return nil, compiler.NewErrorGroupOrNil(errors)
1783 }
1784
1785
1786 func (m *Method) ResolveReferences(root string) (*yaml.Node, error) {
1787 errors := make([]error, 0)
1788 if m.Parameters != nil {
1789 _, err := m.Parameters.ResolveReferences(root)
1790 if err != nil {
1791 errors = append(errors, err)
1792 }
1793 }
1794 if m.Request != nil {
1795 _, err := m.Request.ResolveReferences(root)
1796 if err != nil {
1797 errors = append(errors, err)
1798 }
1799 }
1800 if m.Response != nil {
1801 _, err := m.Response.ResolveReferences(root)
1802 if err != nil {
1803 errors = append(errors, err)
1804 }
1805 }
1806 if m.MediaUpload != nil {
1807 _, err := m.MediaUpload.ResolveReferences(root)
1808 if err != nil {
1809 errors = append(errors, err)
1810 }
1811 }
1812 return nil, compiler.NewErrorGroupOrNil(errors)
1813 }
1814
1815
1816 func (m *Methods) ResolveReferences(root string) (*yaml.Node, error) {
1817 errors := make([]error, 0)
1818 for _, item := range m.AdditionalProperties {
1819 if item != nil {
1820 _, err := item.ResolveReferences(root)
1821 if err != nil {
1822 errors = append(errors, err)
1823 }
1824 }
1825 }
1826 return nil, compiler.NewErrorGroupOrNil(errors)
1827 }
1828
1829
1830 func (m *NamedMethod) ResolveReferences(root string) (*yaml.Node, error) {
1831 errors := make([]error, 0)
1832 if m.Value != nil {
1833 _, err := m.Value.ResolveReferences(root)
1834 if err != nil {
1835 errors = append(errors, err)
1836 }
1837 }
1838 return nil, compiler.NewErrorGroupOrNil(errors)
1839 }
1840
1841
1842 func (m *NamedParameter) ResolveReferences(root string) (*yaml.Node, error) {
1843 errors := make([]error, 0)
1844 if m.Value != nil {
1845 _, err := m.Value.ResolveReferences(root)
1846 if err != nil {
1847 errors = append(errors, err)
1848 }
1849 }
1850 return nil, compiler.NewErrorGroupOrNil(errors)
1851 }
1852
1853
1854 func (m *NamedResource) ResolveReferences(root string) (*yaml.Node, error) {
1855 errors := make([]error, 0)
1856 if m.Value != nil {
1857 _, err := m.Value.ResolveReferences(root)
1858 if err != nil {
1859 errors = append(errors, err)
1860 }
1861 }
1862 return nil, compiler.NewErrorGroupOrNil(errors)
1863 }
1864
1865
1866 func (m *NamedSchema) ResolveReferences(root string) (*yaml.Node, error) {
1867 errors := make([]error, 0)
1868 if m.Value != nil {
1869 _, err := m.Value.ResolveReferences(root)
1870 if err != nil {
1871 errors = append(errors, err)
1872 }
1873 }
1874 return nil, compiler.NewErrorGroupOrNil(errors)
1875 }
1876
1877
1878 func (m *NamedScope) ResolveReferences(root string) (*yaml.Node, error) {
1879 errors := make([]error, 0)
1880 if m.Value != nil {
1881 _, err := m.Value.ResolveReferences(root)
1882 if err != nil {
1883 errors = append(errors, err)
1884 }
1885 }
1886 return nil, compiler.NewErrorGroupOrNil(errors)
1887 }
1888
1889
1890 func (m *Oauth2) ResolveReferences(root string) (*yaml.Node, error) {
1891 errors := make([]error, 0)
1892 if m.Scopes != nil {
1893 _, err := m.Scopes.ResolveReferences(root)
1894 if err != nil {
1895 errors = append(errors, err)
1896 }
1897 }
1898 return nil, compiler.NewErrorGroupOrNil(errors)
1899 }
1900
1901
1902 func (m *Parameter) ResolveReferences(root string) (*yaml.Node, error) {
1903 errors := make([]error, 0)
1904 if m.XRef != "" {
1905 info, err := compiler.ReadInfoForRef(root, m.XRef)
1906 if err != nil {
1907 return nil, err
1908 }
1909 if info != nil {
1910 replacement, err := NewParameter(info, nil)
1911 if err == nil {
1912 *m = *replacement
1913 return m.ResolveReferences(root)
1914 }
1915 }
1916 return info, nil
1917 }
1918 if m.Properties != nil {
1919 _, err := m.Properties.ResolveReferences(root)
1920 if err != nil {
1921 errors = append(errors, err)
1922 }
1923 }
1924 if m.AdditionalProperties != nil {
1925 _, err := m.AdditionalProperties.ResolveReferences(root)
1926 if err != nil {
1927 errors = append(errors, err)
1928 }
1929 }
1930 if m.Items != nil {
1931 _, err := m.Items.ResolveReferences(root)
1932 if err != nil {
1933 errors = append(errors, err)
1934 }
1935 }
1936 if m.Annotations != nil {
1937 _, err := m.Annotations.ResolveReferences(root)
1938 if err != nil {
1939 errors = append(errors, err)
1940 }
1941 }
1942 return nil, compiler.NewErrorGroupOrNil(errors)
1943 }
1944
1945
1946 func (m *Parameters) ResolveReferences(root string) (*yaml.Node, error) {
1947 errors := make([]error, 0)
1948 for _, item := range m.AdditionalProperties {
1949 if item != nil {
1950 _, err := item.ResolveReferences(root)
1951 if err != nil {
1952 errors = append(errors, err)
1953 }
1954 }
1955 }
1956 return nil, compiler.NewErrorGroupOrNil(errors)
1957 }
1958
1959
1960 func (m *Protocols) ResolveReferences(root string) (*yaml.Node, error) {
1961 errors := make([]error, 0)
1962 if m.Simple != nil {
1963 _, err := m.Simple.ResolveReferences(root)
1964 if err != nil {
1965 errors = append(errors, err)
1966 }
1967 }
1968 if m.Resumable != nil {
1969 _, err := m.Resumable.ResolveReferences(root)
1970 if err != nil {
1971 errors = append(errors, err)
1972 }
1973 }
1974 return nil, compiler.NewErrorGroupOrNil(errors)
1975 }
1976
1977
1978 func (m *Request) ResolveReferences(root string) (*yaml.Node, error) {
1979 errors := make([]error, 0)
1980 if m.XRef != "" {
1981 info, err := compiler.ReadInfoForRef(root, m.XRef)
1982 if err != nil {
1983 return nil, err
1984 }
1985 if info != nil {
1986 replacement, err := NewRequest(info, nil)
1987 if err == nil {
1988 *m = *replacement
1989 return m.ResolveReferences(root)
1990 }
1991 }
1992 return info, nil
1993 }
1994 return nil, compiler.NewErrorGroupOrNil(errors)
1995 }
1996
1997
1998 func (m *Resource) ResolveReferences(root string) (*yaml.Node, error) {
1999 errors := make([]error, 0)
2000 if m.Methods != nil {
2001 _, err := m.Methods.ResolveReferences(root)
2002 if err != nil {
2003 errors = append(errors, err)
2004 }
2005 }
2006 if m.Resources != nil {
2007 _, err := m.Resources.ResolveReferences(root)
2008 if err != nil {
2009 errors = append(errors, err)
2010 }
2011 }
2012 return nil, compiler.NewErrorGroupOrNil(errors)
2013 }
2014
2015
2016 func (m *Resources) ResolveReferences(root string) (*yaml.Node, error) {
2017 errors := make([]error, 0)
2018 for _, item := range m.AdditionalProperties {
2019 if item != nil {
2020 _, err := item.ResolveReferences(root)
2021 if err != nil {
2022 errors = append(errors, err)
2023 }
2024 }
2025 }
2026 return nil, compiler.NewErrorGroupOrNil(errors)
2027 }
2028
2029
2030 func (m *Response) ResolveReferences(root string) (*yaml.Node, error) {
2031 errors := make([]error, 0)
2032 if m.XRef != "" {
2033 info, err := compiler.ReadInfoForRef(root, m.XRef)
2034 if err != nil {
2035 return nil, err
2036 }
2037 return info, nil
2038 }
2039 return nil, compiler.NewErrorGroupOrNil(errors)
2040 }
2041
2042
2043 func (m *Resumable) ResolveReferences(root string) (*yaml.Node, error) {
2044 errors := make([]error, 0)
2045 return nil, compiler.NewErrorGroupOrNil(errors)
2046 }
2047
2048
2049 func (m *Schema) ResolveReferences(root string) (*yaml.Node, error) {
2050 errors := make([]error, 0)
2051 if m.Properties != nil {
2052 _, err := m.Properties.ResolveReferences(root)
2053 if err != nil {
2054 errors = append(errors, err)
2055 }
2056 }
2057 if m.AdditionalProperties != nil {
2058 _, err := m.AdditionalProperties.ResolveReferences(root)
2059 if err != nil {
2060 errors = append(errors, err)
2061 }
2062 }
2063 if m.Items != nil {
2064 _, err := m.Items.ResolveReferences(root)
2065 if err != nil {
2066 errors = append(errors, err)
2067 }
2068 }
2069 if m.XRef != "" {
2070 info, err := compiler.ReadInfoForRef(root, m.XRef)
2071 if err != nil {
2072 return nil, err
2073 }
2074 if info != nil {
2075 replacement, err := NewSchema(info, nil)
2076 if err == nil {
2077 *m = *replacement
2078 return m.ResolveReferences(root)
2079 }
2080 }
2081 return info, nil
2082 }
2083 if m.Annotations != nil {
2084 _, err := m.Annotations.ResolveReferences(root)
2085 if err != nil {
2086 errors = append(errors, err)
2087 }
2088 }
2089 return nil, compiler.NewErrorGroupOrNil(errors)
2090 }
2091
2092
2093 func (m *Schemas) ResolveReferences(root string) (*yaml.Node, error) {
2094 errors := make([]error, 0)
2095 for _, item := range m.AdditionalProperties {
2096 if item != nil {
2097 _, err := item.ResolveReferences(root)
2098 if err != nil {
2099 errors = append(errors, err)
2100 }
2101 }
2102 }
2103 return nil, compiler.NewErrorGroupOrNil(errors)
2104 }
2105
2106
2107 func (m *Scope) ResolveReferences(root string) (*yaml.Node, error) {
2108 errors := make([]error, 0)
2109 return nil, compiler.NewErrorGroupOrNil(errors)
2110 }
2111
2112
2113 func (m *Scopes) ResolveReferences(root string) (*yaml.Node, error) {
2114 errors := make([]error, 0)
2115 for _, item := range m.AdditionalProperties {
2116 if item != nil {
2117 _, err := item.ResolveReferences(root)
2118 if err != nil {
2119 errors = append(errors, err)
2120 }
2121 }
2122 }
2123 return nil, compiler.NewErrorGroupOrNil(errors)
2124 }
2125
2126
2127 func (m *Simple) ResolveReferences(root string) (*yaml.Node, error) {
2128 errors := make([]error, 0)
2129 return nil, compiler.NewErrorGroupOrNil(errors)
2130 }
2131
2132
2133 func (m *StringArray) ResolveReferences(root string) (*yaml.Node, error) {
2134 errors := make([]error, 0)
2135 return nil, compiler.NewErrorGroupOrNil(errors)
2136 }
2137
2138
2139 func (m *Annotations) ToRawInfo() *yaml.Node {
2140 info := compiler.NewMappingNode()
2141 if m == nil {
2142 return info
2143 }
2144 if len(m.Required) != 0 {
2145 info.Content = append(info.Content, compiler.NewScalarNodeForString("required"))
2146 info.Content = append(info.Content, compiler.NewSequenceNodeForStringArray(m.Required))
2147 }
2148 return info
2149 }
2150
2151
2152 func (m *Any) ToRawInfo() *yaml.Node {
2153 var err error
2154 var node yaml.Node
2155 err = yaml.Unmarshal([]byte(m.Yaml), &node)
2156 if err == nil {
2157 if node.Kind == yaml.DocumentNode {
2158 return node.Content[0]
2159 }
2160 return &node
2161 }
2162 return compiler.NewNullNode()
2163 }
2164
2165
2166 func (m *Auth) ToRawInfo() *yaml.Node {
2167 info := compiler.NewMappingNode()
2168 if m == nil {
2169 return info
2170 }
2171 if m.Oauth2 != nil {
2172 info.Content = append(info.Content, compiler.NewScalarNodeForString("oauth2"))
2173 info.Content = append(info.Content, m.Oauth2.ToRawInfo())
2174 }
2175 return info
2176 }
2177
2178
2179 func (m *Document) ToRawInfo() *yaml.Node {
2180 info := compiler.NewMappingNode()
2181 if m == nil {
2182 return info
2183 }
2184
2185 info.Content = append(info.Content, compiler.NewScalarNodeForString("kind"))
2186 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Kind))
2187
2188 info.Content = append(info.Content, compiler.NewScalarNodeForString("discoveryVersion"))
2189 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.DiscoveryVersion))
2190 if m.Id != "" {
2191 info.Content = append(info.Content, compiler.NewScalarNodeForString("id"))
2192 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Id))
2193 }
2194 if m.Name != "" {
2195 info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
2196 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
2197 }
2198 if m.Version != "" {
2199 info.Content = append(info.Content, compiler.NewScalarNodeForString("version"))
2200 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Version))
2201 }
2202 if m.Revision != "" {
2203 info.Content = append(info.Content, compiler.NewScalarNodeForString("revision"))
2204 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Revision))
2205 }
2206 if m.Title != "" {
2207 info.Content = append(info.Content, compiler.NewScalarNodeForString("title"))
2208 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Title))
2209 }
2210 if m.Description != "" {
2211 info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
2212 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
2213 }
2214 if m.Icons != nil {
2215 info.Content = append(info.Content, compiler.NewScalarNodeForString("icons"))
2216 info.Content = append(info.Content, m.Icons.ToRawInfo())
2217 }
2218 if m.DocumentationLink != "" {
2219 info.Content = append(info.Content, compiler.NewScalarNodeForString("documentationLink"))
2220 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.DocumentationLink))
2221 }
2222 if len(m.Labels) != 0 {
2223 info.Content = append(info.Content, compiler.NewScalarNodeForString("labels"))
2224 info.Content = append(info.Content, compiler.NewSequenceNodeForStringArray(m.Labels))
2225 }
2226 if m.Protocol != "" {
2227 info.Content = append(info.Content, compiler.NewScalarNodeForString("protocol"))
2228 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Protocol))
2229 }
2230 if m.BaseUrl != "" {
2231 info.Content = append(info.Content, compiler.NewScalarNodeForString("baseUrl"))
2232 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.BaseUrl))
2233 }
2234 if m.BasePath != "" {
2235 info.Content = append(info.Content, compiler.NewScalarNodeForString("basePath"))
2236 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.BasePath))
2237 }
2238 if m.RootUrl != "" {
2239 info.Content = append(info.Content, compiler.NewScalarNodeForString("rootUrl"))
2240 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.RootUrl))
2241 }
2242 if m.ServicePath != "" {
2243 info.Content = append(info.Content, compiler.NewScalarNodeForString("servicePath"))
2244 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.ServicePath))
2245 }
2246 if m.BatchPath != "" {
2247 info.Content = append(info.Content, compiler.NewScalarNodeForString("batchPath"))
2248 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.BatchPath))
2249 }
2250 if m.Parameters != nil {
2251 info.Content = append(info.Content, compiler.NewScalarNodeForString("parameters"))
2252 info.Content = append(info.Content, m.Parameters.ToRawInfo())
2253 }
2254 if m.Auth != nil {
2255 info.Content = append(info.Content, compiler.NewScalarNodeForString("auth"))
2256 info.Content = append(info.Content, m.Auth.ToRawInfo())
2257 }
2258 if len(m.Features) != 0 {
2259 info.Content = append(info.Content, compiler.NewScalarNodeForString("features"))
2260 info.Content = append(info.Content, compiler.NewSequenceNodeForStringArray(m.Features))
2261 }
2262 if m.Schemas != nil {
2263 info.Content = append(info.Content, compiler.NewScalarNodeForString("schemas"))
2264 info.Content = append(info.Content, m.Schemas.ToRawInfo())
2265 }
2266 if m.Methods != nil {
2267 info.Content = append(info.Content, compiler.NewScalarNodeForString("methods"))
2268 info.Content = append(info.Content, m.Methods.ToRawInfo())
2269 }
2270 if m.Resources != nil {
2271 info.Content = append(info.Content, compiler.NewScalarNodeForString("resources"))
2272 info.Content = append(info.Content, m.Resources.ToRawInfo())
2273 }
2274 if m.Etag != "" {
2275 info.Content = append(info.Content, compiler.NewScalarNodeForString("etag"))
2276 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Etag))
2277 }
2278 if m.OwnerDomain != "" {
2279 info.Content = append(info.Content, compiler.NewScalarNodeForString("ownerDomain"))
2280 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.OwnerDomain))
2281 }
2282 if m.OwnerName != "" {
2283 info.Content = append(info.Content, compiler.NewScalarNodeForString("ownerName"))
2284 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.OwnerName))
2285 }
2286 if m.VersionModule != false {
2287 info.Content = append(info.Content, compiler.NewScalarNodeForString("version_module"))
2288 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.VersionModule))
2289 }
2290 if m.CanonicalName != "" {
2291 info.Content = append(info.Content, compiler.NewScalarNodeForString("canonicalName"))
2292 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.CanonicalName))
2293 }
2294 if m.FullyEncodeReservedExpansion != false {
2295 info.Content = append(info.Content, compiler.NewScalarNodeForString("fullyEncodeReservedExpansion"))
2296 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.FullyEncodeReservedExpansion))
2297 }
2298 if m.PackagePath != "" {
2299 info.Content = append(info.Content, compiler.NewScalarNodeForString("packagePath"))
2300 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.PackagePath))
2301 }
2302 if m.MtlsRootUrl != "" {
2303 info.Content = append(info.Content, compiler.NewScalarNodeForString("mtlsRootUrl"))
2304 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.MtlsRootUrl))
2305 }
2306 return info
2307 }
2308
2309
2310 func (m *Icons) ToRawInfo() *yaml.Node {
2311 info := compiler.NewMappingNode()
2312 if m == nil {
2313 return info
2314 }
2315
2316 info.Content = append(info.Content, compiler.NewScalarNodeForString("x16"))
2317 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.X16))
2318
2319 info.Content = append(info.Content, compiler.NewScalarNodeForString("x32"))
2320 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.X32))
2321 return info
2322 }
2323
2324
2325 func (m *MediaUpload) ToRawInfo() *yaml.Node {
2326 info := compiler.NewMappingNode()
2327 if m == nil {
2328 return info
2329 }
2330 if len(m.Accept) != 0 {
2331 info.Content = append(info.Content, compiler.NewScalarNodeForString("accept"))
2332 info.Content = append(info.Content, compiler.NewSequenceNodeForStringArray(m.Accept))
2333 }
2334 if m.MaxSize != "" {
2335 info.Content = append(info.Content, compiler.NewScalarNodeForString("maxSize"))
2336 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.MaxSize))
2337 }
2338 if m.Protocols != nil {
2339 info.Content = append(info.Content, compiler.NewScalarNodeForString("protocols"))
2340 info.Content = append(info.Content, m.Protocols.ToRawInfo())
2341 }
2342 if m.SupportsSubscription != false {
2343 info.Content = append(info.Content, compiler.NewScalarNodeForString("supportsSubscription"))
2344 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.SupportsSubscription))
2345 }
2346 return info
2347 }
2348
2349
2350 func (m *Method) ToRawInfo() *yaml.Node {
2351 info := compiler.NewMappingNode()
2352 if m == nil {
2353 return info
2354 }
2355 if m.Id != "" {
2356 info.Content = append(info.Content, compiler.NewScalarNodeForString("id"))
2357 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Id))
2358 }
2359 if m.Path != "" {
2360 info.Content = append(info.Content, compiler.NewScalarNodeForString("path"))
2361 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Path))
2362 }
2363 if m.HttpMethod != "" {
2364 info.Content = append(info.Content, compiler.NewScalarNodeForString("httpMethod"))
2365 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.HttpMethod))
2366 }
2367 if m.Description != "" {
2368 info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
2369 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
2370 }
2371 if m.Parameters != nil {
2372 info.Content = append(info.Content, compiler.NewScalarNodeForString("parameters"))
2373 info.Content = append(info.Content, m.Parameters.ToRawInfo())
2374 }
2375 if len(m.ParameterOrder) != 0 {
2376 info.Content = append(info.Content, compiler.NewScalarNodeForString("parameterOrder"))
2377 info.Content = append(info.Content, compiler.NewSequenceNodeForStringArray(m.ParameterOrder))
2378 }
2379 if m.Request != nil {
2380 info.Content = append(info.Content, compiler.NewScalarNodeForString("request"))
2381 info.Content = append(info.Content, m.Request.ToRawInfo())
2382 }
2383 if m.Response != nil {
2384 info.Content = append(info.Content, compiler.NewScalarNodeForString("response"))
2385 info.Content = append(info.Content, m.Response.ToRawInfo())
2386 }
2387 if len(m.Scopes) != 0 {
2388 info.Content = append(info.Content, compiler.NewScalarNodeForString("scopes"))
2389 info.Content = append(info.Content, compiler.NewSequenceNodeForStringArray(m.Scopes))
2390 }
2391 if m.SupportsMediaDownload != false {
2392 info.Content = append(info.Content, compiler.NewScalarNodeForString("supportsMediaDownload"))
2393 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.SupportsMediaDownload))
2394 }
2395 if m.SupportsMediaUpload != false {
2396 info.Content = append(info.Content, compiler.NewScalarNodeForString("supportsMediaUpload"))
2397 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.SupportsMediaUpload))
2398 }
2399 if m.UseMediaDownloadService != false {
2400 info.Content = append(info.Content, compiler.NewScalarNodeForString("useMediaDownloadService"))
2401 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.UseMediaDownloadService))
2402 }
2403 if m.MediaUpload != nil {
2404 info.Content = append(info.Content, compiler.NewScalarNodeForString("mediaUpload"))
2405 info.Content = append(info.Content, m.MediaUpload.ToRawInfo())
2406 }
2407 if m.SupportsSubscription != false {
2408 info.Content = append(info.Content, compiler.NewScalarNodeForString("supportsSubscription"))
2409 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.SupportsSubscription))
2410 }
2411 if m.FlatPath != "" {
2412 info.Content = append(info.Content, compiler.NewScalarNodeForString("flatPath"))
2413 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.FlatPath))
2414 }
2415 if m.EtagRequired != false {
2416 info.Content = append(info.Content, compiler.NewScalarNodeForString("etagRequired"))
2417 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.EtagRequired))
2418 }
2419 if m.StreamingType != "" {
2420 info.Content = append(info.Content, compiler.NewScalarNodeForString("streamingType"))
2421 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.StreamingType))
2422 }
2423 return info
2424 }
2425
2426
2427 func (m *Methods) ToRawInfo() *yaml.Node {
2428 info := compiler.NewMappingNode()
2429 if m == nil {
2430 return info
2431 }
2432 if m.AdditionalProperties != nil {
2433 for _, item := range m.AdditionalProperties {
2434 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
2435 info.Content = append(info.Content, item.Value.ToRawInfo())
2436 }
2437 }
2438 return info
2439 }
2440
2441
2442 func (m *NamedMethod) ToRawInfo() *yaml.Node {
2443 info := compiler.NewMappingNode()
2444 if m == nil {
2445 return info
2446 }
2447 if m.Name != "" {
2448 info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
2449 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
2450 }
2451
2452 return info
2453 }
2454
2455
2456 func (m *NamedParameter) ToRawInfo() *yaml.Node {
2457 info := compiler.NewMappingNode()
2458 if m == nil {
2459 return info
2460 }
2461 if m.Name != "" {
2462 info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
2463 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
2464 }
2465
2466 return info
2467 }
2468
2469
2470 func (m *NamedResource) ToRawInfo() *yaml.Node {
2471 info := compiler.NewMappingNode()
2472 if m == nil {
2473 return info
2474 }
2475 if m.Name != "" {
2476 info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
2477 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
2478 }
2479
2480 return info
2481 }
2482
2483
2484 func (m *NamedSchema) ToRawInfo() *yaml.Node {
2485 info := compiler.NewMappingNode()
2486 if m == nil {
2487 return info
2488 }
2489 if m.Name != "" {
2490 info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
2491 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
2492 }
2493
2494 return info
2495 }
2496
2497
2498 func (m *NamedScope) ToRawInfo() *yaml.Node {
2499 info := compiler.NewMappingNode()
2500 if m == nil {
2501 return info
2502 }
2503 if m.Name != "" {
2504 info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
2505 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
2506 }
2507
2508 return info
2509 }
2510
2511
2512 func (m *Oauth2) ToRawInfo() *yaml.Node {
2513 info := compiler.NewMappingNode()
2514 if m == nil {
2515 return info
2516 }
2517 if m.Scopes != nil {
2518 info.Content = append(info.Content, compiler.NewScalarNodeForString("scopes"))
2519 info.Content = append(info.Content, m.Scopes.ToRawInfo())
2520 }
2521 return info
2522 }
2523
2524
2525 func (m *Parameter) ToRawInfo() *yaml.Node {
2526 info := compiler.NewMappingNode()
2527 if m == nil {
2528 return info
2529 }
2530 if m.Id != "" {
2531 info.Content = append(info.Content, compiler.NewScalarNodeForString("id"))
2532 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Id))
2533 }
2534 if m.Type != "" {
2535 info.Content = append(info.Content, compiler.NewScalarNodeForString("type"))
2536 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Type))
2537 }
2538 if m.XRef != "" {
2539 info.Content = append(info.Content, compiler.NewScalarNodeForString("$ref"))
2540 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.XRef))
2541 }
2542 if m.Description != "" {
2543 info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
2544 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
2545 }
2546 if m.Default != "" {
2547 info.Content = append(info.Content, compiler.NewScalarNodeForString("default"))
2548 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Default))
2549 }
2550 if m.Required != false {
2551 info.Content = append(info.Content, compiler.NewScalarNodeForString("required"))
2552 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.Required))
2553 }
2554 if m.Format != "" {
2555 info.Content = append(info.Content, compiler.NewScalarNodeForString("format"))
2556 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Format))
2557 }
2558 if m.Pattern != "" {
2559 info.Content = append(info.Content, compiler.NewScalarNodeForString("pattern"))
2560 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Pattern))
2561 }
2562 if m.Minimum != "" {
2563 info.Content = append(info.Content, compiler.NewScalarNodeForString("minimum"))
2564 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Minimum))
2565 }
2566 if m.Maximum != "" {
2567 info.Content = append(info.Content, compiler.NewScalarNodeForString("maximum"))
2568 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Maximum))
2569 }
2570 if len(m.Enum) != 0 {
2571 info.Content = append(info.Content, compiler.NewScalarNodeForString("enum"))
2572 info.Content = append(info.Content, compiler.NewSequenceNodeForStringArray(m.Enum))
2573 }
2574 if len(m.EnumDescriptions) != 0 {
2575 info.Content = append(info.Content, compiler.NewScalarNodeForString("enumDescriptions"))
2576 info.Content = append(info.Content, compiler.NewSequenceNodeForStringArray(m.EnumDescriptions))
2577 }
2578 if m.Repeated != false {
2579 info.Content = append(info.Content, compiler.NewScalarNodeForString("repeated"))
2580 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.Repeated))
2581 }
2582 if m.Location != "" {
2583 info.Content = append(info.Content, compiler.NewScalarNodeForString("location"))
2584 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Location))
2585 }
2586 if m.Properties != nil {
2587 info.Content = append(info.Content, compiler.NewScalarNodeForString("properties"))
2588 info.Content = append(info.Content, m.Properties.ToRawInfo())
2589 }
2590 if m.AdditionalProperties != nil {
2591 info.Content = append(info.Content, compiler.NewScalarNodeForString("additionalProperties"))
2592 info.Content = append(info.Content, m.AdditionalProperties.ToRawInfo())
2593 }
2594 if m.Items != nil {
2595 info.Content = append(info.Content, compiler.NewScalarNodeForString("items"))
2596 info.Content = append(info.Content, m.Items.ToRawInfo())
2597 }
2598 if m.Annotations != nil {
2599 info.Content = append(info.Content, compiler.NewScalarNodeForString("annotations"))
2600 info.Content = append(info.Content, m.Annotations.ToRawInfo())
2601 }
2602 return info
2603 }
2604
2605
2606 func (m *Parameters) ToRawInfo() *yaml.Node {
2607 info := compiler.NewMappingNode()
2608 if m == nil {
2609 return info
2610 }
2611 if m.AdditionalProperties != nil {
2612 for _, item := range m.AdditionalProperties {
2613 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
2614 info.Content = append(info.Content, item.Value.ToRawInfo())
2615 }
2616 }
2617 return info
2618 }
2619
2620
2621 func (m *Protocols) ToRawInfo() *yaml.Node {
2622 info := compiler.NewMappingNode()
2623 if m == nil {
2624 return info
2625 }
2626 if m.Simple != nil {
2627 info.Content = append(info.Content, compiler.NewScalarNodeForString("simple"))
2628 info.Content = append(info.Content, m.Simple.ToRawInfo())
2629 }
2630 if m.Resumable != nil {
2631 info.Content = append(info.Content, compiler.NewScalarNodeForString("resumable"))
2632 info.Content = append(info.Content, m.Resumable.ToRawInfo())
2633 }
2634 return info
2635 }
2636
2637
2638 func (m *Request) ToRawInfo() *yaml.Node {
2639 info := compiler.NewMappingNode()
2640 if m == nil {
2641 return info
2642 }
2643 if m.XRef != "" {
2644 info.Content = append(info.Content, compiler.NewScalarNodeForString("$ref"))
2645 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.XRef))
2646 }
2647 if m.ParameterName != "" {
2648 info.Content = append(info.Content, compiler.NewScalarNodeForString("parameterName"))
2649 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.ParameterName))
2650 }
2651 return info
2652 }
2653
2654
2655 func (m *Resource) ToRawInfo() *yaml.Node {
2656 info := compiler.NewMappingNode()
2657 if m == nil {
2658 return info
2659 }
2660 if m.Methods != nil {
2661 info.Content = append(info.Content, compiler.NewScalarNodeForString("methods"))
2662 info.Content = append(info.Content, m.Methods.ToRawInfo())
2663 }
2664 if m.Resources != nil {
2665 info.Content = append(info.Content, compiler.NewScalarNodeForString("resources"))
2666 info.Content = append(info.Content, m.Resources.ToRawInfo())
2667 }
2668 return info
2669 }
2670
2671
2672 func (m *Resources) ToRawInfo() *yaml.Node {
2673 info := compiler.NewMappingNode()
2674 if m == nil {
2675 return info
2676 }
2677 if m.AdditionalProperties != nil {
2678 for _, item := range m.AdditionalProperties {
2679 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
2680 info.Content = append(info.Content, item.Value.ToRawInfo())
2681 }
2682 }
2683 return info
2684 }
2685
2686
2687 func (m *Response) ToRawInfo() *yaml.Node {
2688 info := compiler.NewMappingNode()
2689 if m == nil {
2690 return info
2691 }
2692 if m.XRef != "" {
2693 info.Content = append(info.Content, compiler.NewScalarNodeForString("$ref"))
2694 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.XRef))
2695 }
2696 return info
2697 }
2698
2699
2700 func (m *Resumable) ToRawInfo() *yaml.Node {
2701 info := compiler.NewMappingNode()
2702 if m == nil {
2703 return info
2704 }
2705 if m.Multipart != false {
2706 info.Content = append(info.Content, compiler.NewScalarNodeForString("multipart"))
2707 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.Multipart))
2708 }
2709 if m.Path != "" {
2710 info.Content = append(info.Content, compiler.NewScalarNodeForString("path"))
2711 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Path))
2712 }
2713 return info
2714 }
2715
2716
2717 func (m *Schema) ToRawInfo() *yaml.Node {
2718 info := compiler.NewMappingNode()
2719 if m == nil {
2720 return info
2721 }
2722 if m.Id != "" {
2723 info.Content = append(info.Content, compiler.NewScalarNodeForString("id"))
2724 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Id))
2725 }
2726 if m.Type != "" {
2727 info.Content = append(info.Content, compiler.NewScalarNodeForString("type"))
2728 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Type))
2729 }
2730 if m.Description != "" {
2731 info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
2732 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
2733 }
2734 if m.Default != "" {
2735 info.Content = append(info.Content, compiler.NewScalarNodeForString("default"))
2736 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Default))
2737 }
2738 if m.Required != false {
2739 info.Content = append(info.Content, compiler.NewScalarNodeForString("required"))
2740 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.Required))
2741 }
2742 if m.Format != "" {
2743 info.Content = append(info.Content, compiler.NewScalarNodeForString("format"))
2744 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Format))
2745 }
2746 if m.Pattern != "" {
2747 info.Content = append(info.Content, compiler.NewScalarNodeForString("pattern"))
2748 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Pattern))
2749 }
2750 if m.Minimum != "" {
2751 info.Content = append(info.Content, compiler.NewScalarNodeForString("minimum"))
2752 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Minimum))
2753 }
2754 if m.Maximum != "" {
2755 info.Content = append(info.Content, compiler.NewScalarNodeForString("maximum"))
2756 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Maximum))
2757 }
2758 if len(m.Enum) != 0 {
2759 info.Content = append(info.Content, compiler.NewScalarNodeForString("enum"))
2760 info.Content = append(info.Content, compiler.NewSequenceNodeForStringArray(m.Enum))
2761 }
2762 if len(m.EnumDescriptions) != 0 {
2763 info.Content = append(info.Content, compiler.NewScalarNodeForString("enumDescriptions"))
2764 info.Content = append(info.Content, compiler.NewSequenceNodeForStringArray(m.EnumDescriptions))
2765 }
2766 if m.Repeated != false {
2767 info.Content = append(info.Content, compiler.NewScalarNodeForString("repeated"))
2768 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.Repeated))
2769 }
2770 if m.Location != "" {
2771 info.Content = append(info.Content, compiler.NewScalarNodeForString("location"))
2772 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Location))
2773 }
2774 if m.Properties != nil {
2775 info.Content = append(info.Content, compiler.NewScalarNodeForString("properties"))
2776 info.Content = append(info.Content, m.Properties.ToRawInfo())
2777 }
2778 if m.AdditionalProperties != nil {
2779 info.Content = append(info.Content, compiler.NewScalarNodeForString("additionalProperties"))
2780 info.Content = append(info.Content, m.AdditionalProperties.ToRawInfo())
2781 }
2782 if m.Items != nil {
2783 info.Content = append(info.Content, compiler.NewScalarNodeForString("items"))
2784 info.Content = append(info.Content, m.Items.ToRawInfo())
2785 }
2786 if m.XRef != "" {
2787 info.Content = append(info.Content, compiler.NewScalarNodeForString("$ref"))
2788 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.XRef))
2789 }
2790 if m.Annotations != nil {
2791 info.Content = append(info.Content, compiler.NewScalarNodeForString("annotations"))
2792 info.Content = append(info.Content, m.Annotations.ToRawInfo())
2793 }
2794 if m.ReadOnly != false {
2795 info.Content = append(info.Content, compiler.NewScalarNodeForString("readOnly"))
2796 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.ReadOnly))
2797 }
2798 return info
2799 }
2800
2801
2802 func (m *Schemas) ToRawInfo() *yaml.Node {
2803 info := compiler.NewMappingNode()
2804 if m == nil {
2805 return info
2806 }
2807 if m.AdditionalProperties != nil {
2808 for _, item := range m.AdditionalProperties {
2809 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
2810 info.Content = append(info.Content, item.Value.ToRawInfo())
2811 }
2812 }
2813 return info
2814 }
2815
2816
2817 func (m *Scope) ToRawInfo() *yaml.Node {
2818 info := compiler.NewMappingNode()
2819 if m == nil {
2820 return info
2821 }
2822 if m.Description != "" {
2823 info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
2824 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
2825 }
2826 return info
2827 }
2828
2829
2830 func (m *Scopes) ToRawInfo() *yaml.Node {
2831 info := compiler.NewMappingNode()
2832 if m == nil {
2833 return info
2834 }
2835 if m.AdditionalProperties != nil {
2836 for _, item := range m.AdditionalProperties {
2837 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
2838 info.Content = append(info.Content, item.Value.ToRawInfo())
2839 }
2840 }
2841 return info
2842 }
2843
2844
2845 func (m *Simple) ToRawInfo() *yaml.Node {
2846 info := compiler.NewMappingNode()
2847 if m == nil {
2848 return info
2849 }
2850 if m.Multipart != false {
2851 info.Content = append(info.Content, compiler.NewScalarNodeForString("multipart"))
2852 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.Multipart))
2853 }
2854 if m.Path != "" {
2855 info.Content = append(info.Content, compiler.NewScalarNodeForString("path"))
2856 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Path))
2857 }
2858 return info
2859 }
2860
2861
2862 func (m *StringArray) ToRawInfo() *yaml.Node {
2863 return compiler.NewSequenceNodeForStringArray(m.Value)
2864 }
2865
View as plain text