@speclynx/apidom-ns-openapi-3-0 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 (348) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/apidom-ns-openapi-3-0.browser.js +2 -2
  3. package/dist/apidom-ns-openapi-3-0.browser.min.js +1 -1
  4. package/package.json +7 -7
  5. package/src/elements/Callback.cjs +15 -0
  6. package/src/elements/Callback.mjs +12 -0
  7. package/src/elements/Components.cjs +69 -0
  8. package/src/elements/Components.mjs +66 -0
  9. package/src/elements/Contact.cjs +33 -0
  10. package/src/elements/Contact.mjs +30 -0
  11. package/src/elements/Discriminator.cjs +27 -0
  12. package/src/elements/Discriminator.mjs +24 -0
  13. package/src/elements/Encoding.cjs +45 -0
  14. package/src/elements/Encoding.mjs +42 -0
  15. package/src/elements/Example.cjs +39 -0
  16. package/src/elements/Example.mjs +36 -0
  17. package/src/elements/ExternalDocumentation.cjs +27 -0
  18. package/src/elements/ExternalDocumentation.mjs +24 -0
  19. package/src/elements/Header.cjs +90 -0
  20. package/src/elements/Header.mjs +86 -0
  21. package/src/elements/Info.cjs +52 -0
  22. package/src/elements/Info.mjs +48 -0
  23. package/src/elements/License.cjs +27 -0
  24. package/src/elements/License.mjs +24 -0
  25. package/src/elements/Link.cjs +63 -0
  26. package/src/elements/Link.mjs +59 -0
  27. package/src/elements/MediaType.cjs +39 -0
  28. package/src/elements/MediaType.mjs +35 -0
  29. package/src/elements/OAuthFlow.cjs +39 -0
  30. package/src/elements/OAuthFlow.mjs +36 -0
  31. package/src/elements/OAuthFlows.cjs +39 -0
  32. package/src/elements/OAuthFlows.mjs +35 -0
  33. package/src/elements/OpenApi3-0.cjs +65 -0
  34. package/src/elements/OpenApi3-0.mjs +61 -0
  35. package/src/elements/Openapi.cjs +17 -0
  36. package/src/elements/Openapi.mjs +14 -0
  37. package/src/elements/Operation.cjs +90 -0
  38. package/src/elements/Operation.mjs +86 -0
  39. package/src/elements/Parameter.cjs +102 -0
  40. package/src/elements/Parameter.mjs +98 -0
  41. package/src/elements/PathItem.cjs +93 -0
  42. package/src/elements/PathItem.mjs +89 -0
  43. package/src/elements/Paths.cjs +15 -0
  44. package/src/elements/Paths.mjs +12 -0
  45. package/src/elements/Reference.cjs +22 -0
  46. package/src/elements/Reference.mjs +19 -0
  47. package/src/elements/RequestBody.cjs +36 -0
  48. package/src/elements/RequestBody.mjs +33 -0
  49. package/src/elements/Response.cjs +39 -0
  50. package/src/elements/Response.mjs +36 -0
  51. package/src/elements/Responses.cjs +21 -0
  52. package/src/elements/Responses.mjs +17 -0
  53. package/src/elements/Schema.cjs +170 -0
  54. package/src/elements/Schema.mjs +166 -0
  55. package/src/elements/SecurityRequirement.cjs +15 -0
  56. package/src/elements/SecurityRequirement.mjs +12 -0
  57. package/src/elements/SecurityScheme.cjs +63 -0
  58. package/src/elements/SecurityScheme.mjs +59 -0
  59. package/src/elements/Server.cjs +33 -0
  60. package/src/elements/Server.mjs +30 -0
  61. package/src/elements/ServerVariable.cjs +33 -0
  62. package/src/elements/ServerVariable.mjs +30 -0
  63. package/src/elements/Tag.cjs +33 -0
  64. package/src/elements/Tag.mjs +29 -0
  65. package/src/elements/Xml.cjs +45 -0
  66. package/src/elements/Xml.mjs +42 -0
  67. package/src/elements/nces/ComponentsCallbacks.cjs +16 -0
  68. package/src/elements/nces/ComponentsCallbacks.mjs +13 -0
  69. package/src/elements/nces/ComponentsExamples.cjs +17 -0
  70. package/src/elements/nces/ComponentsExamples.mjs +14 -0
  71. package/src/elements/nces/ComponentsHeaders.cjs +16 -0
  72. package/src/elements/nces/ComponentsHeaders.mjs +13 -0
  73. package/src/elements/nces/ComponentsLinks.cjs +16 -0
  74. package/src/elements/nces/ComponentsLinks.mjs +13 -0
  75. package/src/elements/nces/ComponentsParameters.cjs +17 -0
  76. package/src/elements/nces/ComponentsParameters.mjs +14 -0
  77. package/src/elements/nces/ComponentsRequestBodies.cjs +16 -0
  78. package/src/elements/nces/ComponentsRequestBodies.mjs +13 -0
  79. package/src/elements/nces/ComponentsResponses.cjs +16 -0
  80. package/src/elements/nces/ComponentsResponses.mjs +13 -0
  81. package/src/elements/nces/ComponentsSchemas.cjs +16 -0
  82. package/src/elements/nces/ComponentsSchemas.mjs +13 -0
  83. package/src/elements/nces/ComponentsSecuritySchemes.cjs +16 -0
  84. package/src/elements/nces/ComponentsSecuritySchemes.mjs +13 -0
  85. package/src/elements/nces/DiscriminatorMapping.cjs +16 -0
  86. package/src/elements/nces/DiscriminatorMapping.mjs +13 -0
  87. package/src/elements/nces/EncodingHeaders.cjs +16 -0
  88. package/src/elements/nces/EncodingHeaders.mjs +13 -0
  89. package/src/elements/nces/HeaderContent.cjs +17 -0
  90. package/src/elements/nces/HeaderContent.mjs +14 -0
  91. package/src/elements/nces/HeaderExamples.cjs +17 -0
  92. package/src/elements/nces/HeaderExamples.mjs +14 -0
  93. package/src/elements/nces/LinkParameters.cjs +16 -0
  94. package/src/elements/nces/LinkParameters.mjs +13 -0
  95. package/src/elements/nces/MediaTypeEncoding.cjs +16 -0
  96. package/src/elements/nces/MediaTypeEncoding.mjs +13 -0
  97. package/src/elements/nces/MediaTypeExamples.cjs +17 -0
  98. package/src/elements/nces/MediaTypeExamples.mjs +14 -0
  99. package/src/elements/nces/OAuthFlowScopes.cjs +16 -0
  100. package/src/elements/nces/OAuthFlowScopes.mjs +13 -0
  101. package/src/elements/nces/OperationCallbacks.cjs +16 -0
  102. package/src/elements/nces/OperationCallbacks.mjs +13 -0
  103. package/src/elements/nces/OperationParameters.cjs +17 -0
  104. package/src/elements/nces/OperationParameters.mjs +14 -0
  105. package/src/elements/nces/OperationSecurity.cjs +17 -0
  106. package/src/elements/nces/OperationSecurity.mjs +14 -0
  107. package/src/elements/nces/OperationServers.cjs +17 -0
  108. package/src/elements/nces/OperationServers.mjs +14 -0
  109. package/src/elements/nces/OperationTags.cjs +16 -0
  110. package/src/elements/nces/OperationTags.mjs +13 -0
  111. package/src/elements/nces/ParameterContent.cjs +17 -0
  112. package/src/elements/nces/ParameterContent.mjs +14 -0
  113. package/src/elements/nces/ParameterExamples.cjs +17 -0
  114. package/src/elements/nces/ParameterExamples.mjs +14 -0
  115. package/src/elements/nces/PathItemParameters.cjs +17 -0
  116. package/src/elements/nces/PathItemParameters.mjs +14 -0
  117. package/src/elements/nces/PathItemServers.cjs +17 -0
  118. package/src/elements/nces/PathItemServers.mjs +14 -0
  119. package/src/elements/nces/RequestBodyContent.cjs +17 -0
  120. package/src/elements/nces/RequestBodyContent.mjs +14 -0
  121. package/src/elements/nces/ResponseContent.cjs +17 -0
  122. package/src/elements/nces/ResponseContent.mjs +14 -0
  123. package/src/elements/nces/ResponseHeaders.cjs +16 -0
  124. package/src/elements/nces/ResponseHeaders.mjs +13 -0
  125. package/src/elements/nces/ResponseLinks.cjs +16 -0
  126. package/src/elements/nces/ResponseLinks.mjs +13 -0
  127. package/src/elements/nces/Security.cjs +16 -0
  128. package/src/elements/nces/Security.mjs +13 -0
  129. package/src/elements/nces/ServerVariables.cjs +16 -0
  130. package/src/elements/nces/ServerVariables.mjs +13 -0
  131. package/src/elements/nces/Servers.cjs +16 -0
  132. package/src/elements/nces/Servers.mjs +13 -0
  133. package/src/elements/nces/Tags.cjs +16 -0
  134. package/src/elements/nces/Tags.mjs +13 -0
  135. package/src/index.cjs +205 -0
  136. package/src/index.mjs +54 -0
  137. package/src/media-types.cjs +34 -0
  138. package/src/media-types.mjs +30 -0
  139. package/src/namespace.cjs +79 -0
  140. package/src/namespace.mjs +74 -0
  141. package/src/predicates.cjs +188 -0
  142. package/src/predicates.mjs +155 -0
  143. package/src/refractor/index.cjs +358 -0
  144. package/src/refractor/index.mjs +321 -0
  145. package/src/refractor/inspect.cjs +205 -0
  146. package/src/refractor/inspect.mjs +170 -0
  147. package/src/refractor/plugins/replace-empty-element.cjs +633 -0
  148. package/src/refractor/plugins/replace-empty-element.mjs +625 -0
  149. package/src/refractor/predicates.cjs +36 -0
  150. package/src/refractor/predicates.mjs +31 -0
  151. package/src/refractor/specification.cjs +700 -0
  152. package/src/refractor/specification.mjs +695 -0
  153. package/src/refractor/toolbox.cjs +28 -0
  154. package/src/refractor/toolbox.mjs +21 -0
  155. package/src/refractor/visitors/FallbackVisitor.cjs +24 -0
  156. package/src/refractor/visitors/FallbackVisitor.mjs +18 -0
  157. package/src/refractor/visitors/SpecificationExtensionVisitor.cjs +18 -0
  158. package/src/refractor/visitors/SpecificationExtensionVisitor.mjs +13 -0
  159. package/src/refractor/visitors/SpecificationVisitor.cjs +88 -0
  160. package/src/refractor/visitors/SpecificationVisitor.mjs +82 -0
  161. package/src/refractor/visitors/Visitor.cjs +36 -0
  162. package/src/refractor/visitors/Visitor.mjs +33 -0
  163. package/src/refractor/visitors/generics/AlternatingVisitor.cjs +42 -0
  164. package/src/refractor/visitors/generics/AlternatingVisitor.mjs +35 -0
  165. package/src/refractor/visitors/generics/FixedFieldsVisitor.cjs +75 -0
  166. package/src/refractor/visitors/generics/FixedFieldsVisitor.mjs +68 -0
  167. package/src/refractor/visitors/generics/MapVisitor.cjs +21 -0
  168. package/src/refractor/visitors/generics/MapVisitor.mjs +15 -0
  169. package/src/refractor/visitors/generics/MixedFieldsVisitor.cjs +67 -0
  170. package/src/refractor/visitors/generics/MixedFieldsVisitor.mjs +61 -0
  171. package/src/refractor/visitors/generics/PatternedFieldsVisitor.cjs +72 -0
  172. package/src/refractor/visitors/generics/PatternedFieldsVisitor.mjs +66 -0
  173. package/src/refractor/visitors/open-api-3-0/ContentVisitor.cjs +23 -0
  174. package/src/refractor/visitors/open-api-3-0/ContentVisitor.mjs +18 -0
  175. package/src/refractor/visitors/open-api-3-0/ExamplesVisitor.cjs +33 -0
  176. package/src/refractor/visitors/open-api-3-0/ExamplesVisitor.mjs +28 -0
  177. package/src/refractor/visitors/open-api-3-0/OpenapiVisitor.cjs +25 -0
  178. package/src/refractor/visitors/open-api-3-0/OpenapiVisitor.mjs +19 -0
  179. package/src/refractor/visitors/open-api-3-0/ParametersVisitor.cjs +36 -0
  180. package/src/refractor/visitors/open-api-3-0/ParametersVisitor.mjs +31 -0
  181. package/src/refractor/visitors/open-api-3-0/SecurityVisitor.cjs +35 -0
  182. package/src/refractor/visitors/open-api-3-0/SecurityVisitor.mjs +29 -0
  183. package/src/refractor/visitors/open-api-3-0/ServersVisitor.cjs +32 -0
  184. package/src/refractor/visitors/open-api-3-0/ServersVisitor.mjs +26 -0
  185. package/src/refractor/visitors/open-api-3-0/TagsVisitor.cjs +32 -0
  186. package/src/refractor/visitors/open-api-3-0/TagsVisitor.mjs +26 -0
  187. package/src/refractor/visitors/open-api-3-0/bases.cjs +72 -0
  188. package/src/refractor/visitors/open-api-3-0/bases.mjs +67 -0
  189. package/src/refractor/visitors/open-api-3-0/callback/index.cjs +38 -0
  190. package/src/refractor/visitors/open-api-3-0/callback/index.mjs +32 -0
  191. package/src/refractor/visitors/open-api-3-0/components/CallbacksVisitor.cjs +33 -0
  192. package/src/refractor/visitors/open-api-3-0/components/CallbacksVisitor.mjs +27 -0
  193. package/src/refractor/visitors/open-api-3-0/components/ExamplesVisitor.cjs +34 -0
  194. package/src/refractor/visitors/open-api-3-0/components/ExamplesVisitor.mjs +28 -0
  195. package/src/refractor/visitors/open-api-3-0/components/HeadersVisitor.cjs +41 -0
  196. package/src/refractor/visitors/open-api-3-0/components/HeadersVisitor.mjs +35 -0
  197. package/src/refractor/visitors/open-api-3-0/components/LinksVisitor.cjs +33 -0
  198. package/src/refractor/visitors/open-api-3-0/components/LinksVisitor.mjs +27 -0
  199. package/src/refractor/visitors/open-api-3-0/components/ParametersVisitor.cjs +34 -0
  200. package/src/refractor/visitors/open-api-3-0/components/ParametersVisitor.mjs +28 -0
  201. package/src/refractor/visitors/open-api-3-0/components/RequestBodiesVisitor.cjs +33 -0
  202. package/src/refractor/visitors/open-api-3-0/components/RequestBodiesVisitor.mjs +27 -0
  203. package/src/refractor/visitors/open-api-3-0/components/ResponsesVisitor.cjs +41 -0
  204. package/src/refractor/visitors/open-api-3-0/components/ResponsesVisitor.mjs +35 -0
  205. package/src/refractor/visitors/open-api-3-0/components/SchemasVisitor.cjs +34 -0
  206. package/src/refractor/visitors/open-api-3-0/components/SchemasVisitor.mjs +28 -0
  207. package/src/refractor/visitors/open-api-3-0/components/SecuritySchemesVisitor.cjs +33 -0
  208. package/src/refractor/visitors/open-api-3-0/components/SecuritySchemesVisitor.mjs +27 -0
  209. package/src/refractor/visitors/open-api-3-0/components/index.cjs +25 -0
  210. package/src/refractor/visitors/open-api-3-0/components/index.mjs +19 -0
  211. package/src/refractor/visitors/open-api-3-0/contact/index.cjs +20 -0
  212. package/src/refractor/visitors/open-api-3-0/contact/index.mjs +15 -0
  213. package/src/refractor/visitors/open-api-3-0/distriminator/MappingVisitor.cjs +19 -0
  214. package/src/refractor/visitors/open-api-3-0/distriminator/MappingVisitor.mjs +14 -0
  215. package/src/refractor/visitors/open-api-3-0/distriminator/index.cjs +20 -0
  216. package/src/refractor/visitors/open-api-3-0/distriminator/index.mjs +15 -0
  217. package/src/refractor/visitors/open-api-3-0/encoding/HeadersVisitor.cjs +43 -0
  218. package/src/refractor/visitors/open-api-3-0/encoding/HeadersVisitor.mjs +37 -0
  219. package/src/refractor/visitors/open-api-3-0/encoding/index.cjs +40 -0
  220. package/src/refractor/visitors/open-api-3-0/encoding/index.mjs +34 -0
  221. package/src/refractor/visitors/open-api-3-0/example/ExternalValueVisitor.cjs +16 -0
  222. package/src/refractor/visitors/open-api-3-0/example/ExternalValueVisitor.mjs +11 -0
  223. package/src/refractor/visitors/open-api-3-0/example/index.cjs +29 -0
  224. package/src/refractor/visitors/open-api-3-0/example/index.mjs +24 -0
  225. package/src/refractor/visitors/open-api-3-0/external-documentation/index.cjs +20 -0
  226. package/src/refractor/visitors/open-api-3-0/external-documentation/index.mjs +15 -0
  227. package/src/refractor/visitors/open-api-3-0/header/ContentVisitor.cjs +17 -0
  228. package/src/refractor/visitors/open-api-3-0/header/ContentVisitor.mjs +12 -0
  229. package/src/refractor/visitors/open-api-3-0/header/ExamplesVisitor.cjs +17 -0
  230. package/src/refractor/visitors/open-api-3-0/header/ExamplesVisitor.mjs +12 -0
  231. package/src/refractor/visitors/open-api-3-0/header/SchemaVisitor.cjs +32 -0
  232. package/src/refractor/visitors/open-api-3-0/header/SchemaVisitor.mjs +27 -0
  233. package/src/refractor/visitors/open-api-3-0/header/index.cjs +20 -0
  234. package/src/refractor/visitors/open-api-3-0/header/index.mjs +15 -0
  235. package/src/refractor/visitors/open-api-3-0/index.cjs +29 -0
  236. package/src/refractor/visitors/open-api-3-0/index.mjs +23 -0
  237. package/src/refractor/visitors/open-api-3-0/info/VersionVisitor.cjs +17 -0
  238. package/src/refractor/visitors/open-api-3-0/info/VersionVisitor.mjs +12 -0
  239. package/src/refractor/visitors/open-api-3-0/info/index.cjs +20 -0
  240. package/src/refractor/visitors/open-api-3-0/info/index.mjs +15 -0
  241. package/src/refractor/visitors/open-api-3-0/license/index.cjs +20 -0
  242. package/src/refractor/visitors/open-api-3-0/license/index.mjs +15 -0
  243. package/src/refractor/visitors/open-api-3-0/link/OperationIdVisitor.cjs +16 -0
  244. package/src/refractor/visitors/open-api-3-0/link/OperationIdVisitor.mjs +11 -0
  245. package/src/refractor/visitors/open-api-3-0/link/OperationRefVisitor.cjs +16 -0
  246. package/src/refractor/visitors/open-api-3-0/link/OperationRefVisitor.mjs +11 -0
  247. package/src/refractor/visitors/open-api-3-0/link/ParametersVisitor.cjs +19 -0
  248. package/src/refractor/visitors/open-api-3-0/link/ParametersVisitor.mjs +14 -0
  249. package/src/refractor/visitors/open-api-3-0/link/index.cjs +29 -0
  250. package/src/refractor/visitors/open-api-3-0/link/index.mjs +24 -0
  251. package/src/refractor/visitors/open-api-3-0/media-type/EncodingVisitor.cjs +19 -0
  252. package/src/refractor/visitors/open-api-3-0/media-type/EncodingVisitor.mjs +14 -0
  253. package/src/refractor/visitors/open-api-3-0/media-type/ExamplesVisitor.cjs +17 -0
  254. package/src/refractor/visitors/open-api-3-0/media-type/ExamplesVisitor.mjs +12 -0
  255. package/src/refractor/visitors/open-api-3-0/media-type/SchemaVisitor.cjs +32 -0
  256. package/src/refractor/visitors/open-api-3-0/media-type/SchemaVisitor.mjs +27 -0
  257. package/src/refractor/visitors/open-api-3-0/media-type/index.cjs +20 -0
  258. package/src/refractor/visitors/open-api-3-0/media-type/index.mjs +15 -0
  259. package/src/refractor/visitors/open-api-3-0/oauth-flow/ScopesVisitor.cjs +19 -0
  260. package/src/refractor/visitors/open-api-3-0/oauth-flow/ScopesVisitor.mjs +14 -0
  261. package/src/refractor/visitors/open-api-3-0/oauth-flow/index.cjs +20 -0
  262. package/src/refractor/visitors/open-api-3-0/oauth-flow/index.mjs +15 -0
  263. package/src/refractor/visitors/open-api-3-0/oauth-flows/index.cjs +20 -0
  264. package/src/refractor/visitors/open-api-3-0/oauth-flows/index.mjs +15 -0
  265. package/src/refractor/visitors/open-api-3-0/operation/CallbacksVisitor.cjs +34 -0
  266. package/src/refractor/visitors/open-api-3-0/operation/CallbacksVisitor.mjs +28 -0
  267. package/src/refractor/visitors/open-api-3-0/operation/ParametersVisitor.cjs +17 -0
  268. package/src/refractor/visitors/open-api-3-0/operation/ParametersVisitor.mjs +12 -0
  269. package/src/refractor/visitors/open-api-3-0/operation/RequestBodyVisitor.cjs +35 -0
  270. package/src/refractor/visitors/open-api-3-0/operation/RequestBodyVisitor.mjs +29 -0
  271. package/src/refractor/visitors/open-api-3-0/operation/SecurityVisitor.cjs +32 -0
  272. package/src/refractor/visitors/open-api-3-0/operation/SecurityVisitor.mjs +26 -0
  273. package/src/refractor/visitors/open-api-3-0/operation/ServersVisitor.cjs +17 -0
  274. package/src/refractor/visitors/open-api-3-0/operation/ServersVisitor.mjs +12 -0
  275. package/src/refractor/visitors/open-api-3-0/operation/TagsVisitor.cjs +27 -0
  276. package/src/refractor/visitors/open-api-3-0/operation/TagsVisitor.mjs +21 -0
  277. package/src/refractor/visitors/open-api-3-0/operation/index.cjs +23 -0
  278. package/src/refractor/visitors/open-api-3-0/operation/index.mjs +17 -0
  279. package/src/refractor/visitors/open-api-3-0/parameter/ContentVisitor.cjs +17 -0
  280. package/src/refractor/visitors/open-api-3-0/parameter/ContentVisitor.mjs +12 -0
  281. package/src/refractor/visitors/open-api-3-0/parameter/ExamplesVisitor.cjs +17 -0
  282. package/src/refractor/visitors/open-api-3-0/parameter/ExamplesVisitor.mjs +12 -0
  283. package/src/refractor/visitors/open-api-3-0/parameter/SchemaVisitor.cjs +36 -0
  284. package/src/refractor/visitors/open-api-3-0/parameter/SchemaVisitor.mjs +30 -0
  285. package/src/refractor/visitors/open-api-3-0/parameter/index.cjs +40 -0
  286. package/src/refractor/visitors/open-api-3-0/parameter/index.mjs +34 -0
  287. package/src/refractor/visitors/open-api-3-0/path-item/$RefVisitor.cjs +16 -0
  288. package/src/refractor/visitors/open-api-3-0/path-item/$RefVisitor.mjs +11 -0
  289. package/src/refractor/visitors/open-api-3-0/path-item/ParametersVisitor.cjs +17 -0
  290. package/src/refractor/visitors/open-api-3-0/path-item/ParametersVisitor.mjs +12 -0
  291. package/src/refractor/visitors/open-api-3-0/path-item/ServersVisitor.cjs +17 -0
  292. package/src/refractor/visitors/open-api-3-0/path-item/ServersVisitor.mjs +12 -0
  293. package/src/refractor/visitors/open-api-3-0/path-item/index.cjs +42 -0
  294. package/src/refractor/visitors/open-api-3-0/path-item/index.mjs +36 -0
  295. package/src/refractor/visitors/open-api-3-0/paths/index.cjs +40 -0
  296. package/src/refractor/visitors/open-api-3-0/paths/index.mjs +34 -0
  297. package/src/refractor/visitors/open-api-3-0/reference/$RefVisitor.cjs +16 -0
  298. package/src/refractor/visitors/open-api-3-0/reference/$RefVisitor.mjs +11 -0
  299. package/src/refractor/visitors/open-api-3-0/reference/index.cjs +33 -0
  300. package/src/refractor/visitors/open-api-3-0/reference/index.mjs +27 -0
  301. package/src/refractor/visitors/open-api-3-0/request-body/ContentVisitor.cjs +17 -0
  302. package/src/refractor/visitors/open-api-3-0/request-body/ContentVisitor.mjs +12 -0
  303. package/src/refractor/visitors/open-api-3-0/request-body/index.cjs +39 -0
  304. package/src/refractor/visitors/open-api-3-0/request-body/index.mjs +33 -0
  305. package/src/refractor/visitors/open-api-3-0/response/ContentVisitor.cjs +17 -0
  306. package/src/refractor/visitors/open-api-3-0/response/ContentVisitor.mjs +12 -0
  307. package/src/refractor/visitors/open-api-3-0/response/HeadersVisitor.cjs +42 -0
  308. package/src/refractor/visitors/open-api-3-0/response/HeadersVisitor.mjs +36 -0
  309. package/src/refractor/visitors/open-api-3-0/response/LinksVisitor.cjs +32 -0
  310. package/src/refractor/visitors/open-api-3-0/response/LinksVisitor.mjs +26 -0
  311. package/src/refractor/visitors/open-api-3-0/response/index.cjs +47 -0
  312. package/src/refractor/visitors/open-api-3-0/response/index.mjs +41 -0
  313. package/src/refractor/visitors/open-api-3-0/responses/DefaultVisitor.cjs +40 -0
  314. package/src/refractor/visitors/open-api-3-0/responses/DefaultVisitor.mjs +34 -0
  315. package/src/refractor/visitors/open-api-3-0/responses/index.cjs +46 -0
  316. package/src/refractor/visitors/open-api-3-0/responses/index.mjs +40 -0
  317. package/src/refractor/visitors/open-api-3-0/schema/AllOfVisitor.cjs +25 -0
  318. package/src/refractor/visitors/open-api-3-0/schema/AllOfVisitor.mjs +21 -0
  319. package/src/refractor/visitors/open-api-3-0/schema/AnyOfVisitor.cjs +25 -0
  320. package/src/refractor/visitors/open-api-3-0/schema/AnyOfVisitor.mjs +21 -0
  321. package/src/refractor/visitors/open-api-3-0/schema/ItemsVisitor.cjs +22 -0
  322. package/src/refractor/visitors/open-api-3-0/schema/ItemsVisitor.mjs +19 -0
  323. package/src/refractor/visitors/open-api-3-0/schema/OneOfVisitor.cjs +25 -0
  324. package/src/refractor/visitors/open-api-3-0/schema/OneOfVisitor.mjs +21 -0
  325. package/src/refractor/visitors/open-api-3-0/schema/PropertiesVisitor.cjs +25 -0
  326. package/src/refractor/visitors/open-api-3-0/schema/PropertiesVisitor.mjs +21 -0
  327. package/src/refractor/visitors/open-api-3-0/schema/SchemaOrReferenceVisitor.cjs +23 -0
  328. package/src/refractor/visitors/open-api-3-0/schema/SchemaOrReferenceVisitor.mjs +19 -0
  329. package/src/refractor/visitors/open-api-3-0/schema/TypeVisitor.cjs +19 -0
  330. package/src/refractor/visitors/open-api-3-0/schema/TypeVisitor.mjs +15 -0
  331. package/src/refractor/visitors/open-api-3-0/schema/index.cjs +24 -0
  332. package/src/refractor/visitors/open-api-3-0/schema/index.mjs +18 -0
  333. package/src/refractor/visitors/open-api-3-0/security-requirement/index.cjs +19 -0
  334. package/src/refractor/visitors/open-api-3-0/security-requirement/index.mjs +14 -0
  335. package/src/refractor/visitors/open-api-3-0/security-scheme/index.cjs +20 -0
  336. package/src/refractor/visitors/open-api-3-0/security-scheme/index.mjs +15 -0
  337. package/src/refractor/visitors/open-api-3-0/server/UrlVisitor.cjs +16 -0
  338. package/src/refractor/visitors/open-api-3-0/server/UrlVisitor.mjs +11 -0
  339. package/src/refractor/visitors/open-api-3-0/server/VariablesVisitor.cjs +19 -0
  340. package/src/refractor/visitors/open-api-3-0/server/VariablesVisitor.mjs +14 -0
  341. package/src/refractor/visitors/open-api-3-0/server/index.cjs +20 -0
  342. package/src/refractor/visitors/open-api-3-0/server/index.mjs +15 -0
  343. package/src/refractor/visitors/open-api-3-0/server-variable/index.cjs +20 -0
  344. package/src/refractor/visitors/open-api-3-0/server-variable/index.mjs +15 -0
  345. package/src/refractor/visitors/open-api-3-0/tag/index.cjs +20 -0
  346. package/src/refractor/visitors/open-api-3-0/tag/index.mjs +15 -0
  347. package/src/refractor/visitors/open-api-3-0/xml/index.cjs +20 -0
  348. package/src/refractor/visitors/open-api-3-0/xml/index.mjs +15 -0
