@speclynx/apidom-ns-openapi-3-1 1.12.1

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 (198) hide show
  1. package/CHANGELOG.md +87 -0
  2. package/LICENSE +202 -0
  3. package/LICENSES/AFL-3.0.txt +182 -0
  4. package/LICENSES/Apache-2.0.txt +202 -0
  5. package/LICENSES/BSD-3-Clause.txt +26 -0
  6. package/LICENSES/MIT.txt +9 -0
  7. package/NOTICE +65 -0
  8. package/README.md +472 -0
  9. package/dist/apidom-ns-openapi-3-1.browser.js +36144 -0
  10. package/dist/apidom-ns-openapi-3-1.browser.min.js +1 -0
  11. package/package.json +70 -0
  12. package/src/elements/Callback.cjs +10 -0
  13. package/src/elements/Callback.mjs +7 -0
  14. package/src/elements/Components.cjs +17 -0
  15. package/src/elements/Components.mjs +14 -0
  16. package/src/elements/Contact.cjs +10 -0
  17. package/src/elements/Contact.mjs +7 -0
  18. package/src/elements/Discriminator.cjs +10 -0
  19. package/src/elements/Discriminator.mjs +7 -0
  20. package/src/elements/Encoding.cjs +10 -0
  21. package/src/elements/Encoding.mjs +7 -0
  22. package/src/elements/Example.cjs +10 -0
  23. package/src/elements/Example.mjs +7 -0
  24. package/src/elements/ExternalDocumentation.cjs +10 -0
  25. package/src/elements/ExternalDocumentation.mjs +7 -0
  26. package/src/elements/Header.cjs +17 -0
  27. package/src/elements/Header.mjs +13 -0
  28. package/src/elements/Info.cjs +23 -0
  29. package/src/elements/Info.mjs +19 -0
  30. package/src/elements/JsonSchemaDialect.cjs +16 -0
  31. package/src/elements/JsonSchemaDialect.mjs +13 -0
  32. package/src/elements/License.cjs +17 -0
  33. package/src/elements/License.mjs +14 -0
  34. package/src/elements/Link.cjs +10 -0
  35. package/src/elements/Link.mjs +7 -0
  36. package/src/elements/MediaType.cjs +17 -0
  37. package/src/elements/MediaType.mjs +13 -0
  38. package/src/elements/OAuthFlow.cjs +10 -0
  39. package/src/elements/OAuthFlow.mjs +7 -0
  40. package/src/elements/OAuthFlows.cjs +10 -0
  41. package/src/elements/OAuthFlows.mjs +7 -0
  42. package/src/elements/OpenApi3-1.cjs +77 -0
  43. package/src/elements/OpenApi3-1.mjs +73 -0
  44. package/src/elements/Openapi.cjs +10 -0
  45. package/src/elements/Openapi.mjs +7 -0
  46. package/src/elements/Operation.cjs +17 -0
  47. package/src/elements/Operation.mjs +13 -0
  48. package/src/elements/Parameter.cjs +17 -0
  49. package/src/elements/Parameter.mjs +13 -0
  50. package/src/elements/PathItem.cjs +59 -0
  51. package/src/elements/PathItem.mjs +55 -0
  52. package/src/elements/Paths.cjs +10 -0
  53. package/src/elements/Paths.mjs +7 -0
  54. package/src/elements/Reference.cjs +28 -0
  55. package/src/elements/Reference.mjs +25 -0
  56. package/src/elements/RequestBody.cjs +10 -0
  57. package/src/elements/RequestBody.mjs +7 -0
  58. package/src/elements/Response.cjs +10 -0
  59. package/src/elements/Response.mjs +7 -0
  60. package/src/elements/Responses.cjs +10 -0
  61. package/src/elements/Responses.mjs +7 -0
  62. package/src/elements/Schema.cjs +50 -0
  63. package/src/elements/Schema.mjs +46 -0
  64. package/src/elements/SecurityRequirement.cjs +10 -0
  65. package/src/elements/SecurityRequirement.mjs +7 -0
  66. package/src/elements/SecurityScheme.cjs +10 -0
  67. package/src/elements/SecurityScheme.mjs +7 -0
  68. package/src/elements/Server.cjs +10 -0
  69. package/src/elements/Server.mjs +7 -0
  70. package/src/elements/ServerVariable.cjs +10 -0
  71. package/src/elements/ServerVariable.mjs +7 -0
  72. package/src/elements/Tag.cjs +10 -0
  73. package/src/elements/Tag.mjs +7 -0
  74. package/src/elements/Xml.cjs +10 -0
  75. package/src/elements/Xml.mjs +7 -0
  76. package/src/elements/nces/ComponentsPathItems.cjs +16 -0
  77. package/src/elements/nces/ComponentsPathItems.mjs +13 -0
  78. package/src/elements/nces/Webhooks.cjs +16 -0
  79. package/src/elements/nces/Webhooks.mjs +13 -0
  80. package/src/index.cjs +158 -0
  81. package/src/index.mjs +28 -0
  82. package/src/media-types.cjs +34 -0
  83. package/src/media-types.mjs +30 -0
  84. package/src/namespace.cjs +82 -0
  85. package/src/namespace.mjs +76 -0
  86. package/src/predicates.cjs +365 -0
  87. package/src/predicates.mjs +357 -0
  88. package/src/refractor/index.cjs +45 -0
  89. package/src/refractor/index.mjs +39 -0
  90. package/src/refractor/plugins/normalize-header-examples/NormalizeStorage.cjs +38 -0
  91. package/src/refractor/plugins/normalize-header-examples/NormalizeStorage.mjs +34 -0
  92. package/src/refractor/plugins/normalize-header-examples/index.cjs +105 -0
  93. package/src/refractor/plugins/normalize-header-examples/index.mjs +99 -0
  94. package/src/refractor/plugins/normalize-operation-ids.cjs +159 -0
  95. package/src/refractor/plugins/normalize-operation-ids.mjs +154 -0
  96. package/src/refractor/plugins/normalize-parameter-examples.cjs +105 -0
  97. package/src/refractor/plugins/normalize-parameter-examples.mjs +99 -0
  98. package/src/refractor/plugins/normalize-parameters.cjs +103 -0
  99. package/src/refractor/plugins/normalize-parameters.mjs +97 -0
  100. package/src/refractor/plugins/normalize-security-requirements.cjs +71 -0
  101. package/src/refractor/plugins/normalize-security-requirements.mjs +65 -0
  102. package/src/refractor/plugins/normalize-servers.cjs +118 -0
  103. package/src/refractor/plugins/normalize-servers.mjs +112 -0
  104. package/src/refractor/plugins/replace-empty-element.cjs +665 -0
  105. package/src/refractor/plugins/replace-empty-element.mjs +658 -0
  106. package/src/refractor/registration.cjs +102 -0
  107. package/src/refractor/registration.mjs +66 -0
  108. package/src/refractor/specification.cjs +492 -0
  109. package/src/refractor/specification.mjs +487 -0
  110. package/src/refractor/toolbox.cjs +70 -0
  111. package/src/refractor/toolbox.mjs +60 -0
  112. package/src/refractor/visitors/open-api-3-1/JsonSchemaDialectVisitor.cjs +25 -0
  113. package/src/refractor/visitors/open-api-3-1/JsonSchemaDialectVisitor.mjs +19 -0
  114. package/src/refractor/visitors/open-api-3-1/WebhooksVisitor.cjs +44 -0
  115. package/src/refractor/visitors/open-api-3-1/WebhooksVisitor.mjs +38 -0
  116. package/src/refractor/visitors/open-api-3-1/callback/index.cjs +37 -0
  117. package/src/refractor/visitors/open-api-3-1/callback/index.mjs +32 -0
  118. package/src/refractor/visitors/open-api-3-1/components/PathItemsVisitor.cjs +34 -0
  119. package/src/refractor/visitors/open-api-3-1/components/PathItemsVisitor.mjs +28 -0
  120. package/src/refractor/visitors/open-api-3-1/components/SchemasVisitor.cjs +22 -0
  121. package/src/refractor/visitors/open-api-3-1/components/SchemasVisitor.mjs +19 -0
  122. package/src/refractor/visitors/open-api-3-1/components/index.cjs +21 -0
  123. package/src/refractor/visitors/open-api-3-1/components/index.mjs +16 -0
  124. package/src/refractor/visitors/open-api-3-1/contact/index.cjs +21 -0
  125. package/src/refractor/visitors/open-api-3-1/contact/index.mjs +16 -0
  126. package/src/refractor/visitors/open-api-3-1/distriminator/index.cjs +22 -0
  127. package/src/refractor/visitors/open-api-3-1/distriminator/index.mjs +17 -0
  128. package/src/refractor/visitors/open-api-3-1/encoding/index.cjs +21 -0
  129. package/src/refractor/visitors/open-api-3-1/encoding/index.mjs +16 -0
  130. package/src/refractor/visitors/open-api-3-1/example/index.cjs +21 -0
  131. package/src/refractor/visitors/open-api-3-1/example/index.mjs +16 -0
  132. package/src/refractor/visitors/open-api-3-1/external-documentation/index.cjs +21 -0
  133. package/src/refractor/visitors/open-api-3-1/external-documentation/index.mjs +16 -0
  134. package/src/refractor/visitors/open-api-3-1/header/index.cjs +21 -0
  135. package/src/refractor/visitors/open-api-3-1/header/index.mjs +16 -0
  136. package/src/refractor/visitors/open-api-3-1/index.cjs +31 -0
  137. package/src/refractor/visitors/open-api-3-1/index.mjs +25 -0
  138. package/src/refractor/visitors/open-api-3-1/info/index.cjs +21 -0
  139. package/src/refractor/visitors/open-api-3-1/info/index.mjs +16 -0
  140. package/src/refractor/visitors/open-api-3-1/license/index.cjs +21 -0
  141. package/src/refractor/visitors/open-api-3-1/license/index.mjs +16 -0
  142. package/src/refractor/visitors/open-api-3-1/link/index.cjs +21 -0
  143. package/src/refractor/visitors/open-api-3-1/link/index.mjs +16 -0
  144. package/src/refractor/visitors/open-api-3-1/media-type/index.cjs +21 -0
  145. package/src/refractor/visitors/open-api-3-1/media-type/index.mjs +16 -0
  146. package/src/refractor/visitors/open-api-3-1/oauth-flow/index.cjs +21 -0
  147. package/src/refractor/visitors/open-api-3-1/oauth-flow/index.mjs +16 -0
  148. package/src/refractor/visitors/open-api-3-1/oauth-flows/index.cjs +21 -0
  149. package/src/refractor/visitors/open-api-3-1/oauth-flows/index.mjs +16 -0
  150. package/src/refractor/visitors/open-api-3-1/operation/index.cjs +21 -0
  151. package/src/refractor/visitors/open-api-3-1/operation/index.mjs +16 -0
  152. package/src/refractor/visitors/open-api-3-1/parameter/index.cjs +21 -0
  153. package/src/refractor/visitors/open-api-3-1/parameter/index.mjs +16 -0
  154. package/src/refractor/visitors/open-api-3-1/path-item/index.cjs +21 -0
  155. package/src/refractor/visitors/open-api-3-1/path-item/index.mjs +16 -0
  156. package/src/refractor/visitors/open-api-3-1/paths/index.cjs +21 -0
  157. package/src/refractor/visitors/open-api-3-1/paths/index.mjs +16 -0
  158. package/src/refractor/visitors/open-api-3-1/reference/index.cjs +21 -0
  159. package/src/refractor/visitors/open-api-3-1/reference/index.mjs +16 -0
  160. package/src/refractor/visitors/open-api-3-1/request-body/index.cjs +21 -0
  161. package/src/refractor/visitors/open-api-3-1/request-body/index.mjs +16 -0
  162. package/src/refractor/visitors/open-api-3-1/response/index.cjs +21 -0
  163. package/src/refractor/visitors/open-api-3-1/response/index.mjs +16 -0
  164. package/src/refractor/visitors/open-api-3-1/responses/index.cjs +21 -0
  165. package/src/refractor/visitors/open-api-3-1/responses/index.mjs +16 -0
  166. package/src/refractor/visitors/open-api-3-1/schema/$defsVisitor.cjs +19 -0
  167. package/src/refractor/visitors/open-api-3-1/schema/$defsVisitor.mjs +16 -0
  168. package/src/refractor/visitors/open-api-3-1/schema/AllOfVisitor.cjs +15 -0
  169. package/src/refractor/visitors/open-api-3-1/schema/AllOfVisitor.mjs +11 -0
  170. package/src/refractor/visitors/open-api-3-1/schema/AnyOfVisitor.cjs +15 -0
  171. package/src/refractor/visitors/open-api-3-1/schema/AnyOfVisitor.mjs +11 -0
  172. package/src/refractor/visitors/open-api-3-1/schema/DependentSchemasVisitor.cjs +15 -0
  173. package/src/refractor/visitors/open-api-3-1/schema/DependentSchemasVisitor.mjs +11 -0
  174. package/src/refractor/visitors/open-api-3-1/schema/OneOfVisitor.cjs +15 -0
  175. package/src/refractor/visitors/open-api-3-1/schema/OneOfVisitor.mjs +11 -0
  176. package/src/refractor/visitors/open-api-3-1/schema/PatternPropertiesVisitor.cjs +15 -0
  177. package/src/refractor/visitors/open-api-3-1/schema/PatternPropertiesVisitor.mjs +11 -0
  178. package/src/refractor/visitors/open-api-3-1/schema/PrefixItemsVisitor.cjs +15 -0
  179. package/src/refractor/visitors/open-api-3-1/schema/PrefixItemsVisitor.mjs +11 -0
  180. package/src/refractor/visitors/open-api-3-1/schema/PropertiesVisitor.cjs +15 -0
  181. package/src/refractor/visitors/open-api-3-1/schema/PropertiesVisitor.mjs +11 -0
  182. package/src/refractor/visitors/open-api-3-1/schema/index.cjs +75 -0
  183. package/src/refractor/visitors/open-api-3-1/schema/index.mjs +69 -0
  184. package/src/refractor/visitors/open-api-3-1/security-requirement/index.cjs +21 -0
  185. package/src/refractor/visitors/open-api-3-1/security-requirement/index.mjs +16 -0
  186. package/src/refractor/visitors/open-api-3-1/security-scheme/index.cjs +21 -0
  187. package/src/refractor/visitors/open-api-3-1/security-scheme/index.mjs +16 -0
  188. package/src/refractor/visitors/open-api-3-1/server/index.cjs +21 -0
  189. package/src/refractor/visitors/open-api-3-1/server/index.mjs +16 -0
  190. package/src/refractor/visitors/open-api-3-1/server-variable/index.cjs +21 -0
  191. package/src/refractor/visitors/open-api-3-1/server-variable/index.mjs +16 -0
  192. package/src/refractor/visitors/open-api-3-1/tag/index.cjs +21 -0
  193. package/src/refractor/visitors/open-api-3-1/tag/index.mjs +16 -0
  194. package/src/refractor/visitors/open-api-3-1/xml/index.cjs +21 -0
  195. package/src/refractor/visitors/open-api-3-1/xml/index.mjs +16 -0
  196. package/src/traversal/visitor.cjs +57 -0
  197. package/src/traversal/visitor.mjs +54 -0
  198. package/types/apidom-ns-openapi-3-1.d.ts +2745 -0
