1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package openapi_v3
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 "openapi_v3"
32 }
33
34
35 func NewAdditionalPropertiesItem(in *yaml.Node, context *compiler.Context) (*AdditionalPropertiesItem, error) {
36 errors := make([]error, 0)
37 x := &AdditionalPropertiesItem{}
38 matched := false
39
40 {
41 m, ok := compiler.UnpackMap(in)
42 if ok {
43
44 t, matchingError := NewSchemaOrReference(m, compiler.NewContext("schemaOrReference", m, context))
45 if matchingError == nil {
46 x.Oneof = &AdditionalPropertiesItem_SchemaOrReference{SchemaOrReference: t}
47 matched = true
48 } else {
49 errors = append(errors, matchingError)
50 }
51 }
52 }
53
54 boolValue, ok := compiler.BoolForScalarNode(in)
55 if ok {
56 x.Oneof = &AdditionalPropertiesItem_Boolean{Boolean: boolValue}
57 matched = true
58 }
59 if matched {
60
61 errors = make([]error, 0)
62 } else {
63 message := fmt.Sprintf("contains an invalid AdditionalPropertiesItem")
64 err := compiler.NewError(context, message)
65 errors = []error{err}
66 }
67 return x, compiler.NewErrorGroupOrNil(errors)
68 }
69
70
71 func NewAny(in *yaml.Node, context *compiler.Context) (*Any, error) {
72 errors := make([]error, 0)
73 x := &Any{}
74 bytes := compiler.Marshal(in)
75 x.Yaml = string(bytes)
76 return x, compiler.NewErrorGroupOrNil(errors)
77 }
78
79
80 func NewAnyOrExpression(in *yaml.Node, context *compiler.Context) (*AnyOrExpression, error) {
81 errors := make([]error, 0)
82 x := &AnyOrExpression{}
83 matched := false
84
85 {
86 m, ok := compiler.UnpackMap(in)
87 if ok {
88
89 t, matchingError := NewAny(m, compiler.NewContext("any", m, context))
90 if matchingError == nil {
91 x.Oneof = &AnyOrExpression_Any{Any: t}
92 matched = true
93 } else {
94 errors = append(errors, matchingError)
95 }
96 }
97 }
98
99 {
100 m, ok := compiler.UnpackMap(in)
101 if ok {
102
103 t, matchingError := NewExpression(m, compiler.NewContext("expression", m, context))
104 if matchingError == nil {
105 x.Oneof = &AnyOrExpression_Expression{Expression: t}
106 matched = true
107 } else {
108 errors = append(errors, matchingError)
109 }
110 }
111 }
112 if matched {
113
114 errors = make([]error, 0)
115 } else {
116 message := fmt.Sprintf("contains an invalid AnyOrExpression")
117 err := compiler.NewError(context, message)
118 errors = []error{err}
119 }
120 return x, compiler.NewErrorGroupOrNil(errors)
121 }
122
123
124 func NewCallback(in *yaml.Node, context *compiler.Context) (*Callback, error) {
125 errors := make([]error, 0)
126 x := &Callback{}
127 m, ok := compiler.UnpackMap(in)
128 if !ok {
129 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
130 errors = append(errors, compiler.NewError(context, message))
131 } else {
132 allowedKeys := []string{}
133 allowedPatterns := []*regexp.Regexp{pattern0, pattern1}
134 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
135 if len(invalidKeys) > 0 {
136 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
137 errors = append(errors, compiler.NewError(context, message))
138 }
139
140
141 x.Path = make([]*NamedPathItem, 0)
142 for i := 0; i < len(m.Content); i += 2 {
143 k, ok := compiler.StringForScalarNode(m.Content[i])
144 if ok {
145 v := m.Content[i+1]
146 if true {
147 pair := &NamedPathItem{}
148 pair.Name = k
149 var err error
150 pair.Value, err = NewPathItem(v, compiler.NewContext(k, v, context))
151 if err != nil {
152 errors = append(errors, err)
153 }
154 x.Path = append(x.Path, pair)
155 }
156 }
157 }
158
159
160 x.SpecificationExtension = make([]*NamedAny, 0)
161 for i := 0; i < len(m.Content); i += 2 {
162 k, ok := compiler.StringForScalarNode(m.Content[i])
163 if ok {
164 v := m.Content[i+1]
165 if strings.HasPrefix(k, "x-") {
166 pair := &NamedAny{}
167 pair.Name = k
168 result := &Any{}
169 handled, resultFromExt, err := compiler.CallExtension(context, v, k)
170 if handled {
171 if err != nil {
172 errors = append(errors, err)
173 } else {
174 bytes := compiler.Marshal(v)
175 result.Yaml = string(bytes)
176 result.Value = resultFromExt
177 pair.Value = result
178 }
179 } else {
180 pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
181 if err != nil {
182 errors = append(errors, err)
183 }
184 }
185 x.SpecificationExtension = append(x.SpecificationExtension, pair)
186 }
187 }
188 }
189 }
190 return x, compiler.NewErrorGroupOrNil(errors)
191 }
192
193
194 func NewCallbackOrReference(in *yaml.Node, context *compiler.Context) (*CallbackOrReference, error) {
195 errors := make([]error, 0)
196 x := &CallbackOrReference{}
197 matched := false
198
199 {
200 m, ok := compiler.UnpackMap(in)
201 if ok {
202
203 t, matchingError := NewCallback(m, compiler.NewContext("callback", m, context))
204 if matchingError == nil {
205 x.Oneof = &CallbackOrReference_Callback{Callback: t}
206 matched = true
207 } else {
208 errors = append(errors, matchingError)
209 }
210 }
211 }
212
213 {
214 m, ok := compiler.UnpackMap(in)
215 if ok {
216
217 t, matchingError := NewReference(m, compiler.NewContext("reference", m, context))
218 if matchingError == nil {
219 x.Oneof = &CallbackOrReference_Reference{Reference: t}
220 matched = true
221 } else {
222 errors = append(errors, matchingError)
223 }
224 }
225 }
226 if matched {
227
228 errors = make([]error, 0)
229 } else {
230 message := fmt.Sprintf("contains an invalid CallbackOrReference")
231 err := compiler.NewError(context, message)
232 errors = []error{err}
233 }
234 return x, compiler.NewErrorGroupOrNil(errors)
235 }
236
237
238 func NewCallbacksOrReferences(in *yaml.Node, context *compiler.Context) (*CallbacksOrReferences, error) {
239 errors := make([]error, 0)
240 x := &CallbacksOrReferences{}
241 m, ok := compiler.UnpackMap(in)
242 if !ok {
243 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
244 errors = append(errors, compiler.NewError(context, message))
245 } else {
246
247
248 x.AdditionalProperties = make([]*NamedCallbackOrReference, 0)
249 for i := 0; i < len(m.Content); i += 2 {
250 k, ok := compiler.StringForScalarNode(m.Content[i])
251 if ok {
252 v := m.Content[i+1]
253 pair := &NamedCallbackOrReference{}
254 pair.Name = k
255 var err error
256 pair.Value, err = NewCallbackOrReference(v, compiler.NewContext(k, v, context))
257 if err != nil {
258 errors = append(errors, err)
259 }
260 x.AdditionalProperties = append(x.AdditionalProperties, pair)
261 }
262 }
263 }
264 return x, compiler.NewErrorGroupOrNil(errors)
265 }
266
267
268 func NewComponents(in *yaml.Node, context *compiler.Context) (*Components, error) {
269 errors := make([]error, 0)
270 x := &Components{}
271 m, ok := compiler.UnpackMap(in)
272 if !ok {
273 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
274 errors = append(errors, compiler.NewError(context, message))
275 } else {
276 allowedKeys := []string{"callbacks", "examples", "headers", "links", "parameters", "requestBodies", "responses", "schemas", "securitySchemes"}
277 allowedPatterns := []*regexp.Regexp{pattern1}
278 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
279 if len(invalidKeys) > 0 {
280 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
281 errors = append(errors, compiler.NewError(context, message))
282 }
283
284 v1 := compiler.MapValueForKey(m, "schemas")
285 if v1 != nil {
286 var err error
287 x.Schemas, err = NewSchemasOrReferences(v1, compiler.NewContext("schemas", v1, context))
288 if err != nil {
289 errors = append(errors, err)
290 }
291 }
292
293 v2 := compiler.MapValueForKey(m, "responses")
294 if v2 != nil {
295 var err error
296 x.Responses, err = NewResponsesOrReferences(v2, compiler.NewContext("responses", v2, context))
297 if err != nil {
298 errors = append(errors, err)
299 }
300 }
301
302 v3 := compiler.MapValueForKey(m, "parameters")
303 if v3 != nil {
304 var err error
305 x.Parameters, err = NewParametersOrReferences(v3, compiler.NewContext("parameters", v3, context))
306 if err != nil {
307 errors = append(errors, err)
308 }
309 }
310
311 v4 := compiler.MapValueForKey(m, "examples")
312 if v4 != nil {
313 var err error
314 x.Examples, err = NewExamplesOrReferences(v4, compiler.NewContext("examples", v4, context))
315 if err != nil {
316 errors = append(errors, err)
317 }
318 }
319
320 v5 := compiler.MapValueForKey(m, "requestBodies")
321 if v5 != nil {
322 var err error
323 x.RequestBodies, err = NewRequestBodiesOrReferences(v5, compiler.NewContext("requestBodies", v5, context))
324 if err != nil {
325 errors = append(errors, err)
326 }
327 }
328
329 v6 := compiler.MapValueForKey(m, "headers")
330 if v6 != nil {
331 var err error
332 x.Headers, err = NewHeadersOrReferences(v6, compiler.NewContext("headers", v6, context))
333 if err != nil {
334 errors = append(errors, err)
335 }
336 }
337
338 v7 := compiler.MapValueForKey(m, "securitySchemes")
339 if v7 != nil {
340 var err error
341 x.SecuritySchemes, err = NewSecuritySchemesOrReferences(v7, compiler.NewContext("securitySchemes", v7, context))
342 if err != nil {
343 errors = append(errors, err)
344 }
345 }
346
347 v8 := compiler.MapValueForKey(m, "links")
348 if v8 != nil {
349 var err error
350 x.Links, err = NewLinksOrReferences(v8, compiler.NewContext("links", v8, context))
351 if err != nil {
352 errors = append(errors, err)
353 }
354 }
355
356 v9 := compiler.MapValueForKey(m, "callbacks")
357 if v9 != nil {
358 var err error
359 x.Callbacks, err = NewCallbacksOrReferences(v9, compiler.NewContext("callbacks", v9, context))
360 if err != nil {
361 errors = append(errors, err)
362 }
363 }
364
365
366 x.SpecificationExtension = make([]*NamedAny, 0)
367 for i := 0; i < len(m.Content); i += 2 {
368 k, ok := compiler.StringForScalarNode(m.Content[i])
369 if ok {
370 v := m.Content[i+1]
371 if strings.HasPrefix(k, "x-") {
372 pair := &NamedAny{}
373 pair.Name = k
374 result := &Any{}
375 handled, resultFromExt, err := compiler.CallExtension(context, v, k)
376 if handled {
377 if err != nil {
378 errors = append(errors, err)
379 } else {
380 bytes := compiler.Marshal(v)
381 result.Yaml = string(bytes)
382 result.Value = resultFromExt
383 pair.Value = result
384 }
385 } else {
386 pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
387 if err != nil {
388 errors = append(errors, err)
389 }
390 }
391 x.SpecificationExtension = append(x.SpecificationExtension, pair)
392 }
393 }
394 }
395 }
396 return x, compiler.NewErrorGroupOrNil(errors)
397 }
398
399
400 func NewContact(in *yaml.Node, context *compiler.Context) (*Contact, error) {
401 errors := make([]error, 0)
402 x := &Contact{}
403 m, ok := compiler.UnpackMap(in)
404 if !ok {
405 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
406 errors = append(errors, compiler.NewError(context, message))
407 } else {
408 allowedKeys := []string{"email", "name", "url"}
409 allowedPatterns := []*regexp.Regexp{pattern1}
410 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
411 if len(invalidKeys) > 0 {
412 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
413 errors = append(errors, compiler.NewError(context, message))
414 }
415
416 v1 := compiler.MapValueForKey(m, "name")
417 if v1 != nil {
418 x.Name, ok = compiler.StringForScalarNode(v1)
419 if !ok {
420 message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
421 errors = append(errors, compiler.NewError(context, message))
422 }
423 }
424
425 v2 := compiler.MapValueForKey(m, "url")
426 if v2 != nil {
427 x.Url, ok = compiler.StringForScalarNode(v2)
428 if !ok {
429 message := fmt.Sprintf("has unexpected value for url: %s", compiler.Display(v2))
430 errors = append(errors, compiler.NewError(context, message))
431 }
432 }
433
434 v3 := compiler.MapValueForKey(m, "email")
435 if v3 != nil {
436 x.Email, ok = compiler.StringForScalarNode(v3)
437 if !ok {
438 message := fmt.Sprintf("has unexpected value for email: %s", compiler.Display(v3))
439 errors = append(errors, compiler.NewError(context, message))
440 }
441 }
442
443
444 x.SpecificationExtension = make([]*NamedAny, 0)
445 for i := 0; i < len(m.Content); i += 2 {
446 k, ok := compiler.StringForScalarNode(m.Content[i])
447 if ok {
448 v := m.Content[i+1]
449 if strings.HasPrefix(k, "x-") {
450 pair := &NamedAny{}
451 pair.Name = k
452 result := &Any{}
453 handled, resultFromExt, err := compiler.CallExtension(context, v, k)
454 if handled {
455 if err != nil {
456 errors = append(errors, err)
457 } else {
458 bytes := compiler.Marshal(v)
459 result.Yaml = string(bytes)
460 result.Value = resultFromExt
461 pair.Value = result
462 }
463 } else {
464 pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
465 if err != nil {
466 errors = append(errors, err)
467 }
468 }
469 x.SpecificationExtension = append(x.SpecificationExtension, pair)
470 }
471 }
472 }
473 }
474 return x, compiler.NewErrorGroupOrNil(errors)
475 }
476
477
478 func NewDefaultType(in *yaml.Node, context *compiler.Context) (*DefaultType, error) {
479 errors := make([]error, 0)
480 x := &DefaultType{}
481 matched := false
482 switch in.Tag {
483 case "!!bool":
484 var v bool
485 v, matched = compiler.BoolForScalarNode(in)
486 x.Oneof = &DefaultType_Boolean{Boolean: v}
487 case "!!str":
488 var v string
489 v, matched = compiler.StringForScalarNode(in)
490 x.Oneof = &DefaultType_String_{String_: v}
491 case "!!float":
492 var v float64
493 v, matched = compiler.FloatForScalarNode(in)
494 x.Oneof = &DefaultType_Number{Number: v}
495 case "!!int":
496 var v int64
497 v, matched = compiler.IntForScalarNode(in)
498 x.Oneof = &DefaultType_Number{Number: float64(v)}
499 }
500 if matched {
501
502 errors = make([]error, 0)
503 }
504 return x, compiler.NewErrorGroupOrNil(errors)
505 }
506
507
508 func NewDiscriminator(in *yaml.Node, context *compiler.Context) (*Discriminator, error) {
509 errors := make([]error, 0)
510 x := &Discriminator{}
511 m, ok := compiler.UnpackMap(in)
512 if !ok {
513 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
514 errors = append(errors, compiler.NewError(context, message))
515 } else {
516 requiredKeys := []string{"propertyName"}
517 missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
518 if len(missingKeys) > 0 {
519 message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
520 errors = append(errors, compiler.NewError(context, message))
521 }
522 allowedKeys := []string{"mapping", "propertyName"}
523 allowedPatterns := []*regexp.Regexp{pattern1}
524 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
525 if len(invalidKeys) > 0 {
526 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
527 errors = append(errors, compiler.NewError(context, message))
528 }
529
530 v1 := compiler.MapValueForKey(m, "propertyName")
531 if v1 != nil {
532 x.PropertyName, ok = compiler.StringForScalarNode(v1)
533 if !ok {
534 message := fmt.Sprintf("has unexpected value for propertyName: %s", compiler.Display(v1))
535 errors = append(errors, compiler.NewError(context, message))
536 }
537 }
538
539 v2 := compiler.MapValueForKey(m, "mapping")
540 if v2 != nil {
541 var err error
542 x.Mapping, err = NewStrings(v2, compiler.NewContext("mapping", v2, context))
543 if err != nil {
544 errors = append(errors, err)
545 }
546 }
547
548
549 x.SpecificationExtension = make([]*NamedAny, 0)
550 for i := 0; i < len(m.Content); i += 2 {
551 k, ok := compiler.StringForScalarNode(m.Content[i])
552 if ok {
553 v := m.Content[i+1]
554 if strings.HasPrefix(k, "x-") {
555 pair := &NamedAny{}
556 pair.Name = k
557 result := &Any{}
558 handled, resultFromExt, err := compiler.CallExtension(context, v, k)
559 if handled {
560 if err != nil {
561 errors = append(errors, err)
562 } else {
563 bytes := compiler.Marshal(v)
564 result.Yaml = string(bytes)
565 result.Value = resultFromExt
566 pair.Value = result
567 }
568 } else {
569 pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
570 if err != nil {
571 errors = append(errors, err)
572 }
573 }
574 x.SpecificationExtension = append(x.SpecificationExtension, pair)
575 }
576 }
577 }
578 }
579 return x, compiler.NewErrorGroupOrNil(errors)
580 }
581
582
583 func NewDocument(in *yaml.Node, context *compiler.Context) (*Document, error) {
584 errors := make([]error, 0)
585 x := &Document{}
586 m, ok := compiler.UnpackMap(in)
587 if !ok {
588 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
589 errors = append(errors, compiler.NewError(context, message))
590 } else {
591 requiredKeys := []string{"info", "openapi", "paths"}
592 missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
593 if len(missingKeys) > 0 {
594 message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
595 errors = append(errors, compiler.NewError(context, message))
596 }
597 allowedKeys := []string{"components", "externalDocs", "info", "openapi", "paths", "security", "servers", "tags"}
598 allowedPatterns := []*regexp.Regexp{pattern1}
599 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
600 if len(invalidKeys) > 0 {
601 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
602 errors = append(errors, compiler.NewError(context, message))
603 }
604
605 v1 := compiler.MapValueForKey(m, "openapi")
606 if v1 != nil {
607 x.Openapi, ok = compiler.StringForScalarNode(v1)
608 if !ok {
609 message := fmt.Sprintf("has unexpected value for openapi: %s", compiler.Display(v1))
610 errors = append(errors, compiler.NewError(context, message))
611 }
612 }
613
614 v2 := compiler.MapValueForKey(m, "info")
615 if v2 != nil {
616 var err error
617 x.Info, err = NewInfo(v2, compiler.NewContext("info", v2, context))
618 if err != nil {
619 errors = append(errors, err)
620 }
621 }
622
623 v3 := compiler.MapValueForKey(m, "servers")
624 if v3 != nil {
625
626 x.Servers = make([]*Server, 0)
627 a, ok := compiler.SequenceNodeForNode(v3)
628 if ok {
629 for _, item := range a.Content {
630 y, err := NewServer(item, compiler.NewContext("servers", item, context))
631 if err != nil {
632 errors = append(errors, err)
633 }
634 x.Servers = append(x.Servers, y)
635 }
636 }
637 }
638
639 v4 := compiler.MapValueForKey(m, "paths")
640 if v4 != nil {
641 var err error
642 x.Paths, err = NewPaths(v4, compiler.NewContext("paths", v4, context))
643 if err != nil {
644 errors = append(errors, err)
645 }
646 }
647
648 v5 := compiler.MapValueForKey(m, "components")
649 if v5 != nil {
650 var err error
651 x.Components, err = NewComponents(v5, compiler.NewContext("components", v5, context))
652 if err != nil {
653 errors = append(errors, err)
654 }
655 }
656
657 v6 := compiler.MapValueForKey(m, "security")
658 if v6 != nil {
659
660 x.Security = make([]*SecurityRequirement, 0)
661 a, ok := compiler.SequenceNodeForNode(v6)
662 if ok {
663 for _, item := range a.Content {
664 y, err := NewSecurityRequirement(item, compiler.NewContext("security", item, context))
665 if err != nil {
666 errors = append(errors, err)
667 }
668 x.Security = append(x.Security, y)
669 }
670 }
671 }
672
673 v7 := compiler.MapValueForKey(m, "tags")
674 if v7 != nil {
675
676 x.Tags = make([]*Tag, 0)
677 a, ok := compiler.SequenceNodeForNode(v7)
678 if ok {
679 for _, item := range a.Content {
680 y, err := NewTag(item, compiler.NewContext("tags", item, context))
681 if err != nil {
682 errors = append(errors, err)
683 }
684 x.Tags = append(x.Tags, y)
685 }
686 }
687 }
688
689 v8 := compiler.MapValueForKey(m, "externalDocs")
690 if v8 != nil {
691 var err error
692 x.ExternalDocs, err = NewExternalDocs(v8, compiler.NewContext("externalDocs", v8, context))
693 if err != nil {
694 errors = append(errors, err)
695 }
696 }
697
698
699 x.SpecificationExtension = make([]*NamedAny, 0)
700 for i := 0; i < len(m.Content); i += 2 {
701 k, ok := compiler.StringForScalarNode(m.Content[i])
702 if ok {
703 v := m.Content[i+1]
704 if strings.HasPrefix(k, "x-") {
705 pair := &NamedAny{}
706 pair.Name = k
707 result := &Any{}
708 handled, resultFromExt, err := compiler.CallExtension(context, v, k)
709 if handled {
710 if err != nil {
711 errors = append(errors, err)
712 } else {
713 bytes := compiler.Marshal(v)
714 result.Yaml = string(bytes)
715 result.Value = resultFromExt
716 pair.Value = result
717 }
718 } else {
719 pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
720 if err != nil {
721 errors = append(errors, err)
722 }
723 }
724 x.SpecificationExtension = append(x.SpecificationExtension, pair)
725 }
726 }
727 }
728 }
729 return x, compiler.NewErrorGroupOrNil(errors)
730 }
731
732
733 func NewEncoding(in *yaml.Node, context *compiler.Context) (*Encoding, error) {
734 errors := make([]error, 0)
735 x := &Encoding{}
736 m, ok := compiler.UnpackMap(in)
737 if !ok {
738 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
739 errors = append(errors, compiler.NewError(context, message))
740 } else {
741 allowedKeys := []string{"allowReserved", "contentType", "explode", "headers", "style"}
742 allowedPatterns := []*regexp.Regexp{pattern1}
743 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
744 if len(invalidKeys) > 0 {
745 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
746 errors = append(errors, compiler.NewError(context, message))
747 }
748
749 v1 := compiler.MapValueForKey(m, "contentType")
750 if v1 != nil {
751 x.ContentType, ok = compiler.StringForScalarNode(v1)
752 if !ok {
753 message := fmt.Sprintf("has unexpected value for contentType: %s", compiler.Display(v1))
754 errors = append(errors, compiler.NewError(context, message))
755 }
756 }
757
758 v2 := compiler.MapValueForKey(m, "headers")
759 if v2 != nil {
760 var err error
761 x.Headers, err = NewHeadersOrReferences(v2, compiler.NewContext("headers", v2, context))
762 if err != nil {
763 errors = append(errors, err)
764 }
765 }
766
767 v3 := compiler.MapValueForKey(m, "style")
768 if v3 != nil {
769 x.Style, ok = compiler.StringForScalarNode(v3)
770 if !ok {
771 message := fmt.Sprintf("has unexpected value for style: %s", compiler.Display(v3))
772 errors = append(errors, compiler.NewError(context, message))
773 }
774 }
775
776 v4 := compiler.MapValueForKey(m, "explode")
777 if v4 != nil {
778 x.Explode, ok = compiler.BoolForScalarNode(v4)
779 if !ok {
780 message := fmt.Sprintf("has unexpected value for explode: %s", compiler.Display(v4))
781 errors = append(errors, compiler.NewError(context, message))
782 }
783 }
784
785 v5 := compiler.MapValueForKey(m, "allowReserved")
786 if v5 != nil {
787 x.AllowReserved, ok = compiler.BoolForScalarNode(v5)
788 if !ok {
789 message := fmt.Sprintf("has unexpected value for allowReserved: %s", compiler.Display(v5))
790 errors = append(errors, compiler.NewError(context, message))
791 }
792 }
793
794
795 x.SpecificationExtension = make([]*NamedAny, 0)
796 for i := 0; i < len(m.Content); i += 2 {
797 k, ok := compiler.StringForScalarNode(m.Content[i])
798 if ok {
799 v := m.Content[i+1]
800 if strings.HasPrefix(k, "x-") {
801 pair := &NamedAny{}
802 pair.Name = k
803 result := &Any{}
804 handled, resultFromExt, err := compiler.CallExtension(context, v, k)
805 if handled {
806 if err != nil {
807 errors = append(errors, err)
808 } else {
809 bytes := compiler.Marshal(v)
810 result.Yaml = string(bytes)
811 result.Value = resultFromExt
812 pair.Value = result
813 }
814 } else {
815 pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
816 if err != nil {
817 errors = append(errors, err)
818 }
819 }
820 x.SpecificationExtension = append(x.SpecificationExtension, pair)
821 }
822 }
823 }
824 }
825 return x, compiler.NewErrorGroupOrNil(errors)
826 }
827
828
829 func NewEncodings(in *yaml.Node, context *compiler.Context) (*Encodings, error) {
830 errors := make([]error, 0)
831 x := &Encodings{}
832 m, ok := compiler.UnpackMap(in)
833 if !ok {
834 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
835 errors = append(errors, compiler.NewError(context, message))
836 } else {
837
838
839 x.AdditionalProperties = make([]*NamedEncoding, 0)
840 for i := 0; i < len(m.Content); i += 2 {
841 k, ok := compiler.StringForScalarNode(m.Content[i])
842 if ok {
843 v := m.Content[i+1]
844 pair := &NamedEncoding{}
845 pair.Name = k
846 var err error
847 pair.Value, err = NewEncoding(v, compiler.NewContext(k, v, context))
848 if err != nil {
849 errors = append(errors, err)
850 }
851 x.AdditionalProperties = append(x.AdditionalProperties, pair)
852 }
853 }
854 }
855 return x, compiler.NewErrorGroupOrNil(errors)
856 }
857
858
859 func NewExample(in *yaml.Node, context *compiler.Context) (*Example, error) {
860 errors := make([]error, 0)
861 x := &Example{}
862 m, ok := compiler.UnpackMap(in)
863 if !ok {
864 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
865 errors = append(errors, compiler.NewError(context, message))
866 } else {
867 allowedKeys := []string{"description", "externalValue", "summary", "value"}
868 allowedPatterns := []*regexp.Regexp{pattern1}
869 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
870 if len(invalidKeys) > 0 {
871 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
872 errors = append(errors, compiler.NewError(context, message))
873 }
874
875 v1 := compiler.MapValueForKey(m, "summary")
876 if v1 != nil {
877 x.Summary, ok = compiler.StringForScalarNode(v1)
878 if !ok {
879 message := fmt.Sprintf("has unexpected value for summary: %s", compiler.Display(v1))
880 errors = append(errors, compiler.NewError(context, message))
881 }
882 }
883
884 v2 := compiler.MapValueForKey(m, "description")
885 if v2 != nil {
886 x.Description, ok = compiler.StringForScalarNode(v2)
887 if !ok {
888 message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v2))
889 errors = append(errors, compiler.NewError(context, message))
890 }
891 }
892
893 v3 := compiler.MapValueForKey(m, "value")
894 if v3 != nil {
895 var err error
896 x.Value, err = NewAny(v3, compiler.NewContext("value", v3, context))
897 if err != nil {
898 errors = append(errors, err)
899 }
900 }
901
902 v4 := compiler.MapValueForKey(m, "externalValue")
903 if v4 != nil {
904 x.ExternalValue, ok = compiler.StringForScalarNode(v4)
905 if !ok {
906 message := fmt.Sprintf("has unexpected value for externalValue: %s", compiler.Display(v4))
907 errors = append(errors, compiler.NewError(context, message))
908 }
909 }
910
911
912 x.SpecificationExtension = make([]*NamedAny, 0)
913 for i := 0; i < len(m.Content); i += 2 {
914 k, ok := compiler.StringForScalarNode(m.Content[i])
915 if ok {
916 v := m.Content[i+1]
917 if strings.HasPrefix(k, "x-") {
918 pair := &NamedAny{}
919 pair.Name = k
920 result := &Any{}
921 handled, resultFromExt, err := compiler.CallExtension(context, v, k)
922 if handled {
923 if err != nil {
924 errors = append(errors, err)
925 } else {
926 bytes := compiler.Marshal(v)
927 result.Yaml = string(bytes)
928 result.Value = resultFromExt
929 pair.Value = result
930 }
931 } else {
932 pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
933 if err != nil {
934 errors = append(errors, err)
935 }
936 }
937 x.SpecificationExtension = append(x.SpecificationExtension, pair)
938 }
939 }
940 }
941 }
942 return x, compiler.NewErrorGroupOrNil(errors)
943 }
944
945
946 func NewExampleOrReference(in *yaml.Node, context *compiler.Context) (*ExampleOrReference, error) {
947 errors := make([]error, 0)
948 x := &ExampleOrReference{}
949 matched := false
950
951 {
952 m, ok := compiler.UnpackMap(in)
953 if ok {
954
955 t, matchingError := NewExample(m, compiler.NewContext("example", m, context))
956 if matchingError == nil {
957 x.Oneof = &ExampleOrReference_Example{Example: t}
958 matched = true
959 } else {
960 errors = append(errors, matchingError)
961 }
962 }
963 }
964
965 {
966 m, ok := compiler.UnpackMap(in)
967 if ok {
968
969 t, matchingError := NewReference(m, compiler.NewContext("reference", m, context))
970 if matchingError == nil {
971 x.Oneof = &ExampleOrReference_Reference{Reference: t}
972 matched = true
973 } else {
974 errors = append(errors, matchingError)
975 }
976 }
977 }
978 if matched {
979
980 errors = make([]error, 0)
981 } else {
982 message := fmt.Sprintf("contains an invalid ExampleOrReference")
983 err := compiler.NewError(context, message)
984 errors = []error{err}
985 }
986 return x, compiler.NewErrorGroupOrNil(errors)
987 }
988
989
990 func NewExamplesOrReferences(in *yaml.Node, context *compiler.Context) (*ExamplesOrReferences, error) {
991 errors := make([]error, 0)
992 x := &ExamplesOrReferences{}
993 m, ok := compiler.UnpackMap(in)
994 if !ok {
995 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
996 errors = append(errors, compiler.NewError(context, message))
997 } else {
998
999
1000 x.AdditionalProperties = make([]*NamedExampleOrReference, 0)
1001 for i := 0; i < len(m.Content); i += 2 {
1002 k, ok := compiler.StringForScalarNode(m.Content[i])
1003 if ok {
1004 v := m.Content[i+1]
1005 pair := &NamedExampleOrReference{}
1006 pair.Name = k
1007 var err error
1008 pair.Value, err = NewExampleOrReference(v, compiler.NewContext(k, v, context))
1009 if err != nil {
1010 errors = append(errors, err)
1011 }
1012 x.AdditionalProperties = append(x.AdditionalProperties, pair)
1013 }
1014 }
1015 }
1016 return x, compiler.NewErrorGroupOrNil(errors)
1017 }
1018
1019
1020 func NewExpression(in *yaml.Node, context *compiler.Context) (*Expression, error) {
1021 errors := make([]error, 0)
1022 x := &Expression{}
1023 m, ok := compiler.UnpackMap(in)
1024 if !ok {
1025 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
1026 errors = append(errors, compiler.NewError(context, message))
1027 } else {
1028
1029
1030 x.AdditionalProperties = make([]*NamedAny, 0)
1031 for i := 0; i < len(m.Content); i += 2 {
1032 k, ok := compiler.StringForScalarNode(m.Content[i])
1033 if ok {
1034 v := m.Content[i+1]
1035 pair := &NamedAny{}
1036 pair.Name = k
1037 result := &Any{}
1038 handled, resultFromExt, err := compiler.CallExtension(context, v, k)
1039 if handled {
1040 if err != nil {
1041 errors = append(errors, err)
1042 } else {
1043 bytes := compiler.Marshal(v)
1044 result.Yaml = string(bytes)
1045 result.Value = resultFromExt
1046 pair.Value = result
1047 }
1048 } else {
1049 pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
1050 if err != nil {
1051 errors = append(errors, err)
1052 }
1053 }
1054 x.AdditionalProperties = append(x.AdditionalProperties, pair)
1055 }
1056 }
1057 }
1058 return x, compiler.NewErrorGroupOrNil(errors)
1059 }
1060
1061
1062 func NewExternalDocs(in *yaml.Node, context *compiler.Context) (*ExternalDocs, error) {
1063 errors := make([]error, 0)
1064 x := &ExternalDocs{}
1065 m, ok := compiler.UnpackMap(in)
1066 if !ok {
1067 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
1068 errors = append(errors, compiler.NewError(context, message))
1069 } else {
1070 requiredKeys := []string{"url"}
1071 missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
1072 if len(missingKeys) > 0 {
1073 message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
1074 errors = append(errors, compiler.NewError(context, message))
1075 }
1076 allowedKeys := []string{"description", "url"}
1077 allowedPatterns := []*regexp.Regexp{pattern1}
1078 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
1079 if len(invalidKeys) > 0 {
1080 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
1081 errors = append(errors, compiler.NewError(context, message))
1082 }
1083
1084 v1 := compiler.MapValueForKey(m, "description")
1085 if v1 != nil {
1086 x.Description, ok = compiler.StringForScalarNode(v1)
1087 if !ok {
1088 message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v1))
1089 errors = append(errors, compiler.NewError(context, message))
1090 }
1091 }
1092
1093 v2 := compiler.MapValueForKey(m, "url")
1094 if v2 != nil {
1095 x.Url, ok = compiler.StringForScalarNode(v2)
1096 if !ok {
1097 message := fmt.Sprintf("has unexpected value for url: %s", compiler.Display(v2))
1098 errors = append(errors, compiler.NewError(context, message))
1099 }
1100 }
1101
1102
1103 x.SpecificationExtension = make([]*NamedAny, 0)
1104 for i := 0; i < len(m.Content); i += 2 {
1105 k, ok := compiler.StringForScalarNode(m.Content[i])
1106 if ok {
1107 v := m.Content[i+1]
1108 if strings.HasPrefix(k, "x-") {
1109 pair := &NamedAny{}
1110 pair.Name = k
1111 result := &Any{}
1112 handled, resultFromExt, err := compiler.CallExtension(context, v, k)
1113 if handled {
1114 if err != nil {
1115 errors = append(errors, err)
1116 } else {
1117 bytes := compiler.Marshal(v)
1118 result.Yaml = string(bytes)
1119 result.Value = resultFromExt
1120 pair.Value = result
1121 }
1122 } else {
1123 pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
1124 if err != nil {
1125 errors = append(errors, err)
1126 }
1127 }
1128 x.SpecificationExtension = append(x.SpecificationExtension, pair)
1129 }
1130 }
1131 }
1132 }
1133 return x, compiler.NewErrorGroupOrNil(errors)
1134 }
1135
1136
1137 func NewHeader(in *yaml.Node, context *compiler.Context) (*Header, error) {
1138 errors := make([]error, 0)
1139 x := &Header{}
1140 m, ok := compiler.UnpackMap(in)
1141 if !ok {
1142 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
1143 errors = append(errors, compiler.NewError(context, message))
1144 } else {
1145 allowedKeys := []string{"allowEmptyValue", "allowReserved", "content", "deprecated", "description", "example", "examples", "explode", "required", "schema", "style"}
1146 allowedPatterns := []*regexp.Regexp{pattern1}
1147 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
1148 if len(invalidKeys) > 0 {
1149 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
1150 errors = append(errors, compiler.NewError(context, message))
1151 }
1152
1153 v1 := compiler.MapValueForKey(m, "description")
1154 if v1 != nil {
1155 x.Description, ok = compiler.StringForScalarNode(v1)
1156 if !ok {
1157 message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v1))
1158 errors = append(errors, compiler.NewError(context, message))
1159 }
1160 }
1161
1162 v2 := compiler.MapValueForKey(m, "required")
1163 if v2 != nil {
1164 x.Required, ok = compiler.BoolForScalarNode(v2)
1165 if !ok {
1166 message := fmt.Sprintf("has unexpected value for required: %s", compiler.Display(v2))
1167 errors = append(errors, compiler.NewError(context, message))
1168 }
1169 }
1170
1171 v3 := compiler.MapValueForKey(m, "deprecated")
1172 if v3 != nil {
1173 x.Deprecated, ok = compiler.BoolForScalarNode(v3)
1174 if !ok {
1175 message := fmt.Sprintf("has unexpected value for deprecated: %s", compiler.Display(v3))
1176 errors = append(errors, compiler.NewError(context, message))
1177 }
1178 }
1179
1180 v4 := compiler.MapValueForKey(m, "allowEmptyValue")
1181 if v4 != nil {
1182 x.AllowEmptyValue, ok = compiler.BoolForScalarNode(v4)
1183 if !ok {
1184 message := fmt.Sprintf("has unexpected value for allowEmptyValue: %s", compiler.Display(v4))
1185 errors = append(errors, compiler.NewError(context, message))
1186 }
1187 }
1188
1189 v5 := compiler.MapValueForKey(m, "style")
1190 if v5 != nil {
1191 x.Style, ok = compiler.StringForScalarNode(v5)
1192 if !ok {
1193 message := fmt.Sprintf("has unexpected value for style: %s", compiler.Display(v5))
1194 errors = append(errors, compiler.NewError(context, message))
1195 }
1196 }
1197
1198 v6 := compiler.MapValueForKey(m, "explode")
1199 if v6 != nil {
1200 x.Explode, ok = compiler.BoolForScalarNode(v6)
1201 if !ok {
1202 message := fmt.Sprintf("has unexpected value for explode: %s", compiler.Display(v6))
1203 errors = append(errors, compiler.NewError(context, message))
1204 }
1205 }
1206
1207 v7 := compiler.MapValueForKey(m, "allowReserved")
1208 if v7 != nil {
1209 x.AllowReserved, ok = compiler.BoolForScalarNode(v7)
1210 if !ok {
1211 message := fmt.Sprintf("has unexpected value for allowReserved: %s", compiler.Display(v7))
1212 errors = append(errors, compiler.NewError(context, message))
1213 }
1214 }
1215
1216 v8 := compiler.MapValueForKey(m, "schema")
1217 if v8 != nil {
1218 var err error
1219 x.Schema, err = NewSchemaOrReference(v8, compiler.NewContext("schema", v8, context))
1220 if err != nil {
1221 errors = append(errors, err)
1222 }
1223 }
1224
1225 v9 := compiler.MapValueForKey(m, "example")
1226 if v9 != nil {
1227 var err error
1228 x.Example, err = NewAny(v9, compiler.NewContext("example", v9, context))
1229 if err != nil {
1230 errors = append(errors, err)
1231 }
1232 }
1233
1234 v10 := compiler.MapValueForKey(m, "examples")
1235 if v10 != nil {
1236 var err error
1237 x.Examples, err = NewExamplesOrReferences(v10, compiler.NewContext("examples", v10, context))
1238 if err != nil {
1239 errors = append(errors, err)
1240 }
1241 }
1242
1243 v11 := compiler.MapValueForKey(m, "content")
1244 if v11 != nil {
1245 var err error
1246 x.Content, err = NewMediaTypes(v11, compiler.NewContext("content", v11, context))
1247 if err != nil {
1248 errors = append(errors, err)
1249 }
1250 }
1251
1252
1253 x.SpecificationExtension = make([]*NamedAny, 0)
1254 for i := 0; i < len(m.Content); i += 2 {
1255 k, ok := compiler.StringForScalarNode(m.Content[i])
1256 if ok {
1257 v := m.Content[i+1]
1258 if strings.HasPrefix(k, "x-") {
1259 pair := &NamedAny{}
1260 pair.Name = k
1261 result := &Any{}
1262 handled, resultFromExt, err := compiler.CallExtension(context, v, k)
1263 if handled {
1264 if err != nil {
1265 errors = append(errors, err)
1266 } else {
1267 bytes := compiler.Marshal(v)
1268 result.Yaml = string(bytes)
1269 result.Value = resultFromExt
1270 pair.Value = result
1271 }
1272 } else {
1273 pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
1274 if err != nil {
1275 errors = append(errors, err)
1276 }
1277 }
1278 x.SpecificationExtension = append(x.SpecificationExtension, pair)
1279 }
1280 }
1281 }
1282 }
1283 return x, compiler.NewErrorGroupOrNil(errors)
1284 }
1285
1286
1287 func NewHeaderOrReference(in *yaml.Node, context *compiler.Context) (*HeaderOrReference, error) {
1288 errors := make([]error, 0)
1289 x := &HeaderOrReference{}
1290 matched := false
1291
1292 {
1293 m, ok := compiler.UnpackMap(in)
1294 if ok {
1295
1296 t, matchingError := NewHeader(m, compiler.NewContext("header", m, context))
1297 if matchingError == nil {
1298 x.Oneof = &HeaderOrReference_Header{Header: t}
1299 matched = true
1300 } else {
1301 errors = append(errors, matchingError)
1302 }
1303 }
1304 }
1305
1306 {
1307 m, ok := compiler.UnpackMap(in)
1308 if ok {
1309
1310 t, matchingError := NewReference(m, compiler.NewContext("reference", m, context))
1311 if matchingError == nil {
1312 x.Oneof = &HeaderOrReference_Reference{Reference: t}
1313 matched = true
1314 } else {
1315 errors = append(errors, matchingError)
1316 }
1317 }
1318 }
1319 if matched {
1320
1321 errors = make([]error, 0)
1322 } else {
1323 message := fmt.Sprintf("contains an invalid HeaderOrReference")
1324 err := compiler.NewError(context, message)
1325 errors = []error{err}
1326 }
1327 return x, compiler.NewErrorGroupOrNil(errors)
1328 }
1329
1330
1331 func NewHeadersOrReferences(in *yaml.Node, context *compiler.Context) (*HeadersOrReferences, error) {
1332 errors := make([]error, 0)
1333 x := &HeadersOrReferences{}
1334 m, ok := compiler.UnpackMap(in)
1335 if !ok {
1336 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
1337 errors = append(errors, compiler.NewError(context, message))
1338 } else {
1339
1340
1341 x.AdditionalProperties = make([]*NamedHeaderOrReference, 0)
1342 for i := 0; i < len(m.Content); i += 2 {
1343 k, ok := compiler.StringForScalarNode(m.Content[i])
1344 if ok {
1345 v := m.Content[i+1]
1346 pair := &NamedHeaderOrReference{}
1347 pair.Name = k
1348 var err error
1349 pair.Value, err = NewHeaderOrReference(v, compiler.NewContext(k, v, context))
1350 if err != nil {
1351 errors = append(errors, err)
1352 }
1353 x.AdditionalProperties = append(x.AdditionalProperties, pair)
1354 }
1355 }
1356 }
1357 return x, compiler.NewErrorGroupOrNil(errors)
1358 }
1359
1360
1361 func NewInfo(in *yaml.Node, context *compiler.Context) (*Info, error) {
1362 errors := make([]error, 0)
1363 x := &Info{}
1364 m, ok := compiler.UnpackMap(in)
1365 if !ok {
1366 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
1367 errors = append(errors, compiler.NewError(context, message))
1368 } else {
1369 requiredKeys := []string{"title", "version"}
1370 missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
1371 if len(missingKeys) > 0 {
1372 message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
1373 errors = append(errors, compiler.NewError(context, message))
1374 }
1375 allowedKeys := []string{"contact", "description", "license", "summary", "termsOfService", "title", "version"}
1376 allowedPatterns := []*regexp.Regexp{pattern1}
1377 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
1378 if len(invalidKeys) > 0 {
1379 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
1380 errors = append(errors, compiler.NewError(context, message))
1381 }
1382
1383 v1 := compiler.MapValueForKey(m, "title")
1384 if v1 != nil {
1385 x.Title, ok = compiler.StringForScalarNode(v1)
1386 if !ok {
1387 message := fmt.Sprintf("has unexpected value for title: %s", compiler.Display(v1))
1388 errors = append(errors, compiler.NewError(context, message))
1389 }
1390 }
1391
1392 v2 := compiler.MapValueForKey(m, "description")
1393 if v2 != nil {
1394 x.Description, ok = compiler.StringForScalarNode(v2)
1395 if !ok {
1396 message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v2))
1397 errors = append(errors, compiler.NewError(context, message))
1398 }
1399 }
1400
1401 v3 := compiler.MapValueForKey(m, "termsOfService")
1402 if v3 != nil {
1403 x.TermsOfService, ok = compiler.StringForScalarNode(v3)
1404 if !ok {
1405 message := fmt.Sprintf("has unexpected value for termsOfService: %s", compiler.Display(v3))
1406 errors = append(errors, compiler.NewError(context, message))
1407 }
1408 }
1409
1410 v4 := compiler.MapValueForKey(m, "contact")
1411 if v4 != nil {
1412 var err error
1413 x.Contact, err = NewContact(v4, compiler.NewContext("contact", v4, context))
1414 if err != nil {
1415 errors = append(errors, err)
1416 }
1417 }
1418
1419 v5 := compiler.MapValueForKey(m, "license")
1420 if v5 != nil {
1421 var err error
1422 x.License, err = NewLicense(v5, compiler.NewContext("license", v5, context))
1423 if err != nil {
1424 errors = append(errors, err)
1425 }
1426 }
1427
1428 v6 := compiler.MapValueForKey(m, "version")
1429 if v6 != nil {
1430 x.Version, ok = compiler.StringForScalarNode(v6)
1431 if !ok {
1432 message := fmt.Sprintf("has unexpected value for version: %s", compiler.Display(v6))
1433 errors = append(errors, compiler.NewError(context, message))
1434 }
1435 }
1436
1437 v7 := compiler.MapValueForKey(m, "summary")
1438 if v7 != nil {
1439 x.Summary, ok = compiler.StringForScalarNode(v7)
1440 if !ok {
1441 message := fmt.Sprintf("has unexpected value for summary: %s", compiler.Display(v7))
1442 errors = append(errors, compiler.NewError(context, message))
1443 }
1444 }
1445
1446
1447 x.SpecificationExtension = make([]*NamedAny, 0)
1448 for i := 0; i < len(m.Content); i += 2 {
1449 k, ok := compiler.StringForScalarNode(m.Content[i])
1450 if ok {
1451 v := m.Content[i+1]
1452 if strings.HasPrefix(k, "x-") {
1453 pair := &NamedAny{}
1454 pair.Name = k
1455 result := &Any{}
1456 handled, resultFromExt, err := compiler.CallExtension(context, v, k)
1457 if handled {
1458 if err != nil {
1459 errors = append(errors, err)
1460 } else {
1461 bytes := compiler.Marshal(v)
1462 result.Yaml = string(bytes)
1463 result.Value = resultFromExt
1464 pair.Value = result
1465 }
1466 } else {
1467 pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
1468 if err != nil {
1469 errors = append(errors, err)
1470 }
1471 }
1472 x.SpecificationExtension = append(x.SpecificationExtension, pair)
1473 }
1474 }
1475 }
1476 }
1477 return x, compiler.NewErrorGroupOrNil(errors)
1478 }
1479
1480
1481 func NewItemsItem(in *yaml.Node, context *compiler.Context) (*ItemsItem, error) {
1482 errors := make([]error, 0)
1483 x := &ItemsItem{}
1484 m, ok := compiler.UnpackMap(in)
1485 if !ok {
1486 message := fmt.Sprintf("has unexpected value for item array: %+v (%T)", in, in)
1487 errors = append(errors, compiler.NewError(context, message))
1488 } else {
1489 x.SchemaOrReference = make([]*SchemaOrReference, 0)
1490 y, err := NewSchemaOrReference(m, compiler.NewContext("<array>", m, context))
1491 if err != nil {
1492 return nil, err
1493 }
1494 x.SchemaOrReference = append(x.SchemaOrReference, y)
1495 }
1496 return x, compiler.NewErrorGroupOrNil(errors)
1497 }
1498
1499
1500 func NewLicense(in *yaml.Node, context *compiler.Context) (*License, error) {
1501 errors := make([]error, 0)
1502 x := &License{}
1503 m, ok := compiler.UnpackMap(in)
1504 if !ok {
1505 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
1506 errors = append(errors, compiler.NewError(context, message))
1507 } else {
1508 requiredKeys := []string{"name"}
1509 missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
1510 if len(missingKeys) > 0 {
1511 message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
1512 errors = append(errors, compiler.NewError(context, message))
1513 }
1514 allowedKeys := []string{"name", "url"}
1515 allowedPatterns := []*regexp.Regexp{pattern1}
1516 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
1517 if len(invalidKeys) > 0 {
1518 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
1519 errors = append(errors, compiler.NewError(context, message))
1520 }
1521
1522 v1 := compiler.MapValueForKey(m, "name")
1523 if v1 != nil {
1524 x.Name, ok = compiler.StringForScalarNode(v1)
1525 if !ok {
1526 message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
1527 errors = append(errors, compiler.NewError(context, message))
1528 }
1529 }
1530
1531 v2 := compiler.MapValueForKey(m, "url")
1532 if v2 != nil {
1533 x.Url, ok = compiler.StringForScalarNode(v2)
1534 if !ok {
1535 message := fmt.Sprintf("has unexpected value for url: %s", compiler.Display(v2))
1536 errors = append(errors, compiler.NewError(context, message))
1537 }
1538 }
1539
1540
1541 x.SpecificationExtension = make([]*NamedAny, 0)
1542 for i := 0; i < len(m.Content); i += 2 {
1543 k, ok := compiler.StringForScalarNode(m.Content[i])
1544 if ok {
1545 v := m.Content[i+1]
1546 if strings.HasPrefix(k, "x-") {
1547 pair := &NamedAny{}
1548 pair.Name = k
1549 result := &Any{}
1550 handled, resultFromExt, err := compiler.CallExtension(context, v, k)
1551 if handled {
1552 if err != nil {
1553 errors = append(errors, err)
1554 } else {
1555 bytes := compiler.Marshal(v)
1556 result.Yaml = string(bytes)
1557 result.Value = resultFromExt
1558 pair.Value = result
1559 }
1560 } else {
1561 pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
1562 if err != nil {
1563 errors = append(errors, err)
1564 }
1565 }
1566 x.SpecificationExtension = append(x.SpecificationExtension, pair)
1567 }
1568 }
1569 }
1570 }
1571 return x, compiler.NewErrorGroupOrNil(errors)
1572 }
1573
1574
1575 func NewLink(in *yaml.Node, context *compiler.Context) (*Link, error) {
1576 errors := make([]error, 0)
1577 x := &Link{}
1578 m, ok := compiler.UnpackMap(in)
1579 if !ok {
1580 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
1581 errors = append(errors, compiler.NewError(context, message))
1582 } else {
1583 allowedKeys := []string{"description", "operationId", "operationRef", "parameters", "requestBody", "server"}
1584 allowedPatterns := []*regexp.Regexp{pattern1}
1585 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
1586 if len(invalidKeys) > 0 {
1587 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
1588 errors = append(errors, compiler.NewError(context, message))
1589 }
1590
1591 v1 := compiler.MapValueForKey(m, "operationRef")
1592 if v1 != nil {
1593 x.OperationRef, ok = compiler.StringForScalarNode(v1)
1594 if !ok {
1595 message := fmt.Sprintf("has unexpected value for operationRef: %s", compiler.Display(v1))
1596 errors = append(errors, compiler.NewError(context, message))
1597 }
1598 }
1599
1600 v2 := compiler.MapValueForKey(m, "operationId")
1601 if v2 != nil {
1602 x.OperationId, ok = compiler.StringForScalarNode(v2)
1603 if !ok {
1604 message := fmt.Sprintf("has unexpected value for operationId: %s", compiler.Display(v2))
1605 errors = append(errors, compiler.NewError(context, message))
1606 }
1607 }
1608
1609 v3 := compiler.MapValueForKey(m, "parameters")
1610 if v3 != nil {
1611 var err error
1612 x.Parameters, err = NewAnyOrExpression(v3, compiler.NewContext("parameters", v3, context))
1613 if err != nil {
1614 errors = append(errors, err)
1615 }
1616 }
1617
1618 v4 := compiler.MapValueForKey(m, "requestBody")
1619 if v4 != nil {
1620 var err error
1621 x.RequestBody, err = NewAnyOrExpression(v4, compiler.NewContext("requestBody", v4, context))
1622 if err != nil {
1623 errors = append(errors, err)
1624 }
1625 }
1626
1627 v5 := compiler.MapValueForKey(m, "description")
1628 if v5 != nil {
1629 x.Description, ok = compiler.StringForScalarNode(v5)
1630 if !ok {
1631 message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v5))
1632 errors = append(errors, compiler.NewError(context, message))
1633 }
1634 }
1635
1636 v6 := compiler.MapValueForKey(m, "server")
1637 if v6 != nil {
1638 var err error
1639 x.Server, err = NewServer(v6, compiler.NewContext("server", v6, context))
1640 if err != nil {
1641 errors = append(errors, err)
1642 }
1643 }
1644
1645
1646 x.SpecificationExtension = make([]*NamedAny, 0)
1647 for i := 0; i < len(m.Content); i += 2 {
1648 k, ok := compiler.StringForScalarNode(m.Content[i])
1649 if ok {
1650 v := m.Content[i+1]
1651 if strings.HasPrefix(k, "x-") {
1652 pair := &NamedAny{}
1653 pair.Name = k
1654 result := &Any{}
1655 handled, resultFromExt, err := compiler.CallExtension(context, v, k)
1656 if handled {
1657 if err != nil {
1658 errors = append(errors, err)
1659 } else {
1660 bytes := compiler.Marshal(v)
1661 result.Yaml = string(bytes)
1662 result.Value = resultFromExt
1663 pair.Value = result
1664 }
1665 } else {
1666 pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
1667 if err != nil {
1668 errors = append(errors, err)
1669 }
1670 }
1671 x.SpecificationExtension = append(x.SpecificationExtension, pair)
1672 }
1673 }
1674 }
1675 }
1676 return x, compiler.NewErrorGroupOrNil(errors)
1677 }
1678
1679
1680 func NewLinkOrReference(in *yaml.Node, context *compiler.Context) (*LinkOrReference, error) {
1681 errors := make([]error, 0)
1682 x := &LinkOrReference{}
1683 matched := false
1684
1685 {
1686 m, ok := compiler.UnpackMap(in)
1687 if ok {
1688
1689 t, matchingError := NewLink(m, compiler.NewContext("link", m, context))
1690 if matchingError == nil {
1691 x.Oneof = &LinkOrReference_Link{Link: t}
1692 matched = true
1693 } else {
1694 errors = append(errors, matchingError)
1695 }
1696 }
1697 }
1698
1699 {
1700 m, ok := compiler.UnpackMap(in)
1701 if ok {
1702
1703 t, matchingError := NewReference(m, compiler.NewContext("reference", m, context))
1704 if matchingError == nil {
1705 x.Oneof = &LinkOrReference_Reference{Reference: t}
1706 matched = true
1707 } else {
1708 errors = append(errors, matchingError)
1709 }
1710 }
1711 }
1712 if matched {
1713
1714 errors = make([]error, 0)
1715 } else {
1716 message := fmt.Sprintf("contains an invalid LinkOrReference")
1717 err := compiler.NewError(context, message)
1718 errors = []error{err}
1719 }
1720 return x, compiler.NewErrorGroupOrNil(errors)
1721 }
1722
1723
1724 func NewLinksOrReferences(in *yaml.Node, context *compiler.Context) (*LinksOrReferences, error) {
1725 errors := make([]error, 0)
1726 x := &LinksOrReferences{}
1727 m, ok := compiler.UnpackMap(in)
1728 if !ok {
1729 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
1730 errors = append(errors, compiler.NewError(context, message))
1731 } else {
1732
1733
1734 x.AdditionalProperties = make([]*NamedLinkOrReference, 0)
1735 for i := 0; i < len(m.Content); i += 2 {
1736 k, ok := compiler.StringForScalarNode(m.Content[i])
1737 if ok {
1738 v := m.Content[i+1]
1739 pair := &NamedLinkOrReference{}
1740 pair.Name = k
1741 var err error
1742 pair.Value, err = NewLinkOrReference(v, compiler.NewContext(k, v, context))
1743 if err != nil {
1744 errors = append(errors, err)
1745 }
1746 x.AdditionalProperties = append(x.AdditionalProperties, pair)
1747 }
1748 }
1749 }
1750 return x, compiler.NewErrorGroupOrNil(errors)
1751 }
1752
1753
1754 func NewMediaType(in *yaml.Node, context *compiler.Context) (*MediaType, error) {
1755 errors := make([]error, 0)
1756 x := &MediaType{}
1757 m, ok := compiler.UnpackMap(in)
1758 if !ok {
1759 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
1760 errors = append(errors, compiler.NewError(context, message))
1761 } else {
1762 allowedKeys := []string{"encoding", "example", "examples", "schema"}
1763 allowedPatterns := []*regexp.Regexp{pattern1}
1764 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
1765 if len(invalidKeys) > 0 {
1766 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
1767 errors = append(errors, compiler.NewError(context, message))
1768 }
1769
1770 v1 := compiler.MapValueForKey(m, "schema")
1771 if v1 != nil {
1772 var err error
1773 x.Schema, err = NewSchemaOrReference(v1, compiler.NewContext("schema", v1, context))
1774 if err != nil {
1775 errors = append(errors, err)
1776 }
1777 }
1778
1779 v2 := compiler.MapValueForKey(m, "example")
1780 if v2 != nil {
1781 var err error
1782 x.Example, err = NewAny(v2, compiler.NewContext("example", v2, context))
1783 if err != nil {
1784 errors = append(errors, err)
1785 }
1786 }
1787
1788 v3 := compiler.MapValueForKey(m, "examples")
1789 if v3 != nil {
1790 var err error
1791 x.Examples, err = NewExamplesOrReferences(v3, compiler.NewContext("examples", v3, context))
1792 if err != nil {
1793 errors = append(errors, err)
1794 }
1795 }
1796
1797 v4 := compiler.MapValueForKey(m, "encoding")
1798 if v4 != nil {
1799 var err error
1800 x.Encoding, err = NewEncodings(v4, compiler.NewContext("encoding", v4, context))
1801 if err != nil {
1802 errors = append(errors, err)
1803 }
1804 }
1805
1806
1807 x.SpecificationExtension = make([]*NamedAny, 0)
1808 for i := 0; i < len(m.Content); i += 2 {
1809 k, ok := compiler.StringForScalarNode(m.Content[i])
1810 if ok {
1811 v := m.Content[i+1]
1812 if strings.HasPrefix(k, "x-") {
1813 pair := &NamedAny{}
1814 pair.Name = k
1815 result := &Any{}
1816 handled, resultFromExt, err := compiler.CallExtension(context, v, k)
1817 if handled {
1818 if err != nil {
1819 errors = append(errors, err)
1820 } else {
1821 bytes := compiler.Marshal(v)
1822 result.Yaml = string(bytes)
1823 result.Value = resultFromExt
1824 pair.Value = result
1825 }
1826 } else {
1827 pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
1828 if err != nil {
1829 errors = append(errors, err)
1830 }
1831 }
1832 x.SpecificationExtension = append(x.SpecificationExtension, pair)
1833 }
1834 }
1835 }
1836 }
1837 return x, compiler.NewErrorGroupOrNil(errors)
1838 }
1839
1840
1841 func NewMediaTypes(in *yaml.Node, context *compiler.Context) (*MediaTypes, error) {
1842 errors := make([]error, 0)
1843 x := &MediaTypes{}
1844 m, ok := compiler.UnpackMap(in)
1845 if !ok {
1846 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
1847 errors = append(errors, compiler.NewError(context, message))
1848 } else {
1849
1850
1851 x.AdditionalProperties = make([]*NamedMediaType, 0)
1852 for i := 0; i < len(m.Content); i += 2 {
1853 k, ok := compiler.StringForScalarNode(m.Content[i])
1854 if ok {
1855 v := m.Content[i+1]
1856 pair := &NamedMediaType{}
1857 pair.Name = k
1858 var err error
1859 pair.Value, err = NewMediaType(v, compiler.NewContext(k, v, context))
1860 if err != nil {
1861 errors = append(errors, err)
1862 }
1863 x.AdditionalProperties = append(x.AdditionalProperties, pair)
1864 }
1865 }
1866 }
1867 return x, compiler.NewErrorGroupOrNil(errors)
1868 }
1869
1870
1871 func NewNamedAny(in *yaml.Node, context *compiler.Context) (*NamedAny, error) {
1872 errors := make([]error, 0)
1873 x := &NamedAny{}
1874 m, ok := compiler.UnpackMap(in)
1875 if !ok {
1876 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
1877 errors = append(errors, compiler.NewError(context, message))
1878 } else {
1879 allowedKeys := []string{"name", "value"}
1880 var allowedPatterns []*regexp.Regexp
1881 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
1882 if len(invalidKeys) > 0 {
1883 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
1884 errors = append(errors, compiler.NewError(context, message))
1885 }
1886
1887 v1 := compiler.MapValueForKey(m, "name")
1888 if v1 != nil {
1889 x.Name, ok = compiler.StringForScalarNode(v1)
1890 if !ok {
1891 message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
1892 errors = append(errors, compiler.NewError(context, message))
1893 }
1894 }
1895
1896 v2 := compiler.MapValueForKey(m, "value")
1897 if v2 != nil {
1898 var err error
1899 x.Value, err = NewAny(v2, compiler.NewContext("value", v2, context))
1900 if err != nil {
1901 errors = append(errors, err)
1902 }
1903 }
1904 }
1905 return x, compiler.NewErrorGroupOrNil(errors)
1906 }
1907
1908
1909 func NewNamedCallbackOrReference(in *yaml.Node, context *compiler.Context) (*NamedCallbackOrReference, error) {
1910 errors := make([]error, 0)
1911 x := &NamedCallbackOrReference{}
1912 m, ok := compiler.UnpackMap(in)
1913 if !ok {
1914 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
1915 errors = append(errors, compiler.NewError(context, message))
1916 } else {
1917 allowedKeys := []string{"name", "value"}
1918 var allowedPatterns []*regexp.Regexp
1919 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
1920 if len(invalidKeys) > 0 {
1921 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
1922 errors = append(errors, compiler.NewError(context, message))
1923 }
1924
1925 v1 := compiler.MapValueForKey(m, "name")
1926 if v1 != nil {
1927 x.Name, ok = compiler.StringForScalarNode(v1)
1928 if !ok {
1929 message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
1930 errors = append(errors, compiler.NewError(context, message))
1931 }
1932 }
1933
1934 v2 := compiler.MapValueForKey(m, "value")
1935 if v2 != nil {
1936 var err error
1937 x.Value, err = NewCallbackOrReference(v2, compiler.NewContext("value", v2, context))
1938 if err != nil {
1939 errors = append(errors, err)
1940 }
1941 }
1942 }
1943 return x, compiler.NewErrorGroupOrNil(errors)
1944 }
1945
1946
1947 func NewNamedEncoding(in *yaml.Node, context *compiler.Context) (*NamedEncoding, error) {
1948 errors := make([]error, 0)
1949 x := &NamedEncoding{}
1950 m, ok := compiler.UnpackMap(in)
1951 if !ok {
1952 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
1953 errors = append(errors, compiler.NewError(context, message))
1954 } else {
1955 allowedKeys := []string{"name", "value"}
1956 var allowedPatterns []*regexp.Regexp
1957 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
1958 if len(invalidKeys) > 0 {
1959 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
1960 errors = append(errors, compiler.NewError(context, message))
1961 }
1962
1963 v1 := compiler.MapValueForKey(m, "name")
1964 if v1 != nil {
1965 x.Name, ok = compiler.StringForScalarNode(v1)
1966 if !ok {
1967 message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
1968 errors = append(errors, compiler.NewError(context, message))
1969 }
1970 }
1971
1972 v2 := compiler.MapValueForKey(m, "value")
1973 if v2 != nil {
1974 var err error
1975 x.Value, err = NewEncoding(v2, compiler.NewContext("value", v2, context))
1976 if err != nil {
1977 errors = append(errors, err)
1978 }
1979 }
1980 }
1981 return x, compiler.NewErrorGroupOrNil(errors)
1982 }
1983
1984
1985 func NewNamedExampleOrReference(in *yaml.Node, context *compiler.Context) (*NamedExampleOrReference, error) {
1986 errors := make([]error, 0)
1987 x := &NamedExampleOrReference{}
1988 m, ok := compiler.UnpackMap(in)
1989 if !ok {
1990 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
1991 errors = append(errors, compiler.NewError(context, message))
1992 } else {
1993 allowedKeys := []string{"name", "value"}
1994 var allowedPatterns []*regexp.Regexp
1995 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
1996 if len(invalidKeys) > 0 {
1997 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
1998 errors = append(errors, compiler.NewError(context, message))
1999 }
2000
2001 v1 := compiler.MapValueForKey(m, "name")
2002 if v1 != nil {
2003 x.Name, ok = compiler.StringForScalarNode(v1)
2004 if !ok {
2005 message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
2006 errors = append(errors, compiler.NewError(context, message))
2007 }
2008 }
2009
2010 v2 := compiler.MapValueForKey(m, "value")
2011 if v2 != nil {
2012 var err error
2013 x.Value, err = NewExampleOrReference(v2, compiler.NewContext("value", v2, context))
2014 if err != nil {
2015 errors = append(errors, err)
2016 }
2017 }
2018 }
2019 return x, compiler.NewErrorGroupOrNil(errors)
2020 }
2021
2022
2023 func NewNamedHeaderOrReference(in *yaml.Node, context *compiler.Context) (*NamedHeaderOrReference, error) {
2024 errors := make([]error, 0)
2025 x := &NamedHeaderOrReference{}
2026 m, ok := compiler.UnpackMap(in)
2027 if !ok {
2028 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
2029 errors = append(errors, compiler.NewError(context, message))
2030 } else {
2031 allowedKeys := []string{"name", "value"}
2032 var allowedPatterns []*regexp.Regexp
2033 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
2034 if len(invalidKeys) > 0 {
2035 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
2036 errors = append(errors, compiler.NewError(context, message))
2037 }
2038
2039 v1 := compiler.MapValueForKey(m, "name")
2040 if v1 != nil {
2041 x.Name, ok = compiler.StringForScalarNode(v1)
2042 if !ok {
2043 message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
2044 errors = append(errors, compiler.NewError(context, message))
2045 }
2046 }
2047
2048 v2 := compiler.MapValueForKey(m, "value")
2049 if v2 != nil {
2050 var err error
2051 x.Value, err = NewHeaderOrReference(v2, compiler.NewContext("value", v2, context))
2052 if err != nil {
2053 errors = append(errors, err)
2054 }
2055 }
2056 }
2057 return x, compiler.NewErrorGroupOrNil(errors)
2058 }
2059
2060
2061 func NewNamedLinkOrReference(in *yaml.Node, context *compiler.Context) (*NamedLinkOrReference, error) {
2062 errors := make([]error, 0)
2063 x := &NamedLinkOrReference{}
2064 m, ok := compiler.UnpackMap(in)
2065 if !ok {
2066 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
2067 errors = append(errors, compiler.NewError(context, message))
2068 } else {
2069 allowedKeys := []string{"name", "value"}
2070 var allowedPatterns []*regexp.Regexp
2071 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
2072 if len(invalidKeys) > 0 {
2073 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
2074 errors = append(errors, compiler.NewError(context, message))
2075 }
2076
2077 v1 := compiler.MapValueForKey(m, "name")
2078 if v1 != nil {
2079 x.Name, ok = compiler.StringForScalarNode(v1)
2080 if !ok {
2081 message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
2082 errors = append(errors, compiler.NewError(context, message))
2083 }
2084 }
2085
2086 v2 := compiler.MapValueForKey(m, "value")
2087 if v2 != nil {
2088 var err error
2089 x.Value, err = NewLinkOrReference(v2, compiler.NewContext("value", v2, context))
2090 if err != nil {
2091 errors = append(errors, err)
2092 }
2093 }
2094 }
2095 return x, compiler.NewErrorGroupOrNil(errors)
2096 }
2097
2098
2099 func NewNamedMediaType(in *yaml.Node, context *compiler.Context) (*NamedMediaType, error) {
2100 errors := make([]error, 0)
2101 x := &NamedMediaType{}
2102 m, ok := compiler.UnpackMap(in)
2103 if !ok {
2104 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
2105 errors = append(errors, compiler.NewError(context, message))
2106 } else {
2107 allowedKeys := []string{"name", "value"}
2108 var allowedPatterns []*regexp.Regexp
2109 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
2110 if len(invalidKeys) > 0 {
2111 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
2112 errors = append(errors, compiler.NewError(context, message))
2113 }
2114
2115 v1 := compiler.MapValueForKey(m, "name")
2116 if v1 != nil {
2117 x.Name, ok = compiler.StringForScalarNode(v1)
2118 if !ok {
2119 message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
2120 errors = append(errors, compiler.NewError(context, message))
2121 }
2122 }
2123
2124 v2 := compiler.MapValueForKey(m, "value")
2125 if v2 != nil {
2126 var err error
2127 x.Value, err = NewMediaType(v2, compiler.NewContext("value", v2, context))
2128 if err != nil {
2129 errors = append(errors, err)
2130 }
2131 }
2132 }
2133 return x, compiler.NewErrorGroupOrNil(errors)
2134 }
2135
2136
2137 func NewNamedParameterOrReference(in *yaml.Node, context *compiler.Context) (*NamedParameterOrReference, error) {
2138 errors := make([]error, 0)
2139 x := &NamedParameterOrReference{}
2140 m, ok := compiler.UnpackMap(in)
2141 if !ok {
2142 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
2143 errors = append(errors, compiler.NewError(context, message))
2144 } else {
2145 allowedKeys := []string{"name", "value"}
2146 var allowedPatterns []*regexp.Regexp
2147 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
2148 if len(invalidKeys) > 0 {
2149 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
2150 errors = append(errors, compiler.NewError(context, message))
2151 }
2152
2153 v1 := compiler.MapValueForKey(m, "name")
2154 if v1 != nil {
2155 x.Name, ok = compiler.StringForScalarNode(v1)
2156 if !ok {
2157 message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
2158 errors = append(errors, compiler.NewError(context, message))
2159 }
2160 }
2161
2162 v2 := compiler.MapValueForKey(m, "value")
2163 if v2 != nil {
2164 var err error
2165 x.Value, err = NewParameterOrReference(v2, compiler.NewContext("value", v2, context))
2166 if err != nil {
2167 errors = append(errors, err)
2168 }
2169 }
2170 }
2171 return x, compiler.NewErrorGroupOrNil(errors)
2172 }
2173
2174
2175 func NewNamedPathItem(in *yaml.Node, context *compiler.Context) (*NamedPathItem, error) {
2176 errors := make([]error, 0)
2177 x := &NamedPathItem{}
2178 m, ok := compiler.UnpackMap(in)
2179 if !ok {
2180 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
2181 errors = append(errors, compiler.NewError(context, message))
2182 } else {
2183 allowedKeys := []string{"name", "value"}
2184 var allowedPatterns []*regexp.Regexp
2185 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
2186 if len(invalidKeys) > 0 {
2187 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
2188 errors = append(errors, compiler.NewError(context, message))
2189 }
2190
2191 v1 := compiler.MapValueForKey(m, "name")
2192 if v1 != nil {
2193 x.Name, ok = compiler.StringForScalarNode(v1)
2194 if !ok {
2195 message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
2196 errors = append(errors, compiler.NewError(context, message))
2197 }
2198 }
2199
2200 v2 := compiler.MapValueForKey(m, "value")
2201 if v2 != nil {
2202 var err error
2203 x.Value, err = NewPathItem(v2, compiler.NewContext("value", v2, context))
2204 if err != nil {
2205 errors = append(errors, err)
2206 }
2207 }
2208 }
2209 return x, compiler.NewErrorGroupOrNil(errors)
2210 }
2211
2212
2213 func NewNamedRequestBodyOrReference(in *yaml.Node, context *compiler.Context) (*NamedRequestBodyOrReference, error) {
2214 errors := make([]error, 0)
2215 x := &NamedRequestBodyOrReference{}
2216 m, ok := compiler.UnpackMap(in)
2217 if !ok {
2218 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
2219 errors = append(errors, compiler.NewError(context, message))
2220 } else {
2221 allowedKeys := []string{"name", "value"}
2222 var allowedPatterns []*regexp.Regexp
2223 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
2224 if len(invalidKeys) > 0 {
2225 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
2226 errors = append(errors, compiler.NewError(context, message))
2227 }
2228
2229 v1 := compiler.MapValueForKey(m, "name")
2230 if v1 != nil {
2231 x.Name, ok = compiler.StringForScalarNode(v1)
2232 if !ok {
2233 message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
2234 errors = append(errors, compiler.NewError(context, message))
2235 }
2236 }
2237
2238 v2 := compiler.MapValueForKey(m, "value")
2239 if v2 != nil {
2240 var err error
2241 x.Value, err = NewRequestBodyOrReference(v2, compiler.NewContext("value", v2, context))
2242 if err != nil {
2243 errors = append(errors, err)
2244 }
2245 }
2246 }
2247 return x, compiler.NewErrorGroupOrNil(errors)
2248 }
2249
2250
2251 func NewNamedResponseOrReference(in *yaml.Node, context *compiler.Context) (*NamedResponseOrReference, error) {
2252 errors := make([]error, 0)
2253 x := &NamedResponseOrReference{}
2254 m, ok := compiler.UnpackMap(in)
2255 if !ok {
2256 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
2257 errors = append(errors, compiler.NewError(context, message))
2258 } else {
2259 allowedKeys := []string{"name", "value"}
2260 var allowedPatterns []*regexp.Regexp
2261 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
2262 if len(invalidKeys) > 0 {
2263 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
2264 errors = append(errors, compiler.NewError(context, message))
2265 }
2266
2267 v1 := compiler.MapValueForKey(m, "name")
2268 if v1 != nil {
2269 x.Name, ok = compiler.StringForScalarNode(v1)
2270 if !ok {
2271 message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
2272 errors = append(errors, compiler.NewError(context, message))
2273 }
2274 }
2275
2276 v2 := compiler.MapValueForKey(m, "value")
2277 if v2 != nil {
2278 var err error
2279 x.Value, err = NewResponseOrReference(v2, compiler.NewContext("value", v2, context))
2280 if err != nil {
2281 errors = append(errors, err)
2282 }
2283 }
2284 }
2285 return x, compiler.NewErrorGroupOrNil(errors)
2286 }
2287
2288
2289 func NewNamedSchemaOrReference(in *yaml.Node, context *compiler.Context) (*NamedSchemaOrReference, error) {
2290 errors := make([]error, 0)
2291 x := &NamedSchemaOrReference{}
2292 m, ok := compiler.UnpackMap(in)
2293 if !ok {
2294 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
2295 errors = append(errors, compiler.NewError(context, message))
2296 } else {
2297 allowedKeys := []string{"name", "value"}
2298 var allowedPatterns []*regexp.Regexp
2299 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
2300 if len(invalidKeys) > 0 {
2301 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
2302 errors = append(errors, compiler.NewError(context, message))
2303 }
2304
2305 v1 := compiler.MapValueForKey(m, "name")
2306 if v1 != nil {
2307 x.Name, ok = compiler.StringForScalarNode(v1)
2308 if !ok {
2309 message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
2310 errors = append(errors, compiler.NewError(context, message))
2311 }
2312 }
2313
2314 v2 := compiler.MapValueForKey(m, "value")
2315 if v2 != nil {
2316 var err error
2317 x.Value, err = NewSchemaOrReference(v2, compiler.NewContext("value", v2, context))
2318 if err != nil {
2319 errors = append(errors, err)
2320 }
2321 }
2322 }
2323 return x, compiler.NewErrorGroupOrNil(errors)
2324 }
2325
2326
2327 func NewNamedSecuritySchemeOrReference(in *yaml.Node, context *compiler.Context) (*NamedSecuritySchemeOrReference, error) {
2328 errors := make([]error, 0)
2329 x := &NamedSecuritySchemeOrReference{}
2330 m, ok := compiler.UnpackMap(in)
2331 if !ok {
2332 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
2333 errors = append(errors, compiler.NewError(context, message))
2334 } else {
2335 allowedKeys := []string{"name", "value"}
2336 var allowedPatterns []*regexp.Regexp
2337 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
2338 if len(invalidKeys) > 0 {
2339 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
2340 errors = append(errors, compiler.NewError(context, message))
2341 }
2342
2343 v1 := compiler.MapValueForKey(m, "name")
2344 if v1 != nil {
2345 x.Name, ok = compiler.StringForScalarNode(v1)
2346 if !ok {
2347 message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
2348 errors = append(errors, compiler.NewError(context, message))
2349 }
2350 }
2351
2352 v2 := compiler.MapValueForKey(m, "value")
2353 if v2 != nil {
2354 var err error
2355 x.Value, err = NewSecuritySchemeOrReference(v2, compiler.NewContext("value", v2, context))
2356 if err != nil {
2357 errors = append(errors, err)
2358 }
2359 }
2360 }
2361 return x, compiler.NewErrorGroupOrNil(errors)
2362 }
2363
2364
2365 func NewNamedServerVariable(in *yaml.Node, context *compiler.Context) (*NamedServerVariable, error) {
2366 errors := make([]error, 0)
2367 x := &NamedServerVariable{}
2368 m, ok := compiler.UnpackMap(in)
2369 if !ok {
2370 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
2371 errors = append(errors, compiler.NewError(context, message))
2372 } else {
2373 allowedKeys := []string{"name", "value"}
2374 var allowedPatterns []*regexp.Regexp
2375 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
2376 if len(invalidKeys) > 0 {
2377 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
2378 errors = append(errors, compiler.NewError(context, message))
2379 }
2380
2381 v1 := compiler.MapValueForKey(m, "name")
2382 if v1 != nil {
2383 x.Name, ok = compiler.StringForScalarNode(v1)
2384 if !ok {
2385 message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
2386 errors = append(errors, compiler.NewError(context, message))
2387 }
2388 }
2389
2390 v2 := compiler.MapValueForKey(m, "value")
2391 if v2 != nil {
2392 var err error
2393 x.Value, err = NewServerVariable(v2, compiler.NewContext("value", v2, context))
2394 if err != nil {
2395 errors = append(errors, err)
2396 }
2397 }
2398 }
2399 return x, compiler.NewErrorGroupOrNil(errors)
2400 }
2401
2402
2403 func NewNamedString(in *yaml.Node, context *compiler.Context) (*NamedString, error) {
2404 errors := make([]error, 0)
2405 x := &NamedString{}
2406 m, ok := compiler.UnpackMap(in)
2407 if !ok {
2408 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
2409 errors = append(errors, compiler.NewError(context, message))
2410 } else {
2411 allowedKeys := []string{"name", "value"}
2412 var allowedPatterns []*regexp.Regexp
2413 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
2414 if len(invalidKeys) > 0 {
2415 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
2416 errors = append(errors, compiler.NewError(context, message))
2417 }
2418
2419 v1 := compiler.MapValueForKey(m, "name")
2420 if v1 != nil {
2421 x.Name, ok = compiler.StringForScalarNode(v1)
2422 if !ok {
2423 message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
2424 errors = append(errors, compiler.NewError(context, message))
2425 }
2426 }
2427
2428 v2 := compiler.MapValueForKey(m, "value")
2429 if v2 != nil {
2430 x.Value, ok = compiler.StringForScalarNode(v2)
2431 if !ok {
2432 message := fmt.Sprintf("has unexpected value for value: %s", compiler.Display(v2))
2433 errors = append(errors, compiler.NewError(context, message))
2434 }
2435 }
2436 }
2437 return x, compiler.NewErrorGroupOrNil(errors)
2438 }
2439
2440
2441 func NewNamedStringArray(in *yaml.Node, context *compiler.Context) (*NamedStringArray, error) {
2442 errors := make([]error, 0)
2443 x := &NamedStringArray{}
2444 m, ok := compiler.UnpackMap(in)
2445 if !ok {
2446 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
2447 errors = append(errors, compiler.NewError(context, message))
2448 } else {
2449 allowedKeys := []string{"name", "value"}
2450 var allowedPatterns []*regexp.Regexp
2451 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
2452 if len(invalidKeys) > 0 {
2453 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
2454 errors = append(errors, compiler.NewError(context, message))
2455 }
2456
2457 v1 := compiler.MapValueForKey(m, "name")
2458 if v1 != nil {
2459 x.Name, ok = compiler.StringForScalarNode(v1)
2460 if !ok {
2461 message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
2462 errors = append(errors, compiler.NewError(context, message))
2463 }
2464 }
2465
2466 v2 := compiler.MapValueForKey(m, "value")
2467 if v2 != nil {
2468 var err error
2469 x.Value, err = NewStringArray(v2, compiler.NewContext("value", v2, context))
2470 if err != nil {
2471 errors = append(errors, err)
2472 }
2473 }
2474 }
2475 return x, compiler.NewErrorGroupOrNil(errors)
2476 }
2477
2478
2479 func NewOauthFlow(in *yaml.Node, context *compiler.Context) (*OauthFlow, error) {
2480 errors := make([]error, 0)
2481 x := &OauthFlow{}
2482 m, ok := compiler.UnpackMap(in)
2483 if !ok {
2484 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
2485 errors = append(errors, compiler.NewError(context, message))
2486 } else {
2487 allowedKeys := []string{"authorizationUrl", "refreshUrl", "scopes", "tokenUrl"}
2488 allowedPatterns := []*regexp.Regexp{pattern1}
2489 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
2490 if len(invalidKeys) > 0 {
2491 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
2492 errors = append(errors, compiler.NewError(context, message))
2493 }
2494
2495 v1 := compiler.MapValueForKey(m, "authorizationUrl")
2496 if v1 != nil {
2497 x.AuthorizationUrl, ok = compiler.StringForScalarNode(v1)
2498 if !ok {
2499 message := fmt.Sprintf("has unexpected value for authorizationUrl: %s", compiler.Display(v1))
2500 errors = append(errors, compiler.NewError(context, message))
2501 }
2502 }
2503
2504 v2 := compiler.MapValueForKey(m, "tokenUrl")
2505 if v2 != nil {
2506 x.TokenUrl, ok = compiler.StringForScalarNode(v2)
2507 if !ok {
2508 message := fmt.Sprintf("has unexpected value for tokenUrl: %s", compiler.Display(v2))
2509 errors = append(errors, compiler.NewError(context, message))
2510 }
2511 }
2512
2513 v3 := compiler.MapValueForKey(m, "refreshUrl")
2514 if v3 != nil {
2515 x.RefreshUrl, ok = compiler.StringForScalarNode(v3)
2516 if !ok {
2517 message := fmt.Sprintf("has unexpected value for refreshUrl: %s", compiler.Display(v3))
2518 errors = append(errors, compiler.NewError(context, message))
2519 }
2520 }
2521
2522 v4 := compiler.MapValueForKey(m, "scopes")
2523 if v4 != nil {
2524 var err error
2525 x.Scopes, err = NewStrings(v4, compiler.NewContext("scopes", v4, context))
2526 if err != nil {
2527 errors = append(errors, err)
2528 }
2529 }
2530
2531
2532 x.SpecificationExtension = make([]*NamedAny, 0)
2533 for i := 0; i < len(m.Content); i += 2 {
2534 k, ok := compiler.StringForScalarNode(m.Content[i])
2535 if ok {
2536 v := m.Content[i+1]
2537 if strings.HasPrefix(k, "x-") {
2538 pair := &NamedAny{}
2539 pair.Name = k
2540 result := &Any{}
2541 handled, resultFromExt, err := compiler.CallExtension(context, v, k)
2542 if handled {
2543 if err != nil {
2544 errors = append(errors, err)
2545 } else {
2546 bytes := compiler.Marshal(v)
2547 result.Yaml = string(bytes)
2548 result.Value = resultFromExt
2549 pair.Value = result
2550 }
2551 } else {
2552 pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
2553 if err != nil {
2554 errors = append(errors, err)
2555 }
2556 }
2557 x.SpecificationExtension = append(x.SpecificationExtension, pair)
2558 }
2559 }
2560 }
2561 }
2562 return x, compiler.NewErrorGroupOrNil(errors)
2563 }
2564
2565
2566 func NewOauthFlows(in *yaml.Node, context *compiler.Context) (*OauthFlows, error) {
2567 errors := make([]error, 0)
2568 x := &OauthFlows{}
2569 m, ok := compiler.UnpackMap(in)
2570 if !ok {
2571 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
2572 errors = append(errors, compiler.NewError(context, message))
2573 } else {
2574 allowedKeys := []string{"authorizationCode", "clientCredentials", "implicit", "password"}
2575 allowedPatterns := []*regexp.Regexp{pattern1}
2576 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
2577 if len(invalidKeys) > 0 {
2578 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
2579 errors = append(errors, compiler.NewError(context, message))
2580 }
2581
2582 v1 := compiler.MapValueForKey(m, "implicit")
2583 if v1 != nil {
2584 var err error
2585 x.Implicit, err = NewOauthFlow(v1, compiler.NewContext("implicit", v1, context))
2586 if err != nil {
2587 errors = append(errors, err)
2588 }
2589 }
2590
2591 v2 := compiler.MapValueForKey(m, "password")
2592 if v2 != nil {
2593 var err error
2594 x.Password, err = NewOauthFlow(v2, compiler.NewContext("password", v2, context))
2595 if err != nil {
2596 errors = append(errors, err)
2597 }
2598 }
2599
2600 v3 := compiler.MapValueForKey(m, "clientCredentials")
2601 if v3 != nil {
2602 var err error
2603 x.ClientCredentials, err = NewOauthFlow(v3, compiler.NewContext("clientCredentials", v3, context))
2604 if err != nil {
2605 errors = append(errors, err)
2606 }
2607 }
2608
2609 v4 := compiler.MapValueForKey(m, "authorizationCode")
2610 if v4 != nil {
2611 var err error
2612 x.AuthorizationCode, err = NewOauthFlow(v4, compiler.NewContext("authorizationCode", v4, context))
2613 if err != nil {
2614 errors = append(errors, err)
2615 }
2616 }
2617
2618
2619 x.SpecificationExtension = make([]*NamedAny, 0)
2620 for i := 0; i < len(m.Content); i += 2 {
2621 k, ok := compiler.StringForScalarNode(m.Content[i])
2622 if ok {
2623 v := m.Content[i+1]
2624 if strings.HasPrefix(k, "x-") {
2625 pair := &NamedAny{}
2626 pair.Name = k
2627 result := &Any{}
2628 handled, resultFromExt, err := compiler.CallExtension(context, v, k)
2629 if handled {
2630 if err != nil {
2631 errors = append(errors, err)
2632 } else {
2633 bytes := compiler.Marshal(v)
2634 result.Yaml = string(bytes)
2635 result.Value = resultFromExt
2636 pair.Value = result
2637 }
2638 } else {
2639 pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
2640 if err != nil {
2641 errors = append(errors, err)
2642 }
2643 }
2644 x.SpecificationExtension = append(x.SpecificationExtension, pair)
2645 }
2646 }
2647 }
2648 }
2649 return x, compiler.NewErrorGroupOrNil(errors)
2650 }
2651
2652
2653 func NewObject(in *yaml.Node, context *compiler.Context) (*Object, error) {
2654 errors := make([]error, 0)
2655 x := &Object{}
2656 m, ok := compiler.UnpackMap(in)
2657 if !ok {
2658 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
2659 errors = append(errors, compiler.NewError(context, message))
2660 } else {
2661
2662
2663 x.AdditionalProperties = make([]*NamedAny, 0)
2664 for i := 0; i < len(m.Content); i += 2 {
2665 k, ok := compiler.StringForScalarNode(m.Content[i])
2666 if ok {
2667 v := m.Content[i+1]
2668 pair := &NamedAny{}
2669 pair.Name = k
2670 result := &Any{}
2671 handled, resultFromExt, err := compiler.CallExtension(context, v, k)
2672 if handled {
2673 if err != nil {
2674 errors = append(errors, err)
2675 } else {
2676 bytes := compiler.Marshal(v)
2677 result.Yaml = string(bytes)
2678 result.Value = resultFromExt
2679 pair.Value = result
2680 }
2681 } else {
2682 pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
2683 if err != nil {
2684 errors = append(errors, err)
2685 }
2686 }
2687 x.AdditionalProperties = append(x.AdditionalProperties, pair)
2688 }
2689 }
2690 }
2691 return x, compiler.NewErrorGroupOrNil(errors)
2692 }
2693
2694
2695 func NewOperation(in *yaml.Node, context *compiler.Context) (*Operation, error) {
2696 errors := make([]error, 0)
2697 x := &Operation{}
2698 m, ok := compiler.UnpackMap(in)
2699 if !ok {
2700 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
2701 errors = append(errors, compiler.NewError(context, message))
2702 } else {
2703 requiredKeys := []string{"responses"}
2704 missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
2705 if len(missingKeys) > 0 {
2706 message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
2707 errors = append(errors, compiler.NewError(context, message))
2708 }
2709 allowedKeys := []string{"callbacks", "deprecated", "description", "externalDocs", "operationId", "parameters", "requestBody", "responses", "security", "servers", "summary", "tags"}
2710 allowedPatterns := []*regexp.Regexp{pattern1}
2711 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
2712 if len(invalidKeys) > 0 {
2713 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
2714 errors = append(errors, compiler.NewError(context, message))
2715 }
2716
2717 v1 := compiler.MapValueForKey(m, "tags")
2718 if v1 != nil {
2719 v, ok := compiler.SequenceNodeForNode(v1)
2720 if ok {
2721 x.Tags = compiler.StringArrayForSequenceNode(v)
2722 } else {
2723 message := fmt.Sprintf("has unexpected value for tags: %s", compiler.Display(v1))
2724 errors = append(errors, compiler.NewError(context, message))
2725 }
2726 }
2727
2728 v2 := compiler.MapValueForKey(m, "summary")
2729 if v2 != nil {
2730 x.Summary, ok = compiler.StringForScalarNode(v2)
2731 if !ok {
2732 message := fmt.Sprintf("has unexpected value for summary: %s", compiler.Display(v2))
2733 errors = append(errors, compiler.NewError(context, message))
2734 }
2735 }
2736
2737 v3 := compiler.MapValueForKey(m, "description")
2738 if v3 != nil {
2739 x.Description, ok = compiler.StringForScalarNode(v3)
2740 if !ok {
2741 message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v3))
2742 errors = append(errors, compiler.NewError(context, message))
2743 }
2744 }
2745
2746 v4 := compiler.MapValueForKey(m, "externalDocs")
2747 if v4 != nil {
2748 var err error
2749 x.ExternalDocs, err = NewExternalDocs(v4, compiler.NewContext("externalDocs", v4, context))
2750 if err != nil {
2751 errors = append(errors, err)
2752 }
2753 }
2754
2755 v5 := compiler.MapValueForKey(m, "operationId")
2756 if v5 != nil {
2757 x.OperationId, ok = compiler.StringForScalarNode(v5)
2758 if !ok {
2759 message := fmt.Sprintf("has unexpected value for operationId: %s", compiler.Display(v5))
2760 errors = append(errors, compiler.NewError(context, message))
2761 }
2762 }
2763
2764 v6 := compiler.MapValueForKey(m, "parameters")
2765 if v6 != nil {
2766
2767 x.Parameters = make([]*ParameterOrReference, 0)
2768 a, ok := compiler.SequenceNodeForNode(v6)
2769 if ok {
2770 for _, item := range a.Content {
2771 y, err := NewParameterOrReference(item, compiler.NewContext("parameters", item, context))
2772 if err != nil {
2773 errors = append(errors, err)
2774 }
2775 x.Parameters = append(x.Parameters, y)
2776 }
2777 }
2778 }
2779
2780 v7 := compiler.MapValueForKey(m, "requestBody")
2781 if v7 != nil {
2782 var err error
2783 x.RequestBody, err = NewRequestBodyOrReference(v7, compiler.NewContext("requestBody", v7, context))
2784 if err != nil {
2785 errors = append(errors, err)
2786 }
2787 }
2788
2789 v8 := compiler.MapValueForKey(m, "responses")
2790 if v8 != nil {
2791 var err error
2792 x.Responses, err = NewResponses(v8, compiler.NewContext("responses", v8, context))
2793 if err != nil {
2794 errors = append(errors, err)
2795 }
2796 }
2797
2798 v9 := compiler.MapValueForKey(m, "callbacks")
2799 if v9 != nil {
2800 var err error
2801 x.Callbacks, err = NewCallbacksOrReferences(v9, compiler.NewContext("callbacks", v9, context))
2802 if err != nil {
2803 errors = append(errors, err)
2804 }
2805 }
2806
2807 v10 := compiler.MapValueForKey(m, "deprecated")
2808 if v10 != nil {
2809 x.Deprecated, ok = compiler.BoolForScalarNode(v10)
2810 if !ok {
2811 message := fmt.Sprintf("has unexpected value for deprecated: %s", compiler.Display(v10))
2812 errors = append(errors, compiler.NewError(context, message))
2813 }
2814 }
2815
2816 v11 := compiler.MapValueForKey(m, "security")
2817 if v11 != nil {
2818
2819 x.Security = make([]*SecurityRequirement, 0)
2820 a, ok := compiler.SequenceNodeForNode(v11)
2821 if ok {
2822 for _, item := range a.Content {
2823 y, err := NewSecurityRequirement(item, compiler.NewContext("security", item, context))
2824 if err != nil {
2825 errors = append(errors, err)
2826 }
2827 x.Security = append(x.Security, y)
2828 }
2829 }
2830 }
2831
2832 v12 := compiler.MapValueForKey(m, "servers")
2833 if v12 != nil {
2834
2835 x.Servers = make([]*Server, 0)
2836 a, ok := compiler.SequenceNodeForNode(v12)
2837 if ok {
2838 for _, item := range a.Content {
2839 y, err := NewServer(item, compiler.NewContext("servers", item, context))
2840 if err != nil {
2841 errors = append(errors, err)
2842 }
2843 x.Servers = append(x.Servers, y)
2844 }
2845 }
2846 }
2847
2848
2849 x.SpecificationExtension = make([]*NamedAny, 0)
2850 for i := 0; i < len(m.Content); i += 2 {
2851 k, ok := compiler.StringForScalarNode(m.Content[i])
2852 if ok {
2853 v := m.Content[i+1]
2854 if strings.HasPrefix(k, "x-") {
2855 pair := &NamedAny{}
2856 pair.Name = k
2857 result := &Any{}
2858 handled, resultFromExt, err := compiler.CallExtension(context, v, k)
2859 if handled {
2860 if err != nil {
2861 errors = append(errors, err)
2862 } else {
2863 bytes := compiler.Marshal(v)
2864 result.Yaml = string(bytes)
2865 result.Value = resultFromExt
2866 pair.Value = result
2867 }
2868 } else {
2869 pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
2870 if err != nil {
2871 errors = append(errors, err)
2872 }
2873 }
2874 x.SpecificationExtension = append(x.SpecificationExtension, pair)
2875 }
2876 }
2877 }
2878 }
2879 return x, compiler.NewErrorGroupOrNil(errors)
2880 }
2881
2882
2883 func NewParameter(in *yaml.Node, context *compiler.Context) (*Parameter, error) {
2884 errors := make([]error, 0)
2885 x := &Parameter{}
2886 m, ok := compiler.UnpackMap(in)
2887 if !ok {
2888 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
2889 errors = append(errors, compiler.NewError(context, message))
2890 } else {
2891 requiredKeys := []string{"in", "name"}
2892 missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
2893 if len(missingKeys) > 0 {
2894 message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
2895 errors = append(errors, compiler.NewError(context, message))
2896 }
2897 allowedKeys := []string{"allowEmptyValue", "allowReserved", "content", "deprecated", "description", "example", "examples", "explode", "in", "name", "required", "schema", "style"}
2898 allowedPatterns := []*regexp.Regexp{pattern1}
2899 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
2900 if len(invalidKeys) > 0 {
2901 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
2902 errors = append(errors, compiler.NewError(context, message))
2903 }
2904
2905 v1 := compiler.MapValueForKey(m, "name")
2906 if v1 != nil {
2907 x.Name, ok = compiler.StringForScalarNode(v1)
2908 if !ok {
2909 message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
2910 errors = append(errors, compiler.NewError(context, message))
2911 }
2912 }
2913
2914 v2 := compiler.MapValueForKey(m, "in")
2915 if v2 != nil {
2916 x.In, ok = compiler.StringForScalarNode(v2)
2917 if !ok {
2918 message := fmt.Sprintf("has unexpected value for in: %s", compiler.Display(v2))
2919 errors = append(errors, compiler.NewError(context, message))
2920 }
2921 }
2922
2923 v3 := compiler.MapValueForKey(m, "description")
2924 if v3 != nil {
2925 x.Description, ok = compiler.StringForScalarNode(v3)
2926 if !ok {
2927 message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v3))
2928 errors = append(errors, compiler.NewError(context, message))
2929 }
2930 }
2931
2932 v4 := compiler.MapValueForKey(m, "required")
2933 if v4 != nil {
2934 x.Required, ok = compiler.BoolForScalarNode(v4)
2935 if !ok {
2936 message := fmt.Sprintf("has unexpected value for required: %s", compiler.Display(v4))
2937 errors = append(errors, compiler.NewError(context, message))
2938 }
2939 }
2940
2941 v5 := compiler.MapValueForKey(m, "deprecated")
2942 if v5 != nil {
2943 x.Deprecated, ok = compiler.BoolForScalarNode(v5)
2944 if !ok {
2945 message := fmt.Sprintf("has unexpected value for deprecated: %s", compiler.Display(v5))
2946 errors = append(errors, compiler.NewError(context, message))
2947 }
2948 }
2949
2950 v6 := compiler.MapValueForKey(m, "allowEmptyValue")
2951 if v6 != nil {
2952 x.AllowEmptyValue, ok = compiler.BoolForScalarNode(v6)
2953 if !ok {
2954 message := fmt.Sprintf("has unexpected value for allowEmptyValue: %s", compiler.Display(v6))
2955 errors = append(errors, compiler.NewError(context, message))
2956 }
2957 }
2958
2959 v7 := compiler.MapValueForKey(m, "style")
2960 if v7 != nil {
2961 x.Style, ok = compiler.StringForScalarNode(v7)
2962 if !ok {
2963 message := fmt.Sprintf("has unexpected value for style: %s", compiler.Display(v7))
2964 errors = append(errors, compiler.NewError(context, message))
2965 }
2966 }
2967
2968 v8 := compiler.MapValueForKey(m, "explode")
2969 if v8 != nil {
2970 x.Explode, ok = compiler.BoolForScalarNode(v8)
2971 if !ok {
2972 message := fmt.Sprintf("has unexpected value for explode: %s", compiler.Display(v8))
2973 errors = append(errors, compiler.NewError(context, message))
2974 }
2975 }
2976
2977 v9 := compiler.MapValueForKey(m, "allowReserved")
2978 if v9 != nil {
2979 x.AllowReserved, ok = compiler.BoolForScalarNode(v9)
2980 if !ok {
2981 message := fmt.Sprintf("has unexpected value for allowReserved: %s", compiler.Display(v9))
2982 errors = append(errors, compiler.NewError(context, message))
2983 }
2984 }
2985
2986 v10 := compiler.MapValueForKey(m, "schema")
2987 if v10 != nil {
2988 var err error
2989 x.Schema, err = NewSchemaOrReference(v10, compiler.NewContext("schema", v10, context))
2990 if err != nil {
2991 errors = append(errors, err)
2992 }
2993 }
2994
2995 v11 := compiler.MapValueForKey(m, "example")
2996 if v11 != nil {
2997 var err error
2998 x.Example, err = NewAny(v11, compiler.NewContext("example", v11, context))
2999 if err != nil {
3000 errors = append(errors, err)
3001 }
3002 }
3003
3004 v12 := compiler.MapValueForKey(m, "examples")
3005 if v12 != nil {
3006 var err error
3007 x.Examples, err = NewExamplesOrReferences(v12, compiler.NewContext("examples", v12, context))
3008 if err != nil {
3009 errors = append(errors, err)
3010 }
3011 }
3012
3013 v13 := compiler.MapValueForKey(m, "content")
3014 if v13 != nil {
3015 var err error
3016 x.Content, err = NewMediaTypes(v13, compiler.NewContext("content", v13, context))
3017 if err != nil {
3018 errors = append(errors, err)
3019 }
3020 }
3021
3022
3023 x.SpecificationExtension = make([]*NamedAny, 0)
3024 for i := 0; i < len(m.Content); i += 2 {
3025 k, ok := compiler.StringForScalarNode(m.Content[i])
3026 if ok {
3027 v := m.Content[i+1]
3028 if strings.HasPrefix(k, "x-") {
3029 pair := &NamedAny{}
3030 pair.Name = k
3031 result := &Any{}
3032 handled, resultFromExt, err := compiler.CallExtension(context, v, k)
3033 if handled {
3034 if err != nil {
3035 errors = append(errors, err)
3036 } else {
3037 bytes := compiler.Marshal(v)
3038 result.Yaml = string(bytes)
3039 result.Value = resultFromExt
3040 pair.Value = result
3041 }
3042 } else {
3043 pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
3044 if err != nil {
3045 errors = append(errors, err)
3046 }
3047 }
3048 x.SpecificationExtension = append(x.SpecificationExtension, pair)
3049 }
3050 }
3051 }
3052 }
3053 return x, compiler.NewErrorGroupOrNil(errors)
3054 }
3055
3056
3057 func NewParameterOrReference(in *yaml.Node, context *compiler.Context) (*ParameterOrReference, error) {
3058 errors := make([]error, 0)
3059 x := &ParameterOrReference{}
3060 matched := false
3061
3062 {
3063 m, ok := compiler.UnpackMap(in)
3064 if ok {
3065
3066 t, matchingError := NewParameter(m, compiler.NewContext("parameter", m, context))
3067 if matchingError == nil {
3068 x.Oneof = &ParameterOrReference_Parameter{Parameter: t}
3069 matched = true
3070 } else {
3071 errors = append(errors, matchingError)
3072 }
3073 }
3074 }
3075
3076 {
3077 m, ok := compiler.UnpackMap(in)
3078 if ok {
3079
3080 t, matchingError := NewReference(m, compiler.NewContext("reference", m, context))
3081 if matchingError == nil {
3082 x.Oneof = &ParameterOrReference_Reference{Reference: t}
3083 matched = true
3084 } else {
3085 errors = append(errors, matchingError)
3086 }
3087 }
3088 }
3089 if matched {
3090
3091 errors = make([]error, 0)
3092 } else {
3093 message := fmt.Sprintf("contains an invalid ParameterOrReference")
3094 err := compiler.NewError(context, message)
3095 errors = []error{err}
3096 }
3097 return x, compiler.NewErrorGroupOrNil(errors)
3098 }
3099
3100
3101 func NewParametersOrReferences(in *yaml.Node, context *compiler.Context) (*ParametersOrReferences, error) {
3102 errors := make([]error, 0)
3103 x := &ParametersOrReferences{}
3104 m, ok := compiler.UnpackMap(in)
3105 if !ok {
3106 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
3107 errors = append(errors, compiler.NewError(context, message))
3108 } else {
3109
3110
3111 x.AdditionalProperties = make([]*NamedParameterOrReference, 0)
3112 for i := 0; i < len(m.Content); i += 2 {
3113 k, ok := compiler.StringForScalarNode(m.Content[i])
3114 if ok {
3115 v := m.Content[i+1]
3116 pair := &NamedParameterOrReference{}
3117 pair.Name = k
3118 var err error
3119 pair.Value, err = NewParameterOrReference(v, compiler.NewContext(k, v, context))
3120 if err != nil {
3121 errors = append(errors, err)
3122 }
3123 x.AdditionalProperties = append(x.AdditionalProperties, pair)
3124 }
3125 }
3126 }
3127 return x, compiler.NewErrorGroupOrNil(errors)
3128 }
3129
3130
3131 func NewPathItem(in *yaml.Node, context *compiler.Context) (*PathItem, error) {
3132 errors := make([]error, 0)
3133 x := &PathItem{}
3134 m, ok := compiler.UnpackMap(in)
3135 if !ok {
3136 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
3137 errors = append(errors, compiler.NewError(context, message))
3138 } else {
3139 allowedKeys := []string{"$ref", "delete", "description", "get", "head", "options", "parameters", "patch", "post", "put", "servers", "summary", "trace"}
3140 allowedPatterns := []*regexp.Regexp{pattern1}
3141 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
3142 if len(invalidKeys) > 0 {
3143 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
3144 errors = append(errors, compiler.NewError(context, message))
3145 }
3146
3147 v1 := compiler.MapValueForKey(m, "$ref")
3148 if v1 != nil {
3149 x.XRef, ok = compiler.StringForScalarNode(v1)
3150 if !ok {
3151 message := fmt.Sprintf("has unexpected value for $ref: %s", compiler.Display(v1))
3152 errors = append(errors, compiler.NewError(context, message))
3153 }
3154 }
3155
3156 v2 := compiler.MapValueForKey(m, "summary")
3157 if v2 != nil {
3158 x.Summary, ok = compiler.StringForScalarNode(v2)
3159 if !ok {
3160 message := fmt.Sprintf("has unexpected value for summary: %s", compiler.Display(v2))
3161 errors = append(errors, compiler.NewError(context, message))
3162 }
3163 }
3164
3165 v3 := compiler.MapValueForKey(m, "description")
3166 if v3 != nil {
3167 x.Description, ok = compiler.StringForScalarNode(v3)
3168 if !ok {
3169 message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v3))
3170 errors = append(errors, compiler.NewError(context, message))
3171 }
3172 }
3173
3174 v4 := compiler.MapValueForKey(m, "get")
3175 if v4 != nil {
3176 var err error
3177 x.Get, err = NewOperation(v4, compiler.NewContext("get", v4, context))
3178 if err != nil {
3179 errors = append(errors, err)
3180 }
3181 }
3182
3183 v5 := compiler.MapValueForKey(m, "put")
3184 if v5 != nil {
3185 var err error
3186 x.Put, err = NewOperation(v5, compiler.NewContext("put", v5, context))
3187 if err != nil {
3188 errors = append(errors, err)
3189 }
3190 }
3191
3192 v6 := compiler.MapValueForKey(m, "post")
3193 if v6 != nil {
3194 var err error
3195 x.Post, err = NewOperation(v6, compiler.NewContext("post", v6, context))
3196 if err != nil {
3197 errors = append(errors, err)
3198 }
3199 }
3200
3201 v7 := compiler.MapValueForKey(m, "delete")
3202 if v7 != nil {
3203 var err error
3204 x.Delete, err = NewOperation(v7, compiler.NewContext("delete", v7, context))
3205 if err != nil {
3206 errors = append(errors, err)
3207 }
3208 }
3209
3210 v8 := compiler.MapValueForKey(m, "options")
3211 if v8 != nil {
3212 var err error
3213 x.Options, err = NewOperation(v8, compiler.NewContext("options", v8, context))
3214 if err != nil {
3215 errors = append(errors, err)
3216 }
3217 }
3218
3219 v9 := compiler.MapValueForKey(m, "head")
3220 if v9 != nil {
3221 var err error
3222 x.Head, err = NewOperation(v9, compiler.NewContext("head", v9, context))
3223 if err != nil {
3224 errors = append(errors, err)
3225 }
3226 }
3227
3228 v10 := compiler.MapValueForKey(m, "patch")
3229 if v10 != nil {
3230 var err error
3231 x.Patch, err = NewOperation(v10, compiler.NewContext("patch", v10, context))
3232 if err != nil {
3233 errors = append(errors, err)
3234 }
3235 }
3236
3237 v11 := compiler.MapValueForKey(m, "trace")
3238 if v11 != nil {
3239 var err error
3240 x.Trace, err = NewOperation(v11, compiler.NewContext("trace", v11, context))
3241 if err != nil {
3242 errors = append(errors, err)
3243 }
3244 }
3245
3246 v12 := compiler.MapValueForKey(m, "servers")
3247 if v12 != nil {
3248
3249 x.Servers = make([]*Server, 0)
3250 a, ok := compiler.SequenceNodeForNode(v12)
3251 if ok {
3252 for _, item := range a.Content {
3253 y, err := NewServer(item, compiler.NewContext("servers", item, context))
3254 if err != nil {
3255 errors = append(errors, err)
3256 }
3257 x.Servers = append(x.Servers, y)
3258 }
3259 }
3260 }
3261
3262 v13 := compiler.MapValueForKey(m, "parameters")
3263 if v13 != nil {
3264
3265 x.Parameters = make([]*ParameterOrReference, 0)
3266 a, ok := compiler.SequenceNodeForNode(v13)
3267 if ok {
3268 for _, item := range a.Content {
3269 y, err := NewParameterOrReference(item, compiler.NewContext("parameters", item, context))
3270 if err != nil {
3271 errors = append(errors, err)
3272 }
3273 x.Parameters = append(x.Parameters, y)
3274 }
3275 }
3276 }
3277
3278
3279 x.SpecificationExtension = make([]*NamedAny, 0)
3280 for i := 0; i < len(m.Content); i += 2 {
3281 k, ok := compiler.StringForScalarNode(m.Content[i])
3282 if ok {
3283 v := m.Content[i+1]
3284 if strings.HasPrefix(k, "x-") {
3285 pair := &NamedAny{}
3286 pair.Name = k
3287 result := &Any{}
3288 handled, resultFromExt, err := compiler.CallExtension(context, v, k)
3289 if handled {
3290 if err != nil {
3291 errors = append(errors, err)
3292 } else {
3293 bytes := compiler.Marshal(v)
3294 result.Yaml = string(bytes)
3295 result.Value = resultFromExt
3296 pair.Value = result
3297 }
3298 } else {
3299 pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
3300 if err != nil {
3301 errors = append(errors, err)
3302 }
3303 }
3304 x.SpecificationExtension = append(x.SpecificationExtension, pair)
3305 }
3306 }
3307 }
3308 }
3309 return x, compiler.NewErrorGroupOrNil(errors)
3310 }
3311
3312
3313 func NewPaths(in *yaml.Node, context *compiler.Context) (*Paths, error) {
3314 errors := make([]error, 0)
3315 x := &Paths{}
3316 m, ok := compiler.UnpackMap(in)
3317 if !ok {
3318 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
3319 errors = append(errors, compiler.NewError(context, message))
3320 } else {
3321 allowedKeys := []string{}
3322 allowedPatterns := []*regexp.Regexp{pattern2, pattern1}
3323 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
3324 if len(invalidKeys) > 0 {
3325 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
3326 errors = append(errors, compiler.NewError(context, message))
3327 }
3328
3329
3330 x.Path = make([]*NamedPathItem, 0)
3331 for i := 0; i < len(m.Content); i += 2 {
3332 k, ok := compiler.StringForScalarNode(m.Content[i])
3333 if ok {
3334 v := m.Content[i+1]
3335 if strings.HasPrefix(k, "/") {
3336 pair := &NamedPathItem{}
3337 pair.Name = k
3338 var err error
3339 pair.Value, err = NewPathItem(v, compiler.NewContext(k, v, context))
3340 if err != nil {
3341 errors = append(errors, err)
3342 }
3343 x.Path = append(x.Path, pair)
3344 }
3345 }
3346 }
3347
3348
3349 x.SpecificationExtension = make([]*NamedAny, 0)
3350 for i := 0; i < len(m.Content); i += 2 {
3351 k, ok := compiler.StringForScalarNode(m.Content[i])
3352 if ok {
3353 v := m.Content[i+1]
3354 if strings.HasPrefix(k, "x-") {
3355 pair := &NamedAny{}
3356 pair.Name = k
3357 result := &Any{}
3358 handled, resultFromExt, err := compiler.CallExtension(context, v, k)
3359 if handled {
3360 if err != nil {
3361 errors = append(errors, err)
3362 } else {
3363 bytes := compiler.Marshal(v)
3364 result.Yaml = string(bytes)
3365 result.Value = resultFromExt
3366 pair.Value = result
3367 }
3368 } else {
3369 pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
3370 if err != nil {
3371 errors = append(errors, err)
3372 }
3373 }
3374 x.SpecificationExtension = append(x.SpecificationExtension, pair)
3375 }
3376 }
3377 }
3378 }
3379 return x, compiler.NewErrorGroupOrNil(errors)
3380 }
3381
3382
3383 func NewProperties(in *yaml.Node, context *compiler.Context) (*Properties, error) {
3384 errors := make([]error, 0)
3385 x := &Properties{}
3386 m, ok := compiler.UnpackMap(in)
3387 if !ok {
3388 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
3389 errors = append(errors, compiler.NewError(context, message))
3390 } else {
3391
3392
3393 x.AdditionalProperties = make([]*NamedSchemaOrReference, 0)
3394 for i := 0; i < len(m.Content); i += 2 {
3395 k, ok := compiler.StringForScalarNode(m.Content[i])
3396 if ok {
3397 v := m.Content[i+1]
3398 pair := &NamedSchemaOrReference{}
3399 pair.Name = k
3400 var err error
3401 pair.Value, err = NewSchemaOrReference(v, compiler.NewContext(k, v, context))
3402 if err != nil {
3403 errors = append(errors, err)
3404 }
3405 x.AdditionalProperties = append(x.AdditionalProperties, pair)
3406 }
3407 }
3408 }
3409 return x, compiler.NewErrorGroupOrNil(errors)
3410 }
3411
3412
3413 func NewReference(in *yaml.Node, context *compiler.Context) (*Reference, error) {
3414 errors := make([]error, 0)
3415 x := &Reference{}
3416 m, ok := compiler.UnpackMap(in)
3417 if !ok {
3418 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
3419 errors = append(errors, compiler.NewError(context, message))
3420 } else {
3421 requiredKeys := []string{"$ref"}
3422 missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
3423 if len(missingKeys) > 0 {
3424 message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
3425 errors = append(errors, compiler.NewError(context, message))
3426 }
3427
3428 v1 := compiler.MapValueForKey(m, "$ref")
3429 if v1 != nil {
3430 x.XRef, ok = compiler.StringForScalarNode(v1)
3431 if !ok {
3432 message := fmt.Sprintf("has unexpected value for $ref: %s", compiler.Display(v1))
3433 errors = append(errors, compiler.NewError(context, message))
3434 }
3435 }
3436
3437 v2 := compiler.MapValueForKey(m, "summary")
3438 if v2 != nil {
3439 x.Summary, ok = compiler.StringForScalarNode(v2)
3440 if !ok {
3441 message := fmt.Sprintf("has unexpected value for summary: %s", compiler.Display(v2))
3442 errors = append(errors, compiler.NewError(context, message))
3443 }
3444 }
3445
3446 v3 := compiler.MapValueForKey(m, "description")
3447 if v3 != nil {
3448 x.Description, ok = compiler.StringForScalarNode(v3)
3449 if !ok {
3450 message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v3))
3451 errors = append(errors, compiler.NewError(context, message))
3452 }
3453 }
3454 }
3455 return x, compiler.NewErrorGroupOrNil(errors)
3456 }
3457
3458
3459 func NewRequestBodiesOrReferences(in *yaml.Node, context *compiler.Context) (*RequestBodiesOrReferences, error) {
3460 errors := make([]error, 0)
3461 x := &RequestBodiesOrReferences{}
3462 m, ok := compiler.UnpackMap(in)
3463 if !ok {
3464 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
3465 errors = append(errors, compiler.NewError(context, message))
3466 } else {
3467
3468
3469 x.AdditionalProperties = make([]*NamedRequestBodyOrReference, 0)
3470 for i := 0; i < len(m.Content); i += 2 {
3471 k, ok := compiler.StringForScalarNode(m.Content[i])
3472 if ok {
3473 v := m.Content[i+1]
3474 pair := &NamedRequestBodyOrReference{}
3475 pair.Name = k
3476 var err error
3477 pair.Value, err = NewRequestBodyOrReference(v, compiler.NewContext(k, v, context))
3478 if err != nil {
3479 errors = append(errors, err)
3480 }
3481 x.AdditionalProperties = append(x.AdditionalProperties, pair)
3482 }
3483 }
3484 }
3485 return x, compiler.NewErrorGroupOrNil(errors)
3486 }
3487
3488
3489 func NewRequestBody(in *yaml.Node, context *compiler.Context) (*RequestBody, error) {
3490 errors := make([]error, 0)
3491 x := &RequestBody{}
3492 m, ok := compiler.UnpackMap(in)
3493 if !ok {
3494 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
3495 errors = append(errors, compiler.NewError(context, message))
3496 } else {
3497 requiredKeys := []string{"content"}
3498 missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
3499 if len(missingKeys) > 0 {
3500 message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
3501 errors = append(errors, compiler.NewError(context, message))
3502 }
3503 allowedKeys := []string{"content", "description", "required"}
3504 allowedPatterns := []*regexp.Regexp{pattern1}
3505 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
3506 if len(invalidKeys) > 0 {
3507 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
3508 errors = append(errors, compiler.NewError(context, message))
3509 }
3510
3511 v1 := compiler.MapValueForKey(m, "description")
3512 if v1 != nil {
3513 x.Description, ok = compiler.StringForScalarNode(v1)
3514 if !ok {
3515 message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v1))
3516 errors = append(errors, compiler.NewError(context, message))
3517 }
3518 }
3519
3520 v2 := compiler.MapValueForKey(m, "content")
3521 if v2 != nil {
3522 var err error
3523 x.Content, err = NewMediaTypes(v2, compiler.NewContext("content", v2, context))
3524 if err != nil {
3525 errors = append(errors, err)
3526 }
3527 }
3528
3529 v3 := compiler.MapValueForKey(m, "required")
3530 if v3 != nil {
3531 x.Required, ok = compiler.BoolForScalarNode(v3)
3532 if !ok {
3533 message := fmt.Sprintf("has unexpected value for required: %s", compiler.Display(v3))
3534 errors = append(errors, compiler.NewError(context, message))
3535 }
3536 }
3537
3538
3539 x.SpecificationExtension = make([]*NamedAny, 0)
3540 for i := 0; i < len(m.Content); i += 2 {
3541 k, ok := compiler.StringForScalarNode(m.Content[i])
3542 if ok {
3543 v := m.Content[i+1]
3544 if strings.HasPrefix(k, "x-") {
3545 pair := &NamedAny{}
3546 pair.Name = k
3547 result := &Any{}
3548 handled, resultFromExt, err := compiler.CallExtension(context, v, k)
3549 if handled {
3550 if err != nil {
3551 errors = append(errors, err)
3552 } else {
3553 bytes := compiler.Marshal(v)
3554 result.Yaml = string(bytes)
3555 result.Value = resultFromExt
3556 pair.Value = result
3557 }
3558 } else {
3559 pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
3560 if err != nil {
3561 errors = append(errors, err)
3562 }
3563 }
3564 x.SpecificationExtension = append(x.SpecificationExtension, pair)
3565 }
3566 }
3567 }
3568 }
3569 return x, compiler.NewErrorGroupOrNil(errors)
3570 }
3571
3572
3573 func NewRequestBodyOrReference(in *yaml.Node, context *compiler.Context) (*RequestBodyOrReference, error) {
3574 errors := make([]error, 0)
3575 x := &RequestBodyOrReference{}
3576 matched := false
3577
3578 {
3579 m, ok := compiler.UnpackMap(in)
3580 if ok {
3581
3582 t, matchingError := NewRequestBody(m, compiler.NewContext("requestBody", m, context))
3583 if matchingError == nil {
3584 x.Oneof = &RequestBodyOrReference_RequestBody{RequestBody: t}
3585 matched = true
3586 } else {
3587 errors = append(errors, matchingError)
3588 }
3589 }
3590 }
3591
3592 {
3593 m, ok := compiler.UnpackMap(in)
3594 if ok {
3595
3596 t, matchingError := NewReference(m, compiler.NewContext("reference", m, context))
3597 if matchingError == nil {
3598 x.Oneof = &RequestBodyOrReference_Reference{Reference: t}
3599 matched = true
3600 } else {
3601 errors = append(errors, matchingError)
3602 }
3603 }
3604 }
3605 if matched {
3606
3607 errors = make([]error, 0)
3608 } else {
3609 message := fmt.Sprintf("contains an invalid RequestBodyOrReference")
3610 err := compiler.NewError(context, message)
3611 errors = []error{err}
3612 }
3613 return x, compiler.NewErrorGroupOrNil(errors)
3614 }
3615
3616
3617 func NewResponse(in *yaml.Node, context *compiler.Context) (*Response, error) {
3618 errors := make([]error, 0)
3619 x := &Response{}
3620 m, ok := compiler.UnpackMap(in)
3621 if !ok {
3622 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
3623 errors = append(errors, compiler.NewError(context, message))
3624 } else {
3625 requiredKeys := []string{"description"}
3626 missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
3627 if len(missingKeys) > 0 {
3628 message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
3629 errors = append(errors, compiler.NewError(context, message))
3630 }
3631 allowedKeys := []string{"content", "description", "headers", "links"}
3632 allowedPatterns := []*regexp.Regexp{pattern1}
3633 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
3634 if len(invalidKeys) > 0 {
3635 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
3636 errors = append(errors, compiler.NewError(context, message))
3637 }
3638
3639 v1 := compiler.MapValueForKey(m, "description")
3640 if v1 != nil {
3641 x.Description, ok = compiler.StringForScalarNode(v1)
3642 if !ok {
3643 message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v1))
3644 errors = append(errors, compiler.NewError(context, message))
3645 }
3646 }
3647
3648 v2 := compiler.MapValueForKey(m, "headers")
3649 if v2 != nil {
3650 var err error
3651 x.Headers, err = NewHeadersOrReferences(v2, compiler.NewContext("headers", v2, context))
3652 if err != nil {
3653 errors = append(errors, err)
3654 }
3655 }
3656
3657 v3 := compiler.MapValueForKey(m, "content")
3658 if v3 != nil {
3659 var err error
3660 x.Content, err = NewMediaTypes(v3, compiler.NewContext("content", v3, context))
3661 if err != nil {
3662 errors = append(errors, err)
3663 }
3664 }
3665
3666 v4 := compiler.MapValueForKey(m, "links")
3667 if v4 != nil {
3668 var err error
3669 x.Links, err = NewLinksOrReferences(v4, compiler.NewContext("links", v4, context))
3670 if err != nil {
3671 errors = append(errors, err)
3672 }
3673 }
3674
3675
3676 x.SpecificationExtension = make([]*NamedAny, 0)
3677 for i := 0; i < len(m.Content); i += 2 {
3678 k, ok := compiler.StringForScalarNode(m.Content[i])
3679 if ok {
3680 v := m.Content[i+1]
3681 if strings.HasPrefix(k, "x-") {
3682 pair := &NamedAny{}
3683 pair.Name = k
3684 result := &Any{}
3685 handled, resultFromExt, err := compiler.CallExtension(context, v, k)
3686 if handled {
3687 if err != nil {
3688 errors = append(errors, err)
3689 } else {
3690 bytes := compiler.Marshal(v)
3691 result.Yaml = string(bytes)
3692 result.Value = resultFromExt
3693 pair.Value = result
3694 }
3695 } else {
3696 pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
3697 if err != nil {
3698 errors = append(errors, err)
3699 }
3700 }
3701 x.SpecificationExtension = append(x.SpecificationExtension, pair)
3702 }
3703 }
3704 }
3705 }
3706 return x, compiler.NewErrorGroupOrNil(errors)
3707 }
3708
3709
3710 func NewResponseOrReference(in *yaml.Node, context *compiler.Context) (*ResponseOrReference, error) {
3711 errors := make([]error, 0)
3712 x := &ResponseOrReference{}
3713 matched := false
3714
3715 {
3716 m, ok := compiler.UnpackMap(in)
3717 if ok {
3718
3719 t, matchingError := NewResponse(m, compiler.NewContext("response", m, context))
3720 if matchingError == nil {
3721 x.Oneof = &ResponseOrReference_Response{Response: t}
3722 matched = true
3723 } else {
3724 errors = append(errors, matchingError)
3725 }
3726 }
3727 }
3728
3729 {
3730 m, ok := compiler.UnpackMap(in)
3731 if ok {
3732
3733 t, matchingError := NewReference(m, compiler.NewContext("reference", m, context))
3734 if matchingError == nil {
3735 x.Oneof = &ResponseOrReference_Reference{Reference: t}
3736 matched = true
3737 } else {
3738 errors = append(errors, matchingError)
3739 }
3740 }
3741 }
3742 if matched {
3743
3744 errors = make([]error, 0)
3745 } else {
3746 message := fmt.Sprintf("contains an invalid ResponseOrReference")
3747 err := compiler.NewError(context, message)
3748 errors = []error{err}
3749 }
3750 return x, compiler.NewErrorGroupOrNil(errors)
3751 }
3752
3753
3754 func NewResponses(in *yaml.Node, context *compiler.Context) (*Responses, error) {
3755 errors := make([]error, 0)
3756 x := &Responses{}
3757 m, ok := compiler.UnpackMap(in)
3758 if !ok {
3759 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
3760 errors = append(errors, compiler.NewError(context, message))
3761 } else {
3762 allowedKeys := []string{"default"}
3763 allowedPatterns := []*regexp.Regexp{pattern3, pattern1}
3764 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
3765 if len(invalidKeys) > 0 {
3766 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
3767 errors = append(errors, compiler.NewError(context, message))
3768 }
3769
3770 v1 := compiler.MapValueForKey(m, "default")
3771 if v1 != nil {
3772 var err error
3773 x.Default, err = NewResponseOrReference(v1, compiler.NewContext("default", v1, context))
3774 if err != nil {
3775 errors = append(errors, err)
3776 }
3777 }
3778
3779
3780 x.ResponseOrReference = make([]*NamedResponseOrReference, 0)
3781 for i := 0; i < len(m.Content); i += 2 {
3782 k, ok := compiler.StringForScalarNode(m.Content[i])
3783 if ok {
3784 v := m.Content[i+1]
3785 if pattern3.MatchString(k) {
3786 pair := &NamedResponseOrReference{}
3787 pair.Name = k
3788 var err error
3789 pair.Value, err = NewResponseOrReference(v, compiler.NewContext(k, v, context))
3790 if err != nil {
3791 errors = append(errors, err)
3792 }
3793 x.ResponseOrReference = append(x.ResponseOrReference, pair)
3794 }
3795 }
3796 }
3797
3798
3799 x.SpecificationExtension = make([]*NamedAny, 0)
3800 for i := 0; i < len(m.Content); i += 2 {
3801 k, ok := compiler.StringForScalarNode(m.Content[i])
3802 if ok {
3803 v := m.Content[i+1]
3804 if strings.HasPrefix(k, "x-") {
3805 pair := &NamedAny{}
3806 pair.Name = k
3807 result := &Any{}
3808 handled, resultFromExt, err := compiler.CallExtension(context, v, k)
3809 if handled {
3810 if err != nil {
3811 errors = append(errors, err)
3812 } else {
3813 bytes := compiler.Marshal(v)
3814 result.Yaml = string(bytes)
3815 result.Value = resultFromExt
3816 pair.Value = result
3817 }
3818 } else {
3819 pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
3820 if err != nil {
3821 errors = append(errors, err)
3822 }
3823 }
3824 x.SpecificationExtension = append(x.SpecificationExtension, pair)
3825 }
3826 }
3827 }
3828 }
3829 return x, compiler.NewErrorGroupOrNil(errors)
3830 }
3831
3832
3833 func NewResponsesOrReferences(in *yaml.Node, context *compiler.Context) (*ResponsesOrReferences, error) {
3834 errors := make([]error, 0)
3835 x := &ResponsesOrReferences{}
3836 m, ok := compiler.UnpackMap(in)
3837 if !ok {
3838 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
3839 errors = append(errors, compiler.NewError(context, message))
3840 } else {
3841
3842
3843 x.AdditionalProperties = make([]*NamedResponseOrReference, 0)
3844 for i := 0; i < len(m.Content); i += 2 {
3845 k, ok := compiler.StringForScalarNode(m.Content[i])
3846 if ok {
3847 v := m.Content[i+1]
3848 pair := &NamedResponseOrReference{}
3849 pair.Name = k
3850 var err error
3851 pair.Value, err = NewResponseOrReference(v, compiler.NewContext(k, v, context))
3852 if err != nil {
3853 errors = append(errors, err)
3854 }
3855 x.AdditionalProperties = append(x.AdditionalProperties, pair)
3856 }
3857 }
3858 }
3859 return x, compiler.NewErrorGroupOrNil(errors)
3860 }
3861
3862
3863 func NewSchema(in *yaml.Node, context *compiler.Context) (*Schema, error) {
3864 errors := make([]error, 0)
3865 x := &Schema{}
3866 m, ok := compiler.UnpackMap(in)
3867 if !ok {
3868 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
3869 errors = append(errors, compiler.NewError(context, message))
3870 } else {
3871 allowedKeys := []string{"additionalProperties", "allOf", "anyOf", "default", "deprecated", "description", "discriminator", "enum", "example", "exclusiveMaximum", "exclusiveMinimum", "externalDocs", "format", "items", "maxItems", "maxLength", "maxProperties", "maximum", "minItems", "minLength", "minProperties", "minimum", "multipleOf", "not", "nullable", "oneOf", "pattern", "properties", "readOnly", "required", "title", "type", "uniqueItems", "writeOnly", "xml"}
3872 allowedPatterns := []*regexp.Regexp{pattern1}
3873 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
3874 if len(invalidKeys) > 0 {
3875 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
3876 errors = append(errors, compiler.NewError(context, message))
3877 }
3878
3879 v1 := compiler.MapValueForKey(m, "nullable")
3880 if v1 != nil {
3881 x.Nullable, ok = compiler.BoolForScalarNode(v1)
3882 if !ok {
3883 message := fmt.Sprintf("has unexpected value for nullable: %s", compiler.Display(v1))
3884 errors = append(errors, compiler.NewError(context, message))
3885 }
3886 }
3887
3888 v2 := compiler.MapValueForKey(m, "discriminator")
3889 if v2 != nil {
3890 var err error
3891 x.Discriminator, err = NewDiscriminator(v2, compiler.NewContext("discriminator", v2, context))
3892 if err != nil {
3893 errors = append(errors, err)
3894 }
3895 }
3896
3897 v3 := compiler.MapValueForKey(m, "readOnly")
3898 if v3 != nil {
3899 x.ReadOnly, ok = compiler.BoolForScalarNode(v3)
3900 if !ok {
3901 message := fmt.Sprintf("has unexpected value for readOnly: %s", compiler.Display(v3))
3902 errors = append(errors, compiler.NewError(context, message))
3903 }
3904 }
3905
3906 v4 := compiler.MapValueForKey(m, "writeOnly")
3907 if v4 != nil {
3908 x.WriteOnly, ok = compiler.BoolForScalarNode(v4)
3909 if !ok {
3910 message := fmt.Sprintf("has unexpected value for writeOnly: %s", compiler.Display(v4))
3911 errors = append(errors, compiler.NewError(context, message))
3912 }
3913 }
3914
3915 v5 := compiler.MapValueForKey(m, "xml")
3916 if v5 != nil {
3917 var err error
3918 x.Xml, err = NewXml(v5, compiler.NewContext("xml", v5, context))
3919 if err != nil {
3920 errors = append(errors, err)
3921 }
3922 }
3923
3924 v6 := compiler.MapValueForKey(m, "externalDocs")
3925 if v6 != nil {
3926 var err error
3927 x.ExternalDocs, err = NewExternalDocs(v6, compiler.NewContext("externalDocs", v6, context))
3928 if err != nil {
3929 errors = append(errors, err)
3930 }
3931 }
3932
3933 v7 := compiler.MapValueForKey(m, "example")
3934 if v7 != nil {
3935 var err error
3936 x.Example, err = NewAny(v7, compiler.NewContext("example", v7, context))
3937 if err != nil {
3938 errors = append(errors, err)
3939 }
3940 }
3941
3942 v8 := compiler.MapValueForKey(m, "deprecated")
3943 if v8 != nil {
3944 x.Deprecated, ok = compiler.BoolForScalarNode(v8)
3945 if !ok {
3946 message := fmt.Sprintf("has unexpected value for deprecated: %s", compiler.Display(v8))
3947 errors = append(errors, compiler.NewError(context, message))
3948 }
3949 }
3950
3951 v9 := compiler.MapValueForKey(m, "title")
3952 if v9 != nil {
3953 x.Title, ok = compiler.StringForScalarNode(v9)
3954 if !ok {
3955 message := fmt.Sprintf("has unexpected value for title: %s", compiler.Display(v9))
3956 errors = append(errors, compiler.NewError(context, message))
3957 }
3958 }
3959
3960 v10 := compiler.MapValueForKey(m, "multipleOf")
3961 if v10 != nil {
3962 v, ok := compiler.FloatForScalarNode(v10)
3963 if ok {
3964 x.MultipleOf = v
3965 } else {
3966 message := fmt.Sprintf("has unexpected value for multipleOf: %s", compiler.Display(v10))
3967 errors = append(errors, compiler.NewError(context, message))
3968 }
3969 }
3970
3971 v11 := compiler.MapValueForKey(m, "maximum")
3972 if v11 != nil {
3973 v, ok := compiler.FloatForScalarNode(v11)
3974 if ok {
3975 x.Maximum = v
3976 } else {
3977 message := fmt.Sprintf("has unexpected value for maximum: %s", compiler.Display(v11))
3978 errors = append(errors, compiler.NewError(context, message))
3979 }
3980 }
3981
3982 v12 := compiler.MapValueForKey(m, "exclusiveMaximum")
3983 if v12 != nil {
3984 x.ExclusiveMaximum, ok = compiler.BoolForScalarNode(v12)
3985 if !ok {
3986 message := fmt.Sprintf("has unexpected value for exclusiveMaximum: %s", compiler.Display(v12))
3987 errors = append(errors, compiler.NewError(context, message))
3988 }
3989 }
3990
3991 v13 := compiler.MapValueForKey(m, "minimum")
3992 if v13 != nil {
3993 v, ok := compiler.FloatForScalarNode(v13)
3994 if ok {
3995 x.Minimum = v
3996 } else {
3997 message := fmt.Sprintf("has unexpected value for minimum: %s", compiler.Display(v13))
3998 errors = append(errors, compiler.NewError(context, message))
3999 }
4000 }
4001
4002 v14 := compiler.MapValueForKey(m, "exclusiveMinimum")
4003 if v14 != nil {
4004 x.ExclusiveMinimum, ok = compiler.BoolForScalarNode(v14)
4005 if !ok {
4006 message := fmt.Sprintf("has unexpected value for exclusiveMinimum: %s", compiler.Display(v14))
4007 errors = append(errors, compiler.NewError(context, message))
4008 }
4009 }
4010
4011 v15 := compiler.MapValueForKey(m, "maxLength")
4012 if v15 != nil {
4013 t, ok := compiler.IntForScalarNode(v15)
4014 if ok {
4015 x.MaxLength = int64(t)
4016 } else {
4017 message := fmt.Sprintf("has unexpected value for maxLength: %s", compiler.Display(v15))
4018 errors = append(errors, compiler.NewError(context, message))
4019 }
4020 }
4021
4022 v16 := compiler.MapValueForKey(m, "minLength")
4023 if v16 != nil {
4024 t, ok := compiler.IntForScalarNode(v16)
4025 if ok {
4026 x.MinLength = int64(t)
4027 } else {
4028 message := fmt.Sprintf("has unexpected value for minLength: %s", compiler.Display(v16))
4029 errors = append(errors, compiler.NewError(context, message))
4030 }
4031 }
4032
4033 v17 := compiler.MapValueForKey(m, "pattern")
4034 if v17 != nil {
4035 x.Pattern, ok = compiler.StringForScalarNode(v17)
4036 if !ok {
4037 message := fmt.Sprintf("has unexpected value for pattern: %s", compiler.Display(v17))
4038 errors = append(errors, compiler.NewError(context, message))
4039 }
4040 }
4041
4042 v18 := compiler.MapValueForKey(m, "maxItems")
4043 if v18 != nil {
4044 t, ok := compiler.IntForScalarNode(v18)
4045 if ok {
4046 x.MaxItems = int64(t)
4047 } else {
4048 message := fmt.Sprintf("has unexpected value for maxItems: %s", compiler.Display(v18))
4049 errors = append(errors, compiler.NewError(context, message))
4050 }
4051 }
4052
4053 v19 := compiler.MapValueForKey(m, "minItems")
4054 if v19 != nil {
4055 t, ok := compiler.IntForScalarNode(v19)
4056 if ok {
4057 x.MinItems = int64(t)
4058 } else {
4059 message := fmt.Sprintf("has unexpected value for minItems: %s", compiler.Display(v19))
4060 errors = append(errors, compiler.NewError(context, message))
4061 }
4062 }
4063
4064 v20 := compiler.MapValueForKey(m, "uniqueItems")
4065 if v20 != nil {
4066 x.UniqueItems, ok = compiler.BoolForScalarNode(v20)
4067 if !ok {
4068 message := fmt.Sprintf("has unexpected value for uniqueItems: %s", compiler.Display(v20))
4069 errors = append(errors, compiler.NewError(context, message))
4070 }
4071 }
4072
4073 v21 := compiler.MapValueForKey(m, "maxProperties")
4074 if v21 != nil {
4075 t, ok := compiler.IntForScalarNode(v21)
4076 if ok {
4077 x.MaxProperties = int64(t)
4078 } else {
4079 message := fmt.Sprintf("has unexpected value for maxProperties: %s", compiler.Display(v21))
4080 errors = append(errors, compiler.NewError(context, message))
4081 }
4082 }
4083
4084 v22 := compiler.MapValueForKey(m, "minProperties")
4085 if v22 != nil {
4086 t, ok := compiler.IntForScalarNode(v22)
4087 if ok {
4088 x.MinProperties = int64(t)
4089 } else {
4090 message := fmt.Sprintf("has unexpected value for minProperties: %s", compiler.Display(v22))
4091 errors = append(errors, compiler.NewError(context, message))
4092 }
4093 }
4094
4095 v23 := compiler.MapValueForKey(m, "required")
4096 if v23 != nil {
4097 v, ok := compiler.SequenceNodeForNode(v23)
4098 if ok {
4099 x.Required = compiler.StringArrayForSequenceNode(v)
4100 } else {
4101 message := fmt.Sprintf("has unexpected value for required: %s", compiler.Display(v23))
4102 errors = append(errors, compiler.NewError(context, message))
4103 }
4104 }
4105
4106 v24 := compiler.MapValueForKey(m, "enum")
4107 if v24 != nil {
4108
4109 x.Enum = make([]*Any, 0)
4110 a, ok := compiler.SequenceNodeForNode(v24)
4111 if ok {
4112 for _, item := range a.Content {
4113 y, err := NewAny(item, compiler.NewContext("enum", item, context))
4114 if err != nil {
4115 errors = append(errors, err)
4116 }
4117 x.Enum = append(x.Enum, y)
4118 }
4119 }
4120 }
4121
4122 v25 := compiler.MapValueForKey(m, "type")
4123 if v25 != nil {
4124 x.Type, ok = compiler.StringForScalarNode(v25)
4125 if !ok {
4126 message := fmt.Sprintf("has unexpected value for type: %s", compiler.Display(v25))
4127 errors = append(errors, compiler.NewError(context, message))
4128 }
4129 }
4130
4131 v26 := compiler.MapValueForKey(m, "allOf")
4132 if v26 != nil {
4133
4134 x.AllOf = make([]*SchemaOrReference, 0)
4135 a, ok := compiler.SequenceNodeForNode(v26)
4136 if ok {
4137 for _, item := range a.Content {
4138 y, err := NewSchemaOrReference(item, compiler.NewContext("allOf", item, context))
4139 if err != nil {
4140 errors = append(errors, err)
4141 }
4142 x.AllOf = append(x.AllOf, y)
4143 }
4144 }
4145 }
4146
4147 v27 := compiler.MapValueForKey(m, "oneOf")
4148 if v27 != nil {
4149
4150 x.OneOf = make([]*SchemaOrReference, 0)
4151 a, ok := compiler.SequenceNodeForNode(v27)
4152 if ok {
4153 for _, item := range a.Content {
4154 y, err := NewSchemaOrReference(item, compiler.NewContext("oneOf", item, context))
4155 if err != nil {
4156 errors = append(errors, err)
4157 }
4158 x.OneOf = append(x.OneOf, y)
4159 }
4160 }
4161 }
4162
4163 v28 := compiler.MapValueForKey(m, "anyOf")
4164 if v28 != nil {
4165
4166 x.AnyOf = make([]*SchemaOrReference, 0)
4167 a, ok := compiler.SequenceNodeForNode(v28)
4168 if ok {
4169 for _, item := range a.Content {
4170 y, err := NewSchemaOrReference(item, compiler.NewContext("anyOf", item, context))
4171 if err != nil {
4172 errors = append(errors, err)
4173 }
4174 x.AnyOf = append(x.AnyOf, y)
4175 }
4176 }
4177 }
4178
4179 v29 := compiler.MapValueForKey(m, "not")
4180 if v29 != nil {
4181 var err error
4182 x.Not, err = NewSchema(v29, compiler.NewContext("not", v29, context))
4183 if err != nil {
4184 errors = append(errors, err)
4185 }
4186 }
4187
4188 v30 := compiler.MapValueForKey(m, "items")
4189 if v30 != nil {
4190 var err error
4191 x.Items, err = NewItemsItem(v30, compiler.NewContext("items", v30, context))
4192 if err != nil {
4193 errors = append(errors, err)
4194 }
4195 }
4196
4197 v31 := compiler.MapValueForKey(m, "properties")
4198 if v31 != nil {
4199 var err error
4200 x.Properties, err = NewProperties(v31, compiler.NewContext("properties", v31, context))
4201 if err != nil {
4202 errors = append(errors, err)
4203 }
4204 }
4205
4206 v32 := compiler.MapValueForKey(m, "additionalProperties")
4207 if v32 != nil {
4208 var err error
4209 x.AdditionalProperties, err = NewAdditionalPropertiesItem(v32, compiler.NewContext("additionalProperties", v32, context))
4210 if err != nil {
4211 errors = append(errors, err)
4212 }
4213 }
4214
4215 v33 := compiler.MapValueForKey(m, "default")
4216 if v33 != nil {
4217 var err error
4218 x.Default, err = NewDefaultType(v33, compiler.NewContext("default", v33, context))
4219 if err != nil {
4220 errors = append(errors, err)
4221 }
4222 }
4223
4224 v34 := compiler.MapValueForKey(m, "description")
4225 if v34 != nil {
4226 x.Description, ok = compiler.StringForScalarNode(v34)
4227 if !ok {
4228 message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v34))
4229 errors = append(errors, compiler.NewError(context, message))
4230 }
4231 }
4232
4233 v35 := compiler.MapValueForKey(m, "format")
4234 if v35 != nil {
4235 x.Format, ok = compiler.StringForScalarNode(v35)
4236 if !ok {
4237 message := fmt.Sprintf("has unexpected value for format: %s", compiler.Display(v35))
4238 errors = append(errors, compiler.NewError(context, message))
4239 }
4240 }
4241
4242
4243 x.SpecificationExtension = make([]*NamedAny, 0)
4244 for i := 0; i < len(m.Content); i += 2 {
4245 k, ok := compiler.StringForScalarNode(m.Content[i])
4246 if ok {
4247 v := m.Content[i+1]
4248 if strings.HasPrefix(k, "x-") {
4249 pair := &NamedAny{}
4250 pair.Name = k
4251 result := &Any{}
4252 handled, resultFromExt, err := compiler.CallExtension(context, v, k)
4253 if handled {
4254 if err != nil {
4255 errors = append(errors, err)
4256 } else {
4257 bytes := compiler.Marshal(v)
4258 result.Yaml = string(bytes)
4259 result.Value = resultFromExt
4260 pair.Value = result
4261 }
4262 } else {
4263 pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
4264 if err != nil {
4265 errors = append(errors, err)
4266 }
4267 }
4268 x.SpecificationExtension = append(x.SpecificationExtension, pair)
4269 }
4270 }
4271 }
4272 }
4273 return x, compiler.NewErrorGroupOrNil(errors)
4274 }
4275
4276
4277 func NewSchemaOrReference(in *yaml.Node, context *compiler.Context) (*SchemaOrReference, error) {
4278 errors := make([]error, 0)
4279 x := &SchemaOrReference{}
4280 matched := false
4281
4282 {
4283 m, ok := compiler.UnpackMap(in)
4284 if ok {
4285
4286 t, matchingError := NewSchema(m, compiler.NewContext("schema", m, context))
4287 if matchingError == nil {
4288 x.Oneof = &SchemaOrReference_Schema{Schema: t}
4289 matched = true
4290 } else {
4291 errors = append(errors, matchingError)
4292 }
4293 }
4294 }
4295
4296 {
4297 m, ok := compiler.UnpackMap(in)
4298 if ok {
4299
4300 t, matchingError := NewReference(m, compiler.NewContext("reference", m, context))
4301 if matchingError == nil {
4302 x.Oneof = &SchemaOrReference_Reference{Reference: t}
4303 matched = true
4304 } else {
4305 errors = append(errors, matchingError)
4306 }
4307 }
4308 }
4309 if matched {
4310
4311 errors = make([]error, 0)
4312 } else {
4313 message := fmt.Sprintf("contains an invalid SchemaOrReference")
4314 err := compiler.NewError(context, message)
4315 errors = []error{err}
4316 }
4317 return x, compiler.NewErrorGroupOrNil(errors)
4318 }
4319
4320
4321 func NewSchemasOrReferences(in *yaml.Node, context *compiler.Context) (*SchemasOrReferences, error) {
4322 errors := make([]error, 0)
4323 x := &SchemasOrReferences{}
4324 m, ok := compiler.UnpackMap(in)
4325 if !ok {
4326 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
4327 errors = append(errors, compiler.NewError(context, message))
4328 } else {
4329
4330
4331 x.AdditionalProperties = make([]*NamedSchemaOrReference, 0)
4332 for i := 0; i < len(m.Content); i += 2 {
4333 k, ok := compiler.StringForScalarNode(m.Content[i])
4334 if ok {
4335 v := m.Content[i+1]
4336 pair := &NamedSchemaOrReference{}
4337 pair.Name = k
4338 var err error
4339 pair.Value, err = NewSchemaOrReference(v, compiler.NewContext(k, v, context))
4340 if err != nil {
4341 errors = append(errors, err)
4342 }
4343 x.AdditionalProperties = append(x.AdditionalProperties, pair)
4344 }
4345 }
4346 }
4347 return x, compiler.NewErrorGroupOrNil(errors)
4348 }
4349
4350
4351 func NewSecurityRequirement(in *yaml.Node, context *compiler.Context) (*SecurityRequirement, error) {
4352 errors := make([]error, 0)
4353 x := &SecurityRequirement{}
4354 m, ok := compiler.UnpackMap(in)
4355 if !ok {
4356 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
4357 errors = append(errors, compiler.NewError(context, message))
4358 } else {
4359
4360
4361 x.AdditionalProperties = make([]*NamedStringArray, 0)
4362 for i := 0; i < len(m.Content); i += 2 {
4363 k, ok := compiler.StringForScalarNode(m.Content[i])
4364 if ok {
4365 v := m.Content[i+1]
4366 pair := &NamedStringArray{}
4367 pair.Name = k
4368 var err error
4369 pair.Value, err = NewStringArray(v, compiler.NewContext(k, v, context))
4370 if err != nil {
4371 errors = append(errors, err)
4372 }
4373 x.AdditionalProperties = append(x.AdditionalProperties, pair)
4374 }
4375 }
4376 }
4377 return x, compiler.NewErrorGroupOrNil(errors)
4378 }
4379
4380
4381 func NewSecurityScheme(in *yaml.Node, context *compiler.Context) (*SecurityScheme, error) {
4382 errors := make([]error, 0)
4383 x := &SecurityScheme{}
4384 m, ok := compiler.UnpackMap(in)
4385 if !ok {
4386 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
4387 errors = append(errors, compiler.NewError(context, message))
4388 } else {
4389 requiredKeys := []string{"type"}
4390 missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
4391 if len(missingKeys) > 0 {
4392 message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
4393 errors = append(errors, compiler.NewError(context, message))
4394 }
4395 allowedKeys := []string{"bearerFormat", "description", "flows", "in", "name", "openIdConnectUrl", "scheme", "type"}
4396 allowedPatterns := []*regexp.Regexp{pattern1}
4397 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
4398 if len(invalidKeys) > 0 {
4399 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
4400 errors = append(errors, compiler.NewError(context, message))
4401 }
4402
4403 v1 := compiler.MapValueForKey(m, "type")
4404 if v1 != nil {
4405 x.Type, ok = compiler.StringForScalarNode(v1)
4406 if !ok {
4407 message := fmt.Sprintf("has unexpected value for type: %s", compiler.Display(v1))
4408 errors = append(errors, compiler.NewError(context, message))
4409 }
4410 }
4411
4412 v2 := compiler.MapValueForKey(m, "description")
4413 if v2 != nil {
4414 x.Description, ok = compiler.StringForScalarNode(v2)
4415 if !ok {
4416 message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v2))
4417 errors = append(errors, compiler.NewError(context, message))
4418 }
4419 }
4420
4421 v3 := compiler.MapValueForKey(m, "name")
4422 if v3 != nil {
4423 x.Name, ok = compiler.StringForScalarNode(v3)
4424 if !ok {
4425 message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v3))
4426 errors = append(errors, compiler.NewError(context, message))
4427 }
4428 }
4429
4430 v4 := compiler.MapValueForKey(m, "in")
4431 if v4 != nil {
4432 x.In, ok = compiler.StringForScalarNode(v4)
4433 if !ok {
4434 message := fmt.Sprintf("has unexpected value for in: %s", compiler.Display(v4))
4435 errors = append(errors, compiler.NewError(context, message))
4436 }
4437 }
4438
4439 v5 := compiler.MapValueForKey(m, "scheme")
4440 if v5 != nil {
4441 x.Scheme, ok = compiler.StringForScalarNode(v5)
4442 if !ok {
4443 message := fmt.Sprintf("has unexpected value for scheme: %s", compiler.Display(v5))
4444 errors = append(errors, compiler.NewError(context, message))
4445 }
4446 }
4447
4448 v6 := compiler.MapValueForKey(m, "bearerFormat")
4449 if v6 != nil {
4450 x.BearerFormat, ok = compiler.StringForScalarNode(v6)
4451 if !ok {
4452 message := fmt.Sprintf("has unexpected value for bearerFormat: %s", compiler.Display(v6))
4453 errors = append(errors, compiler.NewError(context, message))
4454 }
4455 }
4456
4457 v7 := compiler.MapValueForKey(m, "flows")
4458 if v7 != nil {
4459 var err error
4460 x.Flows, err = NewOauthFlows(v7, compiler.NewContext("flows", v7, context))
4461 if err != nil {
4462 errors = append(errors, err)
4463 }
4464 }
4465
4466 v8 := compiler.MapValueForKey(m, "openIdConnectUrl")
4467 if v8 != nil {
4468 x.OpenIdConnectUrl, ok = compiler.StringForScalarNode(v8)
4469 if !ok {
4470 message := fmt.Sprintf("has unexpected value for openIdConnectUrl: %s", compiler.Display(v8))
4471 errors = append(errors, compiler.NewError(context, message))
4472 }
4473 }
4474
4475
4476 x.SpecificationExtension = make([]*NamedAny, 0)
4477 for i := 0; i < len(m.Content); i += 2 {
4478 k, ok := compiler.StringForScalarNode(m.Content[i])
4479 if ok {
4480 v := m.Content[i+1]
4481 if strings.HasPrefix(k, "x-") {
4482 pair := &NamedAny{}
4483 pair.Name = k
4484 result := &Any{}
4485 handled, resultFromExt, err := compiler.CallExtension(context, v, k)
4486 if handled {
4487 if err != nil {
4488 errors = append(errors, err)
4489 } else {
4490 bytes := compiler.Marshal(v)
4491 result.Yaml = string(bytes)
4492 result.Value = resultFromExt
4493 pair.Value = result
4494 }
4495 } else {
4496 pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
4497 if err != nil {
4498 errors = append(errors, err)
4499 }
4500 }
4501 x.SpecificationExtension = append(x.SpecificationExtension, pair)
4502 }
4503 }
4504 }
4505 }
4506 return x, compiler.NewErrorGroupOrNil(errors)
4507 }
4508
4509
4510 func NewSecuritySchemeOrReference(in *yaml.Node, context *compiler.Context) (*SecuritySchemeOrReference, error) {
4511 errors := make([]error, 0)
4512 x := &SecuritySchemeOrReference{}
4513 matched := false
4514
4515 {
4516 m, ok := compiler.UnpackMap(in)
4517 if ok {
4518
4519 t, matchingError := NewSecurityScheme(m, compiler.NewContext("securityScheme", m, context))
4520 if matchingError == nil {
4521 x.Oneof = &SecuritySchemeOrReference_SecurityScheme{SecurityScheme: t}
4522 matched = true
4523 } else {
4524 errors = append(errors, matchingError)
4525 }
4526 }
4527 }
4528
4529 {
4530 m, ok := compiler.UnpackMap(in)
4531 if ok {
4532
4533 t, matchingError := NewReference(m, compiler.NewContext("reference", m, context))
4534 if matchingError == nil {
4535 x.Oneof = &SecuritySchemeOrReference_Reference{Reference: t}
4536 matched = true
4537 } else {
4538 errors = append(errors, matchingError)
4539 }
4540 }
4541 }
4542 if matched {
4543
4544 errors = make([]error, 0)
4545 } else {
4546 message := fmt.Sprintf("contains an invalid SecuritySchemeOrReference")
4547 err := compiler.NewError(context, message)
4548 errors = []error{err}
4549 }
4550 return x, compiler.NewErrorGroupOrNil(errors)
4551 }
4552
4553
4554 func NewSecuritySchemesOrReferences(in *yaml.Node, context *compiler.Context) (*SecuritySchemesOrReferences, error) {
4555 errors := make([]error, 0)
4556 x := &SecuritySchemesOrReferences{}
4557 m, ok := compiler.UnpackMap(in)
4558 if !ok {
4559 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
4560 errors = append(errors, compiler.NewError(context, message))
4561 } else {
4562
4563
4564 x.AdditionalProperties = make([]*NamedSecuritySchemeOrReference, 0)
4565 for i := 0; i < len(m.Content); i += 2 {
4566 k, ok := compiler.StringForScalarNode(m.Content[i])
4567 if ok {
4568 v := m.Content[i+1]
4569 pair := &NamedSecuritySchemeOrReference{}
4570 pair.Name = k
4571 var err error
4572 pair.Value, err = NewSecuritySchemeOrReference(v, compiler.NewContext(k, v, context))
4573 if err != nil {
4574 errors = append(errors, err)
4575 }
4576 x.AdditionalProperties = append(x.AdditionalProperties, pair)
4577 }
4578 }
4579 }
4580 return x, compiler.NewErrorGroupOrNil(errors)
4581 }
4582
4583
4584 func NewServer(in *yaml.Node, context *compiler.Context) (*Server, error) {
4585 errors := make([]error, 0)
4586 x := &Server{}
4587 m, ok := compiler.UnpackMap(in)
4588 if !ok {
4589 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
4590 errors = append(errors, compiler.NewError(context, message))
4591 } else {
4592 requiredKeys := []string{"url"}
4593 missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
4594 if len(missingKeys) > 0 {
4595 message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
4596 errors = append(errors, compiler.NewError(context, message))
4597 }
4598 allowedKeys := []string{"description", "url", "variables"}
4599 allowedPatterns := []*regexp.Regexp{pattern1}
4600 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
4601 if len(invalidKeys) > 0 {
4602 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
4603 errors = append(errors, compiler.NewError(context, message))
4604 }
4605
4606 v1 := compiler.MapValueForKey(m, "url")
4607 if v1 != nil {
4608 x.Url, ok = compiler.StringForScalarNode(v1)
4609 if !ok {
4610 message := fmt.Sprintf("has unexpected value for url: %s", compiler.Display(v1))
4611 errors = append(errors, compiler.NewError(context, message))
4612 }
4613 }
4614
4615 v2 := compiler.MapValueForKey(m, "description")
4616 if v2 != nil {
4617 x.Description, ok = compiler.StringForScalarNode(v2)
4618 if !ok {
4619 message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v2))
4620 errors = append(errors, compiler.NewError(context, message))
4621 }
4622 }
4623
4624 v3 := compiler.MapValueForKey(m, "variables")
4625 if v3 != nil {
4626 var err error
4627 x.Variables, err = NewServerVariables(v3, compiler.NewContext("variables", v3, context))
4628 if err != nil {
4629 errors = append(errors, err)
4630 }
4631 }
4632
4633
4634 x.SpecificationExtension = make([]*NamedAny, 0)
4635 for i := 0; i < len(m.Content); i += 2 {
4636 k, ok := compiler.StringForScalarNode(m.Content[i])
4637 if ok {
4638 v := m.Content[i+1]
4639 if strings.HasPrefix(k, "x-") {
4640 pair := &NamedAny{}
4641 pair.Name = k
4642 result := &Any{}
4643 handled, resultFromExt, err := compiler.CallExtension(context, v, k)
4644 if handled {
4645 if err != nil {
4646 errors = append(errors, err)
4647 } else {
4648 bytes := compiler.Marshal(v)
4649 result.Yaml = string(bytes)
4650 result.Value = resultFromExt
4651 pair.Value = result
4652 }
4653 } else {
4654 pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
4655 if err != nil {
4656 errors = append(errors, err)
4657 }
4658 }
4659 x.SpecificationExtension = append(x.SpecificationExtension, pair)
4660 }
4661 }
4662 }
4663 }
4664 return x, compiler.NewErrorGroupOrNil(errors)
4665 }
4666
4667
4668 func NewServerVariable(in *yaml.Node, context *compiler.Context) (*ServerVariable, error) {
4669 errors := make([]error, 0)
4670 x := &ServerVariable{}
4671 m, ok := compiler.UnpackMap(in)
4672 if !ok {
4673 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
4674 errors = append(errors, compiler.NewError(context, message))
4675 } else {
4676 requiredKeys := []string{"default"}
4677 missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
4678 if len(missingKeys) > 0 {
4679 message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
4680 errors = append(errors, compiler.NewError(context, message))
4681 }
4682 allowedKeys := []string{"default", "description", "enum"}
4683 allowedPatterns := []*regexp.Regexp{pattern1}
4684 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
4685 if len(invalidKeys) > 0 {
4686 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
4687 errors = append(errors, compiler.NewError(context, message))
4688 }
4689
4690 v1 := compiler.MapValueForKey(m, "enum")
4691 if v1 != nil {
4692 v, ok := compiler.SequenceNodeForNode(v1)
4693 if ok {
4694 x.Enum = compiler.StringArrayForSequenceNode(v)
4695 } else {
4696 message := fmt.Sprintf("has unexpected value for enum: %s", compiler.Display(v1))
4697 errors = append(errors, compiler.NewError(context, message))
4698 }
4699 }
4700
4701 v2 := compiler.MapValueForKey(m, "default")
4702 if v2 != nil {
4703 x.Default, ok = compiler.StringForScalarNode(v2)
4704 if !ok {
4705 message := fmt.Sprintf("has unexpected value for default: %s", compiler.Display(v2))
4706 errors = append(errors, compiler.NewError(context, message))
4707 }
4708 }
4709
4710 v3 := compiler.MapValueForKey(m, "description")
4711 if v3 != nil {
4712 x.Description, ok = compiler.StringForScalarNode(v3)
4713 if !ok {
4714 message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v3))
4715 errors = append(errors, compiler.NewError(context, message))
4716 }
4717 }
4718
4719
4720 x.SpecificationExtension = make([]*NamedAny, 0)
4721 for i := 0; i < len(m.Content); i += 2 {
4722 k, ok := compiler.StringForScalarNode(m.Content[i])
4723 if ok {
4724 v := m.Content[i+1]
4725 if strings.HasPrefix(k, "x-") {
4726 pair := &NamedAny{}
4727 pair.Name = k
4728 result := &Any{}
4729 handled, resultFromExt, err := compiler.CallExtension(context, v, k)
4730 if handled {
4731 if err != nil {
4732 errors = append(errors, err)
4733 } else {
4734 bytes := compiler.Marshal(v)
4735 result.Yaml = string(bytes)
4736 result.Value = resultFromExt
4737 pair.Value = result
4738 }
4739 } else {
4740 pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
4741 if err != nil {
4742 errors = append(errors, err)
4743 }
4744 }
4745 x.SpecificationExtension = append(x.SpecificationExtension, pair)
4746 }
4747 }
4748 }
4749 }
4750 return x, compiler.NewErrorGroupOrNil(errors)
4751 }
4752
4753
4754 func NewServerVariables(in *yaml.Node, context *compiler.Context) (*ServerVariables, error) {
4755 errors := make([]error, 0)
4756 x := &ServerVariables{}
4757 m, ok := compiler.UnpackMap(in)
4758 if !ok {
4759 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
4760 errors = append(errors, compiler.NewError(context, message))
4761 } else {
4762
4763
4764 x.AdditionalProperties = make([]*NamedServerVariable, 0)
4765 for i := 0; i < len(m.Content); i += 2 {
4766 k, ok := compiler.StringForScalarNode(m.Content[i])
4767 if ok {
4768 v := m.Content[i+1]
4769 pair := &NamedServerVariable{}
4770 pair.Name = k
4771 var err error
4772 pair.Value, err = NewServerVariable(v, compiler.NewContext(k, v, context))
4773 if err != nil {
4774 errors = append(errors, err)
4775 }
4776 x.AdditionalProperties = append(x.AdditionalProperties, pair)
4777 }
4778 }
4779 }
4780 return x, compiler.NewErrorGroupOrNil(errors)
4781 }
4782
4783
4784 func NewSpecificationExtension(in *yaml.Node, context *compiler.Context) (*SpecificationExtension, error) {
4785 errors := make([]error, 0)
4786 x := &SpecificationExtension{}
4787 matched := false
4788 switch in.Tag {
4789 case "!!bool":
4790 var v bool
4791 v, matched = compiler.BoolForScalarNode(in)
4792 x.Oneof = &SpecificationExtension_Boolean{Boolean: v}
4793 case "!!str":
4794 var v string
4795 v, matched = compiler.StringForScalarNode(in)
4796 x.Oneof = &SpecificationExtension_String_{String_: v}
4797 case "!!float":
4798 var v float64
4799 v, matched = compiler.FloatForScalarNode(in)
4800 x.Oneof = &SpecificationExtension_Number{Number: v}
4801 case "!!int":
4802 var v int64
4803 v, matched = compiler.IntForScalarNode(in)
4804 x.Oneof = &SpecificationExtension_Number{Number: float64(v)}
4805 }
4806 if matched {
4807
4808 errors = make([]error, 0)
4809 }
4810 return x, compiler.NewErrorGroupOrNil(errors)
4811 }
4812
4813
4814 func NewStringArray(in *yaml.Node, context *compiler.Context) (*StringArray, error) {
4815 errors := make([]error, 0)
4816 x := &StringArray{}
4817 x.Value = make([]string, 0)
4818 for _, node := range in.Content {
4819 s, _ := compiler.StringForScalarNode(node)
4820 x.Value = append(x.Value, s)
4821 }
4822 return x, compiler.NewErrorGroupOrNil(errors)
4823 }
4824
4825
4826 func NewStrings(in *yaml.Node, context *compiler.Context) (*Strings, error) {
4827 errors := make([]error, 0)
4828 x := &Strings{}
4829 m, ok := compiler.UnpackMap(in)
4830 if !ok {
4831 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
4832 errors = append(errors, compiler.NewError(context, message))
4833 } else {
4834
4835
4836 x.AdditionalProperties = make([]*NamedString, 0)
4837 for i := 0; i < len(m.Content); i += 2 {
4838 k, ok := compiler.StringForScalarNode(m.Content[i])
4839 if ok {
4840 v := m.Content[i+1]
4841 pair := &NamedString{}
4842 pair.Name = k
4843 pair.Value, _ = compiler.StringForScalarNode(v)
4844 x.AdditionalProperties = append(x.AdditionalProperties, pair)
4845 }
4846 }
4847 }
4848 return x, compiler.NewErrorGroupOrNil(errors)
4849 }
4850
4851
4852 func NewTag(in *yaml.Node, context *compiler.Context) (*Tag, error) {
4853 errors := make([]error, 0)
4854 x := &Tag{}
4855 m, ok := compiler.UnpackMap(in)
4856 if !ok {
4857 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
4858 errors = append(errors, compiler.NewError(context, message))
4859 } else {
4860 requiredKeys := []string{"name"}
4861 missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
4862 if len(missingKeys) > 0 {
4863 message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
4864 errors = append(errors, compiler.NewError(context, message))
4865 }
4866 allowedKeys := []string{"description", "externalDocs", "name"}
4867 allowedPatterns := []*regexp.Regexp{pattern1}
4868 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
4869 if len(invalidKeys) > 0 {
4870 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
4871 errors = append(errors, compiler.NewError(context, message))
4872 }
4873
4874 v1 := compiler.MapValueForKey(m, "name")
4875 if v1 != nil {
4876 x.Name, ok = compiler.StringForScalarNode(v1)
4877 if !ok {
4878 message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
4879 errors = append(errors, compiler.NewError(context, message))
4880 }
4881 }
4882
4883 v2 := compiler.MapValueForKey(m, "description")
4884 if v2 != nil {
4885 x.Description, ok = compiler.StringForScalarNode(v2)
4886 if !ok {
4887 message := fmt.Sprintf("has unexpected value for description: %s", compiler.Display(v2))
4888 errors = append(errors, compiler.NewError(context, message))
4889 }
4890 }
4891
4892 v3 := compiler.MapValueForKey(m, "externalDocs")
4893 if v3 != nil {
4894 var err error
4895 x.ExternalDocs, err = NewExternalDocs(v3, compiler.NewContext("externalDocs", v3, context))
4896 if err != nil {
4897 errors = append(errors, err)
4898 }
4899 }
4900
4901
4902 x.SpecificationExtension = make([]*NamedAny, 0)
4903 for i := 0; i < len(m.Content); i += 2 {
4904 k, ok := compiler.StringForScalarNode(m.Content[i])
4905 if ok {
4906 v := m.Content[i+1]
4907 if strings.HasPrefix(k, "x-") {
4908 pair := &NamedAny{}
4909 pair.Name = k
4910 result := &Any{}
4911 handled, resultFromExt, err := compiler.CallExtension(context, v, k)
4912 if handled {
4913 if err != nil {
4914 errors = append(errors, err)
4915 } else {
4916 bytes := compiler.Marshal(v)
4917 result.Yaml = string(bytes)
4918 result.Value = resultFromExt
4919 pair.Value = result
4920 }
4921 } else {
4922 pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
4923 if err != nil {
4924 errors = append(errors, err)
4925 }
4926 }
4927 x.SpecificationExtension = append(x.SpecificationExtension, pair)
4928 }
4929 }
4930 }
4931 }
4932 return x, compiler.NewErrorGroupOrNil(errors)
4933 }
4934
4935
4936 func NewXml(in *yaml.Node, context *compiler.Context) (*Xml, error) {
4937 errors := make([]error, 0)
4938 x := &Xml{}
4939 m, ok := compiler.UnpackMap(in)
4940 if !ok {
4941 message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
4942 errors = append(errors, compiler.NewError(context, message))
4943 } else {
4944 allowedKeys := []string{"attribute", "name", "namespace", "prefix", "wrapped"}
4945 allowedPatterns := []*regexp.Regexp{pattern1}
4946 invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
4947 if len(invalidKeys) > 0 {
4948 message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
4949 errors = append(errors, compiler.NewError(context, message))
4950 }
4951
4952 v1 := compiler.MapValueForKey(m, "name")
4953 if v1 != nil {
4954 x.Name, ok = compiler.StringForScalarNode(v1)
4955 if !ok {
4956 message := fmt.Sprintf("has unexpected value for name: %s", compiler.Display(v1))
4957 errors = append(errors, compiler.NewError(context, message))
4958 }
4959 }
4960
4961 v2 := compiler.MapValueForKey(m, "namespace")
4962 if v2 != nil {
4963 x.Namespace, ok = compiler.StringForScalarNode(v2)
4964 if !ok {
4965 message := fmt.Sprintf("has unexpected value for namespace: %s", compiler.Display(v2))
4966 errors = append(errors, compiler.NewError(context, message))
4967 }
4968 }
4969
4970 v3 := compiler.MapValueForKey(m, "prefix")
4971 if v3 != nil {
4972 x.Prefix, ok = compiler.StringForScalarNode(v3)
4973 if !ok {
4974 message := fmt.Sprintf("has unexpected value for prefix: %s", compiler.Display(v3))
4975 errors = append(errors, compiler.NewError(context, message))
4976 }
4977 }
4978
4979 v4 := compiler.MapValueForKey(m, "attribute")
4980 if v4 != nil {
4981 x.Attribute, ok = compiler.BoolForScalarNode(v4)
4982 if !ok {
4983 message := fmt.Sprintf("has unexpected value for attribute: %s", compiler.Display(v4))
4984 errors = append(errors, compiler.NewError(context, message))
4985 }
4986 }
4987
4988 v5 := compiler.MapValueForKey(m, "wrapped")
4989 if v5 != nil {
4990 x.Wrapped, ok = compiler.BoolForScalarNode(v5)
4991 if !ok {
4992 message := fmt.Sprintf("has unexpected value for wrapped: %s", compiler.Display(v5))
4993 errors = append(errors, compiler.NewError(context, message))
4994 }
4995 }
4996
4997
4998 x.SpecificationExtension = make([]*NamedAny, 0)
4999 for i := 0; i < len(m.Content); i += 2 {
5000 k, ok := compiler.StringForScalarNode(m.Content[i])
5001 if ok {
5002 v := m.Content[i+1]
5003 if strings.HasPrefix(k, "x-") {
5004 pair := &NamedAny{}
5005 pair.Name = k
5006 result := &Any{}
5007 handled, resultFromExt, err := compiler.CallExtension(context, v, k)
5008 if handled {
5009 if err != nil {
5010 errors = append(errors, err)
5011 } else {
5012 bytes := compiler.Marshal(v)
5013 result.Yaml = string(bytes)
5014 result.Value = resultFromExt
5015 pair.Value = result
5016 }
5017 } else {
5018 pair.Value, err = NewAny(v, compiler.NewContext(k, v, context))
5019 if err != nil {
5020 errors = append(errors, err)
5021 }
5022 }
5023 x.SpecificationExtension = append(x.SpecificationExtension, pair)
5024 }
5025 }
5026 }
5027 }
5028 return x, compiler.NewErrorGroupOrNil(errors)
5029 }
5030
5031
5032 func (m *AdditionalPropertiesItem) ResolveReferences(root string) (*yaml.Node, error) {
5033 errors := make([]error, 0)
5034 {
5035 p, ok := m.Oneof.(*AdditionalPropertiesItem_SchemaOrReference)
5036 if ok {
5037 _, err := p.SchemaOrReference.ResolveReferences(root)
5038 if err != nil {
5039 return nil, err
5040 }
5041 }
5042 }
5043 return nil, compiler.NewErrorGroupOrNil(errors)
5044 }
5045
5046
5047 func (m *Any) ResolveReferences(root string) (*yaml.Node, error) {
5048 errors := make([]error, 0)
5049 return nil, compiler.NewErrorGroupOrNil(errors)
5050 }
5051
5052
5053 func (m *AnyOrExpression) ResolveReferences(root string) (*yaml.Node, error) {
5054 errors := make([]error, 0)
5055 {
5056 p, ok := m.Oneof.(*AnyOrExpression_Any)
5057 if ok {
5058 _, err := p.Any.ResolveReferences(root)
5059 if err != nil {
5060 return nil, err
5061 }
5062 }
5063 }
5064 {
5065 p, ok := m.Oneof.(*AnyOrExpression_Expression)
5066 if ok {
5067 _, err := p.Expression.ResolveReferences(root)
5068 if err != nil {
5069 return nil, err
5070 }
5071 }
5072 }
5073 return nil, compiler.NewErrorGroupOrNil(errors)
5074 }
5075
5076
5077 func (m *Callback) ResolveReferences(root string) (*yaml.Node, error) {
5078 errors := make([]error, 0)
5079 for _, item := range m.Path {
5080 if item != nil {
5081 _, err := item.ResolveReferences(root)
5082 if err != nil {
5083 errors = append(errors, err)
5084 }
5085 }
5086 }
5087 for _, item := range m.SpecificationExtension {
5088 if item != nil {
5089 _, err := item.ResolveReferences(root)
5090 if err != nil {
5091 errors = append(errors, err)
5092 }
5093 }
5094 }
5095 return nil, compiler.NewErrorGroupOrNil(errors)
5096 }
5097
5098
5099 func (m *CallbackOrReference) ResolveReferences(root string) (*yaml.Node, error) {
5100 errors := make([]error, 0)
5101 {
5102 p, ok := m.Oneof.(*CallbackOrReference_Callback)
5103 if ok {
5104 _, err := p.Callback.ResolveReferences(root)
5105 if err != nil {
5106 return nil, err
5107 }
5108 }
5109 }
5110 {
5111 p, ok := m.Oneof.(*CallbackOrReference_Reference)
5112 if ok {
5113 _, err := p.Reference.ResolveReferences(root)
5114 if err != nil {
5115 return nil, err
5116 }
5117 }
5118 }
5119 return nil, compiler.NewErrorGroupOrNil(errors)
5120 }
5121
5122
5123 func (m *CallbacksOrReferences) ResolveReferences(root string) (*yaml.Node, error) {
5124 errors := make([]error, 0)
5125 for _, item := range m.AdditionalProperties {
5126 if item != nil {
5127 _, err := item.ResolveReferences(root)
5128 if err != nil {
5129 errors = append(errors, err)
5130 }
5131 }
5132 }
5133 return nil, compiler.NewErrorGroupOrNil(errors)
5134 }
5135
5136
5137 func (m *Components) ResolveReferences(root string) (*yaml.Node, error) {
5138 errors := make([]error, 0)
5139 if m.Schemas != nil {
5140 _, err := m.Schemas.ResolveReferences(root)
5141 if err != nil {
5142 errors = append(errors, err)
5143 }
5144 }
5145 if m.Responses != nil {
5146 _, err := m.Responses.ResolveReferences(root)
5147 if err != nil {
5148 errors = append(errors, err)
5149 }
5150 }
5151 if m.Parameters != nil {
5152 _, err := m.Parameters.ResolveReferences(root)
5153 if err != nil {
5154 errors = append(errors, err)
5155 }
5156 }
5157 if m.Examples != nil {
5158 _, err := m.Examples.ResolveReferences(root)
5159 if err != nil {
5160 errors = append(errors, err)
5161 }
5162 }
5163 if m.RequestBodies != nil {
5164 _, err := m.RequestBodies.ResolveReferences(root)
5165 if err != nil {
5166 errors = append(errors, err)
5167 }
5168 }
5169 if m.Headers != nil {
5170 _, err := m.Headers.ResolveReferences(root)
5171 if err != nil {
5172 errors = append(errors, err)
5173 }
5174 }
5175 if m.SecuritySchemes != nil {
5176 _, err := m.SecuritySchemes.ResolveReferences(root)
5177 if err != nil {
5178 errors = append(errors, err)
5179 }
5180 }
5181 if m.Links != nil {
5182 _, err := m.Links.ResolveReferences(root)
5183 if err != nil {
5184 errors = append(errors, err)
5185 }
5186 }
5187 if m.Callbacks != nil {
5188 _, err := m.Callbacks.ResolveReferences(root)
5189 if err != nil {
5190 errors = append(errors, err)
5191 }
5192 }
5193 for _, item := range m.SpecificationExtension {
5194 if item != nil {
5195 _, err := item.ResolveReferences(root)
5196 if err != nil {
5197 errors = append(errors, err)
5198 }
5199 }
5200 }
5201 return nil, compiler.NewErrorGroupOrNil(errors)
5202 }
5203
5204
5205 func (m *Contact) ResolveReferences(root string) (*yaml.Node, error) {
5206 errors := make([]error, 0)
5207 for _, item := range m.SpecificationExtension {
5208 if item != nil {
5209 _, err := item.ResolveReferences(root)
5210 if err != nil {
5211 errors = append(errors, err)
5212 }
5213 }
5214 }
5215 return nil, compiler.NewErrorGroupOrNil(errors)
5216 }
5217
5218
5219 func (m *DefaultType) ResolveReferences(root string) (*yaml.Node, error) {
5220 errors := make([]error, 0)
5221 return nil, compiler.NewErrorGroupOrNil(errors)
5222 }
5223
5224
5225 func (m *Discriminator) ResolveReferences(root string) (*yaml.Node, error) {
5226 errors := make([]error, 0)
5227 if m.Mapping != nil {
5228 _, err := m.Mapping.ResolveReferences(root)
5229 if err != nil {
5230 errors = append(errors, err)
5231 }
5232 }
5233 for _, item := range m.SpecificationExtension {
5234 if item != nil {
5235 _, err := item.ResolveReferences(root)
5236 if err != nil {
5237 errors = append(errors, err)
5238 }
5239 }
5240 }
5241 return nil, compiler.NewErrorGroupOrNil(errors)
5242 }
5243
5244
5245 func (m *Document) ResolveReferences(root string) (*yaml.Node, error) {
5246 errors := make([]error, 0)
5247 if m.Info != nil {
5248 _, err := m.Info.ResolveReferences(root)
5249 if err != nil {
5250 errors = append(errors, err)
5251 }
5252 }
5253 for _, item := range m.Servers {
5254 if item != nil {
5255 _, err := item.ResolveReferences(root)
5256 if err != nil {
5257 errors = append(errors, err)
5258 }
5259 }
5260 }
5261 if m.Paths != nil {
5262 _, err := m.Paths.ResolveReferences(root)
5263 if err != nil {
5264 errors = append(errors, err)
5265 }
5266 }
5267 if m.Components != nil {
5268 _, err := m.Components.ResolveReferences(root)
5269 if err != nil {
5270 errors = append(errors, err)
5271 }
5272 }
5273 for _, item := range m.Security {
5274 if item != nil {
5275 _, err := item.ResolveReferences(root)
5276 if err != nil {
5277 errors = append(errors, err)
5278 }
5279 }
5280 }
5281 for _, item := range m.Tags {
5282 if item != nil {
5283 _, err := item.ResolveReferences(root)
5284 if err != nil {
5285 errors = append(errors, err)
5286 }
5287 }
5288 }
5289 if m.ExternalDocs != nil {
5290 _, err := m.ExternalDocs.ResolveReferences(root)
5291 if err != nil {
5292 errors = append(errors, err)
5293 }
5294 }
5295 for _, item := range m.SpecificationExtension {
5296 if item != nil {
5297 _, err := item.ResolveReferences(root)
5298 if err != nil {
5299 errors = append(errors, err)
5300 }
5301 }
5302 }
5303 return nil, compiler.NewErrorGroupOrNil(errors)
5304 }
5305
5306
5307 func (m *Encoding) ResolveReferences(root string) (*yaml.Node, error) {
5308 errors := make([]error, 0)
5309 if m.Headers != nil {
5310 _, err := m.Headers.ResolveReferences(root)
5311 if err != nil {
5312 errors = append(errors, err)
5313 }
5314 }
5315 for _, item := range m.SpecificationExtension {
5316 if item != nil {
5317 _, err := item.ResolveReferences(root)
5318 if err != nil {
5319 errors = append(errors, err)
5320 }
5321 }
5322 }
5323 return nil, compiler.NewErrorGroupOrNil(errors)
5324 }
5325
5326
5327 func (m *Encodings) ResolveReferences(root string) (*yaml.Node, error) {
5328 errors := make([]error, 0)
5329 for _, item := range m.AdditionalProperties {
5330 if item != nil {
5331 _, err := item.ResolveReferences(root)
5332 if err != nil {
5333 errors = append(errors, err)
5334 }
5335 }
5336 }
5337 return nil, compiler.NewErrorGroupOrNil(errors)
5338 }
5339
5340
5341 func (m *Example) ResolveReferences(root string) (*yaml.Node, error) {
5342 errors := make([]error, 0)
5343 if m.Value != nil {
5344 _, err := m.Value.ResolveReferences(root)
5345 if err != nil {
5346 errors = append(errors, err)
5347 }
5348 }
5349 for _, item := range m.SpecificationExtension {
5350 if item != nil {
5351 _, err := item.ResolveReferences(root)
5352 if err != nil {
5353 errors = append(errors, err)
5354 }
5355 }
5356 }
5357 return nil, compiler.NewErrorGroupOrNil(errors)
5358 }
5359
5360
5361 func (m *ExampleOrReference) ResolveReferences(root string) (*yaml.Node, error) {
5362 errors := make([]error, 0)
5363 {
5364 p, ok := m.Oneof.(*ExampleOrReference_Example)
5365 if ok {
5366 _, err := p.Example.ResolveReferences(root)
5367 if err != nil {
5368 return nil, err
5369 }
5370 }
5371 }
5372 {
5373 p, ok := m.Oneof.(*ExampleOrReference_Reference)
5374 if ok {
5375 _, err := p.Reference.ResolveReferences(root)
5376 if err != nil {
5377 return nil, err
5378 }
5379 }
5380 }
5381 return nil, compiler.NewErrorGroupOrNil(errors)
5382 }
5383
5384
5385 func (m *ExamplesOrReferences) ResolveReferences(root string) (*yaml.Node, error) {
5386 errors := make([]error, 0)
5387 for _, item := range m.AdditionalProperties {
5388 if item != nil {
5389 _, err := item.ResolveReferences(root)
5390 if err != nil {
5391 errors = append(errors, err)
5392 }
5393 }
5394 }
5395 return nil, compiler.NewErrorGroupOrNil(errors)
5396 }
5397
5398
5399 func (m *Expression) ResolveReferences(root string) (*yaml.Node, error) {
5400 errors := make([]error, 0)
5401 for _, item := range m.AdditionalProperties {
5402 if item != nil {
5403 _, err := item.ResolveReferences(root)
5404 if err != nil {
5405 errors = append(errors, err)
5406 }
5407 }
5408 }
5409 return nil, compiler.NewErrorGroupOrNil(errors)
5410 }
5411
5412
5413 func (m *ExternalDocs) ResolveReferences(root string) (*yaml.Node, error) {
5414 errors := make([]error, 0)
5415 for _, item := range m.SpecificationExtension {
5416 if item != nil {
5417 _, err := item.ResolveReferences(root)
5418 if err != nil {
5419 errors = append(errors, err)
5420 }
5421 }
5422 }
5423 return nil, compiler.NewErrorGroupOrNil(errors)
5424 }
5425
5426
5427 func (m *Header) ResolveReferences(root string) (*yaml.Node, error) {
5428 errors := make([]error, 0)
5429 if m.Schema != nil {
5430 _, err := m.Schema.ResolveReferences(root)
5431 if err != nil {
5432 errors = append(errors, err)
5433 }
5434 }
5435 if m.Example != nil {
5436 _, err := m.Example.ResolveReferences(root)
5437 if err != nil {
5438 errors = append(errors, err)
5439 }
5440 }
5441 if m.Examples != nil {
5442 _, err := m.Examples.ResolveReferences(root)
5443 if err != nil {
5444 errors = append(errors, err)
5445 }
5446 }
5447 if m.Content != nil {
5448 _, err := m.Content.ResolveReferences(root)
5449 if err != nil {
5450 errors = append(errors, err)
5451 }
5452 }
5453 for _, item := range m.SpecificationExtension {
5454 if item != nil {
5455 _, err := item.ResolveReferences(root)
5456 if err != nil {
5457 errors = append(errors, err)
5458 }
5459 }
5460 }
5461 return nil, compiler.NewErrorGroupOrNil(errors)
5462 }
5463
5464
5465 func (m *HeaderOrReference) ResolveReferences(root string) (*yaml.Node, error) {
5466 errors := make([]error, 0)
5467 {
5468 p, ok := m.Oneof.(*HeaderOrReference_Header)
5469 if ok {
5470 _, err := p.Header.ResolveReferences(root)
5471 if err != nil {
5472 return nil, err
5473 }
5474 }
5475 }
5476 {
5477 p, ok := m.Oneof.(*HeaderOrReference_Reference)
5478 if ok {
5479 _, err := p.Reference.ResolveReferences(root)
5480 if err != nil {
5481 return nil, err
5482 }
5483 }
5484 }
5485 return nil, compiler.NewErrorGroupOrNil(errors)
5486 }
5487
5488
5489 func (m *HeadersOrReferences) ResolveReferences(root string) (*yaml.Node, error) {
5490 errors := make([]error, 0)
5491 for _, item := range m.AdditionalProperties {
5492 if item != nil {
5493 _, err := item.ResolveReferences(root)
5494 if err != nil {
5495 errors = append(errors, err)
5496 }
5497 }
5498 }
5499 return nil, compiler.NewErrorGroupOrNil(errors)
5500 }
5501
5502
5503 func (m *Info) ResolveReferences(root string) (*yaml.Node, error) {
5504 errors := make([]error, 0)
5505 if m.Contact != nil {
5506 _, err := m.Contact.ResolveReferences(root)
5507 if err != nil {
5508 errors = append(errors, err)
5509 }
5510 }
5511 if m.License != nil {
5512 _, err := m.License.ResolveReferences(root)
5513 if err != nil {
5514 errors = append(errors, err)
5515 }
5516 }
5517 for _, item := range m.SpecificationExtension {
5518 if item != nil {
5519 _, err := item.ResolveReferences(root)
5520 if err != nil {
5521 errors = append(errors, err)
5522 }
5523 }
5524 }
5525 return nil, compiler.NewErrorGroupOrNil(errors)
5526 }
5527
5528
5529 func (m *ItemsItem) ResolveReferences(root string) (*yaml.Node, error) {
5530 errors := make([]error, 0)
5531 for _, item := range m.SchemaOrReference {
5532 if item != nil {
5533 _, err := item.ResolveReferences(root)
5534 if err != nil {
5535 errors = append(errors, err)
5536 }
5537 }
5538 }
5539 return nil, compiler.NewErrorGroupOrNil(errors)
5540 }
5541
5542
5543 func (m *License) ResolveReferences(root string) (*yaml.Node, error) {
5544 errors := make([]error, 0)
5545 for _, item := range m.SpecificationExtension {
5546 if item != nil {
5547 _, err := item.ResolveReferences(root)
5548 if err != nil {
5549 errors = append(errors, err)
5550 }
5551 }
5552 }
5553 return nil, compiler.NewErrorGroupOrNil(errors)
5554 }
5555
5556
5557 func (m *Link) ResolveReferences(root string) (*yaml.Node, error) {
5558 errors := make([]error, 0)
5559 if m.Parameters != nil {
5560 _, err := m.Parameters.ResolveReferences(root)
5561 if err != nil {
5562 errors = append(errors, err)
5563 }
5564 }
5565 if m.RequestBody != nil {
5566 _, err := m.RequestBody.ResolveReferences(root)
5567 if err != nil {
5568 errors = append(errors, err)
5569 }
5570 }
5571 if m.Server != nil {
5572 _, err := m.Server.ResolveReferences(root)
5573 if err != nil {
5574 errors = append(errors, err)
5575 }
5576 }
5577 for _, item := range m.SpecificationExtension {
5578 if item != nil {
5579 _, err := item.ResolveReferences(root)
5580 if err != nil {
5581 errors = append(errors, err)
5582 }
5583 }
5584 }
5585 return nil, compiler.NewErrorGroupOrNil(errors)
5586 }
5587
5588
5589 func (m *LinkOrReference) ResolveReferences(root string) (*yaml.Node, error) {
5590 errors := make([]error, 0)
5591 {
5592 p, ok := m.Oneof.(*LinkOrReference_Link)
5593 if ok {
5594 _, err := p.Link.ResolveReferences(root)
5595 if err != nil {
5596 return nil, err
5597 }
5598 }
5599 }
5600 {
5601 p, ok := m.Oneof.(*LinkOrReference_Reference)
5602 if ok {
5603 _, err := p.Reference.ResolveReferences(root)
5604 if err != nil {
5605 return nil, err
5606 }
5607 }
5608 }
5609 return nil, compiler.NewErrorGroupOrNil(errors)
5610 }
5611
5612
5613 func (m *LinksOrReferences) ResolveReferences(root string) (*yaml.Node, error) {
5614 errors := make([]error, 0)
5615 for _, item := range m.AdditionalProperties {
5616 if item != nil {
5617 _, err := item.ResolveReferences(root)
5618 if err != nil {
5619 errors = append(errors, err)
5620 }
5621 }
5622 }
5623 return nil, compiler.NewErrorGroupOrNil(errors)
5624 }
5625
5626
5627 func (m *MediaType) ResolveReferences(root string) (*yaml.Node, error) {
5628 errors := make([]error, 0)
5629 if m.Schema != nil {
5630 _, err := m.Schema.ResolveReferences(root)
5631 if err != nil {
5632 errors = append(errors, err)
5633 }
5634 }
5635 if m.Example != nil {
5636 _, err := m.Example.ResolveReferences(root)
5637 if err != nil {
5638 errors = append(errors, err)
5639 }
5640 }
5641 if m.Examples != nil {
5642 _, err := m.Examples.ResolveReferences(root)
5643 if err != nil {
5644 errors = append(errors, err)
5645 }
5646 }
5647 if m.Encoding != nil {
5648 _, err := m.Encoding.ResolveReferences(root)
5649 if err != nil {
5650 errors = append(errors, err)
5651 }
5652 }
5653 for _, item := range m.SpecificationExtension {
5654 if item != nil {
5655 _, err := item.ResolveReferences(root)
5656 if err != nil {
5657 errors = append(errors, err)
5658 }
5659 }
5660 }
5661 return nil, compiler.NewErrorGroupOrNil(errors)
5662 }
5663
5664
5665 func (m *MediaTypes) ResolveReferences(root string) (*yaml.Node, error) {
5666 errors := make([]error, 0)
5667 for _, item := range m.AdditionalProperties {
5668 if item != nil {
5669 _, err := item.ResolveReferences(root)
5670 if err != nil {
5671 errors = append(errors, err)
5672 }
5673 }
5674 }
5675 return nil, compiler.NewErrorGroupOrNil(errors)
5676 }
5677
5678
5679 func (m *NamedAny) ResolveReferences(root string) (*yaml.Node, error) {
5680 errors := make([]error, 0)
5681 if m.Value != nil {
5682 _, err := m.Value.ResolveReferences(root)
5683 if err != nil {
5684 errors = append(errors, err)
5685 }
5686 }
5687 return nil, compiler.NewErrorGroupOrNil(errors)
5688 }
5689
5690
5691 func (m *NamedCallbackOrReference) ResolveReferences(root string) (*yaml.Node, error) {
5692 errors := make([]error, 0)
5693 if m.Value != nil {
5694 _, err := m.Value.ResolveReferences(root)
5695 if err != nil {
5696 errors = append(errors, err)
5697 }
5698 }
5699 return nil, compiler.NewErrorGroupOrNil(errors)
5700 }
5701
5702
5703 func (m *NamedEncoding) ResolveReferences(root string) (*yaml.Node, error) {
5704 errors := make([]error, 0)
5705 if m.Value != nil {
5706 _, err := m.Value.ResolveReferences(root)
5707 if err != nil {
5708 errors = append(errors, err)
5709 }
5710 }
5711 return nil, compiler.NewErrorGroupOrNil(errors)
5712 }
5713
5714
5715 func (m *NamedExampleOrReference) ResolveReferences(root string) (*yaml.Node, error) {
5716 errors := make([]error, 0)
5717 if m.Value != nil {
5718 _, err := m.Value.ResolveReferences(root)
5719 if err != nil {
5720 errors = append(errors, err)
5721 }
5722 }
5723 return nil, compiler.NewErrorGroupOrNil(errors)
5724 }
5725
5726
5727 func (m *NamedHeaderOrReference) ResolveReferences(root string) (*yaml.Node, error) {
5728 errors := make([]error, 0)
5729 if m.Value != nil {
5730 _, err := m.Value.ResolveReferences(root)
5731 if err != nil {
5732 errors = append(errors, err)
5733 }
5734 }
5735 return nil, compiler.NewErrorGroupOrNil(errors)
5736 }
5737
5738
5739 func (m *NamedLinkOrReference) ResolveReferences(root string) (*yaml.Node, error) {
5740 errors := make([]error, 0)
5741 if m.Value != nil {
5742 _, err := m.Value.ResolveReferences(root)
5743 if err != nil {
5744 errors = append(errors, err)
5745 }
5746 }
5747 return nil, compiler.NewErrorGroupOrNil(errors)
5748 }
5749
5750
5751 func (m *NamedMediaType) ResolveReferences(root string) (*yaml.Node, error) {
5752 errors := make([]error, 0)
5753 if m.Value != nil {
5754 _, err := m.Value.ResolveReferences(root)
5755 if err != nil {
5756 errors = append(errors, err)
5757 }
5758 }
5759 return nil, compiler.NewErrorGroupOrNil(errors)
5760 }
5761
5762
5763 func (m *NamedParameterOrReference) ResolveReferences(root string) (*yaml.Node, error) {
5764 errors := make([]error, 0)
5765 if m.Value != nil {
5766 _, err := m.Value.ResolveReferences(root)
5767 if err != nil {
5768 errors = append(errors, err)
5769 }
5770 }
5771 return nil, compiler.NewErrorGroupOrNil(errors)
5772 }
5773
5774
5775 func (m *NamedPathItem) ResolveReferences(root string) (*yaml.Node, error) {
5776 errors := make([]error, 0)
5777 if m.Value != nil {
5778 _, err := m.Value.ResolveReferences(root)
5779 if err != nil {
5780 errors = append(errors, err)
5781 }
5782 }
5783 return nil, compiler.NewErrorGroupOrNil(errors)
5784 }
5785
5786
5787 func (m *NamedRequestBodyOrReference) ResolveReferences(root string) (*yaml.Node, error) {
5788 errors := make([]error, 0)
5789 if m.Value != nil {
5790 _, err := m.Value.ResolveReferences(root)
5791 if err != nil {
5792 errors = append(errors, err)
5793 }
5794 }
5795 return nil, compiler.NewErrorGroupOrNil(errors)
5796 }
5797
5798
5799 func (m *NamedResponseOrReference) ResolveReferences(root string) (*yaml.Node, error) {
5800 errors := make([]error, 0)
5801 if m.Value != nil {
5802 _, err := m.Value.ResolveReferences(root)
5803 if err != nil {
5804 errors = append(errors, err)
5805 }
5806 }
5807 return nil, compiler.NewErrorGroupOrNil(errors)
5808 }
5809
5810
5811 func (m *NamedSchemaOrReference) ResolveReferences(root string) (*yaml.Node, error) {
5812 errors := make([]error, 0)
5813 if m.Value != nil {
5814 _, err := m.Value.ResolveReferences(root)
5815 if err != nil {
5816 errors = append(errors, err)
5817 }
5818 }
5819 return nil, compiler.NewErrorGroupOrNil(errors)
5820 }
5821
5822
5823 func (m *NamedSecuritySchemeOrReference) ResolveReferences(root string) (*yaml.Node, error) {
5824 errors := make([]error, 0)
5825 if m.Value != nil {
5826 _, err := m.Value.ResolveReferences(root)
5827 if err != nil {
5828 errors = append(errors, err)
5829 }
5830 }
5831 return nil, compiler.NewErrorGroupOrNil(errors)
5832 }
5833
5834
5835 func (m *NamedServerVariable) ResolveReferences(root string) (*yaml.Node, error) {
5836 errors := make([]error, 0)
5837 if m.Value != nil {
5838 _, err := m.Value.ResolveReferences(root)
5839 if err != nil {
5840 errors = append(errors, err)
5841 }
5842 }
5843 return nil, compiler.NewErrorGroupOrNil(errors)
5844 }
5845
5846
5847 func (m *NamedString) ResolveReferences(root string) (*yaml.Node, error) {
5848 errors := make([]error, 0)
5849 return nil, compiler.NewErrorGroupOrNil(errors)
5850 }
5851
5852
5853 func (m *NamedStringArray) ResolveReferences(root string) (*yaml.Node, error) {
5854 errors := make([]error, 0)
5855 if m.Value != nil {
5856 _, err := m.Value.ResolveReferences(root)
5857 if err != nil {
5858 errors = append(errors, err)
5859 }
5860 }
5861 return nil, compiler.NewErrorGroupOrNil(errors)
5862 }
5863
5864
5865 func (m *OauthFlow) ResolveReferences(root string) (*yaml.Node, error) {
5866 errors := make([]error, 0)
5867 if m.Scopes != nil {
5868 _, err := m.Scopes.ResolveReferences(root)
5869 if err != nil {
5870 errors = append(errors, err)
5871 }
5872 }
5873 for _, item := range m.SpecificationExtension {
5874 if item != nil {
5875 _, err := item.ResolveReferences(root)
5876 if err != nil {
5877 errors = append(errors, err)
5878 }
5879 }
5880 }
5881 return nil, compiler.NewErrorGroupOrNil(errors)
5882 }
5883
5884
5885 func (m *OauthFlows) ResolveReferences(root string) (*yaml.Node, error) {
5886 errors := make([]error, 0)
5887 if m.Implicit != nil {
5888 _, err := m.Implicit.ResolveReferences(root)
5889 if err != nil {
5890 errors = append(errors, err)
5891 }
5892 }
5893 if m.Password != nil {
5894 _, err := m.Password.ResolveReferences(root)
5895 if err != nil {
5896 errors = append(errors, err)
5897 }
5898 }
5899 if m.ClientCredentials != nil {
5900 _, err := m.ClientCredentials.ResolveReferences(root)
5901 if err != nil {
5902 errors = append(errors, err)
5903 }
5904 }
5905 if m.AuthorizationCode != nil {
5906 _, err := m.AuthorizationCode.ResolveReferences(root)
5907 if err != nil {
5908 errors = append(errors, err)
5909 }
5910 }
5911 for _, item := range m.SpecificationExtension {
5912 if item != nil {
5913 _, err := item.ResolveReferences(root)
5914 if err != nil {
5915 errors = append(errors, err)
5916 }
5917 }
5918 }
5919 return nil, compiler.NewErrorGroupOrNil(errors)
5920 }
5921
5922
5923 func (m *Object) ResolveReferences(root string) (*yaml.Node, error) {
5924 errors := make([]error, 0)
5925 for _, item := range m.AdditionalProperties {
5926 if item != nil {
5927 _, err := item.ResolveReferences(root)
5928 if err != nil {
5929 errors = append(errors, err)
5930 }
5931 }
5932 }
5933 return nil, compiler.NewErrorGroupOrNil(errors)
5934 }
5935
5936
5937 func (m *Operation) ResolveReferences(root string) (*yaml.Node, error) {
5938 errors := make([]error, 0)
5939 if m.ExternalDocs != nil {
5940 _, err := m.ExternalDocs.ResolveReferences(root)
5941 if err != nil {
5942 errors = append(errors, err)
5943 }
5944 }
5945 for _, item := range m.Parameters {
5946 if item != nil {
5947 _, err := item.ResolveReferences(root)
5948 if err != nil {
5949 errors = append(errors, err)
5950 }
5951 }
5952 }
5953 if m.RequestBody != nil {
5954 _, err := m.RequestBody.ResolveReferences(root)
5955 if err != nil {
5956 errors = append(errors, err)
5957 }
5958 }
5959 if m.Responses != nil {
5960 _, err := m.Responses.ResolveReferences(root)
5961 if err != nil {
5962 errors = append(errors, err)
5963 }
5964 }
5965 if m.Callbacks != nil {
5966 _, err := m.Callbacks.ResolveReferences(root)
5967 if err != nil {
5968 errors = append(errors, err)
5969 }
5970 }
5971 for _, item := range m.Security {
5972 if item != nil {
5973 _, err := item.ResolveReferences(root)
5974 if err != nil {
5975 errors = append(errors, err)
5976 }
5977 }
5978 }
5979 for _, item := range m.Servers {
5980 if item != nil {
5981 _, err := item.ResolveReferences(root)
5982 if err != nil {
5983 errors = append(errors, err)
5984 }
5985 }
5986 }
5987 for _, item := range m.SpecificationExtension {
5988 if item != nil {
5989 _, err := item.ResolveReferences(root)
5990 if err != nil {
5991 errors = append(errors, err)
5992 }
5993 }
5994 }
5995 return nil, compiler.NewErrorGroupOrNil(errors)
5996 }
5997
5998
5999 func (m *Parameter) ResolveReferences(root string) (*yaml.Node, error) {
6000 errors := make([]error, 0)
6001 if m.Schema != nil {
6002 _, err := m.Schema.ResolveReferences(root)
6003 if err != nil {
6004 errors = append(errors, err)
6005 }
6006 }
6007 if m.Example != nil {
6008 _, err := m.Example.ResolveReferences(root)
6009 if err != nil {
6010 errors = append(errors, err)
6011 }
6012 }
6013 if m.Examples != nil {
6014 _, err := m.Examples.ResolveReferences(root)
6015 if err != nil {
6016 errors = append(errors, err)
6017 }
6018 }
6019 if m.Content != nil {
6020 _, err := m.Content.ResolveReferences(root)
6021 if err != nil {
6022 errors = append(errors, err)
6023 }
6024 }
6025 for _, item := range m.SpecificationExtension {
6026 if item != nil {
6027 _, err := item.ResolveReferences(root)
6028 if err != nil {
6029 errors = append(errors, err)
6030 }
6031 }
6032 }
6033 return nil, compiler.NewErrorGroupOrNil(errors)
6034 }
6035
6036
6037 func (m *ParameterOrReference) ResolveReferences(root string) (*yaml.Node, error) {
6038 errors := make([]error, 0)
6039 {
6040 p, ok := m.Oneof.(*ParameterOrReference_Parameter)
6041 if ok {
6042 _, err := p.Parameter.ResolveReferences(root)
6043 if err != nil {
6044 return nil, err
6045 }
6046 }
6047 }
6048 {
6049 p, ok := m.Oneof.(*ParameterOrReference_Reference)
6050 if ok {
6051 _, err := p.Reference.ResolveReferences(root)
6052 if err != nil {
6053 return nil, err
6054 }
6055 }
6056 }
6057 return nil, compiler.NewErrorGroupOrNil(errors)
6058 }
6059
6060
6061 func (m *ParametersOrReferences) ResolveReferences(root string) (*yaml.Node, error) {
6062 errors := make([]error, 0)
6063 for _, item := range m.AdditionalProperties {
6064 if item != nil {
6065 _, err := item.ResolveReferences(root)
6066 if err != nil {
6067 errors = append(errors, err)
6068 }
6069 }
6070 }
6071 return nil, compiler.NewErrorGroupOrNil(errors)
6072 }
6073
6074
6075 func (m *PathItem) ResolveReferences(root string) (*yaml.Node, error) {
6076 errors := make([]error, 0)
6077 if m.XRef != "" {
6078 info, err := compiler.ReadInfoForRef(root, m.XRef)
6079 if err != nil {
6080 return nil, err
6081 }
6082 if info != nil {
6083 replacement, err := NewPathItem(info, nil)
6084 if err == nil {
6085 *m = *replacement
6086 return m.ResolveReferences(root)
6087 }
6088 }
6089 return info, nil
6090 }
6091 if m.Get != nil {
6092 _, err := m.Get.ResolveReferences(root)
6093 if err != nil {
6094 errors = append(errors, err)
6095 }
6096 }
6097 if m.Put != nil {
6098 _, err := m.Put.ResolveReferences(root)
6099 if err != nil {
6100 errors = append(errors, err)
6101 }
6102 }
6103 if m.Post != nil {
6104 _, err := m.Post.ResolveReferences(root)
6105 if err != nil {
6106 errors = append(errors, err)
6107 }
6108 }
6109 if m.Delete != nil {
6110 _, err := m.Delete.ResolveReferences(root)
6111 if err != nil {
6112 errors = append(errors, err)
6113 }
6114 }
6115 if m.Options != nil {
6116 _, err := m.Options.ResolveReferences(root)
6117 if err != nil {
6118 errors = append(errors, err)
6119 }
6120 }
6121 if m.Head != nil {
6122 _, err := m.Head.ResolveReferences(root)
6123 if err != nil {
6124 errors = append(errors, err)
6125 }
6126 }
6127 if m.Patch != nil {
6128 _, err := m.Patch.ResolveReferences(root)
6129 if err != nil {
6130 errors = append(errors, err)
6131 }
6132 }
6133 if m.Trace != nil {
6134 _, err := m.Trace.ResolveReferences(root)
6135 if err != nil {
6136 errors = append(errors, err)
6137 }
6138 }
6139 for _, item := range m.Servers {
6140 if item != nil {
6141 _, err := item.ResolveReferences(root)
6142 if err != nil {
6143 errors = append(errors, err)
6144 }
6145 }
6146 }
6147 for _, item := range m.Parameters {
6148 if item != nil {
6149 _, err := item.ResolveReferences(root)
6150 if err != nil {
6151 errors = append(errors, err)
6152 }
6153 }
6154 }
6155 for _, item := range m.SpecificationExtension {
6156 if item != nil {
6157 _, err := item.ResolveReferences(root)
6158 if err != nil {
6159 errors = append(errors, err)
6160 }
6161 }
6162 }
6163 return nil, compiler.NewErrorGroupOrNil(errors)
6164 }
6165
6166
6167 func (m *Paths) ResolveReferences(root string) (*yaml.Node, error) {
6168 errors := make([]error, 0)
6169 for _, item := range m.Path {
6170 if item != nil {
6171 _, err := item.ResolveReferences(root)
6172 if err != nil {
6173 errors = append(errors, err)
6174 }
6175 }
6176 }
6177 for _, item := range m.SpecificationExtension {
6178 if item != nil {
6179 _, err := item.ResolveReferences(root)
6180 if err != nil {
6181 errors = append(errors, err)
6182 }
6183 }
6184 }
6185 return nil, compiler.NewErrorGroupOrNil(errors)
6186 }
6187
6188
6189 func (m *Properties) ResolveReferences(root string) (*yaml.Node, error) {
6190 errors := make([]error, 0)
6191 for _, item := range m.AdditionalProperties {
6192 if item != nil {
6193 _, err := item.ResolveReferences(root)
6194 if err != nil {
6195 errors = append(errors, err)
6196 }
6197 }
6198 }
6199 return nil, compiler.NewErrorGroupOrNil(errors)
6200 }
6201
6202
6203 func (m *Reference) ResolveReferences(root string) (*yaml.Node, error) {
6204 errors := make([]error, 0)
6205 if m.XRef != "" {
6206 info, err := compiler.ReadInfoForRef(root, m.XRef)
6207 if err != nil {
6208 return nil, err
6209 }
6210 if info != nil {
6211 replacement, err := NewReference(info, nil)
6212 if err == nil {
6213 *m = *replacement
6214 return m.ResolveReferences(root)
6215 }
6216 }
6217 return info, nil
6218 }
6219 return nil, compiler.NewErrorGroupOrNil(errors)
6220 }
6221
6222
6223 func (m *RequestBodiesOrReferences) ResolveReferences(root string) (*yaml.Node, error) {
6224 errors := make([]error, 0)
6225 for _, item := range m.AdditionalProperties {
6226 if item != nil {
6227 _, err := item.ResolveReferences(root)
6228 if err != nil {
6229 errors = append(errors, err)
6230 }
6231 }
6232 }
6233 return nil, compiler.NewErrorGroupOrNil(errors)
6234 }
6235
6236
6237 func (m *RequestBody) ResolveReferences(root string) (*yaml.Node, error) {
6238 errors := make([]error, 0)
6239 if m.Content != nil {
6240 _, err := m.Content.ResolveReferences(root)
6241 if err != nil {
6242 errors = append(errors, err)
6243 }
6244 }
6245 for _, item := range m.SpecificationExtension {
6246 if item != nil {
6247 _, err := item.ResolveReferences(root)
6248 if err != nil {
6249 errors = append(errors, err)
6250 }
6251 }
6252 }
6253 return nil, compiler.NewErrorGroupOrNil(errors)
6254 }
6255
6256
6257 func (m *RequestBodyOrReference) ResolveReferences(root string) (*yaml.Node, error) {
6258 errors := make([]error, 0)
6259 {
6260 p, ok := m.Oneof.(*RequestBodyOrReference_RequestBody)
6261 if ok {
6262 _, err := p.RequestBody.ResolveReferences(root)
6263 if err != nil {
6264 return nil, err
6265 }
6266 }
6267 }
6268 {
6269 p, ok := m.Oneof.(*RequestBodyOrReference_Reference)
6270 if ok {
6271 _, err := p.Reference.ResolveReferences(root)
6272 if err != nil {
6273 return nil, err
6274 }
6275 }
6276 }
6277 return nil, compiler.NewErrorGroupOrNil(errors)
6278 }
6279
6280
6281 func (m *Response) ResolveReferences(root string) (*yaml.Node, error) {
6282 errors := make([]error, 0)
6283 if m.Headers != nil {
6284 _, err := m.Headers.ResolveReferences(root)
6285 if err != nil {
6286 errors = append(errors, err)
6287 }
6288 }
6289 if m.Content != nil {
6290 _, err := m.Content.ResolveReferences(root)
6291 if err != nil {
6292 errors = append(errors, err)
6293 }
6294 }
6295 if m.Links != nil {
6296 _, err := m.Links.ResolveReferences(root)
6297 if err != nil {
6298 errors = append(errors, err)
6299 }
6300 }
6301 for _, item := range m.SpecificationExtension {
6302 if item != nil {
6303 _, err := item.ResolveReferences(root)
6304 if err != nil {
6305 errors = append(errors, err)
6306 }
6307 }
6308 }
6309 return nil, compiler.NewErrorGroupOrNil(errors)
6310 }
6311
6312
6313 func (m *ResponseOrReference) ResolveReferences(root string) (*yaml.Node, error) {
6314 errors := make([]error, 0)
6315 {
6316 p, ok := m.Oneof.(*ResponseOrReference_Response)
6317 if ok {
6318 _, err := p.Response.ResolveReferences(root)
6319 if err != nil {
6320 return nil, err
6321 }
6322 }
6323 }
6324 {
6325 p, ok := m.Oneof.(*ResponseOrReference_Reference)
6326 if ok {
6327 _, err := p.Reference.ResolveReferences(root)
6328 if err != nil {
6329 return nil, err
6330 }
6331 }
6332 }
6333 return nil, compiler.NewErrorGroupOrNil(errors)
6334 }
6335
6336
6337 func (m *Responses) ResolveReferences(root string) (*yaml.Node, error) {
6338 errors := make([]error, 0)
6339 if m.Default != nil {
6340 _, err := m.Default.ResolveReferences(root)
6341 if err != nil {
6342 errors = append(errors, err)
6343 }
6344 }
6345 for _, item := range m.ResponseOrReference {
6346 if item != nil {
6347 _, err := item.ResolveReferences(root)
6348 if err != nil {
6349 errors = append(errors, err)
6350 }
6351 }
6352 }
6353 for _, item := range m.SpecificationExtension {
6354 if item != nil {
6355 _, err := item.ResolveReferences(root)
6356 if err != nil {
6357 errors = append(errors, err)
6358 }
6359 }
6360 }
6361 return nil, compiler.NewErrorGroupOrNil(errors)
6362 }
6363
6364
6365 func (m *ResponsesOrReferences) ResolveReferences(root string) (*yaml.Node, error) {
6366 errors := make([]error, 0)
6367 for _, item := range m.AdditionalProperties {
6368 if item != nil {
6369 _, err := item.ResolveReferences(root)
6370 if err != nil {
6371 errors = append(errors, err)
6372 }
6373 }
6374 }
6375 return nil, compiler.NewErrorGroupOrNil(errors)
6376 }
6377
6378
6379 func (m *Schema) ResolveReferences(root string) (*yaml.Node, error) {
6380 errors := make([]error, 0)
6381 if m.Discriminator != nil {
6382 _, err := m.Discriminator.ResolveReferences(root)
6383 if err != nil {
6384 errors = append(errors, err)
6385 }
6386 }
6387 if m.Xml != nil {
6388 _, err := m.Xml.ResolveReferences(root)
6389 if err != nil {
6390 errors = append(errors, err)
6391 }
6392 }
6393 if m.ExternalDocs != nil {
6394 _, err := m.ExternalDocs.ResolveReferences(root)
6395 if err != nil {
6396 errors = append(errors, err)
6397 }
6398 }
6399 if m.Example != nil {
6400 _, err := m.Example.ResolveReferences(root)
6401 if err != nil {
6402 errors = append(errors, err)
6403 }
6404 }
6405 for _, item := range m.Enum {
6406 if item != nil {
6407 _, err := item.ResolveReferences(root)
6408 if err != nil {
6409 errors = append(errors, err)
6410 }
6411 }
6412 }
6413 for _, item := range m.AllOf {
6414 if item != nil {
6415 _, err := item.ResolveReferences(root)
6416 if err != nil {
6417 errors = append(errors, err)
6418 }
6419 }
6420 }
6421 for _, item := range m.OneOf {
6422 if item != nil {
6423 _, err := item.ResolveReferences(root)
6424 if err != nil {
6425 errors = append(errors, err)
6426 }
6427 }
6428 }
6429 for _, item := range m.AnyOf {
6430 if item != nil {
6431 _, err := item.ResolveReferences(root)
6432 if err != nil {
6433 errors = append(errors, err)
6434 }
6435 }
6436 }
6437 if m.Not != nil {
6438 _, err := m.Not.ResolveReferences(root)
6439 if err != nil {
6440 errors = append(errors, err)
6441 }
6442 }
6443 if m.Items != nil {
6444 _, err := m.Items.ResolveReferences(root)
6445 if err != nil {
6446 errors = append(errors, err)
6447 }
6448 }
6449 if m.Properties != nil {
6450 _, err := m.Properties.ResolveReferences(root)
6451 if err != nil {
6452 errors = append(errors, err)
6453 }
6454 }
6455 if m.AdditionalProperties != nil {
6456 _, err := m.AdditionalProperties.ResolveReferences(root)
6457 if err != nil {
6458 errors = append(errors, err)
6459 }
6460 }
6461 if m.Default != nil {
6462 _, err := m.Default.ResolveReferences(root)
6463 if err != nil {
6464 errors = append(errors, err)
6465 }
6466 }
6467 for _, item := range m.SpecificationExtension {
6468 if item != nil {
6469 _, err := item.ResolveReferences(root)
6470 if err != nil {
6471 errors = append(errors, err)
6472 }
6473 }
6474 }
6475 return nil, compiler.NewErrorGroupOrNil(errors)
6476 }
6477
6478
6479 func (m *SchemaOrReference) ResolveReferences(root string) (*yaml.Node, error) {
6480 errors := make([]error, 0)
6481 {
6482 p, ok := m.Oneof.(*SchemaOrReference_Schema)
6483 if ok {
6484 _, err := p.Schema.ResolveReferences(root)
6485 if err != nil {
6486 return nil, err
6487 }
6488 }
6489 }
6490 {
6491 p, ok := m.Oneof.(*SchemaOrReference_Reference)
6492 if ok {
6493 _, err := p.Reference.ResolveReferences(root)
6494 if err != nil {
6495 return nil, err
6496 }
6497 }
6498 }
6499 return nil, compiler.NewErrorGroupOrNil(errors)
6500 }
6501
6502
6503 func (m *SchemasOrReferences) ResolveReferences(root string) (*yaml.Node, error) {
6504 errors := make([]error, 0)
6505 for _, item := range m.AdditionalProperties {
6506 if item != nil {
6507 _, err := item.ResolveReferences(root)
6508 if err != nil {
6509 errors = append(errors, err)
6510 }
6511 }
6512 }
6513 return nil, compiler.NewErrorGroupOrNil(errors)
6514 }
6515
6516
6517 func (m *SecurityRequirement) ResolveReferences(root string) (*yaml.Node, error) {
6518 errors := make([]error, 0)
6519 for _, item := range m.AdditionalProperties {
6520 if item != nil {
6521 _, err := item.ResolveReferences(root)
6522 if err != nil {
6523 errors = append(errors, err)
6524 }
6525 }
6526 }
6527 return nil, compiler.NewErrorGroupOrNil(errors)
6528 }
6529
6530
6531 func (m *SecurityScheme) ResolveReferences(root string) (*yaml.Node, error) {
6532 errors := make([]error, 0)
6533 if m.Flows != nil {
6534 _, err := m.Flows.ResolveReferences(root)
6535 if err != nil {
6536 errors = append(errors, err)
6537 }
6538 }
6539 for _, item := range m.SpecificationExtension {
6540 if item != nil {
6541 _, err := item.ResolveReferences(root)
6542 if err != nil {
6543 errors = append(errors, err)
6544 }
6545 }
6546 }
6547 return nil, compiler.NewErrorGroupOrNil(errors)
6548 }
6549
6550
6551 func (m *SecuritySchemeOrReference) ResolveReferences(root string) (*yaml.Node, error) {
6552 errors := make([]error, 0)
6553 {
6554 p, ok := m.Oneof.(*SecuritySchemeOrReference_SecurityScheme)
6555 if ok {
6556 _, err := p.SecurityScheme.ResolveReferences(root)
6557 if err != nil {
6558 return nil, err
6559 }
6560 }
6561 }
6562 {
6563 p, ok := m.Oneof.(*SecuritySchemeOrReference_Reference)
6564 if ok {
6565 _, err := p.Reference.ResolveReferences(root)
6566 if err != nil {
6567 return nil, err
6568 }
6569 }
6570 }
6571 return nil, compiler.NewErrorGroupOrNil(errors)
6572 }
6573
6574
6575 func (m *SecuritySchemesOrReferences) ResolveReferences(root string) (*yaml.Node, error) {
6576 errors := make([]error, 0)
6577 for _, item := range m.AdditionalProperties {
6578 if item != nil {
6579 _, err := item.ResolveReferences(root)
6580 if err != nil {
6581 errors = append(errors, err)
6582 }
6583 }
6584 }
6585 return nil, compiler.NewErrorGroupOrNil(errors)
6586 }
6587
6588
6589 func (m *Server) ResolveReferences(root string) (*yaml.Node, error) {
6590 errors := make([]error, 0)
6591 if m.Variables != nil {
6592 _, err := m.Variables.ResolveReferences(root)
6593 if err != nil {
6594 errors = append(errors, err)
6595 }
6596 }
6597 for _, item := range m.SpecificationExtension {
6598 if item != nil {
6599 _, err := item.ResolveReferences(root)
6600 if err != nil {
6601 errors = append(errors, err)
6602 }
6603 }
6604 }
6605 return nil, compiler.NewErrorGroupOrNil(errors)
6606 }
6607
6608
6609 func (m *ServerVariable) ResolveReferences(root string) (*yaml.Node, error) {
6610 errors := make([]error, 0)
6611 for _, item := range m.SpecificationExtension {
6612 if item != nil {
6613 _, err := item.ResolveReferences(root)
6614 if err != nil {
6615 errors = append(errors, err)
6616 }
6617 }
6618 }
6619 return nil, compiler.NewErrorGroupOrNil(errors)
6620 }
6621
6622
6623 func (m *ServerVariables) ResolveReferences(root string) (*yaml.Node, error) {
6624 errors := make([]error, 0)
6625 for _, item := range m.AdditionalProperties {
6626 if item != nil {
6627 _, err := item.ResolveReferences(root)
6628 if err != nil {
6629 errors = append(errors, err)
6630 }
6631 }
6632 }
6633 return nil, compiler.NewErrorGroupOrNil(errors)
6634 }
6635
6636
6637 func (m *SpecificationExtension) ResolveReferences(root string) (*yaml.Node, error) {
6638 errors := make([]error, 0)
6639 return nil, compiler.NewErrorGroupOrNil(errors)
6640 }
6641
6642
6643 func (m *StringArray) ResolveReferences(root string) (*yaml.Node, error) {
6644 errors := make([]error, 0)
6645 return nil, compiler.NewErrorGroupOrNil(errors)
6646 }
6647
6648
6649 func (m *Strings) ResolveReferences(root string) (*yaml.Node, error) {
6650 errors := make([]error, 0)
6651 for _, item := range m.AdditionalProperties {
6652 if item != nil {
6653 _, err := item.ResolveReferences(root)
6654 if err != nil {
6655 errors = append(errors, err)
6656 }
6657 }
6658 }
6659 return nil, compiler.NewErrorGroupOrNil(errors)
6660 }
6661
6662
6663 func (m *Tag) ResolveReferences(root string) (*yaml.Node, error) {
6664 errors := make([]error, 0)
6665 if m.ExternalDocs != nil {
6666 _, err := m.ExternalDocs.ResolveReferences(root)
6667 if err != nil {
6668 errors = append(errors, err)
6669 }
6670 }
6671 for _, item := range m.SpecificationExtension {
6672 if item != nil {
6673 _, err := item.ResolveReferences(root)
6674 if err != nil {
6675 errors = append(errors, err)
6676 }
6677 }
6678 }
6679 return nil, compiler.NewErrorGroupOrNil(errors)
6680 }
6681
6682
6683 func (m *Xml) ResolveReferences(root string) (*yaml.Node, error) {
6684 errors := make([]error, 0)
6685 for _, item := range m.SpecificationExtension {
6686 if item != nil {
6687 _, err := item.ResolveReferences(root)
6688 if err != nil {
6689 errors = append(errors, err)
6690 }
6691 }
6692 }
6693 return nil, compiler.NewErrorGroupOrNil(errors)
6694 }
6695
6696
6697 func (m *AdditionalPropertiesItem) ToRawInfo() *yaml.Node {
6698
6699
6700
6701 v0 := m.GetSchemaOrReference()
6702 if v0 != nil {
6703 return v0.ToRawInfo()
6704 }
6705
6706 if v1, ok := m.GetOneof().(*AdditionalPropertiesItem_Boolean); ok {
6707 return compiler.NewScalarNodeForBool(v1.Boolean)
6708 }
6709 return compiler.NewNullNode()
6710 }
6711
6712
6713 func (m *Any) ToRawInfo() *yaml.Node {
6714 var err error
6715 var node yaml.Node
6716 err = yaml.Unmarshal([]byte(m.Yaml), &node)
6717 if err == nil {
6718 if node.Kind == yaml.DocumentNode {
6719 return node.Content[0]
6720 }
6721 return &node
6722 }
6723 return compiler.NewNullNode()
6724 }
6725
6726
6727 func (m *AnyOrExpression) ToRawInfo() *yaml.Node {
6728
6729
6730
6731 v0 := m.GetAny()
6732 if v0 != nil {
6733 return v0.ToRawInfo()
6734 }
6735
6736 v1 := m.GetExpression()
6737 if v1 != nil {
6738 return v1.ToRawInfo()
6739 }
6740 return compiler.NewNullNode()
6741 }
6742
6743
6744 func (m *Callback) ToRawInfo() *yaml.Node {
6745 info := compiler.NewMappingNode()
6746 if m == nil {
6747 return info
6748 }
6749 if m.Path != nil {
6750 for _, item := range m.Path {
6751 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
6752 info.Content = append(info.Content, item.Value.ToRawInfo())
6753 }
6754 }
6755 if m.SpecificationExtension != nil {
6756 for _, item := range m.SpecificationExtension {
6757 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
6758 info.Content = append(info.Content, item.Value.ToRawInfo())
6759 }
6760 }
6761 return info
6762 }
6763
6764
6765 func (m *CallbackOrReference) ToRawInfo() *yaml.Node {
6766
6767
6768
6769 v0 := m.GetCallback()
6770 if v0 != nil {
6771 return v0.ToRawInfo()
6772 }
6773
6774 v1 := m.GetReference()
6775 if v1 != nil {
6776 return v1.ToRawInfo()
6777 }
6778 return compiler.NewNullNode()
6779 }
6780
6781
6782 func (m *CallbacksOrReferences) ToRawInfo() *yaml.Node {
6783 info := compiler.NewMappingNode()
6784 if m == nil {
6785 return info
6786 }
6787 if m.AdditionalProperties != nil {
6788 for _, item := range m.AdditionalProperties {
6789 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
6790 info.Content = append(info.Content, item.Value.ToRawInfo())
6791 }
6792 }
6793 return info
6794 }
6795
6796
6797 func (m *Components) ToRawInfo() *yaml.Node {
6798 info := compiler.NewMappingNode()
6799 if m == nil {
6800 return info
6801 }
6802 if m.Schemas != nil {
6803 info.Content = append(info.Content, compiler.NewScalarNodeForString("schemas"))
6804 info.Content = append(info.Content, m.Schemas.ToRawInfo())
6805 }
6806 if m.Responses != nil {
6807 info.Content = append(info.Content, compiler.NewScalarNodeForString("responses"))
6808 info.Content = append(info.Content, m.Responses.ToRawInfo())
6809 }
6810 if m.Parameters != nil {
6811 info.Content = append(info.Content, compiler.NewScalarNodeForString("parameters"))
6812 info.Content = append(info.Content, m.Parameters.ToRawInfo())
6813 }
6814 if m.Examples != nil {
6815 info.Content = append(info.Content, compiler.NewScalarNodeForString("examples"))
6816 info.Content = append(info.Content, m.Examples.ToRawInfo())
6817 }
6818 if m.RequestBodies != nil {
6819 info.Content = append(info.Content, compiler.NewScalarNodeForString("requestBodies"))
6820 info.Content = append(info.Content, m.RequestBodies.ToRawInfo())
6821 }
6822 if m.Headers != nil {
6823 info.Content = append(info.Content, compiler.NewScalarNodeForString("headers"))
6824 info.Content = append(info.Content, m.Headers.ToRawInfo())
6825 }
6826 if m.SecuritySchemes != nil {
6827 info.Content = append(info.Content, compiler.NewScalarNodeForString("securitySchemes"))
6828 info.Content = append(info.Content, m.SecuritySchemes.ToRawInfo())
6829 }
6830 if m.Links != nil {
6831 info.Content = append(info.Content, compiler.NewScalarNodeForString("links"))
6832 info.Content = append(info.Content, m.Links.ToRawInfo())
6833 }
6834 if m.Callbacks != nil {
6835 info.Content = append(info.Content, compiler.NewScalarNodeForString("callbacks"))
6836 info.Content = append(info.Content, m.Callbacks.ToRawInfo())
6837 }
6838 if m.SpecificationExtension != nil {
6839 for _, item := range m.SpecificationExtension {
6840 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
6841 info.Content = append(info.Content, item.Value.ToRawInfo())
6842 }
6843 }
6844 return info
6845 }
6846
6847
6848 func (m *Contact) ToRawInfo() *yaml.Node {
6849 info := compiler.NewMappingNode()
6850 if m == nil {
6851 return info
6852 }
6853 if m.Name != "" {
6854 info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
6855 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
6856 }
6857 if m.Url != "" {
6858 info.Content = append(info.Content, compiler.NewScalarNodeForString("url"))
6859 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Url))
6860 }
6861 if m.Email != "" {
6862 info.Content = append(info.Content, compiler.NewScalarNodeForString("email"))
6863 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Email))
6864 }
6865 if m.SpecificationExtension != nil {
6866 for _, item := range m.SpecificationExtension {
6867 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
6868 info.Content = append(info.Content, item.Value.ToRawInfo())
6869 }
6870 }
6871 return info
6872 }
6873
6874
6875 func (m *DefaultType) ToRawInfo() *yaml.Node {
6876
6877
6878
6879 if v0, ok := m.GetOneof().(*DefaultType_Number); ok {
6880 return compiler.NewScalarNodeForFloat(v0.Number)
6881 }
6882
6883 if v1, ok := m.GetOneof().(*DefaultType_Boolean); ok {
6884 return compiler.NewScalarNodeForBool(v1.Boolean)
6885 }
6886
6887 if v2, ok := m.GetOneof().(*DefaultType_String_); ok {
6888 return compiler.NewScalarNodeForString(v2.String_)
6889 }
6890 return compiler.NewNullNode()
6891 }
6892
6893
6894 func (m *Discriminator) ToRawInfo() *yaml.Node {
6895 info := compiler.NewMappingNode()
6896 if m == nil {
6897 return info
6898 }
6899
6900 info.Content = append(info.Content, compiler.NewScalarNodeForString("propertyName"))
6901 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.PropertyName))
6902 if m.Mapping != nil {
6903 info.Content = append(info.Content, compiler.NewScalarNodeForString("mapping"))
6904 info.Content = append(info.Content, m.Mapping.ToRawInfo())
6905 }
6906 if m.SpecificationExtension != nil {
6907 for _, item := range m.SpecificationExtension {
6908 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
6909 info.Content = append(info.Content, item.Value.ToRawInfo())
6910 }
6911 }
6912 return info
6913 }
6914
6915
6916 func (m *Document) ToRawInfo() *yaml.Node {
6917 info := compiler.NewMappingNode()
6918 if m == nil {
6919 return info
6920 }
6921
6922 info.Content = append(info.Content, compiler.NewScalarNodeForString("openapi"))
6923 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Openapi))
6924
6925 info.Content = append(info.Content, compiler.NewScalarNodeForString("info"))
6926 info.Content = append(info.Content, m.Info.ToRawInfo())
6927 if len(m.Servers) != 0 {
6928 items := compiler.NewSequenceNode()
6929 for _, item := range m.Servers {
6930 items.Content = append(items.Content, item.ToRawInfo())
6931 }
6932 info.Content = append(info.Content, compiler.NewScalarNodeForString("servers"))
6933 info.Content = append(info.Content, items)
6934 }
6935
6936 info.Content = append(info.Content, compiler.NewScalarNodeForString("paths"))
6937 info.Content = append(info.Content, m.Paths.ToRawInfo())
6938 if m.Components != nil {
6939 info.Content = append(info.Content, compiler.NewScalarNodeForString("components"))
6940 info.Content = append(info.Content, m.Components.ToRawInfo())
6941 }
6942 if len(m.Security) != 0 {
6943 items := compiler.NewSequenceNode()
6944 for _, item := range m.Security {
6945 items.Content = append(items.Content, item.ToRawInfo())
6946 }
6947 info.Content = append(info.Content, compiler.NewScalarNodeForString("security"))
6948 info.Content = append(info.Content, items)
6949 }
6950 if len(m.Tags) != 0 {
6951 items := compiler.NewSequenceNode()
6952 for _, item := range m.Tags {
6953 items.Content = append(items.Content, item.ToRawInfo())
6954 }
6955 info.Content = append(info.Content, compiler.NewScalarNodeForString("tags"))
6956 info.Content = append(info.Content, items)
6957 }
6958 if m.ExternalDocs != nil {
6959 info.Content = append(info.Content, compiler.NewScalarNodeForString("externalDocs"))
6960 info.Content = append(info.Content, m.ExternalDocs.ToRawInfo())
6961 }
6962 if m.SpecificationExtension != nil {
6963 for _, item := range m.SpecificationExtension {
6964 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
6965 info.Content = append(info.Content, item.Value.ToRawInfo())
6966 }
6967 }
6968 return info
6969 }
6970
6971
6972 func (m *Encoding) ToRawInfo() *yaml.Node {
6973 info := compiler.NewMappingNode()
6974 if m == nil {
6975 return info
6976 }
6977 if m.ContentType != "" {
6978 info.Content = append(info.Content, compiler.NewScalarNodeForString("contentType"))
6979 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.ContentType))
6980 }
6981 if m.Headers != nil {
6982 info.Content = append(info.Content, compiler.NewScalarNodeForString("headers"))
6983 info.Content = append(info.Content, m.Headers.ToRawInfo())
6984 }
6985 if m.Style != "" {
6986 info.Content = append(info.Content, compiler.NewScalarNodeForString("style"))
6987 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Style))
6988 }
6989 if m.Explode != false {
6990 info.Content = append(info.Content, compiler.NewScalarNodeForString("explode"))
6991 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.Explode))
6992 }
6993 if m.AllowReserved != false {
6994 info.Content = append(info.Content, compiler.NewScalarNodeForString("allowReserved"))
6995 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.AllowReserved))
6996 }
6997 if m.SpecificationExtension != nil {
6998 for _, item := range m.SpecificationExtension {
6999 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
7000 info.Content = append(info.Content, item.Value.ToRawInfo())
7001 }
7002 }
7003 return info
7004 }
7005
7006
7007 func (m *Encodings) ToRawInfo() *yaml.Node {
7008 info := compiler.NewMappingNode()
7009 if m == nil {
7010 return info
7011 }
7012 if m.AdditionalProperties != nil {
7013 for _, item := range m.AdditionalProperties {
7014 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
7015 info.Content = append(info.Content, item.Value.ToRawInfo())
7016 }
7017 }
7018 return info
7019 }
7020
7021
7022 func (m *Example) ToRawInfo() *yaml.Node {
7023 info := compiler.NewMappingNode()
7024 if m == nil {
7025 return info
7026 }
7027 if m.Summary != "" {
7028 info.Content = append(info.Content, compiler.NewScalarNodeForString("summary"))
7029 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Summary))
7030 }
7031 if m.Description != "" {
7032 info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
7033 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
7034 }
7035 if m.Value != nil {
7036 info.Content = append(info.Content, compiler.NewScalarNodeForString("value"))
7037 info.Content = append(info.Content, m.Value.ToRawInfo())
7038 }
7039 if m.ExternalValue != "" {
7040 info.Content = append(info.Content, compiler.NewScalarNodeForString("externalValue"))
7041 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.ExternalValue))
7042 }
7043 if m.SpecificationExtension != nil {
7044 for _, item := range m.SpecificationExtension {
7045 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
7046 info.Content = append(info.Content, item.Value.ToRawInfo())
7047 }
7048 }
7049 return info
7050 }
7051
7052
7053 func (m *ExampleOrReference) ToRawInfo() *yaml.Node {
7054
7055
7056
7057 v0 := m.GetExample()
7058 if v0 != nil {
7059 return v0.ToRawInfo()
7060 }
7061
7062 v1 := m.GetReference()
7063 if v1 != nil {
7064 return v1.ToRawInfo()
7065 }
7066 return compiler.NewNullNode()
7067 }
7068
7069
7070 func (m *ExamplesOrReferences) ToRawInfo() *yaml.Node {
7071 info := compiler.NewMappingNode()
7072 if m == nil {
7073 return info
7074 }
7075 if m.AdditionalProperties != nil {
7076 for _, item := range m.AdditionalProperties {
7077 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
7078 info.Content = append(info.Content, item.Value.ToRawInfo())
7079 }
7080 }
7081 return info
7082 }
7083
7084
7085 func (m *Expression) ToRawInfo() *yaml.Node {
7086 info := compiler.NewMappingNode()
7087 if m == nil {
7088 return info
7089 }
7090 if m.AdditionalProperties != nil {
7091 for _, item := range m.AdditionalProperties {
7092 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
7093 info.Content = append(info.Content, item.Value.ToRawInfo())
7094 }
7095 }
7096 return info
7097 }
7098
7099
7100 func (m *ExternalDocs) ToRawInfo() *yaml.Node {
7101 info := compiler.NewMappingNode()
7102 if m == nil {
7103 return info
7104 }
7105 if m.Description != "" {
7106 info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
7107 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
7108 }
7109
7110 info.Content = append(info.Content, compiler.NewScalarNodeForString("url"))
7111 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Url))
7112 if m.SpecificationExtension != nil {
7113 for _, item := range m.SpecificationExtension {
7114 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
7115 info.Content = append(info.Content, item.Value.ToRawInfo())
7116 }
7117 }
7118 return info
7119 }
7120
7121
7122 func (m *Header) ToRawInfo() *yaml.Node {
7123 info := compiler.NewMappingNode()
7124 if m == nil {
7125 return info
7126 }
7127 if m.Description != "" {
7128 info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
7129 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
7130 }
7131 if m.Required != false {
7132 info.Content = append(info.Content, compiler.NewScalarNodeForString("required"))
7133 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.Required))
7134 }
7135 if m.Deprecated != false {
7136 info.Content = append(info.Content, compiler.NewScalarNodeForString("deprecated"))
7137 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.Deprecated))
7138 }
7139 if m.AllowEmptyValue != false {
7140 info.Content = append(info.Content, compiler.NewScalarNodeForString("allowEmptyValue"))
7141 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.AllowEmptyValue))
7142 }
7143 if m.Style != "" {
7144 info.Content = append(info.Content, compiler.NewScalarNodeForString("style"))
7145 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Style))
7146 }
7147 if m.Explode != false {
7148 info.Content = append(info.Content, compiler.NewScalarNodeForString("explode"))
7149 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.Explode))
7150 }
7151 if m.AllowReserved != false {
7152 info.Content = append(info.Content, compiler.NewScalarNodeForString("allowReserved"))
7153 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.AllowReserved))
7154 }
7155 if m.Schema != nil {
7156 info.Content = append(info.Content, compiler.NewScalarNodeForString("schema"))
7157 info.Content = append(info.Content, m.Schema.ToRawInfo())
7158 }
7159 if m.Example != nil {
7160 info.Content = append(info.Content, compiler.NewScalarNodeForString("example"))
7161 info.Content = append(info.Content, m.Example.ToRawInfo())
7162 }
7163 if m.Examples != nil {
7164 info.Content = append(info.Content, compiler.NewScalarNodeForString("examples"))
7165 info.Content = append(info.Content, m.Examples.ToRawInfo())
7166 }
7167 if m.Content != nil {
7168 info.Content = append(info.Content, compiler.NewScalarNodeForString("content"))
7169 info.Content = append(info.Content, m.Content.ToRawInfo())
7170 }
7171 if m.SpecificationExtension != nil {
7172 for _, item := range m.SpecificationExtension {
7173 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
7174 info.Content = append(info.Content, item.Value.ToRawInfo())
7175 }
7176 }
7177 return info
7178 }
7179
7180
7181 func (m *HeaderOrReference) ToRawInfo() *yaml.Node {
7182
7183
7184
7185 v0 := m.GetHeader()
7186 if v0 != nil {
7187 return v0.ToRawInfo()
7188 }
7189
7190 v1 := m.GetReference()
7191 if v1 != nil {
7192 return v1.ToRawInfo()
7193 }
7194 return compiler.NewNullNode()
7195 }
7196
7197
7198 func (m *HeadersOrReferences) ToRawInfo() *yaml.Node {
7199 info := compiler.NewMappingNode()
7200 if m == nil {
7201 return info
7202 }
7203 if m.AdditionalProperties != nil {
7204 for _, item := range m.AdditionalProperties {
7205 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
7206 info.Content = append(info.Content, item.Value.ToRawInfo())
7207 }
7208 }
7209 return info
7210 }
7211
7212
7213 func (m *Info) ToRawInfo() *yaml.Node {
7214 info := compiler.NewMappingNode()
7215 if m == nil {
7216 return info
7217 }
7218
7219 info.Content = append(info.Content, compiler.NewScalarNodeForString("title"))
7220 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Title))
7221 if m.Description != "" {
7222 info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
7223 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
7224 }
7225 if m.TermsOfService != "" {
7226 info.Content = append(info.Content, compiler.NewScalarNodeForString("termsOfService"))
7227 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.TermsOfService))
7228 }
7229 if m.Contact != nil {
7230 info.Content = append(info.Content, compiler.NewScalarNodeForString("contact"))
7231 info.Content = append(info.Content, m.Contact.ToRawInfo())
7232 }
7233 if m.License != nil {
7234 info.Content = append(info.Content, compiler.NewScalarNodeForString("license"))
7235 info.Content = append(info.Content, m.License.ToRawInfo())
7236 }
7237
7238 info.Content = append(info.Content, compiler.NewScalarNodeForString("version"))
7239 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Version))
7240 if m.Summary != "" {
7241 info.Content = append(info.Content, compiler.NewScalarNodeForString("summary"))
7242 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Summary))
7243 }
7244 if m.SpecificationExtension != nil {
7245 for _, item := range m.SpecificationExtension {
7246 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
7247 info.Content = append(info.Content, item.Value.ToRawInfo())
7248 }
7249 }
7250 return info
7251 }
7252
7253
7254 func (m *ItemsItem) ToRawInfo() *yaml.Node {
7255 info := compiler.NewMappingNode()
7256 if m == nil {
7257 return info
7258 }
7259 if len(m.SchemaOrReference) != 0 {
7260 items := compiler.NewSequenceNode()
7261 for _, item := range m.SchemaOrReference {
7262 items.Content = append(items.Content, item.ToRawInfo())
7263 }
7264 info.Content = append(info.Content, compiler.NewScalarNodeForString("schemaOrReference"))
7265 info.Content = append(info.Content, items)
7266 }
7267 return info
7268 }
7269
7270
7271 func (m *License) ToRawInfo() *yaml.Node {
7272 info := compiler.NewMappingNode()
7273 if m == nil {
7274 return info
7275 }
7276
7277 info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
7278 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
7279 if m.Url != "" {
7280 info.Content = append(info.Content, compiler.NewScalarNodeForString("url"))
7281 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Url))
7282 }
7283 if m.SpecificationExtension != nil {
7284 for _, item := range m.SpecificationExtension {
7285 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
7286 info.Content = append(info.Content, item.Value.ToRawInfo())
7287 }
7288 }
7289 return info
7290 }
7291
7292
7293 func (m *Link) ToRawInfo() *yaml.Node {
7294 info := compiler.NewMappingNode()
7295 if m == nil {
7296 return info
7297 }
7298 if m.OperationRef != "" {
7299 info.Content = append(info.Content, compiler.NewScalarNodeForString("operationRef"))
7300 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.OperationRef))
7301 }
7302 if m.OperationId != "" {
7303 info.Content = append(info.Content, compiler.NewScalarNodeForString("operationId"))
7304 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.OperationId))
7305 }
7306 if m.Parameters != nil {
7307 info.Content = append(info.Content, compiler.NewScalarNodeForString("parameters"))
7308 info.Content = append(info.Content, m.Parameters.ToRawInfo())
7309 }
7310 if m.RequestBody != nil {
7311 info.Content = append(info.Content, compiler.NewScalarNodeForString("requestBody"))
7312 info.Content = append(info.Content, m.RequestBody.ToRawInfo())
7313 }
7314 if m.Description != "" {
7315 info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
7316 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
7317 }
7318 if m.Server != nil {
7319 info.Content = append(info.Content, compiler.NewScalarNodeForString("server"))
7320 info.Content = append(info.Content, m.Server.ToRawInfo())
7321 }
7322 if m.SpecificationExtension != nil {
7323 for _, item := range m.SpecificationExtension {
7324 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
7325 info.Content = append(info.Content, item.Value.ToRawInfo())
7326 }
7327 }
7328 return info
7329 }
7330
7331
7332 func (m *LinkOrReference) ToRawInfo() *yaml.Node {
7333
7334
7335
7336 v0 := m.GetLink()
7337 if v0 != nil {
7338 return v0.ToRawInfo()
7339 }
7340
7341 v1 := m.GetReference()
7342 if v1 != nil {
7343 return v1.ToRawInfo()
7344 }
7345 return compiler.NewNullNode()
7346 }
7347
7348
7349 func (m *LinksOrReferences) ToRawInfo() *yaml.Node {
7350 info := compiler.NewMappingNode()
7351 if m == nil {
7352 return info
7353 }
7354 if m.AdditionalProperties != nil {
7355 for _, item := range m.AdditionalProperties {
7356 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
7357 info.Content = append(info.Content, item.Value.ToRawInfo())
7358 }
7359 }
7360 return info
7361 }
7362
7363
7364 func (m *MediaType) ToRawInfo() *yaml.Node {
7365 info := compiler.NewMappingNode()
7366 if m == nil {
7367 return info
7368 }
7369 if m.Schema != nil {
7370 info.Content = append(info.Content, compiler.NewScalarNodeForString("schema"))
7371 info.Content = append(info.Content, m.Schema.ToRawInfo())
7372 }
7373 if m.Example != nil {
7374 info.Content = append(info.Content, compiler.NewScalarNodeForString("example"))
7375 info.Content = append(info.Content, m.Example.ToRawInfo())
7376 }
7377 if m.Examples != nil {
7378 info.Content = append(info.Content, compiler.NewScalarNodeForString("examples"))
7379 info.Content = append(info.Content, m.Examples.ToRawInfo())
7380 }
7381 if m.Encoding != nil {
7382 info.Content = append(info.Content, compiler.NewScalarNodeForString("encoding"))
7383 info.Content = append(info.Content, m.Encoding.ToRawInfo())
7384 }
7385 if m.SpecificationExtension != nil {
7386 for _, item := range m.SpecificationExtension {
7387 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
7388 info.Content = append(info.Content, item.Value.ToRawInfo())
7389 }
7390 }
7391 return info
7392 }
7393
7394
7395 func (m *MediaTypes) ToRawInfo() *yaml.Node {
7396 info := compiler.NewMappingNode()
7397 if m == nil {
7398 return info
7399 }
7400 if m.AdditionalProperties != nil {
7401 for _, item := range m.AdditionalProperties {
7402 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
7403 info.Content = append(info.Content, item.Value.ToRawInfo())
7404 }
7405 }
7406 return info
7407 }
7408
7409
7410 func (m *NamedAny) ToRawInfo() *yaml.Node {
7411 info := compiler.NewMappingNode()
7412 if m == nil {
7413 return info
7414 }
7415 if m.Name != "" {
7416 info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
7417 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
7418 }
7419 if m.Value != nil {
7420 info.Content = append(info.Content, compiler.NewScalarNodeForString("value"))
7421 info.Content = append(info.Content, m.Value.ToRawInfo())
7422 }
7423 return info
7424 }
7425
7426
7427 func (m *NamedCallbackOrReference) ToRawInfo() *yaml.Node {
7428 info := compiler.NewMappingNode()
7429 if m == nil {
7430 return info
7431 }
7432 if m.Name != "" {
7433 info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
7434 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
7435 }
7436
7437 return info
7438 }
7439
7440
7441 func (m *NamedEncoding) ToRawInfo() *yaml.Node {
7442 info := compiler.NewMappingNode()
7443 if m == nil {
7444 return info
7445 }
7446 if m.Name != "" {
7447 info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
7448 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
7449 }
7450
7451 return info
7452 }
7453
7454
7455 func (m *NamedExampleOrReference) ToRawInfo() *yaml.Node {
7456 info := compiler.NewMappingNode()
7457 if m == nil {
7458 return info
7459 }
7460 if m.Name != "" {
7461 info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
7462 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
7463 }
7464
7465 return info
7466 }
7467
7468
7469 func (m *NamedHeaderOrReference) ToRawInfo() *yaml.Node {
7470 info := compiler.NewMappingNode()
7471 if m == nil {
7472 return info
7473 }
7474 if m.Name != "" {
7475 info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
7476 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
7477 }
7478
7479 return info
7480 }
7481
7482
7483 func (m *NamedLinkOrReference) ToRawInfo() *yaml.Node {
7484 info := compiler.NewMappingNode()
7485 if m == nil {
7486 return info
7487 }
7488 if m.Name != "" {
7489 info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
7490 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
7491 }
7492
7493 return info
7494 }
7495
7496
7497 func (m *NamedMediaType) ToRawInfo() *yaml.Node {
7498 info := compiler.NewMappingNode()
7499 if m == nil {
7500 return info
7501 }
7502 if m.Name != "" {
7503 info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
7504 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
7505 }
7506
7507 return info
7508 }
7509
7510
7511 func (m *NamedParameterOrReference) ToRawInfo() *yaml.Node {
7512 info := compiler.NewMappingNode()
7513 if m == nil {
7514 return info
7515 }
7516 if m.Name != "" {
7517 info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
7518 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
7519 }
7520
7521 return info
7522 }
7523
7524
7525 func (m *NamedPathItem) ToRawInfo() *yaml.Node {
7526 info := compiler.NewMappingNode()
7527 if m == nil {
7528 return info
7529 }
7530 if m.Name != "" {
7531 info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
7532 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
7533 }
7534
7535 return info
7536 }
7537
7538
7539 func (m *NamedRequestBodyOrReference) ToRawInfo() *yaml.Node {
7540 info := compiler.NewMappingNode()
7541 if m == nil {
7542 return info
7543 }
7544 if m.Name != "" {
7545 info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
7546 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
7547 }
7548
7549 return info
7550 }
7551
7552
7553 func (m *NamedResponseOrReference) ToRawInfo() *yaml.Node {
7554 info := compiler.NewMappingNode()
7555 if m == nil {
7556 return info
7557 }
7558 if m.Name != "" {
7559 info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
7560 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
7561 }
7562
7563 return info
7564 }
7565
7566
7567 func (m *NamedSchemaOrReference) ToRawInfo() *yaml.Node {
7568 info := compiler.NewMappingNode()
7569 if m == nil {
7570 return info
7571 }
7572 if m.Name != "" {
7573 info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
7574 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
7575 }
7576
7577 return info
7578 }
7579
7580
7581 func (m *NamedSecuritySchemeOrReference) ToRawInfo() *yaml.Node {
7582 info := compiler.NewMappingNode()
7583 if m == nil {
7584 return info
7585 }
7586 if m.Name != "" {
7587 info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
7588 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
7589 }
7590
7591 return info
7592 }
7593
7594
7595 func (m *NamedServerVariable) ToRawInfo() *yaml.Node {
7596 info := compiler.NewMappingNode()
7597 if m == nil {
7598 return info
7599 }
7600 if m.Name != "" {
7601 info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
7602 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
7603 }
7604
7605 return info
7606 }
7607
7608
7609 func (m *NamedString) ToRawInfo() *yaml.Node {
7610 info := compiler.NewMappingNode()
7611 if m == nil {
7612 return info
7613 }
7614 if m.Name != "" {
7615 info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
7616 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
7617 }
7618 if m.Value != "" {
7619 info.Content = append(info.Content, compiler.NewScalarNodeForString("value"))
7620 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Value))
7621 }
7622 return info
7623 }
7624
7625
7626 func (m *NamedStringArray) ToRawInfo() *yaml.Node {
7627 info := compiler.NewMappingNode()
7628 if m == nil {
7629 return info
7630 }
7631 if m.Name != "" {
7632 info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
7633 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
7634 }
7635
7636 return info
7637 }
7638
7639
7640 func (m *OauthFlow) ToRawInfo() *yaml.Node {
7641 info := compiler.NewMappingNode()
7642 if m == nil {
7643 return info
7644 }
7645 if m.AuthorizationUrl != "" {
7646 info.Content = append(info.Content, compiler.NewScalarNodeForString("authorizationUrl"))
7647 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.AuthorizationUrl))
7648 }
7649 if m.TokenUrl != "" {
7650 info.Content = append(info.Content, compiler.NewScalarNodeForString("tokenUrl"))
7651 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.TokenUrl))
7652 }
7653 if m.RefreshUrl != "" {
7654 info.Content = append(info.Content, compiler.NewScalarNodeForString("refreshUrl"))
7655 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.RefreshUrl))
7656 }
7657 if m.Scopes != nil {
7658 info.Content = append(info.Content, compiler.NewScalarNodeForString("scopes"))
7659 info.Content = append(info.Content, m.Scopes.ToRawInfo())
7660 }
7661 if m.SpecificationExtension != nil {
7662 for _, item := range m.SpecificationExtension {
7663 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
7664 info.Content = append(info.Content, item.Value.ToRawInfo())
7665 }
7666 }
7667 return info
7668 }
7669
7670
7671 func (m *OauthFlows) ToRawInfo() *yaml.Node {
7672 info := compiler.NewMappingNode()
7673 if m == nil {
7674 return info
7675 }
7676 if m.Implicit != nil {
7677 info.Content = append(info.Content, compiler.NewScalarNodeForString("implicit"))
7678 info.Content = append(info.Content, m.Implicit.ToRawInfo())
7679 }
7680 if m.Password != nil {
7681 info.Content = append(info.Content, compiler.NewScalarNodeForString("password"))
7682 info.Content = append(info.Content, m.Password.ToRawInfo())
7683 }
7684 if m.ClientCredentials != nil {
7685 info.Content = append(info.Content, compiler.NewScalarNodeForString("clientCredentials"))
7686 info.Content = append(info.Content, m.ClientCredentials.ToRawInfo())
7687 }
7688 if m.AuthorizationCode != nil {
7689 info.Content = append(info.Content, compiler.NewScalarNodeForString("authorizationCode"))
7690 info.Content = append(info.Content, m.AuthorizationCode.ToRawInfo())
7691 }
7692 if m.SpecificationExtension != nil {
7693 for _, item := range m.SpecificationExtension {
7694 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
7695 info.Content = append(info.Content, item.Value.ToRawInfo())
7696 }
7697 }
7698 return info
7699 }
7700
7701
7702 func (m *Object) ToRawInfo() *yaml.Node {
7703 info := compiler.NewMappingNode()
7704 if m == nil {
7705 return info
7706 }
7707 if m.AdditionalProperties != nil {
7708 for _, item := range m.AdditionalProperties {
7709 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
7710 info.Content = append(info.Content, item.Value.ToRawInfo())
7711 }
7712 }
7713 return info
7714 }
7715
7716
7717 func (m *Operation) ToRawInfo() *yaml.Node {
7718 info := compiler.NewMappingNode()
7719 if m == nil {
7720 return info
7721 }
7722 if len(m.Tags) != 0 {
7723 info.Content = append(info.Content, compiler.NewScalarNodeForString("tags"))
7724 info.Content = append(info.Content, compiler.NewSequenceNodeForStringArray(m.Tags))
7725 }
7726 if m.Summary != "" {
7727 info.Content = append(info.Content, compiler.NewScalarNodeForString("summary"))
7728 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Summary))
7729 }
7730 if m.Description != "" {
7731 info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
7732 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
7733 }
7734 if m.ExternalDocs != nil {
7735 info.Content = append(info.Content, compiler.NewScalarNodeForString("externalDocs"))
7736 info.Content = append(info.Content, m.ExternalDocs.ToRawInfo())
7737 }
7738 if m.OperationId != "" {
7739 info.Content = append(info.Content, compiler.NewScalarNodeForString("operationId"))
7740 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.OperationId))
7741 }
7742 if len(m.Parameters) != 0 {
7743 items := compiler.NewSequenceNode()
7744 for _, item := range m.Parameters {
7745 items.Content = append(items.Content, item.ToRawInfo())
7746 }
7747 info.Content = append(info.Content, compiler.NewScalarNodeForString("parameters"))
7748 info.Content = append(info.Content, items)
7749 }
7750 if m.RequestBody != nil {
7751 info.Content = append(info.Content, compiler.NewScalarNodeForString("requestBody"))
7752 info.Content = append(info.Content, m.RequestBody.ToRawInfo())
7753 }
7754
7755 info.Content = append(info.Content, compiler.NewScalarNodeForString("responses"))
7756 info.Content = append(info.Content, m.Responses.ToRawInfo())
7757 if m.Callbacks != nil {
7758 info.Content = append(info.Content, compiler.NewScalarNodeForString("callbacks"))
7759 info.Content = append(info.Content, m.Callbacks.ToRawInfo())
7760 }
7761 if m.Deprecated != false {
7762 info.Content = append(info.Content, compiler.NewScalarNodeForString("deprecated"))
7763 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.Deprecated))
7764 }
7765 if len(m.Security) != 0 {
7766 items := compiler.NewSequenceNode()
7767 for _, item := range m.Security {
7768 items.Content = append(items.Content, item.ToRawInfo())
7769 }
7770 info.Content = append(info.Content, compiler.NewScalarNodeForString("security"))
7771 info.Content = append(info.Content, items)
7772 }
7773 if len(m.Servers) != 0 {
7774 items := compiler.NewSequenceNode()
7775 for _, item := range m.Servers {
7776 items.Content = append(items.Content, item.ToRawInfo())
7777 }
7778 info.Content = append(info.Content, compiler.NewScalarNodeForString("servers"))
7779 info.Content = append(info.Content, items)
7780 }
7781 if m.SpecificationExtension != nil {
7782 for _, item := range m.SpecificationExtension {
7783 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
7784 info.Content = append(info.Content, item.Value.ToRawInfo())
7785 }
7786 }
7787 return info
7788 }
7789
7790
7791 func (m *Parameter) ToRawInfo() *yaml.Node {
7792 info := compiler.NewMappingNode()
7793 if m == nil {
7794 return info
7795 }
7796
7797 info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
7798 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
7799
7800 info.Content = append(info.Content, compiler.NewScalarNodeForString("in"))
7801 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.In))
7802 if m.Description != "" {
7803 info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
7804 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
7805 }
7806 if m.Required != false {
7807 info.Content = append(info.Content, compiler.NewScalarNodeForString("required"))
7808 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.Required))
7809 }
7810 if m.Deprecated != false {
7811 info.Content = append(info.Content, compiler.NewScalarNodeForString("deprecated"))
7812 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.Deprecated))
7813 }
7814 if m.AllowEmptyValue != false {
7815 info.Content = append(info.Content, compiler.NewScalarNodeForString("allowEmptyValue"))
7816 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.AllowEmptyValue))
7817 }
7818 if m.Style != "" {
7819 info.Content = append(info.Content, compiler.NewScalarNodeForString("style"))
7820 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Style))
7821 }
7822 if m.Explode != false {
7823 info.Content = append(info.Content, compiler.NewScalarNodeForString("explode"))
7824 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.Explode))
7825 }
7826 if m.AllowReserved != false {
7827 info.Content = append(info.Content, compiler.NewScalarNodeForString("allowReserved"))
7828 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.AllowReserved))
7829 }
7830 if m.Schema != nil {
7831 info.Content = append(info.Content, compiler.NewScalarNodeForString("schema"))
7832 info.Content = append(info.Content, m.Schema.ToRawInfo())
7833 }
7834 if m.Example != nil {
7835 info.Content = append(info.Content, compiler.NewScalarNodeForString("example"))
7836 info.Content = append(info.Content, m.Example.ToRawInfo())
7837 }
7838 if m.Examples != nil {
7839 info.Content = append(info.Content, compiler.NewScalarNodeForString("examples"))
7840 info.Content = append(info.Content, m.Examples.ToRawInfo())
7841 }
7842 if m.Content != nil {
7843 info.Content = append(info.Content, compiler.NewScalarNodeForString("content"))
7844 info.Content = append(info.Content, m.Content.ToRawInfo())
7845 }
7846 if m.SpecificationExtension != nil {
7847 for _, item := range m.SpecificationExtension {
7848 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
7849 info.Content = append(info.Content, item.Value.ToRawInfo())
7850 }
7851 }
7852 return info
7853 }
7854
7855
7856 func (m *ParameterOrReference) ToRawInfo() *yaml.Node {
7857
7858
7859
7860 v0 := m.GetParameter()
7861 if v0 != nil {
7862 return v0.ToRawInfo()
7863 }
7864
7865 v1 := m.GetReference()
7866 if v1 != nil {
7867 return v1.ToRawInfo()
7868 }
7869 return compiler.NewNullNode()
7870 }
7871
7872
7873 func (m *ParametersOrReferences) ToRawInfo() *yaml.Node {
7874 info := compiler.NewMappingNode()
7875 if m == nil {
7876 return info
7877 }
7878 if m.AdditionalProperties != nil {
7879 for _, item := range m.AdditionalProperties {
7880 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
7881 info.Content = append(info.Content, item.Value.ToRawInfo())
7882 }
7883 }
7884 return info
7885 }
7886
7887
7888 func (m *PathItem) ToRawInfo() *yaml.Node {
7889 info := compiler.NewMappingNode()
7890 if m == nil {
7891 return info
7892 }
7893 if m.XRef != "" {
7894 info.Content = append(info.Content, compiler.NewScalarNodeForString("$ref"))
7895 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.XRef))
7896 }
7897 if m.Summary != "" {
7898 info.Content = append(info.Content, compiler.NewScalarNodeForString("summary"))
7899 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Summary))
7900 }
7901 if m.Description != "" {
7902 info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
7903 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
7904 }
7905 if m.Get != nil {
7906 info.Content = append(info.Content, compiler.NewScalarNodeForString("get"))
7907 info.Content = append(info.Content, m.Get.ToRawInfo())
7908 }
7909 if m.Put != nil {
7910 info.Content = append(info.Content, compiler.NewScalarNodeForString("put"))
7911 info.Content = append(info.Content, m.Put.ToRawInfo())
7912 }
7913 if m.Post != nil {
7914 info.Content = append(info.Content, compiler.NewScalarNodeForString("post"))
7915 info.Content = append(info.Content, m.Post.ToRawInfo())
7916 }
7917 if m.Delete != nil {
7918 info.Content = append(info.Content, compiler.NewScalarNodeForString("delete"))
7919 info.Content = append(info.Content, m.Delete.ToRawInfo())
7920 }
7921 if m.Options != nil {
7922 info.Content = append(info.Content, compiler.NewScalarNodeForString("options"))
7923 info.Content = append(info.Content, m.Options.ToRawInfo())
7924 }
7925 if m.Head != nil {
7926 info.Content = append(info.Content, compiler.NewScalarNodeForString("head"))
7927 info.Content = append(info.Content, m.Head.ToRawInfo())
7928 }
7929 if m.Patch != nil {
7930 info.Content = append(info.Content, compiler.NewScalarNodeForString("patch"))
7931 info.Content = append(info.Content, m.Patch.ToRawInfo())
7932 }
7933 if m.Trace != nil {
7934 info.Content = append(info.Content, compiler.NewScalarNodeForString("trace"))
7935 info.Content = append(info.Content, m.Trace.ToRawInfo())
7936 }
7937 if len(m.Servers) != 0 {
7938 items := compiler.NewSequenceNode()
7939 for _, item := range m.Servers {
7940 items.Content = append(items.Content, item.ToRawInfo())
7941 }
7942 info.Content = append(info.Content, compiler.NewScalarNodeForString("servers"))
7943 info.Content = append(info.Content, items)
7944 }
7945 if len(m.Parameters) != 0 {
7946 items := compiler.NewSequenceNode()
7947 for _, item := range m.Parameters {
7948 items.Content = append(items.Content, item.ToRawInfo())
7949 }
7950 info.Content = append(info.Content, compiler.NewScalarNodeForString("parameters"))
7951 info.Content = append(info.Content, items)
7952 }
7953 if m.SpecificationExtension != nil {
7954 for _, item := range m.SpecificationExtension {
7955 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
7956 info.Content = append(info.Content, item.Value.ToRawInfo())
7957 }
7958 }
7959 return info
7960 }
7961
7962
7963 func (m *Paths) ToRawInfo() *yaml.Node {
7964 info := compiler.NewMappingNode()
7965 if m == nil {
7966 return info
7967 }
7968 if m.Path != nil {
7969 for _, item := range m.Path {
7970 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
7971 info.Content = append(info.Content, item.Value.ToRawInfo())
7972 }
7973 }
7974 if m.SpecificationExtension != nil {
7975 for _, item := range m.SpecificationExtension {
7976 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
7977 info.Content = append(info.Content, item.Value.ToRawInfo())
7978 }
7979 }
7980 return info
7981 }
7982
7983
7984 func (m *Properties) ToRawInfo() *yaml.Node {
7985 info := compiler.NewMappingNode()
7986 if m == nil {
7987 return info
7988 }
7989 if m.AdditionalProperties != nil {
7990 for _, item := range m.AdditionalProperties {
7991 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
7992 info.Content = append(info.Content, item.Value.ToRawInfo())
7993 }
7994 }
7995 return info
7996 }
7997
7998
7999 func (m *Reference) ToRawInfo() *yaml.Node {
8000 info := compiler.NewMappingNode()
8001 if m == nil {
8002 return info
8003 }
8004
8005 info.Content = append(info.Content, compiler.NewScalarNodeForString("$ref"))
8006 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.XRef))
8007 if m.Summary != "" {
8008 info.Content = append(info.Content, compiler.NewScalarNodeForString("summary"))
8009 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Summary))
8010 }
8011 if m.Description != "" {
8012 info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
8013 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
8014 }
8015 return info
8016 }
8017
8018
8019 func (m *RequestBodiesOrReferences) ToRawInfo() *yaml.Node {
8020 info := compiler.NewMappingNode()
8021 if m == nil {
8022 return info
8023 }
8024 if m.AdditionalProperties != nil {
8025 for _, item := range m.AdditionalProperties {
8026 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
8027 info.Content = append(info.Content, item.Value.ToRawInfo())
8028 }
8029 }
8030 return info
8031 }
8032
8033
8034 func (m *RequestBody) ToRawInfo() *yaml.Node {
8035 info := compiler.NewMappingNode()
8036 if m == nil {
8037 return info
8038 }
8039 if m.Description != "" {
8040 info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
8041 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
8042 }
8043
8044 info.Content = append(info.Content, compiler.NewScalarNodeForString("content"))
8045 info.Content = append(info.Content, m.Content.ToRawInfo())
8046 if m.Required != false {
8047 info.Content = append(info.Content, compiler.NewScalarNodeForString("required"))
8048 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.Required))
8049 }
8050 if m.SpecificationExtension != nil {
8051 for _, item := range m.SpecificationExtension {
8052 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
8053 info.Content = append(info.Content, item.Value.ToRawInfo())
8054 }
8055 }
8056 return info
8057 }
8058
8059
8060 func (m *RequestBodyOrReference) ToRawInfo() *yaml.Node {
8061
8062
8063
8064 v0 := m.GetRequestBody()
8065 if v0 != nil {
8066 return v0.ToRawInfo()
8067 }
8068
8069 v1 := m.GetReference()
8070 if v1 != nil {
8071 return v1.ToRawInfo()
8072 }
8073 return compiler.NewNullNode()
8074 }
8075
8076
8077 func (m *Response) ToRawInfo() *yaml.Node {
8078 info := compiler.NewMappingNode()
8079 if m == nil {
8080 return info
8081 }
8082
8083 info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
8084 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
8085 if m.Headers != nil {
8086 info.Content = append(info.Content, compiler.NewScalarNodeForString("headers"))
8087 info.Content = append(info.Content, m.Headers.ToRawInfo())
8088 }
8089 if m.Content != nil {
8090 info.Content = append(info.Content, compiler.NewScalarNodeForString("content"))
8091 info.Content = append(info.Content, m.Content.ToRawInfo())
8092 }
8093 if m.Links != nil {
8094 info.Content = append(info.Content, compiler.NewScalarNodeForString("links"))
8095 info.Content = append(info.Content, m.Links.ToRawInfo())
8096 }
8097 if m.SpecificationExtension != nil {
8098 for _, item := range m.SpecificationExtension {
8099 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
8100 info.Content = append(info.Content, item.Value.ToRawInfo())
8101 }
8102 }
8103 return info
8104 }
8105
8106
8107 func (m *ResponseOrReference) ToRawInfo() *yaml.Node {
8108
8109
8110
8111 v0 := m.GetResponse()
8112 if v0 != nil {
8113 return v0.ToRawInfo()
8114 }
8115
8116 v1 := m.GetReference()
8117 if v1 != nil {
8118 return v1.ToRawInfo()
8119 }
8120 return compiler.NewNullNode()
8121 }
8122
8123
8124 func (m *Responses) ToRawInfo() *yaml.Node {
8125 info := compiler.NewMappingNode()
8126 if m == nil {
8127 return info
8128 }
8129 if m.Default != nil {
8130 info.Content = append(info.Content, compiler.NewScalarNodeForString("default"))
8131 info.Content = append(info.Content, m.Default.ToRawInfo())
8132 }
8133 if m.ResponseOrReference != nil {
8134 for _, item := range m.ResponseOrReference {
8135 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
8136 info.Content = append(info.Content, item.Value.ToRawInfo())
8137 }
8138 }
8139 if m.SpecificationExtension != nil {
8140 for _, item := range m.SpecificationExtension {
8141 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
8142 info.Content = append(info.Content, item.Value.ToRawInfo())
8143 }
8144 }
8145 return info
8146 }
8147
8148
8149 func (m *ResponsesOrReferences) ToRawInfo() *yaml.Node {
8150 info := compiler.NewMappingNode()
8151 if m == nil {
8152 return info
8153 }
8154 if m.AdditionalProperties != nil {
8155 for _, item := range m.AdditionalProperties {
8156 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
8157 info.Content = append(info.Content, item.Value.ToRawInfo())
8158 }
8159 }
8160 return info
8161 }
8162
8163
8164 func (m *Schema) ToRawInfo() *yaml.Node {
8165 info := compiler.NewMappingNode()
8166 if m == nil {
8167 return info
8168 }
8169 if m.Nullable != false {
8170 info.Content = append(info.Content, compiler.NewScalarNodeForString("nullable"))
8171 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.Nullable))
8172 }
8173 if m.Discriminator != nil {
8174 info.Content = append(info.Content, compiler.NewScalarNodeForString("discriminator"))
8175 info.Content = append(info.Content, m.Discriminator.ToRawInfo())
8176 }
8177 if m.ReadOnly != false {
8178 info.Content = append(info.Content, compiler.NewScalarNodeForString("readOnly"))
8179 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.ReadOnly))
8180 }
8181 if m.WriteOnly != false {
8182 info.Content = append(info.Content, compiler.NewScalarNodeForString("writeOnly"))
8183 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.WriteOnly))
8184 }
8185 if m.Xml != nil {
8186 info.Content = append(info.Content, compiler.NewScalarNodeForString("xml"))
8187 info.Content = append(info.Content, m.Xml.ToRawInfo())
8188 }
8189 if m.ExternalDocs != nil {
8190 info.Content = append(info.Content, compiler.NewScalarNodeForString("externalDocs"))
8191 info.Content = append(info.Content, m.ExternalDocs.ToRawInfo())
8192 }
8193 if m.Example != nil {
8194 info.Content = append(info.Content, compiler.NewScalarNodeForString("example"))
8195 info.Content = append(info.Content, m.Example.ToRawInfo())
8196 }
8197 if m.Deprecated != false {
8198 info.Content = append(info.Content, compiler.NewScalarNodeForString("deprecated"))
8199 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.Deprecated))
8200 }
8201 if m.Title != "" {
8202 info.Content = append(info.Content, compiler.NewScalarNodeForString("title"))
8203 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Title))
8204 }
8205 if m.MultipleOf != 0.0 {
8206 info.Content = append(info.Content, compiler.NewScalarNodeForString("multipleOf"))
8207 info.Content = append(info.Content, compiler.NewScalarNodeForFloat(m.MultipleOf))
8208 }
8209 if m.Maximum != 0.0 {
8210 info.Content = append(info.Content, compiler.NewScalarNodeForString("maximum"))
8211 info.Content = append(info.Content, compiler.NewScalarNodeForFloat(m.Maximum))
8212 }
8213 if m.ExclusiveMaximum != false {
8214 info.Content = append(info.Content, compiler.NewScalarNodeForString("exclusiveMaximum"))
8215 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.ExclusiveMaximum))
8216 }
8217 if m.Minimum != 0.0 {
8218 info.Content = append(info.Content, compiler.NewScalarNodeForString("minimum"))
8219 info.Content = append(info.Content, compiler.NewScalarNodeForFloat(m.Minimum))
8220 }
8221 if m.ExclusiveMinimum != false {
8222 info.Content = append(info.Content, compiler.NewScalarNodeForString("exclusiveMinimum"))
8223 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.ExclusiveMinimum))
8224 }
8225 if m.MaxLength != 0 {
8226 info.Content = append(info.Content, compiler.NewScalarNodeForString("maxLength"))
8227 info.Content = append(info.Content, compiler.NewScalarNodeForInt(m.MaxLength))
8228 }
8229 if m.MinLength != 0 {
8230 info.Content = append(info.Content, compiler.NewScalarNodeForString("minLength"))
8231 info.Content = append(info.Content, compiler.NewScalarNodeForInt(m.MinLength))
8232 }
8233 if m.Pattern != "" {
8234 info.Content = append(info.Content, compiler.NewScalarNodeForString("pattern"))
8235 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Pattern))
8236 }
8237 if m.MaxItems != 0 {
8238 info.Content = append(info.Content, compiler.NewScalarNodeForString("maxItems"))
8239 info.Content = append(info.Content, compiler.NewScalarNodeForInt(m.MaxItems))
8240 }
8241 if m.MinItems != 0 {
8242 info.Content = append(info.Content, compiler.NewScalarNodeForString("minItems"))
8243 info.Content = append(info.Content, compiler.NewScalarNodeForInt(m.MinItems))
8244 }
8245 if m.UniqueItems != false {
8246 info.Content = append(info.Content, compiler.NewScalarNodeForString("uniqueItems"))
8247 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.UniqueItems))
8248 }
8249 if m.MaxProperties != 0 {
8250 info.Content = append(info.Content, compiler.NewScalarNodeForString("maxProperties"))
8251 info.Content = append(info.Content, compiler.NewScalarNodeForInt(m.MaxProperties))
8252 }
8253 if m.MinProperties != 0 {
8254 info.Content = append(info.Content, compiler.NewScalarNodeForString("minProperties"))
8255 info.Content = append(info.Content, compiler.NewScalarNodeForInt(m.MinProperties))
8256 }
8257 if len(m.Required) != 0 {
8258 info.Content = append(info.Content, compiler.NewScalarNodeForString("required"))
8259 info.Content = append(info.Content, compiler.NewSequenceNodeForStringArray(m.Required))
8260 }
8261 if len(m.Enum) != 0 {
8262 items := compiler.NewSequenceNode()
8263 for _, item := range m.Enum {
8264 items.Content = append(items.Content, item.ToRawInfo())
8265 }
8266 info.Content = append(info.Content, compiler.NewScalarNodeForString("enum"))
8267 info.Content = append(info.Content, items)
8268 }
8269 if m.Type != "" {
8270 info.Content = append(info.Content, compiler.NewScalarNodeForString("type"))
8271 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Type))
8272 }
8273 if len(m.AllOf) != 0 {
8274 items := compiler.NewSequenceNode()
8275 for _, item := range m.AllOf {
8276 items.Content = append(items.Content, item.ToRawInfo())
8277 }
8278 info.Content = append(info.Content, compiler.NewScalarNodeForString("allOf"))
8279 info.Content = append(info.Content, items)
8280 }
8281 if len(m.OneOf) != 0 {
8282 items := compiler.NewSequenceNode()
8283 for _, item := range m.OneOf {
8284 items.Content = append(items.Content, item.ToRawInfo())
8285 }
8286 info.Content = append(info.Content, compiler.NewScalarNodeForString("oneOf"))
8287 info.Content = append(info.Content, items)
8288 }
8289 if len(m.AnyOf) != 0 {
8290 items := compiler.NewSequenceNode()
8291 for _, item := range m.AnyOf {
8292 items.Content = append(items.Content, item.ToRawInfo())
8293 }
8294 info.Content = append(info.Content, compiler.NewScalarNodeForString("anyOf"))
8295 info.Content = append(info.Content, items)
8296 }
8297 if m.Not != nil {
8298 info.Content = append(info.Content, compiler.NewScalarNodeForString("not"))
8299 info.Content = append(info.Content, m.Not.ToRawInfo())
8300 }
8301 if m.Items != nil {
8302 items := compiler.NewSequenceNode()
8303 for _, item := range m.Items.SchemaOrReference {
8304 items.Content = append(items.Content, item.ToRawInfo())
8305 }
8306 if len(items.Content) == 1 {
8307 items = items.Content[0]
8308 }
8309 info.Content = append(info.Content, compiler.NewScalarNodeForString("items"))
8310 info.Content = append(info.Content, items)
8311 }
8312 if m.Properties != nil {
8313 info.Content = append(info.Content, compiler.NewScalarNodeForString("properties"))
8314 info.Content = append(info.Content, m.Properties.ToRawInfo())
8315 }
8316 if m.AdditionalProperties != nil {
8317 info.Content = append(info.Content, compiler.NewScalarNodeForString("additionalProperties"))
8318 info.Content = append(info.Content, m.AdditionalProperties.ToRawInfo())
8319 }
8320 if m.Default != nil {
8321 info.Content = append(info.Content, compiler.NewScalarNodeForString("default"))
8322 info.Content = append(info.Content, m.Default.ToRawInfo())
8323 }
8324 if m.Description != "" {
8325 info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
8326 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
8327 }
8328 if m.Format != "" {
8329 info.Content = append(info.Content, compiler.NewScalarNodeForString("format"))
8330 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Format))
8331 }
8332 if m.SpecificationExtension != nil {
8333 for _, item := range m.SpecificationExtension {
8334 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
8335 info.Content = append(info.Content, item.Value.ToRawInfo())
8336 }
8337 }
8338 return info
8339 }
8340
8341
8342 func (m *SchemaOrReference) ToRawInfo() *yaml.Node {
8343
8344
8345
8346 v0 := m.GetSchema()
8347 if v0 != nil {
8348 return v0.ToRawInfo()
8349 }
8350
8351 v1 := m.GetReference()
8352 if v1 != nil {
8353 return v1.ToRawInfo()
8354 }
8355 return compiler.NewNullNode()
8356 }
8357
8358
8359 func (m *SchemasOrReferences) ToRawInfo() *yaml.Node {
8360 info := compiler.NewMappingNode()
8361 if m == nil {
8362 return info
8363 }
8364 if m.AdditionalProperties != nil {
8365 for _, item := range m.AdditionalProperties {
8366 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
8367 info.Content = append(info.Content, item.Value.ToRawInfo())
8368 }
8369 }
8370 return info
8371 }
8372
8373
8374 func (m *SecurityRequirement) ToRawInfo() *yaml.Node {
8375 info := compiler.NewMappingNode()
8376 if m == nil {
8377 return info
8378 }
8379 if m.AdditionalProperties != nil {
8380 for _, item := range m.AdditionalProperties {
8381 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
8382 info.Content = append(info.Content, item.Value.ToRawInfo())
8383 }
8384 }
8385 return info
8386 }
8387
8388
8389 func (m *SecurityScheme) ToRawInfo() *yaml.Node {
8390 info := compiler.NewMappingNode()
8391 if m == nil {
8392 return info
8393 }
8394
8395 info.Content = append(info.Content, compiler.NewScalarNodeForString("type"))
8396 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Type))
8397 if m.Description != "" {
8398 info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
8399 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
8400 }
8401 if m.Name != "" {
8402 info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
8403 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
8404 }
8405 if m.In != "" {
8406 info.Content = append(info.Content, compiler.NewScalarNodeForString("in"))
8407 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.In))
8408 }
8409 if m.Scheme != "" {
8410 info.Content = append(info.Content, compiler.NewScalarNodeForString("scheme"))
8411 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Scheme))
8412 }
8413 if m.BearerFormat != "" {
8414 info.Content = append(info.Content, compiler.NewScalarNodeForString("bearerFormat"))
8415 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.BearerFormat))
8416 }
8417 if m.Flows != nil {
8418 info.Content = append(info.Content, compiler.NewScalarNodeForString("flows"))
8419 info.Content = append(info.Content, m.Flows.ToRawInfo())
8420 }
8421 if m.OpenIdConnectUrl != "" {
8422 info.Content = append(info.Content, compiler.NewScalarNodeForString("openIdConnectUrl"))
8423 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.OpenIdConnectUrl))
8424 }
8425 if m.SpecificationExtension != nil {
8426 for _, item := range m.SpecificationExtension {
8427 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
8428 info.Content = append(info.Content, item.Value.ToRawInfo())
8429 }
8430 }
8431 return info
8432 }
8433
8434
8435 func (m *SecuritySchemeOrReference) ToRawInfo() *yaml.Node {
8436
8437
8438
8439 v0 := m.GetSecurityScheme()
8440 if v0 != nil {
8441 return v0.ToRawInfo()
8442 }
8443
8444 v1 := m.GetReference()
8445 if v1 != nil {
8446 return v1.ToRawInfo()
8447 }
8448 return compiler.NewNullNode()
8449 }
8450
8451
8452 func (m *SecuritySchemesOrReferences) ToRawInfo() *yaml.Node {
8453 info := compiler.NewMappingNode()
8454 if m == nil {
8455 return info
8456 }
8457 if m.AdditionalProperties != nil {
8458 for _, item := range m.AdditionalProperties {
8459 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
8460 info.Content = append(info.Content, item.Value.ToRawInfo())
8461 }
8462 }
8463 return info
8464 }
8465
8466
8467 func (m *Server) ToRawInfo() *yaml.Node {
8468 info := compiler.NewMappingNode()
8469 if m == nil {
8470 return info
8471 }
8472
8473 info.Content = append(info.Content, compiler.NewScalarNodeForString("url"))
8474 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Url))
8475 if m.Description != "" {
8476 info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
8477 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
8478 }
8479 if m.Variables != nil {
8480 info.Content = append(info.Content, compiler.NewScalarNodeForString("variables"))
8481 info.Content = append(info.Content, m.Variables.ToRawInfo())
8482 }
8483 if m.SpecificationExtension != nil {
8484 for _, item := range m.SpecificationExtension {
8485 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
8486 info.Content = append(info.Content, item.Value.ToRawInfo())
8487 }
8488 }
8489 return info
8490 }
8491
8492
8493 func (m *ServerVariable) ToRawInfo() *yaml.Node {
8494 info := compiler.NewMappingNode()
8495 if m == nil {
8496 return info
8497 }
8498 if len(m.Enum) != 0 {
8499 info.Content = append(info.Content, compiler.NewScalarNodeForString("enum"))
8500 info.Content = append(info.Content, compiler.NewSequenceNodeForStringArray(m.Enum))
8501 }
8502
8503 info.Content = append(info.Content, compiler.NewScalarNodeForString("default"))
8504 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Default))
8505 if m.Description != "" {
8506 info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
8507 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
8508 }
8509 if m.SpecificationExtension != nil {
8510 for _, item := range m.SpecificationExtension {
8511 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
8512 info.Content = append(info.Content, item.Value.ToRawInfo())
8513 }
8514 }
8515 return info
8516 }
8517
8518
8519 func (m *ServerVariables) ToRawInfo() *yaml.Node {
8520 info := compiler.NewMappingNode()
8521 if m == nil {
8522 return info
8523 }
8524 if m.AdditionalProperties != nil {
8525 for _, item := range m.AdditionalProperties {
8526 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
8527 info.Content = append(info.Content, item.Value.ToRawInfo())
8528 }
8529 }
8530 return info
8531 }
8532
8533
8534 func (m *SpecificationExtension) ToRawInfo() *yaml.Node {
8535
8536
8537
8538 if v0, ok := m.GetOneof().(*SpecificationExtension_Number); ok {
8539 return compiler.NewScalarNodeForFloat(v0.Number)
8540 }
8541
8542 if v1, ok := m.GetOneof().(*SpecificationExtension_Boolean); ok {
8543 return compiler.NewScalarNodeForBool(v1.Boolean)
8544 }
8545
8546 if v2, ok := m.GetOneof().(*SpecificationExtension_String_); ok {
8547 return compiler.NewScalarNodeForString(v2.String_)
8548 }
8549 return compiler.NewNullNode()
8550 }
8551
8552
8553 func (m *StringArray) ToRawInfo() *yaml.Node {
8554 return compiler.NewSequenceNodeForStringArray(m.Value)
8555 }
8556
8557
8558 func (m *Strings) ToRawInfo() *yaml.Node {
8559 info := compiler.NewMappingNode()
8560 if m == nil {
8561 return info
8562 }
8563
8564 return info
8565 }
8566
8567
8568 func (m *Tag) ToRawInfo() *yaml.Node {
8569 info := compiler.NewMappingNode()
8570 if m == nil {
8571 return info
8572 }
8573
8574 info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
8575 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
8576 if m.Description != "" {
8577 info.Content = append(info.Content, compiler.NewScalarNodeForString("description"))
8578 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Description))
8579 }
8580 if m.ExternalDocs != nil {
8581 info.Content = append(info.Content, compiler.NewScalarNodeForString("externalDocs"))
8582 info.Content = append(info.Content, m.ExternalDocs.ToRawInfo())
8583 }
8584 if m.SpecificationExtension != nil {
8585 for _, item := range m.SpecificationExtension {
8586 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
8587 info.Content = append(info.Content, item.Value.ToRawInfo())
8588 }
8589 }
8590 return info
8591 }
8592
8593
8594 func (m *Xml) ToRawInfo() *yaml.Node {
8595 info := compiler.NewMappingNode()
8596 if m == nil {
8597 return info
8598 }
8599 if m.Name != "" {
8600 info.Content = append(info.Content, compiler.NewScalarNodeForString("name"))
8601 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Name))
8602 }
8603 if m.Namespace != "" {
8604 info.Content = append(info.Content, compiler.NewScalarNodeForString("namespace"))
8605 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Namespace))
8606 }
8607 if m.Prefix != "" {
8608 info.Content = append(info.Content, compiler.NewScalarNodeForString("prefix"))
8609 info.Content = append(info.Content, compiler.NewScalarNodeForString(m.Prefix))
8610 }
8611 if m.Attribute != false {
8612 info.Content = append(info.Content, compiler.NewScalarNodeForString("attribute"))
8613 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.Attribute))
8614 }
8615 if m.Wrapped != false {
8616 info.Content = append(info.Content, compiler.NewScalarNodeForString("wrapped"))
8617 info.Content = append(info.Content, compiler.NewScalarNodeForBool(m.Wrapped))
8618 }
8619 if m.SpecificationExtension != nil {
8620 for _, item := range m.SpecificationExtension {
8621 info.Content = append(info.Content, compiler.NewScalarNodeForString(item.Name))
8622 info.Content = append(info.Content, item.Value.ToRawInfo())
8623 }
8624 }
8625 return info
8626 }
8627
8628 var (
8629 pattern0 = regexp.MustCompile("^")
8630 pattern1 = regexp.MustCompile("^x-")
8631 pattern2 = regexp.MustCompile("^/")
8632 pattern3 = regexp.MustCompile("^([0-9X]{3})$")
8633 )
8634
View as plain text