@scalar/openapi-parser 0.4.1 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +6 -6
  3. package/dist/configuration.d.ts +3907 -0
  4. package/dist/index.d.ts +29 -5889
  5. package/dist/lib/Validator/Validator.d.ts +33 -0
  6. package/dist/pipeline.d.ts +388 -0
  7. package/dist/schemas/v2.0/schema.json.js +1623 -0
  8. package/dist/schemas/v3.0/schema.json.js +1673 -0
  9. package/dist/schemas/v3.1/schema.json.js +1452 -0
  10. package/dist/src/configuration.js +22 -0
  11. package/dist/src/index.js +27 -0
  12. package/dist/src/lib/Validator/Validator.js +94 -0
  13. package/dist/src/pipeline.js +121 -0
  14. package/dist/src/polyfills/path.js +83 -0
  15. package/dist/src/utils/betterAjvErrors/helpers.js +89 -0
  16. package/dist/src/utils/betterAjvErrors/index.js +15 -0
  17. package/dist/src/utils/betterAjvErrors/utils.js +17 -0
  18. package/dist/src/utils/betterAjvErrors/validation-errors/additional-prop.js +18 -0
  19. package/dist/src/utils/betterAjvErrors/validation-errors/base.js +23 -0
  20. package/dist/src/utils/betterAjvErrors/validation-errors/default.js +18 -0
  21. package/dist/src/utils/betterAjvErrors/validation-errors/enum.js +41 -0
  22. package/dist/src/utils/betterAjvErrors/validation-errors/pattern.js +18 -0
  23. package/dist/src/utils/betterAjvErrors/validation-errors/required.js +17 -0
  24. package/dist/src/utils/betterAjvErrors/validation-errors/unevaluated-prop.js +18 -0
  25. package/dist/src/utils/dereference.js +18 -0
  26. package/dist/src/utils/details.js +22 -0
  27. package/dist/src/utils/escapeJsonPointer.js +5 -0
  28. package/dist/src/utils/filter.js +17 -0
  29. package/dist/src/utils/getEntrypoint.js +5 -0
  30. package/dist/src/utils/getListOfReferences.js +17 -0
  31. package/dist/src/utils/getSegmentsFromPath.js +10 -0
  32. package/dist/src/utils/isFilesystem.js +5 -0
  33. package/dist/src/utils/isJson.js +10 -0
  34. package/dist/src/utils/isObject.js +3 -0
  35. package/dist/src/utils/isYaml.js +17 -0
  36. package/dist/src/utils/load/load.js +59 -0
  37. package/dist/src/utils/load/plugins/fetchUrlsPlugin.js +38 -0
  38. package/dist/src/utils/load/plugins/readFilesPlugin.js +50 -0
  39. package/dist/src/utils/makeFilesystem.js +22 -0
  40. package/dist/src/utils/normalize.js +20 -0
  41. package/dist/src/utils/resolveReferences.js +106 -0
  42. package/dist/src/utils/toJson.js +3 -0
  43. package/dist/src/utils/toYaml.js +5 -0
  44. package/dist/src/utils/transformErrors.js +19 -0
  45. package/dist/src/utils/traverse.js +20 -0
  46. package/dist/src/utils/unescapeJsonPointer.js +5 -0
  47. package/dist/src/utils/upgrade.js +19 -0
  48. package/dist/src/utils/upgradeFromThreeToThreeOne.js +71 -0
  49. package/dist/src/utils/upgradeFromTwoToThree.js +5 -0
  50. package/dist/src/utils/validate.js +15 -0
  51. package/dist/src/utils/workThroughQueue.js +24 -0
  52. package/dist/types/index.d.ts +57 -0
  53. package/dist/types/openapi-types.d.ts +747 -0
  54. package/dist/utils/dereference.d.ts +8 -0
  55. package/dist/utils/details.d.ts +8 -0
  56. package/dist/utils/escapeJsonPointer.d.ts +8 -0
  57. package/dist/utils/filter.d.ts +8 -0
  58. package/dist/utils/getEntrypoint.d.ts +8 -0
  59. package/dist/utils/getListOfReferences.d.ts +10 -0
  60. package/dist/utils/getSegmentsFromPath.d.ts +6 -0
  61. package/dist/utils/isFilesystem.d.ts +6 -0
  62. package/dist/utils/isJson.d.ts +3 -0
  63. package/dist/utils/isObject.d.ts +6 -0
  64. package/dist/utils/isYaml.d.ts +3 -0
  65. package/dist/utils/load/load.d.ts +16 -0
  66. package/dist/utils/load/plugins/fetchUrlsPlugin.d.ts +17 -0
  67. package/dist/utils/load/plugins/readFilesPlugin.d.ts +5 -0
  68. package/dist/utils/normalize.d.ts +9 -0
  69. package/dist/utils/resolveReferences.d.ts +14 -0
  70. package/dist/utils/toJson.d.ts +5 -0
  71. package/dist/utils/toYaml.d.ts +5 -0
  72. package/dist/utils/transformErrors.d.ts +8 -0
  73. package/dist/utils/traverse.d.ts +8 -0
  74. package/dist/utils/unescapeJsonPointer.d.ts +9 -0
  75. package/dist/utils/upgrade.d.ts +8 -0
  76. package/dist/utils/upgradeFromThreeToThreeOne.d.ts +10 -0
  77. package/dist/utils/upgradeFromTwoToThree.d.ts +10 -0
  78. package/dist/utils/validate.d.ts +8 -0
  79. package/dist/webpack-stats.json +1 -1
  80. package/package.json +14 -9
  81. package/dist/index.js +0 -5521
