@speclynx/apidom-ns-openapi-3-1 4.0.2 → 4.0.4

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