@@ -0,0 +1,321 @@
1
+ import { resolveSpecification, dispatchRefractorPlugins } from '@speclynx/apidom-core';
2
+ import { refract as baseRefract } from '@speclynx/apidom-datamodel';
3
+ import { traverse, getNodePrimitiveType } from '@speclynx/apidom-traverse';
4
+ import { path } from 'ramda';
5
+ import specification from "./specification.mjs";
6
+ import createToolbox from "./toolbox.mjs";
7
+ /**
8
+ * @public
9
+ */
10
+ /**
11
+ * @public
12
+ */
13
+ /**
14
+ * @public
15
+ */
16
+ const refract = (value, {
17
+ element = 'openApi3_0',
18
+ plugins = [],
19
+ specificationObj = specification,
20
+ consume = false
21
+ } = {}) => {
22
+ const genericElement = baseRefract(value);
23
+ const resolvedSpec = resolveSpecification(specificationObj);
24
+ const elementMap = resolvedSpec.elementMap;
25
+ const specPath = elementMap[element];
26
+ if (!specPath) {
27
+ throw new Error(`Unknown element type: "${element}"`);
28
+ }
29
+
30
+ /**
31
+ * This is where generic ApiDOM becomes semantic (namespace applied).
32
+ * We don't allow consumers to hook into this translation.
33
+ * Though we allow consumers to define their own plugins on already transformed ApiDOM.
34
+ */
35
+ const RootVisitorClass = path(specPath, resolvedSpec);
36
+ const rootVisitor = new RootVisitorClass({
37
+ specObj: resolvedSpec,
38
+ consume
39
+ });
40
+ traverse(genericElement, rootVisitor, {
41
+ nodeTypeGetter: getNodePrimitiveType
42
+ });
43
+
44
+ /**
45
+ * Running plugins visitors means extra single traversal === performance hit.
46
+ */
47
+ return dispatchRefractorPlugins(rootVisitor.element, plugins, {
48
+ toolboxCreator: createToolbox
49
+ });
50
+ };
51
+
52
+ /**
53
+ * Refracts a value into an OpenApi3_0Element.
54
+ * @public
55
+ */
56
+ export const refractOpenApi3_0 = (value, options = {}) => refract(value, {
57
+ ...options,
58
+ element: 'openApi3_0'
59
+ });
60
+
61
+ /**
62
+ * Refracts a value into an InfoElement.
63
+ * @public
64
+ */
65
+ export const refractInfo = (value, options = {}) => refract(value, {
66
+ ...options,
67
+ element: 'info'
68
+ });
69
+
70
+ /**
71
+ * Refracts a value into a ContactElement.
72
+ * @public
73
+ */
74
+ export const refractContact = (value, options = {}) => refract(value, {
75
+ ...options,
76
+ element: 'contact'
77
+ });
78
+
79
+ /**
80
+ * Refracts a value into a LicenseElement.
81
+ * @public
82
+ */
83
+ export const refractLicense = (value, options = {}) => refract(value, {
84
+ ...options,
85
+ element: 'license'
86
+ });
87
+
88
+ /**
89
+ * Refracts a value into a ServerElement.
90
+ * @public
91
+ */
92
+ export const refractServer = (value, options = {}) => refract(value, {
93
+ ...options,
94
+ element: 'server'
95
+ });
96
+
97
+ /**
98
+ * Refracts a value into a ServerVariableElement.
99
+ * @public
100
+ */
101
+ export const refractServerVariable = (value, options = {}) => refract(value, {
102
+ ...options,
103
+ element: 'serverVariable'
104
+ });
105
+
106
+ /**
107
+ * Refracts a value into a ComponentsElement.
108
+ * @public
109
+ */
110
+ export const refractComponents = (value, options = {}) => refract(value, {
111
+ ...options,
112
+ element: 'components'
113
+ });
114
+
115
+ /**
116
+ * Refracts a value into a PathsElement.
117
+ * @public
118
+ */
119
+ export const refractPaths = (value, options = {}) => refract(value, {
120
+ ...options,
121
+ element: 'paths'
122
+ });
123
+
124
+ /**
125
+ * Refracts a value into a PathItemElement.
126
+ * @public
127
+ */
128
+ export const refractPathItem = (value, options = {}) => refract(value, {
129
+ ...options,
130
+ element: 'pathItem'
131
+ });
132
+
133
+ /**
134
+ * Refracts a value into an OperationElement.
135
+ * @public
136
+ */
137
+ export const refractOperation = (value, options = {}) => refract(value, {
138
+ ...options,
139
+ element: 'operation'
140
+ });
141
+
142
+ /**
143
+ * Refracts a value into an ExternalDocumentationElement.
144
+ * @public
145
+ */
146
+ export const refractExternalDocumentation = (value, options = {}) => refract(value, {
147
+ ...options,
148
+ element: 'externalDocumentation'
149
+ });
150
+
151
+ /**
152
+ * Refracts a value into a ParameterElement.
153
+ * @public
154
+ */
155
+ export const refractParameter = (value, options = {}) => refract(value, {
156
+ ...options,
157
+ element: 'parameter'
158
+ });
159
+
160
+ /**
161
+ * Refracts a value into a RequestBodyElement.
162
+ * @public
163
+ */
164
+ export const refractRequestBody = (value, options = {}) => refract(value, {
165
+ ...options,
166
+ element: 'requestBody'
167
+ });
168
+
169
+ /**
170
+ * Refracts a value into a MediaTypeElement.
171
+ * @public
172
+ */
173
+ export const refractMediaType = (value, options = {}) => refract(value, {
174
+ ...options,
175
+ element: 'mediaType'
176
+ });
177
+
178
+ /**
179
+ * Refracts a value into an EncodingElement.
180
+ * @public
181
+ */
182
+ export const refractEncoding = (value, options = {}) => refract(value, {
183
+ ...options,
184
+ element: 'encoding'
185
+ });
186
+
187
+ /**
188
+ * Refracts a value into a ResponsesElement.
189
+ * @public
190
+ */
191
+ export const refractResponses = (value, options = {}) => refract(value, {
192
+ ...options,
193
+ element: 'responses'
194
+ });
195
+
196
+ /**
197
+ * Refracts a value into a ResponseElement.
198
+ * @public
199
+ */
200
+ export const refractResponse = (value, options = {}) => refract(value, {
201
+ ...options,
202
+ element: 'response'
203
+ });
204
+
205
+ /**
206
+ * Refracts a value into a CallbackElement.
207
+ * @public
208
+ */
209
+ export const refractCallback = (value, options = {}) => refract(value, {
210
+ ...options,
211
+ element: 'callback'
212
+ });
213
+
214
+ /**
215
+ * Refracts a value into an ExampleElement.
216
+ * @public
217
+ */
218
+ export const refractExample = (value, options = {}) => refract(value, {
219
+ ...options,
220
+ element: 'example'
221
+ });
222
+
223
+ /**
224
+ * Refracts a value into a LinkElement.
225
+ * @public
226
+ */
227
+ export const refractLink = (value, options = {}) => refract(value, {
228
+ ...options,
229
+ element: 'link'
230
+ });
231
+
232
+ /**
233
+ * Refracts a value into a HeaderElement.
234
+ * @public
235
+ */
236
+ export const refractHeader = (value, options = {}) => refract(value, {
237
+ ...options,
238
+ element: 'header'
239
+ });
240
+
241
+ /**
242
+ * Refracts a value into a TagElement.
243
+ * @public
244
+ */
245
+ export const refractTag = (value, options = {}) => refract(value, {
246
+ ...options,
247
+ element: 'tag'
248
+ });
249
+
250
+ /**
251
+ * Refracts a value into a ReferenceElement.
252
+ * @public
253
+ */
254
+ export const refractReference = (value, options = {}) => refract(value, {
255
+ ...options,
256
+ element: 'reference'
257
+ });
258
+
259
+ /**
260
+ * Refracts a value into a SchemaElement.
261
+ * @public
262
+ */
263
+ export const refractSchema = (value, options = {}) => refract(value, {
264
+ ...options,
265
+ element: 'schema'
266
+ });
267
+
268
+ /**
269
+ * Refracts a value into a DiscriminatorElement.
270
+ * @public
271
+ */
272
+ export const refractDiscriminator = (value, options = {}) => refract(value, {
273
+ ...options,
274
+ element: 'discriminator'
275
+ });
276
+
277
+ /**
278
+ * Refracts a value into an XmlElement.
279
+ * @public
280
+ */
281
+ export const refractXml = (value, options = {}) => refract(value, {
282
+ ...options,
283
+ element: 'xml'
284
+ });
285
+
286
+ /**
287
+ * Refracts a value into a SecuritySchemeElement.
288
+ * @public
289
+ */
290
+ export const refractSecurityScheme = (value, options = {}) => refract(value, {
291
+ ...options,
292
+ element: 'securityScheme'
293
+ });
294
+
295
+ /**
296
+ * Refracts a value into an OAuthFlowsElement.
297
+ * @public
298
+ */
299
+ export const refractOAuthFlows = (value, options = {}) => refract(value, {
300
+ ...options,
301
+ element: 'oAuthFlows'
302
+ });
303
+
304
+ /**
305
+ * Refracts a value into an OAuthFlowElement.
306
+ * @public
307
+ */
308
+ export const refractOAuthFlow = (value, options = {}) => refract(value, {
309
+ ...options,
310
+ element: 'oAuthFlow'
311
+ });
312
+
313
+ /**
314
+ * Refracts a value into a SecurityRequirementElement.
315
+ * @public
316
+ */
317
+ export const refractSecurityRequirement = (value, options = {}) => refract(value, {
318
+ ...options,
319
+ element: 'securityRequirement'
320
+ });
321
+ export default refract;
@@ -0,0 +1,205 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
+ exports.__esModule = true;
5
+ var _apidomCore = require("@speclynx/apidom-core");
6
+ var _ramdaAdjunct = require("ramda-adjunct");
7
+ var _Callback = _interopRequireDefault(require("../elements/Callback.cjs"));
8
+ exports.CallbackElement = _Callback.default;
9
+ var _Components = _interopRequireDefault(require("../elements/Components.cjs"));
10
+ exports.ComponentsElement = _Components.default;
11
+ var _Contact = _interopRequireDefault(require("../elements/Contact.cjs"));
12
+ exports.ContactElement = _Contact.default;
13
+ var _Discriminator = _interopRequireDefault(require("../elements/Discriminator.cjs"));
14
+ exports.DiscriminatorElement = _Discriminator.default;
15
+ var _Encoding = _interopRequireDefault(require("../elements/Encoding.cjs"));
16
+ exports.EncodingElement = _Encoding.default;
17
+ var _Example = _interopRequireDefault(require("../elements/Example.cjs"));
18
+ exports.ExampleElement = _Example.default;
19
+ var _ExternalDocumentation = _interopRequireDefault(require("../elements/ExternalDocumentation.cjs"));
20
+ exports.ExternalDocumentationElement = _ExternalDocumentation.default;
21
+ var _Header = _interopRequireDefault(require("../elements/Header.cjs"));
22
+ exports.HeaderElement = _Header.default;
23
+ var _Info = _interopRequireDefault(require("../elements/Info.cjs"));
24
+ exports.InfoElement = _Info.default;
25
+ var _License = _interopRequireDefault(require("../elements/License.cjs"));
26
+ exports.LicenseElement = _License.default;
27
+ var _Link = _interopRequireDefault(require("../elements/Link.cjs"));
28
+ exports.LinkElement = _Link.default;
29
+ var _MediaType = _interopRequireDefault(require("../elements/MediaType.cjs"));
30
+ exports.MediaTypeElement = _MediaType.default;
31
+ var _OAuthFlow = _interopRequireDefault(require("../elements/OAuthFlow.cjs"));
32
+ exports.OAuthFlowElement = _OAuthFlow.default;
33
+ var _OAuthFlows = _interopRequireDefault(require("../elements/OAuthFlows.cjs"));
34
+ exports.OAuthFlowsElement = _OAuthFlows.default;
35
+ var _Openapi = _interopRequireDefault(require("../elements/Openapi.cjs"));
36
+ exports.OpenapiElement = _Openapi.default;
37
+ var _OpenApi = _interopRequireDefault(require("../elements/OpenApi3-0.cjs"));
38
+ exports.OpenApi3_0Element = _OpenApi.default;
39
+ var _Operation = _interopRequireDefault(require("../elements/Operation.cjs"));
40
+ exports.OperationElement = _Operation.default;
41
+ var _Parameter = _interopRequireDefault(require("../elements/Parameter.cjs"));
42
+ exports.ParameterElement = _Parameter.default;
43
+ var _PathItem = _interopRequireDefault(require("../elements/PathItem.cjs"));
44
+ exports.PathItemElement = _PathItem.default;
45
+ var _Paths = _interopRequireDefault(require("../elements/Paths.cjs"));
46
+ exports.PathsElement = _Paths.default;
47
+ var _Reference = _interopRequireDefault(require("../elements/Reference.cjs"));
48
+ exports.ReferenceElement = _Reference.default;
49
+ var _RequestBody = _interopRequireDefault(require("../elements/RequestBody.cjs"));
50
+ exports.RequestBodyElement = _RequestBody.default;
51
+ var _Response = _interopRequireDefault(require("../elements/Response.cjs"));
52
+ exports.ResponseElement = _Response.default;
53
+ var _Responses = _interopRequireDefault(require("../elements/Responses.cjs"));
54
+ exports.ResponsesElement = _Responses.default;
55
+ var _Schema = _interopRequireDefault(require("../elements/Schema.cjs"));
56
+ exports.SchemaElement = _Schema.default;
57
+ var _SecurityRequirement = _interopRequireDefault(require("../elements/SecurityRequirement.cjs"));
58
+ exports.SecurityRequirementElement = _SecurityRequirement.default;
59
+ var _SecurityScheme = _interopRequireDefault(require("../elements/SecurityScheme.cjs"));
60
+ exports.SecuritySchemeElement = _SecurityScheme.default;
61
+ var _Server = _interopRequireDefault(require("../elements/Server.cjs"));
62
+ exports.ServerElement = _Server.default;
63
+ var _ServerVariable = _interopRequireDefault(require("../elements/ServerVariable.cjs"));
64
+ exports.ServerVariableElement = _ServerVariable.default;
65
+ var _Tag = _interopRequireDefault(require("../elements/Tag.cjs"));
66
+ exports.TagElement = _Tag.default;
67
+ var _Xml = _interopRequireDefault(require("../elements/Xml.cjs"));
68
+ exports.XmlElement = _Xml.default;
69
+ var _specification = _interopRequireDefault(require("./specification.cjs"));
70
+ /**
71
+ * OpenAPI 3.0 specification elements.
72
+ */
73
+
74
+ /**
75
+ * @public
76
+ */
77
+
78
+ // Resolve specification to dereference $ref pointers
79
+ const resolvedSpec = (0, _apidomCore.resolveSpecification)(_specification.default);
80
+
81
+ // Extract fixed fields as list of { name, alias?, $visitor }
82
+ const getFixedFields = fixedFieldsSpec => {
83
+ return Object.entries(fixedFieldsSpec).map(([name, fieldSpec]) => {
84
+ if ((0, _ramdaAdjunct.isPlainObject)(fieldSpec)) {
85
+ return {
86
+ name,
87
+ ...fieldSpec
88
+ };
89
+ }
90
+ return {
91
+ name,
92
+ $visitor: fieldSpec
93
+ };
94
+ });
95
+ };
96
+
97
+ // OpenAPI 3.0 specification elements
98
+ Object.defineProperty(_OpenApi.default, 'fixedFields', {
99
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.OpenApi.fixedFields),
100
+ enumerable: true
101
+ });
102
+ Object.defineProperty(_Info.default, 'fixedFields', {
103
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Info.fixedFields),
104
+ enumerable: true
105
+ });
106
+ Object.defineProperty(_Contact.default, 'fixedFields', {
107
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Contact.fixedFields),
108
+ enumerable: true
109
+ });
110
+ Object.defineProperty(_License.default, 'fixedFields', {
111
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.License.fixedFields),
112
+ enumerable: true
113
+ });
114
+ Object.defineProperty(_Server.default, 'fixedFields', {
115
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Server.fixedFields),
116
+ enumerable: true
117
+ });
118
+ Object.defineProperty(_ServerVariable.default, 'fixedFields', {
119
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.ServerVariable.fixedFields),
120
+ enumerable: true
121
+ });
122
+ Object.defineProperty(_Components.default, 'fixedFields', {
123
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Components.fixedFields),
124
+ enumerable: true
125
+ });
126
+ Object.defineProperty(_PathItem.default, 'fixedFields', {
127
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.PathItem.fixedFields),
128
+ enumerable: true
129
+ });
130
+ Object.defineProperty(_Operation.default, 'fixedFields', {
131
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Operation.fixedFields),
132
+ enumerable: true
133
+ });
134
+ Object.defineProperty(_ExternalDocumentation.default, 'fixedFields', {
135
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.ExternalDocumentation.fixedFields),
136
+ enumerable: true
137
+ });
138
+ Object.defineProperty(_Parameter.default, 'fixedFields', {
139
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Parameter.fixedFields),
140
+ enumerable: true
141
+ });
142
+ Object.defineProperty(_RequestBody.default, 'fixedFields', {
143
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.RequestBody.fixedFields),
144
+ enumerable: true
145
+ });
146
+ Object.defineProperty(_MediaType.default, 'fixedFields', {
147
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.MediaType.fixedFields),
148
+ enumerable: true
149
+ });
150
+ Object.defineProperty(_Encoding.default, 'fixedFields', {
151
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Encoding.fixedFields),
152
+ enumerable: true
153
+ });
154
+ Object.defineProperty(_Responses.default, 'fixedFields', {
155
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Responses.fixedFields),
156
+ enumerable: true
157
+ });
158
+ Object.defineProperty(_Response.default, 'fixedFields', {
159
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Response.fixedFields),
160
+ enumerable: true
161
+ });
162
+ Object.defineProperty(_Example.default, 'fixedFields', {
163
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Example.fixedFields),
164
+ enumerable: true
165
+ });
166
+ Object.defineProperty(_Link.default, 'fixedFields', {
167
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Link.fixedFields),
168
+ enumerable: true
169
+ });
170
+ Object.defineProperty(_Header.default, 'fixedFields', {
171
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Header.fixedFields),
172
+ enumerable: true
173
+ });
174
+ Object.defineProperty(_Tag.default, 'fixedFields', {
175
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Tag.fixedFields),
176
+ enumerable: true
177
+ });
178
+ Object.defineProperty(_Reference.default, 'fixedFields', {
179
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Reference.fixedFields),
180
+ enumerable: true
181
+ });
182
+ Object.defineProperty(_Schema.default, 'fixedFields', {
183
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Schema.fixedFields),
184
+ enumerable: true
185
+ });
186
+ Object.defineProperty(_Discriminator.default, 'fixedFields', {
187
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Discriminator.fixedFields),
188
+ enumerable: true
189
+ });
190
+ Object.defineProperty(_Xml.default, 'fixedFields', {
191
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.XML.fixedFields),
192
+ enumerable: true
193
+ });
194
+ Object.defineProperty(_SecurityScheme.default, 'fixedFields', {
195
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.SecurityScheme.fixedFields),
196
+ enumerable: true
197
+ });
198
+ Object.defineProperty(_OAuthFlows.default, 'fixedFields', {
199
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.OAuthFlows.fixedFields),
200
+ enumerable: true
201
+ });
202
+ Object.defineProperty(_OAuthFlow.default, 'fixedFields', {
203
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.OAuthFlow.fixedFields),
204
+ enumerable: true
205
+ });
@@ -0,0 +1,170 @@
1
+ import { resolveSpecification } from '@speclynx/apidom-core';
2
+ import { isPlainObject } from 'ramda-adjunct';
3
+
4
+ /**
5
+ * OpenAPI 3.0 specification elements.
6
+ */
7
+ import CallbackElement from "../elements/Callback.mjs";
8
+ import ComponentsElement from "../elements/Components.mjs";
9
+ import ContactElement from "../elements/Contact.mjs";
10
+ import DiscriminatorElement from "../elements/Discriminator.mjs";
11
+ import EncodingElement from "../elements/Encoding.mjs";
12
+ import ExampleElement from "../elements/Example.mjs";
13
+ import ExternalDocumentationElement from "../elements/ExternalDocumentation.mjs";
14
+ import HeaderElement from "../elements/Header.mjs";
15
+ import InfoElement from "../elements/Info.mjs";
16
+ import LicenseElement from "../elements/License.mjs";
17
+ import LinkElement from "../elements/Link.mjs";
18
+ import MediaTypeElement from "../elements/MediaType.mjs";
19
+ import OAuthFlowElement from "../elements/OAuthFlow.mjs";
20
+ import OAuthFlowsElement from "../elements/OAuthFlows.mjs";
21
+ import OpenapiElement from "../elements/Openapi.mjs";
22
+ import OpenApi3_0Element from "../elements/OpenApi3-0.mjs";
23
+ import OperationElement from "../elements/Operation.mjs";
24
+ import ParameterElement from "../elements/Parameter.mjs";
25
+ import PathItemElement from "../elements/PathItem.mjs";
26
+ import PathsElement from "../elements/Paths.mjs";
27
+ import ReferenceElement from "../elements/Reference.mjs";
28
+ import RequestBodyElement from "../elements/RequestBody.mjs";
29
+ import ResponseElement from "../elements/Response.mjs";
30
+ import ResponsesElement from "../elements/Responses.mjs";
31
+ import SchemaElement from "../elements/Schema.mjs";
32
+ import SecurityRequirementElement from "../elements/SecurityRequirement.mjs";
33
+ import SecuritySchemeElement from "../elements/SecurityScheme.mjs";
34
+ import ServerElement from "../elements/Server.mjs";
35
+ import ServerVariableElement from "../elements/ServerVariable.mjs";
36
+ import TagElement from "../elements/Tag.mjs";
37
+ import XmlElement from "../elements/Xml.mjs";
38
+ import specification from "./specification.mjs";
39
+ /**
40
+ * @public
41
+ */
42
+ // Resolve specification to dereference $ref pointers
43
+ const resolvedSpec = resolveSpecification(specification);
44
+
45
+ // Extract fixed fields as list of { name, alias?, $visitor }
46
+ const getFixedFields = fixedFieldsSpec => {
47
+ return Object.entries(fixedFieldsSpec).map(([name, fieldSpec]) => {
48
+ if (isPlainObject(fieldSpec)) {
49
+ return {
50
+ name,
51
+ ...fieldSpec
52
+ };
53
+ }
54
+ return {
55
+ name,
56
+ $visitor: fieldSpec
57
+ };
58
+ });
59
+ };
60
+
61
+ // OpenAPI 3.0 specification elements
62
+ Object.defineProperty(OpenApi3_0Element, 'fixedFields', {
63
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.OpenApi.fixedFields),
64
+ enumerable: true
65
+ });
66
+ Object.defineProperty(InfoElement, 'fixedFields', {
67
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Info.fixedFields),
68
+ enumerable: true
69
+ });
70
+ Object.defineProperty(ContactElement, 'fixedFields', {
71
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Contact.fixedFields),
72
+ enumerable: true
73
+ });
74
+ Object.defineProperty(LicenseElement, 'fixedFields', {
75
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.License.fixedFields),
76
+ enumerable: true
77
+ });
78
+ Object.defineProperty(ServerElement, 'fixedFields', {
79
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Server.fixedFields),
80
+ enumerable: true
81
+ });
82
+ Object.defineProperty(ServerVariableElement, 'fixedFields', {
83
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.ServerVariable.fixedFields),
84
+ enumerable: true
85
+ });
86
+ Object.defineProperty(ComponentsElement, 'fixedFields', {
87
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Components.fixedFields),
88
+ enumerable: true
89
+ });
90
+ Object.defineProperty(PathItemElement, 'fixedFields', {
91
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.PathItem.fixedFields),
92
+ enumerable: true
93
+ });
94
+ Object.defineProperty(OperationElement, 'fixedFields', {
95
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Operation.fixedFields),
96
+ enumerable: true
97
+ });
98
+ Object.defineProperty(ExternalDocumentationElement, 'fixedFields', {
99
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.ExternalDocumentation.fixedFields),
100
+ enumerable: true
101
+ });
102
+ Object.defineProperty(ParameterElement, 'fixedFields', {
103
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Parameter.fixedFields),
104
+ enumerable: true
105
+ });
106
+ Object.defineProperty(RequestBodyElement, 'fixedFields', {
107
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.RequestBody.fixedFields),
108
+ enumerable: true
109
+ });
110
+ Object.defineProperty(MediaTypeElement, 'fixedFields', {
111
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.MediaType.fixedFields),
112
+ enumerable: true
113
+ });
114
+ Object.defineProperty(EncodingElement, 'fixedFields', {
115
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Encoding.fixedFields),
116
+ enumerable: true
117
+ });
118
+ Object.defineProperty(ResponsesElement, 'fixedFields', {
119
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Responses.fixedFields),
120
+ enumerable: true
121
+ });
122
+ Object.defineProperty(ResponseElement, 'fixedFields', {
123
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Response.fixedFields),
124
+ enumerable: true
125
+ });
126
+ Object.defineProperty(ExampleElement, 'fixedFields', {
127
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Example.fixedFields),
128
+ enumerable: true
129
+ });
130
+ Object.defineProperty(LinkElement, 'fixedFields', {
131
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Link.fixedFields),
132
+ enumerable: true
133
+ });
134
+ Object.defineProperty(HeaderElement, 'fixedFields', {
135
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Header.fixedFields),
136
+ enumerable: true
137
+ });
138
+ Object.defineProperty(TagElement, 'fixedFields', {
139
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Tag.fixedFields),
140
+ enumerable: true
141
+ });
142
+ Object.defineProperty(ReferenceElement, 'fixedFields', {
143
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Reference.fixedFields),
144
+ enumerable: true
145
+ });
146
+ Object.defineProperty(SchemaElement, 'fixedFields', {
147
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Schema.fixedFields),
148
+ enumerable: true
149
+ });
150
+ Object.defineProperty(DiscriminatorElement, 'fixedFields', {
151
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.Discriminator.fixedFields),
152
+ enumerable: true
153
+ });
154
+ Object.defineProperty(XmlElement, 'fixedFields', {
155
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.XML.fixedFields),
156
+ enumerable: true
157
+ });
158
+ Object.defineProperty(SecuritySchemeElement, 'fixedFields', {
159
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.SecurityScheme.fixedFields),
160
+ enumerable: true
161
+ });
162
+ Object.defineProperty(OAuthFlowsElement, 'fixedFields', {
163
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.OAuthFlows.fixedFields),
164
+ enumerable: true
165
+ });
166
+ Object.defineProperty(OAuthFlowElement, 'fixedFields', {
167
+ get: () => getFixedFields(resolvedSpec.visitors.document.objects.OAuthFlow.fixedFields),
168
+ enumerable: true
169
+ });
170
+ export { CallbackElement, ComponentsElement, ContactElement, DiscriminatorElement, EncodingElement, ExampleElement, ExternalDocumentationElement, HeaderElement, InfoElement, LicenseElement, LinkElement, MediaTypeElement, OAuthFlowElement, OAuthFlowsElement, OpenapiElement, OpenApi3_0Element, OperationElement, ParameterElement, PathItemElement, PathsElement, ReferenceElement, RequestBodyElement, ResponseElement, ResponsesElement, SchemaElement, SecurityRequirementElement, SecuritySchemeElement, ServerElement, ServerVariableElement, TagElement, XmlElement };