@speclynx/apidom-ns-openapi-3-0 1.12.2 → 2.0.1

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