@@ -0,0 +1,487 @@
1
+ import { specificationObj as OpenApi3_0Specification } from '@speclynx/apidom-ns-openapi-3-0';
2
+ import { specificationObj as JSONSchema202012Specification } from '@speclynx/apidom-ns-json-schema-2020-12';
3
+ import OpenApi3_1Visitor from "./visitors/open-api-3-1/index.mjs";
4
+ import InfoVisitor from "./visitors/open-api-3-1/info/index.mjs";
5
+ import ContactVisitor from "./visitors/open-api-3-1/contact/index.mjs";
6
+ import LicenseVisitor from "./visitors/open-api-3-1/license/index.mjs";
7
+ import LinkVisitor from "./visitors/open-api-3-1/link/index.mjs";
8
+ import JsonSchemaDialectVisitor from "./visitors/open-api-3-1/JsonSchemaDialectVisitor.mjs";
9
+ import ServerVisitor from "./visitors/open-api-3-1/server/index.mjs";
10
+ import ServerVariableVisitor from "./visitors/open-api-3-1/server-variable/index.mjs";
11
+ import MediaTypeVisitor from "./visitors/open-api-3-1/media-type/index.mjs";
12
+ import SecurityRequirementVisitor from "./visitors/open-api-3-1/security-requirement/index.mjs";
13
+ import ComponentsVisitor from "./visitors/open-api-3-1/components/index.mjs";
14
+ import TagVisitor from "./visitors/open-api-3-1/tag/index.mjs";
15
+ import ReferenceVisitor from "./visitors/open-api-3-1/reference/index.mjs";
16
+ import ParameterVisitor from "./visitors/open-api-3-1/parameter/index.mjs";
17
+ import HeaderVisitor from "./visitors/open-api-3-1/header/index.mjs";
18
+ import SchemaVisitor from "./visitors/open-api-3-1/schema/index.mjs";
19
+ import Schema$defsVisitor from "./visitors/open-api-3-1/schema/$defsVisitor.mjs";
20
+ import SchemaAllOfVisitor from "./visitors/open-api-3-1/schema/AllOfVisitor.mjs";
21
+ import SchemaAnyOfVisitor from "./visitors/open-api-3-1/schema/AnyOfVisitor.mjs";
22
+ import SchemaOneOfVisitor from "./visitors/open-api-3-1/schema/OneOfVisitor.mjs";
23
+ import SchemaDependantSchemasVisitor from "./visitors/open-api-3-1/schema/DependentSchemasVisitor.mjs";
24
+ import SchemaPrefixItemsVisitor from "./visitors/open-api-3-1/schema/PrefixItemsVisitor.mjs";
25
+ import SchemaPropertiesVisitor from "./visitors/open-api-3-1/schema/PropertiesVisitor.mjs";
26
+ import SchemaPatternPropertiesVisitor from "./visitors/open-api-3-1/schema/PatternPropertiesVisitor.mjs";
27
+ import DiscriminatorVisitor from "./visitors/open-api-3-1/distriminator/index.mjs";
28
+ import XmlVisitor from "./visitors/open-api-3-1/xml/index.mjs";
29
+ import ComponentsSchemasVisitor from "./visitors/open-api-3-1/components/SchemasVisitor.mjs";
30
+ import ComponentsPathItemsVisitor from "./visitors/open-api-3-1/components/PathItemsVisitor.mjs";
31
+ import ExampleVisitor from "./visitors/open-api-3-1/example/index.mjs";
32
+ import ExternalDocumentationVisitor from "./visitors/open-api-3-1/external-documentation/index.mjs";
33
+ import EncodingVisitor from "./visitors/open-api-3-1/encoding/index.mjs";
34
+ import PathsVisitor from "./visitors/open-api-3-1/paths/index.mjs";
35
+ import RequestBodyVisitor from "./visitors/open-api-3-1/request-body/index.mjs";
36
+ import CallbackVisitor from "./visitors/open-api-3-1/callback/index.mjs";
37
+ import ResponseVisitor from "./visitors/open-api-3-1/response/index.mjs";
38
+ import ResponsesVisitor from "./visitors/open-api-3-1/responses/index.mjs";
39
+ import OperationVisitor from "./visitors/open-api-3-1/operation/index.mjs";
40
+ import PathItemVisitor from "./visitors/open-api-3-1/path-item/index.mjs";
41
+ import SecuritySchemeVisitor from "./visitors/open-api-3-1/security-scheme/index.mjs";
42
+ import OAuthFlowsVisitor from "./visitors/open-api-3-1/oauth-flows/index.mjs";
43
+ import OAuthFlowVisitor from "./visitors/open-api-3-1/oauth-flow/index.mjs";
44
+ import WebhooksVisitor from "./visitors/open-api-3-1/WebhooksVisitor.mjs";
45
+ const {
46
+ JSONSchema: JSONSchemaVisitor,
47
+ LinkDescription: LinkDescriptionVisitor
48
+ } = JSONSchema202012Specification.visitors.document.objects;
49
+
50
+ /**
51
+ * Specification object allows us to have complete control over visitors
52
+ * when traversing the ApiDOM.
53
+ * Specification also allows us to create amended refractors from
54
+ * existing ones by manipulating it.
55
+ *
56
+ * Note: Specification object allows to use absolute internal JSON pointers.
57
+ * @public
58
+ */
59
+ const specification = {
60
+ visitors: {
61
+ value: OpenApi3_0Specification.visitors.value,
62
+ document: {
63
+ objects: {
64
+ OpenApi: {
65
+ $visitor: OpenApi3_1Visitor,
66
+ fixedFields: {
67
+ openapi: OpenApi3_0Specification.visitors.document.objects.OpenApi.fixedFields.openapi,
68
+ info: {
69
+ $ref: '#/visitors/document/objects/Info'
70
+ },
71
+ jsonSchemaDialect: JsonSchemaDialectVisitor,
72
+ servers: OpenApi3_0Specification.visitors.document.objects.OpenApi.fixedFields.servers,
73
+ paths: {
74
+ $ref: '#/visitors/document/objects/Paths'
75
+ },
76
+ webhooks: WebhooksVisitor,
77
+ components: {
78
+ $ref: '#/visitors/document/objects/Components'
79
+ },
80
+ security: OpenApi3_0Specification.visitors.document.objects.OpenApi.fixedFields.security,
81
+ tags: OpenApi3_0Specification.visitors.document.objects.OpenApi.fixedFields.tags,
82
+ externalDocs: {
83
+ $ref: '#/visitors/document/objects/ExternalDocumentation'
84
+ }
85
+ }
86
+ },
87
+ Info: {
88
+ $visitor: InfoVisitor,
89
+ fixedFields: {
90
+ title: OpenApi3_0Specification.visitors.document.objects.Info.fixedFields.title,
91
+ description: OpenApi3_0Specification.visitors.document.objects.Info.fixedFields.description,
92
+ summary: {
93
+ $ref: '#/visitors/value'
94
+ },
95
+ termsOfService: OpenApi3_0Specification.visitors.document.objects.Info.fixedFields.termsOfService,
96
+ contact: {
97
+ $ref: '#/visitors/document/objects/Contact'
98
+ },
99
+ license: {
100
+ $ref: '#/visitors/document/objects/License'
101
+ },
102
+ version: OpenApi3_0Specification.visitors.document.objects.Info.fixedFields.version
103
+ }
104
+ },
105
+ Contact: {
106
+ $visitor: ContactVisitor,
107
+ fixedFields: {
108
+ name: OpenApi3_0Specification.visitors.document.objects.Contact.fixedFields.name,
109
+ url: OpenApi3_0Specification.visitors.document.objects.Contact.fixedFields.url,
110
+ email: OpenApi3_0Specification.visitors.document.objects.Contact.fixedFields.email
111
+ }
112
+ },
113
+ License: {
114
+ $visitor: LicenseVisitor,
115
+ fixedFields: {
116
+ name: OpenApi3_0Specification.visitors.document.objects.License.fixedFields.name,
117
+ identifier: {
118
+ $ref: '#/visitors/value'
119
+ },
120
+ url: OpenApi3_0Specification.visitors.document.objects.License.fixedFields.url
121
+ }
122
+ },
123
+ Server: {
124
+ $visitor: ServerVisitor,
125
+ fixedFields: {
126
+ url: OpenApi3_0Specification.visitors.document.objects.Server.fixedFields.url,
127
+ description: OpenApi3_0Specification.visitors.document.objects.Server.fixedFields.description,
128
+ variables: OpenApi3_0Specification.visitors.document.objects.Server.fixedFields.variables
129
+ }
130
+ },
131
+ ServerVariable: {
132
+ $visitor: ServerVariableVisitor,
133
+ fixedFields: {
134
+ enum: OpenApi3_0Specification.visitors.document.objects.ServerVariable.fixedFields.enum,
135
+ default: OpenApi3_0Specification.visitors.document.objects.ServerVariable.fixedFields.default,
136
+ description: OpenApi3_0Specification.visitors.document.objects.ServerVariable.fixedFields.description
137
+ }
138
+ },
139
+ Components: {
140
+ $visitor: ComponentsVisitor,
141
+ fixedFields: {
142
+ schemas: ComponentsSchemasVisitor,
143
+ responses: OpenApi3_0Specification.visitors.document.objects.Components.fixedFields.responses,
144
+ parameters: OpenApi3_0Specification.visitors.document.objects.Components.fixedFields.parameters,
145
+ examples: OpenApi3_0Specification.visitors.document.objects.Components.fixedFields.examples,
146
+ requestBodies: OpenApi3_0Specification.visitors.document.objects.Components.fixedFields.requestBodies,
147
+ headers: OpenApi3_0Specification.visitors.document.objects.Components.fixedFields.headers,
148
+ securitySchemes: OpenApi3_0Specification.visitors.document.objects.Components.fixedFields.securitySchemes,
149
+ links: OpenApi3_0Specification.visitors.document.objects.Components.fixedFields.links,
150
+ callbacks: OpenApi3_0Specification.visitors.document.objects.Components.fixedFields.callbacks,
151
+ pathItems: ComponentsPathItemsVisitor
152
+ }
153
+ },
154
+ Paths: {
155
+ $visitor: PathsVisitor
156
+ },
157
+ PathItem: {
158
+ $visitor: PathItemVisitor,
159
+ fixedFields: {
160
+ $ref: OpenApi3_0Specification.visitors.document.objects.PathItem.fixedFields.$ref,
161
+ summary: OpenApi3_0Specification.visitors.document.objects.PathItem.fixedFields.summary,
162
+ description: OpenApi3_0Specification.visitors.document.objects.PathItem.fixedFields.description,
163
+ get: {
164
+ $ref: '#/visitors/document/objects/Operation'
165
+ },
166
+ put: {
167
+ $ref: '#/visitors/document/objects/Operation'
168
+ },
169
+ post: {
170
+ $ref: '#/visitors/document/objects/Operation'
171
+ },
172
+ delete: {
173
+ $ref: '#/visitors/document/objects/Operation'
174
+ },
175
+ options: {
176
+ $ref: '#/visitors/document/objects/Operation'
177
+ },
178
+ head: {
179
+ $ref: '#/visitors/document/objects/Operation'
180
+ },
181
+ patch: {
182
+ $ref: '#/visitors/document/objects/Operation'
183
+ },
184
+ trace: {
185
+ $ref: '#/visitors/document/objects/Operation'
186
+ },
187
+ servers: OpenApi3_0Specification.visitors.document.objects.PathItem.fixedFields.servers,
188
+ parameters: OpenApi3_0Specification.visitors.document.objects.PathItem.fixedFields.parameters
189
+ }
190
+ },
191
+ Operation: {
192
+ $visitor: OperationVisitor,
193
+ fixedFields: {
194
+ tags: OpenApi3_0Specification.visitors.document.objects.Operation.fixedFields.tags,
195
+ summary: OpenApi3_0Specification.visitors.document.objects.Operation.fixedFields.summary,
196
+ description: OpenApi3_0Specification.visitors.document.objects.Operation.fixedFields.description,
197
+ externalDocs: {
198
+ $ref: '#/visitors/document/objects/ExternalDocumentation'
199
+ },
200
+ operationId: OpenApi3_0Specification.visitors.document.objects.Operation.fixedFields.operationId,
201
+ parameters: OpenApi3_0Specification.visitors.document.objects.Operation.fixedFields.parameters,
202
+ requestBody: OpenApi3_0Specification.visitors.document.objects.Operation.fixedFields.requestBody,
203
+ responses: {
204
+ $ref: '#/visitors/document/objects/Responses'
205
+ },
206
+ callbacks: OpenApi3_0Specification.visitors.document.objects.Operation.fixedFields.callbacks,
207
+ deprecated: OpenApi3_0Specification.visitors.document.objects.Operation.fixedFields.deprecated,
208
+ security: OpenApi3_0Specification.visitors.document.objects.Operation.fixedFields.security,
209
+ servers: OpenApi3_0Specification.visitors.document.objects.Operation.fixedFields.servers
210
+ }
211
+ },
212
+ ExternalDocumentation: {
213
+ $visitor: ExternalDocumentationVisitor,
214
+ fixedFields: {
215
+ description: OpenApi3_0Specification.visitors.document.objects.ExternalDocumentation.fixedFields.description,
216
+ url: OpenApi3_0Specification.visitors.document.objects.ExternalDocumentation.fixedFields.url
217
+ }
218
+ },
219
+ Parameter: {
220
+ $visitor: ParameterVisitor,
221
+ fixedFields: {
222
+ name: OpenApi3_0Specification.visitors.document.objects.Parameter.fixedFields.name,
223
+ in: OpenApi3_0Specification.visitors.document.objects.Parameter.fixedFields.in,
224
+ description: OpenApi3_0Specification.visitors.document.objects.Parameter.fixedFields.description,
225
+ required: OpenApi3_0Specification.visitors.document.objects.Parameter.fixedFields.required,
226
+ deprecated: OpenApi3_0Specification.visitors.document.objects.Parameter.fixedFields.deprecated,
227
+ allowEmptyValue: OpenApi3_0Specification.visitors.document.objects.Parameter.fixedFields.allowEmptyValue,
228
+ style: OpenApi3_0Specification.visitors.document.objects.Parameter.fixedFields.style,
229
+ explode: OpenApi3_0Specification.visitors.document.objects.Parameter.fixedFields.explode,
230
+ allowReserved: OpenApi3_0Specification.visitors.document.objects.Parameter.fixedFields.allowReserved,
231
+ schema: {
232
+ $ref: '#/visitors/document/objects/Schema'
233
+ },
234
+ example: OpenApi3_0Specification.visitors.document.objects.Parameter.fixedFields.example,
235
+ examples: OpenApi3_0Specification.visitors.document.objects.Parameter.fixedFields.examples,
236
+ content: OpenApi3_0Specification.visitors.document.objects.Parameter.fixedFields.content
237
+ }
238
+ },
239
+ RequestBody: {
240
+ $visitor: RequestBodyVisitor,
241
+ fixedFields: {
242
+ description: OpenApi3_0Specification.visitors.document.objects.RequestBody.fixedFields.description,
243
+ content: OpenApi3_0Specification.visitors.document.objects.RequestBody.fixedFields.content,
244
+ required: OpenApi3_0Specification.visitors.document.objects.RequestBody.fixedFields.required
245
+ }
246
+ },
247
+ MediaType: {
248
+ $visitor: MediaTypeVisitor,
249
+ fixedFields: {
250
+ schema: {
251
+ $ref: '#/visitors/document/objects/Schema'
252
+ },
253
+ example: OpenApi3_0Specification.visitors.document.objects.MediaType.fixedFields.example,
254
+ examples: OpenApi3_0Specification.visitors.document.objects.MediaType.fixedFields.examples,
255
+ encoding: OpenApi3_0Specification.visitors.document.objects.MediaType.fixedFields.encoding
256
+ }
257
+ },
258
+ Encoding: {
259
+ $visitor: EncodingVisitor,
260
+ fixedFields: {
261
+ contentType: OpenApi3_0Specification.visitors.document.objects.Encoding.fixedFields.contentType,
262
+ headers: OpenApi3_0Specification.visitors.document.objects.Encoding.fixedFields.headers,
263
+ style: OpenApi3_0Specification.visitors.document.objects.Encoding.fixedFields.style,
264
+ explode: OpenApi3_0Specification.visitors.document.objects.Encoding.fixedFields.explode,
265
+ allowReserved: OpenApi3_0Specification.visitors.document.objects.Encoding.fixedFields.allowReserved
266
+ }
267
+ },
268
+ Responses: {
269
+ $visitor: ResponsesVisitor,
270
+ fixedFields: {
271
+ default: OpenApi3_0Specification.visitors.document.objects.Responses.fixedFields.default
272
+ }
273
+ },
274
+ Response: {
275
+ $visitor: ResponseVisitor,
276
+ fixedFields: {
277
+ description: OpenApi3_0Specification.visitors.document.objects.Response.fixedFields.description,
278
+ headers: OpenApi3_0Specification.visitors.document.objects.Response.fixedFields.headers,
279
+ content: OpenApi3_0Specification.visitors.document.objects.Response.fixedFields.content,
280
+ links: OpenApi3_0Specification.visitors.document.objects.Response.fixedFields.links
281
+ }
282
+ },
283
+ Callback: {
284
+ $visitor: CallbackVisitor
285
+ },
286
+ Example: {
287
+ $visitor: ExampleVisitor,
288
+ fixedFields: {
289
+ summary: OpenApi3_0Specification.visitors.document.objects.Example.fixedFields.summary,
290
+ description: OpenApi3_0Specification.visitors.document.objects.Example.fixedFields.description,
291
+ value: OpenApi3_0Specification.visitors.document.objects.Example.fixedFields.value,
292
+ externalValue: OpenApi3_0Specification.visitors.document.objects.Example.fixedFields.externalValue
293
+ }
294
+ },
295
+ Link: {
296
+ $visitor: LinkVisitor,
297
+ fixedFields: {
298
+ operationRef: OpenApi3_0Specification.visitors.document.objects.Link.fixedFields.operationRef,
299
+ operationId: OpenApi3_0Specification.visitors.document.objects.Link.fixedFields.operationId,
300
+ parameters: OpenApi3_0Specification.visitors.document.objects.Link.fixedFields.parameters,
301
+ requestBody: OpenApi3_0Specification.visitors.document.objects.Link.fixedFields.requestBody,
302
+ description: OpenApi3_0Specification.visitors.document.objects.Link.fixedFields.description,
303
+ server: {
304
+ $ref: '#/visitors/document/objects/Server'
305
+ }
306
+ }
307
+ },
308
+ Header: {
309
+ $visitor: HeaderVisitor,
310
+ fixedFields: {
311
+ description: OpenApi3_0Specification.visitors.document.objects.Header.fixedFields.description,
312
+ required: OpenApi3_0Specification.visitors.document.objects.Header.fixedFields.required,
313
+ deprecated: OpenApi3_0Specification.visitors.document.objects.Header.fixedFields.deprecated,
314
+ allowEmptyValue: OpenApi3_0Specification.visitors.document.objects.Header.fixedFields.allowEmptyValue,
315
+ style: OpenApi3_0Specification.visitors.document.objects.Header.fixedFields.style,
316
+ explode: OpenApi3_0Specification.visitors.document.objects.Header.fixedFields.explode,
317
+ allowReserved: OpenApi3_0Specification.visitors.document.objects.Header.fixedFields.allowReserved,
318
+ schema: {
319
+ $ref: '#/visitors/document/objects/Schema'
320
+ },
321
+ example: OpenApi3_0Specification.visitors.document.objects.Header.fixedFields.example,
322
+ examples: OpenApi3_0Specification.visitors.document.objects.Header.fixedFields.examples,
323
+ content: OpenApi3_0Specification.visitors.document.objects.Header.fixedFields.content
324
+ }
325
+ },
326
+ Tag: {
327
+ $visitor: TagVisitor,
328
+ fixedFields: {
329
+ name: OpenApi3_0Specification.visitors.document.objects.Tag.fixedFields.name,
330
+ description: OpenApi3_0Specification.visitors.document.objects.Tag.fixedFields.description,
331
+ externalDocs: {
332
+ $ref: '#/visitors/document/objects/ExternalDocumentation'
333
+ }
334
+ }
335
+ },
336
+ Reference: {
337
+ $visitor: ReferenceVisitor,
338
+ fixedFields: {
339
+ $ref: OpenApi3_0Specification.visitors.document.objects.Reference.fixedFields.$ref,
340
+ summary: {
341
+ $ref: '#/visitors/value'
342
+ },
343
+ description: {
344
+ $ref: '#/visitors/value'
345
+ }
346
+ }
347
+ },
348
+ JSONSchema: {
349
+ $ref: '#/visitors/document/objects/Schema'
350
+ },
351
+ LinkDescription: {
352
+ ...LinkDescriptionVisitor
353
+ },
354
+ Schema: {
355
+ $visitor: SchemaVisitor,
356
+ fixedFields: {
357
+ ...JSONSchemaVisitor.fixedFields,
358
+ // core vocabulary
359
+ $defs: Schema$defsVisitor,
360
+ // applicator vocabulary
361
+ allOf: SchemaAllOfVisitor,
362
+ anyOf: SchemaAnyOfVisitor,
363
+ oneOf: SchemaOneOfVisitor,
364
+ not: {
365
+ $ref: '#/visitors/document/objects/Schema'
366
+ },
367
+ if: {
368
+ $ref: '#/visitors/document/objects/Schema'
369
+ },
370
+ then: {
371
+ $ref: '#/visitors/document/objects/Schema'
372
+ },
373
+ else: {
374
+ $ref: '#/visitors/document/objects/Schema'
375
+ },
376
+ dependentSchemas: SchemaDependantSchemasVisitor,
377
+ prefixItems: SchemaPrefixItemsVisitor,
378
+ items: {
379
+ $ref: '#/visitors/document/objects/Schema'
380
+ },
381
+ contains: {
382
+ $ref: '#/visitors/document/objects/Schema'
383
+ },
384
+ properties: SchemaPropertiesVisitor,
385
+ patternProperties: SchemaPatternPropertiesVisitor,
386
+ additionalProperties: {
387
+ $ref: '#/visitors/document/objects/Schema'
388
+ },
389
+ propertyNames: {
390
+ $ref: '#/visitors/document/objects/Schema'
391
+ },
392
+ // unevaluated Locations vocabulary
393
+ unevaluatedItems: {
394
+ $ref: '#/visitors/document/objects/Schema'
395
+ },
396
+ unevaluatedProperties: {
397
+ $ref: '#/visitors/document/objects/Schema'
398
+ },
399
+ // validation vocabulary
400
+ // contents of String-Encoded Data vocabulary
401
+ contentSchema: {
402
+ $ref: '#/visitors/document/objects/Schema'
403
+ },
404
+ // OAS base vocabulary
405
+ discriminator: {
406
+ $ref: '#/visitors/document/objects/Discriminator'
407
+ },
408
+ xml: {
409
+ $ref: '#/visitors/document/objects/XML'
410
+ },
411
+ externalDocs: {
412
+ $ref: '#/visitors/document/objects/ExternalDocumentation'
413
+ },
414
+ example: {
415
+ $ref: '#/visitors/value'
416
+ }
417
+ }
418
+ },
419
+ Discriminator: {
420
+ $visitor: DiscriminatorVisitor,
421
+ fixedFields: {
422
+ propertyName: OpenApi3_0Specification.visitors.document.objects.Discriminator.fixedFields.propertyName,
423
+ mapping: OpenApi3_0Specification.visitors.document.objects.Discriminator.fixedFields.mapping
424
+ }
425
+ },
426
+ XML: {
427
+ $visitor: XmlVisitor,
428
+ fixedFields: {
429
+ name: OpenApi3_0Specification.visitors.document.objects.XML.fixedFields.name,
430
+ namespace: OpenApi3_0Specification.visitors.document.objects.XML.fixedFields.namespace,
431
+ prefix: OpenApi3_0Specification.visitors.document.objects.XML.fixedFields.prefix,
432
+ attribute: OpenApi3_0Specification.visitors.document.objects.XML.fixedFields.attribute,
433
+ wrapped: OpenApi3_0Specification.visitors.document.objects.XML.fixedFields.wrapped
434
+ }
435
+ },
436
+ SecurityScheme: {
437
+ $visitor: SecuritySchemeVisitor,
438
+ fixedFields: {
439
+ type: OpenApi3_0Specification.visitors.document.objects.SecurityScheme.fixedFields.type,
440
+ description: OpenApi3_0Specification.visitors.document.objects.SecurityScheme.fixedFields.description,
441
+ name: OpenApi3_0Specification.visitors.document.objects.SecurityScheme.fixedFields.name,
442
+ in: OpenApi3_0Specification.visitors.document.objects.SecurityScheme.fixedFields.in,
443
+ scheme: OpenApi3_0Specification.visitors.document.objects.SecurityScheme.fixedFields.scheme,
444
+ bearerFormat: OpenApi3_0Specification.visitors.document.objects.SecurityScheme.fixedFields.bearerFormat,
445
+ flows: {
446
+ $ref: '#/visitors/document/objects/OAuthFlows'
447
+ },
448
+ openIdConnectUrl: OpenApi3_0Specification.visitors.document.objects.SecurityScheme.fixedFields.openIdConnectUrl
449
+ }
450
+ },
451
+ OAuthFlows: {
452
+ $visitor: OAuthFlowsVisitor,
453
+ fixedFields: {
454
+ implicit: {
455
+ $ref: '#/visitors/document/objects/OAuthFlow'
456
+ },
457
+ password: {
458
+ $ref: '#/visitors/document/objects/OAuthFlow'
459
+ },
460
+ clientCredentials: {
461
+ $ref: '#/visitors/document/objects/OAuthFlow'
462
+ },
463
+ authorizationCode: {
464
+ $ref: '#/visitors/document/objects/OAuthFlow'
465
+ }
466
+ }
467
+ },
468
+ OAuthFlow: {
469
+ $visitor: OAuthFlowVisitor,
470
+ fixedFields: {
471
+ authorizationUrl: OpenApi3_0Specification.visitors.document.objects.OAuthFlow.fixedFields.authorizationUrl,
472
+ tokenUrl: OpenApi3_0Specification.visitors.document.objects.OAuthFlow.fixedFields.tokenUrl,
473
+ refreshUrl: OpenApi3_0Specification.visitors.document.objects.OAuthFlow.fixedFields.refreshUrl,
474
+ scopes: OpenApi3_0Specification.visitors.document.objects.OAuthFlow.fixedFields.scopes
475
+ }
476
+ },
477
+ SecurityRequirement: {
478
+ $visitor: SecurityRequirementVisitor
479
+ }
480
+ },
481
+ extension: {
482
+ $visitor: OpenApi3_0Specification.visitors.document.extension.$visitor
483
+ }
484
+ }
485
+ }
486
+ };
487
+ export default specification;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopRequireWildcard").default;
5
+ exports.__esModule = true;
6
+ exports.default = exports.ancestorLineageToJSONPointer = void 0;
7
+ var _apidomCore = require("@speclynx/apidom-core");
8
+ var _apidomJsonPointer = require("@speclynx/apidom-json-pointer");
9
+ var _apidomNsOpenapi = require("@speclynx/apidom-ns-openapi-3-0");
10
+ var openApi3_1Predicates = _interopRequireWildcard(require("../predicates.cjs"));
11
+ var _namespace = _interopRequireDefault(require("../namespace.cjs"));
12
+ /**
13
+ * @public
14
+ */
15
+
16
+ /**
17
+ * @public
18
+ */
19
+
20
+ /**
21
+ * @public
22
+ */
23
+
24
+ /**
25
+ * Translates visitor ancestor lineage to a JSON Pointer tokens.
26
+ * Ancestor lineage is constructed of following visitor method arguments:
27
+ *
28
+ * - ancestors
29
+ * - parent
30
+ * - element
31
+ * @public
32
+ */
33
+ const ancestorLineageToJSONPointer = elementPath => {
34
+ const jsonPointerTokens = elementPath.reduce((path, element, index) => {
35
+ if ((0, _apidomCore.isMemberElement)(element)) {
36
+ const token = String((0, _apidomCore.toValue)(element.key));
37
+ path.push(token);
38
+ } else if ((0, _apidomCore.isArrayElement)(elementPath[index - 2])) {
39
+ const token = String(elementPath[index - 2].content.indexOf(element));
40
+ path.push(token);
41
+ }
42
+ return path;
43
+ }, []);
44
+ return (0, _apidomJsonPointer.compile)(jsonPointerTokens);
45
+ };
46
+
47
+ /**
48
+ * @public
49
+ */
50
+ exports.ancestorLineageToJSONPointer = ancestorLineageToJSONPointer;
51
+ const createToolbox = () => {
52
+ const namespace = (0, _apidomCore.createNamespace)(_namespace.default);
53
+ const predicates = {
54
+ ...openApi3_1Predicates,
55
+ isElement: _apidomCore.isElement,
56
+ isStringElement: _apidomCore.isStringElement,
57
+ isArrayElement: _apidomCore.isArrayElement,
58
+ isObjectElement: _apidomCore.isObjectElement,
59
+ isMemberElement: _apidomCore.isMemberElement,
60
+ isServersElement: _apidomNsOpenapi.isServersElement,
61
+ includesClasses: _apidomCore.includesClasses,
62
+ hasElementSourceMap: _apidomCore.hasElementSourceMap
63
+ };
64
+ return {
65
+ predicates,
66
+ ancestorLineageToJSONPointer,
67
+ namespace
68
+ };
69
+ };
70
+ var _default = exports.default = createToolbox;
@@ -0,0 +1,60 @@
1
+ import { isElement, isStringElement, isArrayElement, isObjectElement, isMemberElement, toValue, createNamespace, includesClasses, hasElementSourceMap } from '@speclynx/apidom-core';
2
+ import { compile as compileJSONPointerTokens } from '@speclynx/apidom-json-pointer';
3
+ import { isServersElement } from '@speclynx/apidom-ns-openapi-3-0';
4
+ import * as openApi3_1Predicates from "../predicates.mjs";
5
+ import openApi3_1Namespace from "../namespace.mjs";
6
+ /**
7
+ * @public
8
+ */
9
+ /**
10
+ * @public
11
+ */
12
+ /**
13
+ * @public
14
+ */
15
+ /**
16
+ * Translates visitor ancestor lineage to a JSON Pointer tokens.
17
+ * Ancestor lineage is constructed of following visitor method arguments:
18
+ *
19
+ * - ancestors
20
+ * - parent
21
+ * - element
22
+ * @public
23
+ */
24
+ export const ancestorLineageToJSONPointer = elementPath => {
25
+ const jsonPointerTokens = elementPath.reduce((path, element, index) => {
26
+ if (isMemberElement(element)) {
27
+ const token = String(toValue(element.key));
28
+ path.push(token);
29
+ } else if (isArrayElement(elementPath[index - 2])) {
30
+ const token = String(elementPath[index - 2].content.indexOf(element));
31
+ path.push(token);
32
+ }
33
+ return path;
34
+ }, []);
35
+ return compileJSONPointerTokens(jsonPointerTokens);
36
+ };
37
+
38
+ /**
39
+ * @public
40
+ */
41
+ const createToolbox = () => {
42
+ const namespace = createNamespace(openApi3_1Namespace);
43
+ const predicates = {
44
+ ...openApi3_1Predicates,
45
+ isElement,
46
+ isStringElement,
47
+ isArrayElement,
48
+ isObjectElement,
49
+ isMemberElement,
50
+ isServersElement,
51
+ includesClasses,
52
+ hasElementSourceMap
53
+ };
54
+ return {
55
+ predicates,
56
+ ancestorLineageToJSONPointer,
57
+ namespace
58
+ };
59
+ };
60
+ export default createToolbox;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
+ exports.__esModule = true;
5
+ exports.default = void 0;
6
+ var _tsMixer = require("ts-mixer");
7
+ var _apidomCore = require("@speclynx/apidom-core");
8
+ var _apidomNsOpenapi = require("@speclynx/apidom-ns-openapi-3-0");
9
+ var _JsonSchemaDialect = _interopRequireDefault(require("../../../elements/JsonSchemaDialect.cjs"));
10
+ /**
11
+ * @public
12
+ */
13
+
14
+ /**
15
+ * @public
16
+ */
17
+ class JsonSchemaDialectVisitor extends (0, _tsMixer.Mixin)(_apidomNsOpenapi.SpecificationVisitor, _apidomNsOpenapi.FallbackVisitor) {
18
+ StringElement(stringElement) {
19
+ const jsonSchemaDialectElement = new _JsonSchemaDialect.default((0, _apidomCore.toValue)(stringElement));
20
+ this.copyMetaAndAttributes(stringElement, jsonSchemaDialectElement);
21
+ this.element = jsonSchemaDialectElement;
22
+ return _apidomCore.BREAK;
23
+ }
24
+ }
25
+ var _default = exports.default = JsonSchemaDialectVisitor;
@@ -0,0 +1,19 @@
1
+ import { Mixin } from 'ts-mixer';
2
+ import { BREAK, toValue } from '@speclynx/apidom-core';
3
+ import { FallbackVisitor, SpecificationVisitor } from '@speclynx/apidom-ns-openapi-3-0';
4
+ import JsonSchemaDialectElement from "../../../elements/JsonSchemaDialect.mjs";
5
+ /**
6
+ * @public
7
+ */
8
+ /**
9
+ * @public
10
+ */
11
+ class JsonSchemaDialectVisitor extends Mixin(SpecificationVisitor, FallbackVisitor) {
12
+ StringElement(stringElement) {
13
+ const jsonSchemaDialectElement = new JsonSchemaDialectElement(toValue(stringElement));
14
+ this.copyMetaAndAttributes(stringElement, jsonSchemaDialectElement);
15
+ this.element = jsonSchemaDialectElement;
16
+ return BREAK;
17
+ }
18
+ }
19
+ export default JsonSchemaDialectVisitor;