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

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