@@ -0,0 +1,1452 @@
1
+ var $id = "https://spec.openapis.org/oas/3.1/schema/2022-10-07";
2
+ var $schema = "https://json-schema.org/draft/2020-12/schema";
3
+ var description = "The description of OpenAPI v3.1.x documents without schema validation, as defined by https://spec.openapis.org/oas/v3.1.0";
4
+ var type = "object";
5
+ var properties = {
6
+ openapi: {
7
+ type: "string",
8
+ pattern: "^3\\.1\\.\\d+(-.+)?$"
9
+ },
10
+ info: {
11
+ $ref: "#/$defs/info"
12
+ },
13
+ jsonSchemaDialect: {
14
+ type: "string",
15
+ format: "uri",
16
+ "default": "https://spec.openapis.org/oas/3.1/dialect/base"
17
+ },
18
+ servers: {
19
+ type: "array",
20
+ items: {
21
+ $ref: "#/$defs/server"
22
+ },
23
+ "default": [
24
+ {
25
+ url: "/"
26
+ }
27
+ ]
28
+ },
29
+ paths: {
30
+ $ref: "#/$defs/paths"
31
+ },
32
+ webhooks: {
33
+ type: "object",
34
+ additionalProperties: {
35
+ $ref: "#/$defs/path-item-or-reference"
36
+ }
37
+ },
38
+ components: {
39
+ $ref: "#/$defs/components"
40
+ },
41
+ security: {
42
+ type: "array",
43
+ items: {
44
+ $ref: "#/$defs/security-requirement"
45
+ }
46
+ },
47
+ tags: {
48
+ type: "array",
49
+ items: {
50
+ $ref: "#/$defs/tag"
51
+ }
52
+ },
53
+ externalDocs: {
54
+ $ref: "#/$defs/external-documentation"
55
+ }
56
+ };
57
+ var required = [
58
+ "openapi",
59
+ "info"
60
+ ];
61
+ var anyOf = [
62
+ {
63
+ required: [
64
+ "paths"
65
+ ]
66
+ },
67
+ {
68
+ required: [
69
+ "components"
70
+ ]
71
+ },
72
+ {
73
+ required: [
74
+ "webhooks"
75
+ ]
76
+ }
77
+ ];
78
+ var $ref = "#/$defs/specification-extensions";
79
+ var unevaluatedProperties = false;
80
+ var $defs = {
81
+ info: {
82
+ $comment: "https://spec.openapis.org/oas/v3.1.0#info-object",
83
+ type: "object",
84
+ properties: {
85
+ title: {
86
+ type: "string"
87
+ },
88
+ summary: {
89
+ type: "string"
90
+ },
91
+ description: {
92
+ type: "string"
93
+ },
94
+ termsOfService: {
95
+ type: "string",
96
+ format: "uri"
97
+ },
98
+ contact: {
99
+ $ref: "#/$defs/contact"
100
+ },
101
+ license: {
102
+ $ref: "#/$defs/license"
103
+ },
104
+ version: {
105
+ type: "string"
106
+ }
107
+ },
108
+ required: [
109
+ "title",
110
+ "version"
111
+ ],
112
+ $ref: "#/$defs/specification-extensions",
113
+ unevaluatedProperties: false
114
+ },
115
+ contact: {
116
+ $comment: "https://spec.openapis.org/oas/v3.1.0#contact-object",
117
+ type: "object",
118
+ properties: {
119
+ name: {
120
+ type: "string"
121
+ },
122
+ url: {
123
+ type: "string",
124
+ format: "uri"
125
+ },
126
+ email: {
127
+ type: "string",
128
+ format: "email"
129
+ }
130
+ },
131
+ $ref: "#/$defs/specification-extensions",
132
+ unevaluatedProperties: false
133
+ },
134
+ license: {
135
+ $comment: "https://spec.openapis.org/oas/v3.1.0#license-object",
136
+ type: "object",
137
+ properties: {
138
+ name: {
139
+ type: "string"
140
+ },
141
+ identifier: {
142
+ type: "string"
143
+ },
144
+ url: {
145
+ type: "string",
146
+ format: "uri"
147
+ }
148
+ },
149
+ required: [
150
+ "name"
151
+ ],
152
+ dependentSchemas: {
153
+ identifier: {
154
+ not: {
155
+ required: [
156
+ "url"
157
+ ]
158
+ }
159
+ }
160
+ },
161
+ $ref: "#/$defs/specification-extensions",
162
+ unevaluatedProperties: false
163
+ },
164
+ server: {
165
+ $comment: "https://spec.openapis.org/oas/v3.1.0#server-object",
166
+ type: "object",
167
+ properties: {
168
+ url: {
169
+ type: "string",
170
+ format: "uri-reference"
171
+ },
172
+ description: {
173
+ type: "string"
174
+ },
175
+ variables: {
176
+ type: "object",
177
+ additionalProperties: {
178
+ $ref: "#/$defs/server-variable"
179
+ }
180
+ }
181
+ },
182
+ required: [
183
+ "url"
184
+ ],
185
+ $ref: "#/$defs/specification-extensions",
186
+ unevaluatedProperties: false
187
+ },
188
+ "server-variable": {
189
+ $comment: "https://spec.openapis.org/oas/v3.1.0#server-variable-object",
190
+ type: "object",
191
+ properties: {
192
+ "enum": {
193
+ type: "array",
194
+ items: {
195
+ type: "string"
196
+ },
197
+ minItems: 1
198
+ },
199
+ "default": {
200
+ type: "string"
201
+ },
202
+ description: {
203
+ type: "string"
204
+ }
205
+ },
206
+ required: [
207
+ "default"
208
+ ],
209
+ $ref: "#/$defs/specification-extensions",
210
+ unevaluatedProperties: false
211
+ },
212
+ components: {
213
+ $comment: "https://spec.openapis.org/oas/v3.1.0#components-object",
214
+ type: "object",
215
+ properties: {
216
+ schemas: {
217
+ type: "object",
218
+ additionalProperties: {
219
+ $ref: "#/$defs/schema"
220
+ }
221
+ },
222
+ responses: {
223
+ type: "object",
224
+ additionalProperties: {
225
+ $ref: "#/$defs/response-or-reference"
226
+ }
227
+ },
228
+ parameters: {
229
+ type: "object",
230
+ additionalProperties: {
231
+ $ref: "#/$defs/parameter-or-reference"
232
+ }
233
+ },
234
+ examples: {
235
+ type: "object",
236
+ additionalProperties: {
237
+ $ref: "#/$defs/example-or-reference"
238
+ }
239
+ },
240
+ requestBodies: {
241
+ type: "object",
242
+ additionalProperties: {
243
+ $ref: "#/$defs/request-body-or-reference"
244
+ }
245
+ },
246
+ headers: {
247
+ type: "object",
248
+ additionalProperties: {
249
+ $ref: "#/$defs/header-or-reference"
250
+ }
251
+ },
252
+ securitySchemes: {
253
+ type: "object",
254
+ additionalProperties: {
255
+ $ref: "#/$defs/security-scheme-or-reference"
256
+ }
257
+ },
258
+ links: {
259
+ type: "object",
260
+ additionalProperties: {
261
+ $ref: "#/$defs/link-or-reference"
262
+ }
263
+ },
264
+ callbacks: {
265
+ type: "object",
266
+ additionalProperties: {
267
+ $ref: "#/$defs/callbacks-or-reference"
268
+ }
269
+ },
270
+ pathItems: {
271
+ type: "object",
272
+ additionalProperties: {
273
+ $ref: "#/$defs/path-item-or-reference"
274
+ }
275
+ }
276
+ },
277
+ patternProperties: {
278
+ "^(schemas|responses|parameters|examples|requestBodies|headers|securitySchemes|links|callbacks|pathItems)$": {
279
+ $comment: "Enumerating all of the property names in the regex above is necessary for unevaluatedProperties to work as expected",
280
+ propertyNames: {
281
+ pattern: "^[a-zA-Z0-9._-]+$"
282
+ }
283
+ }
284
+ },
285
+ $ref: "#/$defs/specification-extensions",
286
+ unevaluatedProperties: false
287
+ },
288
+ paths: {
289
+ $comment: "https://spec.openapis.org/oas/v3.1.0#paths-object",
290
+ type: "object",
291
+ patternProperties: {
292
+ "^/": {
293
+ $ref: "#/$defs/path-item"
294
+ }
295
+ },
296
+ $ref: "#/$defs/specification-extensions",
297
+ unevaluatedProperties: false
298
+ },
299
+ "path-item": {
300
+ $comment: "https://spec.openapis.org/oas/v3.1.0#path-item-object",
301
+ type: "object",
302
+ properties: {
303
+ summary: {
304
+ type: "string"
305
+ },
306
+ description: {
307
+ type: "string"
308
+ },
309
+ servers: {
310
+ type: "array",
311
+ items: {
312
+ $ref: "#/$defs/server"
313
+ }
314
+ },
315
+ parameters: {
316
+ type: "array",
317
+ items: {
318
+ $ref: "#/$defs/parameter-or-reference"
319
+ }
320
+ },
321
+ get: {
322
+ $ref: "#/$defs/operation"
323
+ },
324
+ put: {
325
+ $ref: "#/$defs/operation"
326
+ },
327
+ post: {
328
+ $ref: "#/$defs/operation"
329
+ },
330
+ "delete": {
331
+ $ref: "#/$defs/operation"
332
+ },
333
+ options: {
334
+ $ref: "#/$defs/operation"
335
+ },
336
+ head: {
337
+ $ref: "#/$defs/operation"
338
+ },
339
+ patch: {
340
+ $ref: "#/$defs/operation"
341
+ },
342
+ trace: {
343
+ $ref: "#/$defs/operation"
344
+ }
345
+ },
346
+ $ref: "#/$defs/specification-extensions",
347
+ unevaluatedProperties: false
348
+ },
349
+ "path-item-or-reference": {
350
+ "if": {
351
+ type: "object",
352
+ required: [
353
+ "$ref"
354
+ ]
355
+ },
356
+ then: {
357
+ $ref: "#/$defs/reference"
358
+ },
359
+ "else": {
360
+ $ref: "#/$defs/path-item"
361
+ }
362
+ },
363
+ operation: {
364
+ $comment: "https://spec.openapis.org/oas/v3.1.0#operation-object",
365
+ type: "object",
366
+ properties: {
367
+ tags: {
368
+ type: "array",
369
+ items: {
370
+ type: "string"
371
+ }
372
+ },
373
+ summary: {
374
+ type: "string"
375
+ },
376
+ description: {
377
+ type: "string"
378
+ },
379
+ externalDocs: {
380
+ $ref: "#/$defs/external-documentation"
381
+ },
382
+ operationId: {
383
+ type: "string"
384
+ },
385
+ parameters: {
386
+ type: "array",
387
+ items: {
388
+ $ref: "#/$defs/parameter-or-reference"
389
+ }
390
+ },
391
+ requestBody: {
392
+ $ref: "#/$defs/request-body-or-reference"
393
+ },
394
+ responses: {
395
+ $ref: "#/$defs/responses"
396
+ },
397
+ callbacks: {
398
+ type: "object",
399
+ additionalProperties: {
400
+ $ref: "#/$defs/callbacks-or-reference"
401
+ }
402
+ },
403
+ deprecated: {
404
+ "default": false,
405
+ type: "boolean"
406
+ },
407
+ security: {
408
+ type: "array",
409
+ items: {
410
+ $ref: "#/$defs/security-requirement"
411
+ }
412
+ },
413
+ servers: {
414
+ type: "array",
415
+ items: {
416
+ $ref: "#/$defs/server"
417
+ }
418
+ }
419
+ },
420
+ $ref: "#/$defs/specification-extensions",
421
+ unevaluatedProperties: false
422
+ },
423
+ "external-documentation": {
424
+ $comment: "https://spec.openapis.org/oas/v3.1.0#external-documentation-object",
425
+ type: "object",
426
+ properties: {
427
+ description: {
428
+ type: "string"
429
+ },
430
+ url: {
431
+ type: "string",
432
+ format: "uri"
433
+ }
434
+ },
435
+ required: [
436
+ "url"
437
+ ],
438
+ $ref: "#/$defs/specification-extensions",
439
+ unevaluatedProperties: false
440
+ },
441
+ parameter: {
442
+ $comment: "https://spec.openapis.org/oas/v3.1.0#parameter-object",
443
+ type: "object",
444
+ properties: {
445
+ name: {
446
+ type: "string"
447
+ },
448
+ "in": {
449
+ "enum": [
450
+ "query",
451
+ "header",
452
+ "path",
453
+ "cookie"
454
+ ]
455
+ },
456
+ description: {
457
+ type: "string"
458
+ },
459
+ required: {
460
+ "default": false,
461
+ type: "boolean"
462
+ },
463
+ deprecated: {
464
+ "default": false,
465
+ type: "boolean"
466
+ },
467
+ schema: {
468
+ $ref: "#/$defs/schema"
469
+ },
470
+ content: {
471
+ $ref: "#/$defs/content",
472
+ minProperties: 1,
473
+ maxProperties: 1
474
+ }
475
+ },
476
+ required: [
477
+ "name",
478
+ "in"
479
+ ],
480
+ oneOf: [
481
+ {
482
+ required: [
483
+ "schema"
484
+ ]
485
+ },
486
+ {
487
+ required: [
488
+ "content"
489
+ ]
490
+ }
491
+ ],
492
+ "if": {
493
+ properties: {
494
+ "in": {
495
+ "const": "query"
496
+ }
497
+ },
498
+ required: [
499
+ "in"
500
+ ]
501
+ },
502
+ then: {
503
+ properties: {
504
+ allowEmptyValue: {
505
+ "default": false,
506
+ type: "boolean"
507
+ }
508
+ }
509
+ },
510
+ dependentSchemas: {
511
+ schema: {
512
+ properties: {
513
+ style: {
514
+ type: "string"
515
+ },
516
+ explode: {
517
+ type: "boolean"
518
+ }
519
+ },
520
+ allOf: [
521
+ {
522
+ $ref: "#/$defs/examples"
523
+ },
524
+ {
525
+ $ref: "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-path"
526
+ },
527
+ {
528
+ $ref: "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-header"
529
+ },
530
+ {
531
+ $ref: "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-query"
532
+ },
533
+ {
534
+ $ref: "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-cookie"
535
+ },
536
+ {
537
+ $ref: "#/$defs/parameter/dependentSchemas/schema/$defs/styles-for-form"
538
+ }
539
+ ],
540
+ $defs: {
541
+ "styles-for-path": {
542
+ "if": {
543
+ properties: {
544
+ "in": {
545
+ "const": "path"
546
+ }
547
+ },
548
+ required: [
549
+ "in"
550
+ ]
551
+ },
552
+ then: {
553
+ properties: {
554
+ name: {
555
+ pattern: "[^/#?]+$"
556
+ },
557
+ style: {
558
+ "default": "simple",
559
+ "enum": [
560
+ "matrix",
561
+ "label",
562
+ "simple"
563
+ ]
564
+ },
565
+ required: {
566
+ "const": true
567
+ }
568
+ },
569
+ required: [
570
+ "required"
571
+ ]
572
+ }
573
+ },
574
+ "styles-for-header": {
575
+ "if": {
576
+ properties: {
577
+ "in": {
578
+ "const": "header"
579
+ }
580
+ },
581
+ required: [
582
+ "in"
583
+ ]
584
+ },
585
+ then: {
586
+ properties: {
587
+ style: {
588
+ "default": "simple",
589
+ "const": "simple"
590
+ }
591
+ }
592
+ }
593
+ },
594
+ "styles-for-query": {
595
+ "if": {
596
+ properties: {
597
+ "in": {
598
+ "const": "query"
599
+ }
600
+ },
601
+ required: [
602
+ "in"
603
+ ]
604
+ },
605
+ then: {
606
+ properties: {
607
+ style: {
608
+ "default": "form",
609
+ "enum": [
610
+ "form",
611
+ "spaceDelimited",
612
+ "pipeDelimited",
613
+ "deepObject"
614
+ ]
615
+ },
616
+ allowReserved: {
617
+ "default": false,
618
+ type: "boolean"
619
+ }
620
+ }
621
+ }
622
+ },
623
+ "styles-for-cookie": {
624
+ "if": {
625
+ properties: {
626
+ "in": {
627
+ "const": "cookie"
628
+ }
629
+ },
630
+ required: [
631
+ "in"
632
+ ]
633
+ },
634
+ then: {
635
+ properties: {
636
+ style: {
637
+ "default": "form",
638
+ "const": "form"
639
+ }
640
+ }
641
+ }
642
+ },
643
+ "styles-for-form": {
644
+ "if": {
645
+ properties: {
646
+ style: {
647
+ "const": "form"
648
+ }
649
+ },
650
+ required: [
651
+ "style"
652
+ ]
653
+ },
654
+ then: {
655
+ properties: {
656
+ explode: {
657
+ "default": true
658
+ }
659
+ }
660
+ },
661
+ "else": {
662
+ properties: {
663
+ explode: {
664
+ "default": false
665
+ }
666
+ }
667
+ }
668
+ }
669
+ }
670
+ }
671
+ },
672
+ $ref: "#/$defs/specification-extensions",
673
+ unevaluatedProperties: false
674
+ },
675
+ "parameter-or-reference": {
676
+ "if": {
677
+ type: "object",
678
+ required: [
679
+ "$ref"
680
+ ]
681
+ },
682
+ then: {
683
+ $ref: "#/$defs/reference"
684
+ },
685
+ "else": {
686
+ $ref: "#/$defs/parameter"
687
+ }
688
+ },
689
+ "request-body": {
690
+ $comment: "https://spec.openapis.org/oas/v3.1.0#request-body-object",
691
+ type: "object",
692
+ properties: {
693
+ description: {
694
+ type: "string"
695
+ },
696
+ content: {
697
+ $ref: "#/$defs/content"
698
+ },
699
+ required: {
700
+ "default": false,
701
+ type: "boolean"
702
+ }
703
+ },
704
+ required: [
705
+ "content"
706
+ ],
707
+ $ref: "#/$defs/specification-extensions",
708
+ unevaluatedProperties: false
709
+ },
710
+ "request-body-or-reference": {
711
+ "if": {
712
+ type: "object",
713
+ required: [
714
+ "$ref"
715
+ ]
716
+ },
717
+ then: {
718
+ $ref: "#/$defs/reference"
719
+ },
720
+ "else": {
721
+ $ref: "#/$defs/request-body"
722
+ }
723
+ },
724
+ content: {
725
+ $comment: "https://spec.openapis.org/oas/v3.1.0#fixed-fields-10",
726
+ type: "object",
727
+ additionalProperties: {
728
+ $ref: "#/$defs/media-type"
729
+ },
730
+ propertyNames: {
731
+ format: "media-range"
732
+ }
733
+ },
734
+ "media-type": {
735
+ $comment: "https://spec.openapis.org/oas/v3.1.0#media-type-object",
736
+ type: "object",
737
+ properties: {
738
+ schema: {
739
+ $ref: "#/$defs/schema"
740
+ },
741
+ encoding: {
742
+ type: "object",
743
+ additionalProperties: {
744
+ $ref: "#/$defs/encoding"
745
+ }
746
+ }
747
+ },
748
+ allOf: [
749
+ {
750
+ $ref: "#/$defs/specification-extensions"
751
+ },
752
+ {
753
+ $ref: "#/$defs/examples"
754
+ }
755
+ ],
756
+ unevaluatedProperties: false
757
+ },
758
+ encoding: {
759
+ $comment: "https://spec.openapis.org/oas/v3.1.0#encoding-object",
760
+ type: "object",
761
+ properties: {
762
+ contentType: {
763
+ type: "string",
764
+ format: "media-range"
765
+ },
766
+ headers: {
767
+ type: "object",
768
+ additionalProperties: {
769
+ $ref: "#/$defs/header-or-reference"
770
+ }
771
+ },
772
+ style: {
773
+ "default": "form",
774
+ "enum": [
775
+ "form",
776
+ "spaceDelimited",
777
+ "pipeDelimited",
778
+ "deepObject"
779
+ ]
780
+ },
781
+ explode: {
782
+ type: "boolean"
783
+ },
784
+ allowReserved: {
785
+ "default": false,
786
+ type: "boolean"
787
+ }
788
+ },
789
+ allOf: [
790
+ {
791
+ $ref: "#/$defs/specification-extensions"
792
+ },
793
+ {
794
+ $ref: "#/$defs/encoding/$defs/explode-default"
795
+ }
796
+ ],
797
+ unevaluatedProperties: false,
798
+ $defs: {
799
+ "explode-default": {
800
+ "if": {
801
+ properties: {
802
+ style: {
803
+ "const": "form"
804
+ }
805
+ },
806
+ required: [
807
+ "style"
808
+ ]
809
+ },
810
+ then: {
811
+ properties: {
812
+ explode: {
813
+ "default": true
814
+ }
815
+ }
816
+ },
817
+ "else": {
818
+ properties: {
819
+ explode: {
820
+ "default": false
821
+ }
822
+ }
823
+ }
824
+ }
825
+ }
826
+ },
827
+ responses: {
828
+ $comment: "https://spec.openapis.org/oas/v3.1.0#responses-object",
829
+ type: "object",
830
+ properties: {
831
+ "default": {
832
+ $ref: "#/$defs/response-or-reference"
833
+ }
834
+ },
835
+ patternProperties: {
836
+ "^[1-5](?:[0-9]{2}|XX)$": {
837
+ $ref: "#/$defs/response-or-reference"
838
+ }
839
+ },
840
+ minProperties: 1,
841
+ $ref: "#/$defs/specification-extensions",
842
+ unevaluatedProperties: false
843
+ },
844
+ response: {
845
+ $comment: "https://spec.openapis.org/oas/v3.1.0#response-object",
846
+ type: "object",
847
+ properties: {
848
+ description: {
849
+ type: "string"
850
+ },
851
+ headers: {
852
+ type: "object",
853
+ additionalProperties: {
854
+ $ref: "#/$defs/header-or-reference"
855
+ }
856
+ },
857
+ content: {
858
+ $ref: "#/$defs/content"
859
+ },
860
+ links: {
861
+ type: "object",
862
+ additionalProperties: {
863
+ $ref: "#/$defs/link-or-reference"
864
+ }
865
+ }
866
+ },
867
+ required: [
868
+ "description"
869
+ ],
870
+ $ref: "#/$defs/specification-extensions",
871
+ unevaluatedProperties: false
872
+ },
873
+ "response-or-reference": {
874
+ "if": {
875
+ type: "object",
876
+ required: [
877
+ "$ref"
878
+ ]
879
+ },
880
+ then: {
881
+ $ref: "#/$defs/reference"
882
+ },
883
+ "else": {
884
+ $ref: "#/$defs/response"
885
+ }
886
+ },
887
+ callbacks: {
888
+ $comment: "https://spec.openapis.org/oas/v3.1.0#callback-object",
889
+ type: "object",
890
+ $ref: "#/$defs/specification-extensions",
891
+ additionalProperties: {
892
+ $ref: "#/$defs/path-item-or-reference"
893
+ }
894
+ },
895
+ "callbacks-or-reference": {
896
+ "if": {
897
+ type: "object",
898
+ required: [
899
+ "$ref"
900
+ ]
901
+ },
902
+ then: {
903
+ $ref: "#/$defs/reference"
904
+ },
905
+ "else": {
906
+ $ref: "#/$defs/callbacks"
907
+ }
908
+ },
909
+ example: {
910
+ $comment: "https://spec.openapis.org/oas/v3.1.0#example-object",
911
+ type: "object",
912
+ properties: {
913
+ summary: {
914
+ type: "string"
915
+ },
916
+ description: {
917
+ type: "string"
918
+ },
919
+ value: true,
920
+ externalValue: {
921
+ type: "string",
922
+ format: "uri"
923
+ }
924
+ },
925
+ not: {
926
+ required: [
927
+ "value",
928
+ "externalValue"
929
+ ]
930
+ },
931
+ $ref: "#/$defs/specification-extensions",
932
+ unevaluatedProperties: false
933
+ },
934
+ "example-or-reference": {
935
+ "if": {
936
+ type: "object",
937
+ required: [
938
+ "$ref"
939
+ ]
940
+ },
941
+ then: {
942
+ $ref: "#/$defs/reference"
943
+ },
944
+ "else": {
945
+ $ref: "#/$defs/example"
946
+ }
947
+ },
948
+ link: {
949
+ $comment: "https://spec.openapis.org/oas/v3.1.0#link-object",
950
+ type: "object",
951
+ properties: {
952
+ operationRef: {
953
+ type: "string",
954
+ format: "uri-reference"
955
+ },
956
+ operationId: {
957
+ type: "string"
958
+ },
959
+ parameters: {
960
+ $ref: "#/$defs/map-of-strings"
961
+ },
962
+ requestBody: true,
963
+ description: {
964
+ type: "string"
965
+ },
966
+ body: {
967
+ $ref: "#/$defs/server"
968
+ }
969
+ },
970
+ oneOf: [
971
+ {
972
+ required: [
973
+ "operationRef"
974
+ ]
975
+ },
976
+ {
977
+ required: [
978
+ "operationId"
979
+ ]
980
+ }
981
+ ],
982
+ $ref: "#/$defs/specification-extensions",
983
+ unevaluatedProperties: false
984
+ },
985
+ "link-or-reference": {
986
+ "if": {
987
+ type: "object",
988
+ required: [
989
+ "$ref"
990
+ ]
991
+ },
992
+ then: {
993
+ $ref: "#/$defs/reference"
994
+ },
995
+ "else": {
996
+ $ref: "#/$defs/link"
997
+ }
998
+ },
999
+ header: {
1000
+ $comment: "https://spec.openapis.org/oas/v3.1.0#header-object",
1001
+ type: "object",
1002
+ properties: {
1003
+ description: {
1004
+ type: "string"
1005
+ },
1006
+ required: {
1007
+ "default": false,
1008
+ type: "boolean"
1009
+ },
1010
+ deprecated: {
1011
+ "default": false,
1012
+ type: "boolean"
1013
+ },
1014
+ schema: {
1015
+ $ref: "#/$defs/schema"
1016
+ },
1017
+ content: {
1018
+ $ref: "#/$defs/content",
1019
+ minProperties: 1,
1020
+ maxProperties: 1
1021
+ }
1022
+ },
1023
+ oneOf: [
1024
+ {
1025
+ required: [
1026
+ "schema"
1027
+ ]
1028
+ },
1029
+ {
1030
+ required: [
1031
+ "content"
1032
+ ]
1033
+ }
1034
+ ],
1035
+ dependentSchemas: {
1036
+ schema: {
1037
+ properties: {
1038
+ style: {
1039
+ "default": "simple",
1040
+ "const": "simple"
1041
+ },
1042
+ explode: {
1043
+ "default": false,
1044
+ type: "boolean"
1045
+ }
1046
+ },
1047
+ $ref: "#/$defs/examples"
1048
+ }
1049
+ },
1050
+ $ref: "#/$defs/specification-extensions",
1051
+ unevaluatedProperties: false
1052
+ },
1053
+ "header-or-reference": {
1054
+ "if": {
1055
+ type: "object",
1056
+ required: [
1057
+ "$ref"
1058
+ ]
1059
+ },
1060
+ then: {
1061
+ $ref: "#/$defs/reference"
1062
+ },
1063
+ "else": {
1064
+ $ref: "#/$defs/header"
1065
+ }
1066
+ },
1067
+ tag: {
1068
+ $comment: "https://spec.openapis.org/oas/v3.1.0#tag-object",
1069
+ type: "object",
1070
+ properties: {
1071
+ name: {
1072
+ type: "string"
1073
+ },
1074
+ description: {
1075
+ type: "string"
1076
+ },
1077
+ externalDocs: {
1078
+ $ref: "#/$defs/external-documentation"
1079
+ }
1080
+ },
1081
+ required: [
1082
+ "name"
1083
+ ],
1084
+ $ref: "#/$defs/specification-extensions",
1085
+ unevaluatedProperties: false
1086
+ },
1087
+ reference: {
1088
+ $comment: "https://spec.openapis.org/oas/v3.1.0#reference-object",
1089
+ type: "object",
1090
+ properties: {
1091
+ $ref: {
1092
+ type: "string",
1093
+ format: "uri-reference"
1094
+ },
1095
+ summary: {
1096
+ type: "string"
1097
+ },
1098
+ description: {
1099
+ type: "string"
1100
+ }
1101
+ },
1102
+ unevaluatedProperties: false
1103
+ },
1104
+ schema: {
1105
+ $comment: "https://spec.openapis.org/oas/v3.1.0#schema-object",
1106
+ $dynamicAnchor: "meta",
1107
+ type: [
1108
+ "object",
1109
+ "boolean"
1110
+ ]
1111
+ },
1112
+ "security-scheme": {
1113
+ $comment: "https://spec.openapis.org/oas/v3.1.0#security-scheme-object",
1114
+ type: "object",
1115
+ properties: {
1116
+ type: {
1117
+ "enum": [
1118
+ "apiKey",
1119
+ "http",
1120
+ "mutualTLS",
1121
+ "oauth2",
1122
+ "openIdConnect"
1123
+ ]
1124
+ },
1125
+ description: {
1126
+ type: "string"
1127
+ }
1128
+ },
1129
+ required: [
1130
+ "type"
1131
+ ],
1132
+ allOf: [
1133
+ {
1134
+ $ref: "#/$defs/specification-extensions"
1135
+ },
1136
+ {
1137
+ $ref: "#/$defs/security-scheme/$defs/type-apikey"
1138
+ },
1139
+ {
1140
+ $ref: "#/$defs/security-scheme/$defs/type-http"
1141
+ },
1142
+ {
1143
+ $ref: "#/$defs/security-scheme/$defs/type-http-bearer"
1144
+ },
1145
+ {
1146
+ $ref: "#/$defs/security-scheme/$defs/type-oauth2"
1147
+ },
1148
+ {
1149
+ $ref: "#/$defs/security-scheme/$defs/type-oidc"
1150
+ }
1151
+ ],
1152
+ unevaluatedProperties: false,
1153
+ $defs: {
1154
+ "type-apikey": {
1155
+ "if": {
1156
+ properties: {
1157
+ type: {
1158
+ "const": "apiKey"
1159
+ }
1160
+ },
1161
+ required: [
1162
+ "type"
1163
+ ]
1164
+ },
1165
+ then: {
1166
+ properties: {
1167
+ name: {
1168
+ type: "string"
1169
+ },
1170
+ "in": {
1171
+ "enum": [
1172
+ "query",
1173
+ "header",
1174
+ "cookie"
1175
+ ]
1176
+ }
1177
+ },
1178
+ required: [
1179
+ "name",
1180
+ "in"
1181
+ ]
1182
+ }
1183
+ },
1184
+ "type-http": {
1185
+ "if": {
1186
+ properties: {
1187
+ type: {
1188
+ "const": "http"
1189
+ }
1190
+ },
1191
+ required: [
1192
+ "type"
1193
+ ]
1194
+ },
1195
+ then: {
1196
+ properties: {
1197
+ scheme: {
1198
+ type: "string"
1199
+ }
1200
+ },
1201
+ required: [
1202
+ "scheme"
1203
+ ]
1204
+ }
1205
+ },
1206
+ "type-http-bearer": {
1207
+ "if": {
1208
+ properties: {
1209
+ type: {
1210
+ "const": "http"
1211
+ },
1212
+ scheme: {
1213
+ type: "string",
1214
+ pattern: "^[Bb][Ee][Aa][Rr][Ee][Rr]$"
1215
+ }
1216
+ },
1217
+ required: [
1218
+ "type",
1219
+ "scheme"
1220
+ ]
1221
+ },
1222
+ then: {
1223
+ properties: {
1224
+ bearerFormat: {
1225
+ type: "string"
1226
+ }
1227
+ }
1228
+ }
1229
+ },
1230
+ "type-oauth2": {
1231
+ "if": {
1232
+ properties: {
1233
+ type: {
1234
+ "const": "oauth2"
1235
+ }
1236
+ },
1237
+ required: [
1238
+ "type"
1239
+ ]
1240
+ },
1241
+ then: {
1242
+ properties: {
1243
+ flows: {
1244
+ $ref: "#/$defs/oauth-flows"
1245
+ }
1246
+ },
1247
+ required: [
1248
+ "flows"
1249
+ ]
1250
+ }
1251
+ },
1252
+ "type-oidc": {
1253
+ "if": {
1254
+ properties: {
1255
+ type: {
1256
+ "const": "openIdConnect"
1257
+ }
1258
+ },
1259
+ required: [
1260
+ "type"
1261
+ ]
1262
+ },
1263
+ then: {
1264
+ properties: {
1265
+ openIdConnectUrl: {
1266
+ type: "string",
1267
+ format: "uri"
1268
+ }
1269
+ },
1270
+ required: [
1271
+ "openIdConnectUrl"
1272
+ ]
1273
+ }
1274
+ }
1275
+ }
1276
+ },
1277
+ "security-scheme-or-reference": {
1278
+ "if": {
1279
+ type: "object",
1280
+ required: [
1281
+ "$ref"
1282
+ ]
1283
+ },
1284
+ then: {
1285
+ $ref: "#/$defs/reference"
1286
+ },
1287
+ "else": {
1288
+ $ref: "#/$defs/security-scheme"
1289
+ }
1290
+ },
1291
+ "oauth-flows": {
1292
+ type: "object",
1293
+ properties: {
1294
+ implicit: {
1295
+ $ref: "#/$defs/oauth-flows/$defs/implicit"
1296
+ },
1297
+ password: {
1298
+ $ref: "#/$defs/oauth-flows/$defs/password"
1299
+ },
1300
+ clientCredentials: {
1301
+ $ref: "#/$defs/oauth-flows/$defs/client-credentials"
1302
+ },
1303
+ authorizationCode: {
1304
+ $ref: "#/$defs/oauth-flows/$defs/authorization-code"
1305
+ }
1306
+ },
1307
+ $ref: "#/$defs/specification-extensions",
1308
+ unevaluatedProperties: false,
1309
+ $defs: {
1310
+ implicit: {
1311
+ type: "object",
1312
+ properties: {
1313
+ authorizationUrl: {
1314
+ type: "string",
1315
+ format: "uri"
1316
+ },
1317
+ refreshUrl: {
1318
+ type: "string",
1319
+ format: "uri"
1320
+ },
1321
+ scopes: {
1322
+ $ref: "#/$defs/map-of-strings"
1323
+ }
1324
+ },
1325
+ required: [
1326
+ "authorizationUrl",
1327
+ "scopes"
1328
+ ],
1329
+ $ref: "#/$defs/specification-extensions",
1330
+ unevaluatedProperties: false
1331
+ },
1332
+ password: {
1333
+ type: "object",
1334
+ properties: {
1335
+ tokenUrl: {
1336
+ type: "string",
1337
+ format: "uri"
1338
+ },
1339
+ refreshUrl: {
1340
+ type: "string",
1341
+ format: "uri"
1342
+ },
1343
+ scopes: {
1344
+ $ref: "#/$defs/map-of-strings"
1345
+ }
1346
+ },
1347
+ required: [
1348
+ "tokenUrl",
1349
+ "scopes"
1350
+ ],
1351
+ $ref: "#/$defs/specification-extensions",
1352
+ unevaluatedProperties: false
1353
+ },
1354
+ "client-credentials": {
1355
+ type: "object",
1356
+ properties: {
1357
+ tokenUrl: {
1358
+ type: "string",
1359
+ format: "uri"
1360
+ },
1361
+ refreshUrl: {
1362
+ type: "string",
1363
+ format: "uri"
1364
+ },
1365
+ scopes: {
1366
+ $ref: "#/$defs/map-of-strings"
1367
+ }
1368
+ },
1369
+ required: [
1370
+ "tokenUrl",
1371
+ "scopes"
1372
+ ],
1373
+ $ref: "#/$defs/specification-extensions",
1374
+ unevaluatedProperties: false
1375
+ },
1376
+ "authorization-code": {
1377
+ type: "object",
1378
+ properties: {
1379
+ authorizationUrl: {
1380
+ type: "string",
1381
+ format: "uri"
1382
+ },
1383
+ tokenUrl: {
1384
+ type: "string",
1385
+ format: "uri"
1386
+ },
1387
+ refreshUrl: {
1388
+ type: "string",
1389
+ format: "uri"
1390
+ },
1391
+ scopes: {
1392
+ $ref: "#/$defs/map-of-strings"
1393
+ }
1394
+ },
1395
+ required: [
1396
+ "authorizationUrl",
1397
+ "tokenUrl",
1398
+ "scopes"
1399
+ ],
1400
+ $ref: "#/$defs/specification-extensions",
1401
+ unevaluatedProperties: false
1402
+ }
1403
+ }
1404
+ },
1405
+ "security-requirement": {
1406
+ $comment: "https://spec.openapis.org/oas/v3.1.0#security-requirement-object",
1407
+ type: "object",
1408
+ additionalProperties: {
1409
+ type: "array",
1410
+ items: {
1411
+ type: "string"
1412
+ }
1413
+ }
1414
+ },
1415
+ "specification-extensions": {
1416
+ $comment: "https://spec.openapis.org/oas/v3.1.0#specification-extensions",
1417
+ patternProperties: {
1418
+ "^x-": true
1419
+ }
1420
+ },
1421
+ examples: {
1422
+ properties: {
1423
+ example: true,
1424
+ examples: {
1425
+ type: "object",
1426
+ additionalProperties: {
1427
+ $ref: "#/$defs/example-or-reference"
1428
+ }
1429
+ }
1430
+ }
1431
+ },
1432
+ "map-of-strings": {
1433
+ type: "object",
1434
+ additionalProperties: {
1435
+ type: "string"
1436
+ }
1437
+ }
1438
+ };
1439
+ var OpenApi31 = {
1440
+ $id: $id,
1441
+ $schema: $schema,
1442
+ description: description,
1443
+ type: type,
1444
+ properties: properties,
1445
+ required: required,
1446
+ anyOf: anyOf,
1447
+ $ref: $ref,
1448
+ unevaluatedProperties: unevaluatedProperties,
1449
+ $defs: $defs
1450
+ };
1451
+
1452
+ export { $defs, $id, $ref, $schema, anyOf, OpenApi31 as default, description, properties, required, type, unevaluatedProperties };