@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
@@ -3,7 +3,7 @@
3
3
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
4
  exports.__esModule = true;
5
5
  exports.default = void 0;
6
- var _apidomCore = require("@speclynx/apidom-core");
6
+ var _apidomDatamodel = require("@speclynx/apidom-datamodel");
7
7
  var _Visitor = _interopRequireDefault(require("./Visitor.cjs"));
8
8
  /**
9
9
  * This visitor is responsible for falling back to current traversed element
@@ -16,9 +16,9 @@ var _Visitor = _interopRequireDefault(require("./Visitor.cjs"));
16
16
  * @public
17
17
  */
18
18
  class FallbackVisitor extends _Visitor.default {
19
- enter(element) {
20
- this.element = (0, _apidomCore.cloneDeep)(element);
21
- return _apidomCore.BREAK;
19
+ enter(path) {
20
+ this.element = (0, _apidomDatamodel.cloneDeep)(path.node);
21
+ path.stop();
22
22
  }
23
23
  }
24
24
  var _default = exports.default = FallbackVisitor;
@@ -1,4 +1,4 @@
1
- import { BREAK, cloneDeep } from '@speclynx/apidom-core';
1
+ import { cloneDeep } from '@speclynx/apidom-datamodel';
2
2
  import Visitor from "./Visitor.mjs";
3
3
  /**
4
4
  * This visitor is responsible for falling back to current traversed element
@@ -10,9 +10,9 @@ import Visitor from "./Visitor.mjs";
10
10
  * @public
11
11
  */
12
12
  class FallbackVisitor extends Visitor {
13
- enter(element) {
14
- this.element = cloneDeep(element);
15
- return BREAK;
13
+ enter(path) {
14
+ this.element = cloneDeep(path.node);
15
+ path.stop();
16
16
  }
17
17
  }
18
18
  export default FallbackVisitor;
@@ -3,16 +3,16 @@
3
3
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
4
  exports.__esModule = true;
5
5
  exports.default = void 0;
6
- var _apidomCore = require("@speclynx/apidom-core");
6
+ var _apidomDatamodel = require("@speclynx/apidom-datamodel");
7
7
  var _SpecificationVisitor = _interopRequireDefault(require("./SpecificationVisitor.cjs"));
8
8
  /**
9
9
  * @public
10
10
  */
11
11
  class SpecificationExtensionVisitor extends _SpecificationVisitor.default {
12
- MemberElement(memberElement) {
13
- this.element = (0, _apidomCore.cloneDeep)(memberElement);
12
+ MemberElement(path) {
13
+ this.element = (0, _apidomDatamodel.cloneDeep)(path.node);
14
14
  this.element.classes.push('specification-extension');
15
- return _apidomCore.BREAK;
15
+ path.stop();
16
16
  }
17
17
  }
18
18
  var _default = exports.default = SpecificationExtensionVisitor;
@@ -1,13 +1,13 @@
1
- import { BREAK, cloneDeep } from '@speclynx/apidom-core';
1
+ import { cloneDeep } from '@speclynx/apidom-datamodel';
2
2
  import SpecificationVisitor from "./SpecificationVisitor.mjs";
3
3
  /**
4
4
  * @public
5
5
  */
6
6
  class SpecificationExtensionVisitor extends SpecificationVisitor {
7
- MemberElement(memberElement) {
8
- this.element = cloneDeep(memberElement);
7
+ MemberElement(path) {
8
+ this.element = cloneDeep(path.node);
9
9
  this.element.classes.push('specification-extension');
10
- return BREAK;
10
+ path.stop();
11
11
  }
12
12
  }
13
13
  export default SpecificationExtensionVisitor;
@@ -5,7 +5,8 @@ exports.__esModule = true;
5
5
  exports.default = void 0;
6
6
  var _ramda = require("ramda");
7
7
  var _ramdaAdjunct = require("ramda-adjunct");
8
- var _apidomCore = require("@speclynx/apidom-core");
8
+ var _apidomDatamodel = require("@speclynx/apidom-datamodel");
9
+ var _apidomTraverse = require("@speclynx/apidom-traverse");
9
10
  var _Visitor = _interopRequireDefault(require("./Visitor.cjs"));
10
11
  var _FallbackVisitor = _interopRequireDefault(require("./FallbackVisitor.cjs"));
11
12
  /**
@@ -75,9 +76,11 @@ class SpecificationVisitor extends _Visitor.default {
75
76
  */
76
77
  const visitor = this.retrieveVisitorInstance(specPath, options);
77
78
  if (visitor instanceof _FallbackVisitor.default && visitor?.constructor === _FallbackVisitor.default) {
78
- return (0, _apidomCore.cloneDeep)(element);
79
+ return (0, _apidomDatamodel.cloneDeep)(element);
79
80
  }
80
- (0, _apidomCore.visit)(element, visitor, options);
81
+ (0, _apidomTraverse.traverse)(element, visitor, {
82
+ nodeTypeGetter: _apidomTraverse.getNodePrimitiveType
83
+ });
81
84
  return visitor.element;
82
85
  }
83
86
  }
@@ -1,6 +1,7 @@
1
1
  import { pathSatisfies, path, pick } from 'ramda';
2
2
  import { isFunction } from 'ramda-adjunct';
3
- import { visit, cloneDeep } from '@speclynx/apidom-core';
3
+ import { cloneDeep } from '@speclynx/apidom-datamodel';
4
+ import { traverse, getNodePrimitiveType } from '@speclynx/apidom-traverse';
4
5
  import Visitor from "./Visitor.mjs";
5
6
  import FallbackVisitor from "./FallbackVisitor.mjs";
6
7
  /**
@@ -71,7 +72,9 @@ class SpecificationVisitor extends Visitor {
71
72
  if (visitor instanceof FallbackVisitor && visitor?.constructor === FallbackVisitor) {
72
73
  return cloneDeep(element);
73
74
  }
74
- visit(element, visitor, options);
75
+ traverse(element, visitor, {
76
+ nodeTypeGetter: getNodePrimitiveType
77
+ });
75
78
  return visitor.element;
76
79
  }
77
80
  }
@@ -3,6 +3,7 @@
3
3
  exports.__esModule = true;
4
4
  exports.default = void 0;
5
5
  var _apidomCore = require("@speclynx/apidom-core");
6
+ var _apidomDatamodel = require("@speclynx/apidom-datamodel");
6
7
  /**
7
8
  * @public
8
9
  */
@@ -16,16 +17,17 @@ class Visitor {
16
17
  Object.assign(this, options);
17
18
  }
18
19
  copyMetaAndAttributes(from, to) {
19
- if (from.meta.length > 0 || to.meta.length > 0) {
20
- to.meta = (0, _apidomCore.deepmerge)(to.meta, from.meta);
21
- if ((0, _apidomCore.hasElementSourceMap)(from)) {
22
- // avoid deep merging of source maps
23
- to.meta.set('sourceMap', from.meta.get('sourceMap'));
24
- }
20
+ if (!from.isMetaEmpty || !to.isMetaEmpty) {
21
+ const target = to.isMetaEmpty ? new _apidomDatamodel.ObjectElement() : to.meta;
22
+ const source = from.isMetaEmpty ? new _apidomDatamodel.ObjectElement() : from.meta;
23
+ to.meta = (0, _apidomCore.deepmerge)(target, source);
25
24
  }
26
- if (from.attributes.length > 0 || from.meta.length > 0) {
27
- to.attributes = (0, _apidomCore.deepmerge)(to.attributes, from.attributes);
25
+ if (!from.isAttributesEmpty || !to.isAttributesEmpty) {
26
+ const target = to.isAttributesEmpty ? new _apidomDatamodel.ObjectElement() : to.attributes;
27
+ const source = from.isAttributesEmpty ? new _apidomDatamodel.ObjectElement() : from.attributes;
28
+ to.attributes = (0, _apidomCore.deepmerge)(target, source);
28
29
  }
30
+ _apidomDatamodel.SourceMapElement.transfer(from, to);
29
31
  }
30
32
  }
31
33
  var _default = exports.default = Visitor;
@@ -1,4 +1,5 @@
1
- import { deepmerge, hasElementSourceMap } from '@speclynx/apidom-core';
1
+ import { deepmerge } from '@speclynx/apidom-core';
2
+ import { ObjectElement, SourceMapElement } from '@speclynx/apidom-datamodel';
2
3
 
3
4
  /**
4
5
  * @public
@@ -13,16 +14,17 @@ class Visitor {
13
14
  Object.assign(this, options);
14
15
  }
15
16
  copyMetaAndAttributes(from, to) {
16
- if (from.meta.length > 0 || to.meta.length > 0) {
17
- to.meta = deepmerge(to.meta, from.meta);
18
- if (hasElementSourceMap(from)) {
19
- // avoid deep merging of source maps
20
- to.meta.set('sourceMap', from.meta.get('sourceMap'));
21
- }
17
+ if (!from.isMetaEmpty || !to.isMetaEmpty) {
18
+ const target = to.isMetaEmpty ? new ObjectElement() : to.meta;
19
+ const source = from.isMetaEmpty ? new ObjectElement() : from.meta;
20
+ to.meta = deepmerge(target, source);
22
21
  }
23
- if (from.attributes.length > 0 || from.meta.length > 0) {
24
- to.attributes = deepmerge(to.attributes, from.attributes);
22
+ if (!from.isAttributesEmpty || !to.isAttributesEmpty) {
23
+ const target = to.isAttributesEmpty ? new ObjectElement() : to.attributes;
24
+ const source = from.isAttributesEmpty ? new ObjectElement() : from.attributes;
25
+ to.attributes = deepmerge(target, source);
25
26
  }
27
+ SourceMapElement.transfer(from, to);
26
28
  }
27
29
  }
28
30
  export default Visitor;
@@ -5,7 +5,6 @@ exports.__esModule = true;
5
5
  exports.default = void 0;
6
6
  var _ramda = require("ramda");
7
7
  var _ramdaAdjunct = require("ramda-adjunct");
8
- var _apidomCore = require("@speclynx/apidom-core");
9
8
  var _SpecificationVisitor = _interopRequireDefault(require("../SpecificationVisitor.cjs"));
10
9
  /**
11
10
  * @public
@@ -29,14 +28,15 @@ class AlternatingVisitor extends _SpecificationVisitor.default {
29
28
  });
30
29
  this.alternator = alternator || [];
31
30
  }
32
- enter(element) {
31
+ enter(path) {
32
+ const element = path.node;
33
33
  const functions = this.alternator.map(({
34
34
  predicate,
35
35
  specPath
36
36
  }) => (0, _ramda.ifElse)(predicate, (0, _ramda.always)(specPath), _ramdaAdjunct.stubUndefined));
37
37
  const specPath = (0, _ramdaAdjunct.dispatch)(functions)(element);
38
38
  this.element = this.toRefractedElement(specPath, element);
39
- return _apidomCore.BREAK;
39
+ path.stop();
40
40
  }
41
41
  }
42
42
  var _default = exports.default = AlternatingVisitor;
@@ -1,6 +1,5 @@
1
1
  import { ifElse, always } from 'ramda';
2
2
  import { dispatch, stubUndefined } from 'ramda-adjunct';
3
- import { BREAK } from '@speclynx/apidom-core';
4
3
  import SpecificationVisitor from "../SpecificationVisitor.mjs";
5
4
  /**
6
5
  * @public
@@ -22,14 +21,15 @@ class AlternatingVisitor extends SpecificationVisitor {
22
21
  });
23
22
  this.alternator = alternator || [];
24
23
  }
25
- enter(element) {
24
+ enter(path) {
25
+ const element = path.node;
26
26
  const functions = this.alternator.map(({
27
27
  predicate,
28
28
  specPath
29
29
  }) => ifElse(predicate, always(specPath), stubUndefined));
30
30
  const specPath = dispatch(functions)(element);
31
31
  this.element = this.toRefractedElement(specPath, element);
32
- return BREAK;
32
+ path.stop();
33
33
  }
34
34
  }
35
35
  export default AlternatingVisitor;
@@ -3,6 +3,7 @@
3
3
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
4
  exports.__esModule = true;
5
5
  exports.default = void 0;
6
+ var _apidomDatamodel = require("@speclynx/apidom-datamodel");
6
7
  var _apidomCore = require("@speclynx/apidom-core");
7
8
  var _SpecificationVisitor = _interopRequireDefault(require("../SpecificationVisitor.cjs"));
8
9
  var _predicates = require("../../predicates.cjs");
@@ -41,27 +42,29 @@ class FixedFieldsVisitor extends _SpecificationVisitor.default {
41
42
  this.specificationExtensionPredicate = specificationExtensionPredicate;
42
43
  }
43
44
  }
44
- ObjectElement(objectElement) {
45
+ ObjectElement(path) {
46
+ const objectElement = path.node;
45
47
  const specPath = this.specPath(objectElement);
46
48
  const fields = this.retrieveFixedFields(specPath);
47
49
 
48
50
  // @ts-ignore
49
51
  objectElement.forEach((value, key, memberElement) => {
50
- if ((0, _apidomCore.isStringElement)(key) && fields.includes((0, _apidomCore.toValue)(key)) && !this.ignoredFields.includes((0, _apidomCore.toValue)(key))) {
51
- const fixedFieldElement = this.toRefractedElement([...specPath, 'fixedFields', (0, _apidomCore.toValue)(key)], value);
52
- const newMemberElement = new _apidomCore.MemberElement((0, _apidomCore.cloneDeep)(key), fixedFieldElement);
52
+ const keyValue = (0, _apidomCore.toValue)(key);
53
+ if ((0, _apidomDatamodel.isStringElement)(key) && fields.includes(keyValue) && !this.ignoredFields.includes(keyValue)) {
54
+ const fixedFieldElement = this.toRefractedElement([...specPath, 'fixedFields', keyValue], value);
55
+ const newMemberElement = new _apidomDatamodel.MemberElement((0, _apidomDatamodel.cloneDeep)(key), fixedFieldElement);
53
56
  this.copyMetaAndAttributes(memberElement, newMemberElement);
54
57
  newMemberElement.classes.push('fixed-field');
55
58
  this.element.content.push(newMemberElement);
56
59
  } else if (this.canSupportSpecificationExtensions && this.specificationExtensionPredicate(memberElement)) {
57
60
  const extensionElement = this.toRefractedElement(['document', 'extension'], memberElement);
58
61
  this.element.content.push(extensionElement);
59
- } else if (!this.ignoredFields.includes((0, _apidomCore.toValue)(key))) {
60
- this.element.content.push((0, _apidomCore.cloneDeep)(memberElement));
62
+ } else if (!this.ignoredFields.includes(keyValue)) {
63
+ this.element.content.push((0, _apidomDatamodel.cloneDeep)(memberElement));
61
64
  }
62
65
  });
63
66
  this.copyMetaAndAttributes(objectElement, this.element);
64
- return _apidomCore.BREAK;
67
+ path.stop();
65
68
  }
66
69
  }
67
70
  var _default = exports.default = FixedFieldsVisitor;
@@ -1,4 +1,5 @@
1
- import { isStringElement, MemberElement, BREAK, cloneDeep, toValue } from '@speclynx/apidom-core';
1
+ import { isStringElement, MemberElement, cloneDeep } from '@speclynx/apidom-datamodel';
2
+ import { toValue } from '@speclynx/apidom-core';
2
3
  import SpecificationVisitor from "../SpecificationVisitor.mjs";
3
4
  import { isOpenApiExtension } from "../../predicates.mjs";
4
5
  /**
@@ -34,14 +35,16 @@ class FixedFieldsVisitor extends SpecificationVisitor {
34
35
  this.specificationExtensionPredicate = specificationExtensionPredicate;
35
36
  }
36
37
  }
37
- ObjectElement(objectElement) {
38
+ ObjectElement(path) {
39
+ const objectElement = path.node;
38
40
  const specPath = this.specPath(objectElement);
39
41
  const fields = this.retrieveFixedFields(specPath);
40
42
 
41
43
  // @ts-ignore
42
44
  objectElement.forEach((value, key, memberElement) => {
43
- if (isStringElement(key) && fields.includes(toValue(key)) && !this.ignoredFields.includes(toValue(key))) {
44
- const fixedFieldElement = this.toRefractedElement([...specPath, 'fixedFields', toValue(key)], value);
45
+ const keyValue = toValue(key);
46
+ if (isStringElement(key) && fields.includes(keyValue) && !this.ignoredFields.includes(keyValue)) {
47
+ const fixedFieldElement = this.toRefractedElement([...specPath, 'fixedFields', keyValue], value);
45
48
  const newMemberElement = new MemberElement(cloneDeep(key), fixedFieldElement);
46
49
  this.copyMetaAndAttributes(memberElement, newMemberElement);
47
50
  newMemberElement.classes.push('fixed-field');
@@ -49,12 +52,12 @@ class FixedFieldsVisitor extends SpecificationVisitor {
49
52
  } else if (this.canSupportSpecificationExtensions && this.specificationExtensionPredicate(memberElement)) {
50
53
  const extensionElement = this.toRefractedElement(['document', 'extension'], memberElement);
51
54
  this.element.content.push(extensionElement);
52
- } else if (!this.ignoredFields.includes(toValue(key))) {
55
+ } else if (!this.ignoredFields.includes(keyValue)) {
53
56
  this.element.content.push(cloneDeep(memberElement));
54
57
  }
55
58
  });
56
59
  this.copyMetaAndAttributes(objectElement, this.element);
57
- return BREAK;
60
+ path.stop();
58
61
  }
59
62
  }
60
63
  export default FixedFieldsVisitor;
@@ -2,7 +2,7 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
4
  exports.__esModule = true;
5
- exports.default = void 0;
5
+ exports.default = exports.MixedFieldsVisitorBase = void 0;
6
6
  var _tsMixer = require("ts-mixer");
7
7
  var _ramda = require("ramda");
8
8
  var _apidomCore = require("@speclynx/apidom-core");
@@ -13,9 +13,15 @@ var _PatternedFieldsVisitor = _interopRequireDefault(require("./PatternedFieldsV
13
13
  */
14
14
 
15
15
  /**
16
+ * Base class for MixedFieldsVisitor combining FixedFieldsVisitor and PatternedFieldsVisitor.
16
17
  * @public
17
18
  */
18
- class MixedFieldsVisitor extends (0, _tsMixer.Mixin)(_FixedFieldsVisitor.default, _PatternedFieldsVisitor.default) {
19
+ const MixedFieldsVisitorBase = exports.MixedFieldsVisitorBase = (0, _tsMixer.Mixin)(_FixedFieldsVisitor.default, _PatternedFieldsVisitor.default);
20
+
21
+ /**
22
+ * @public
23
+ */
24
+ class MixedFieldsVisitor extends MixedFieldsVisitorBase {
19
25
  specPathFixedFields;
20
26
  specPathPatternedFields;
21
27
  constructor({
@@ -29,7 +35,8 @@ class MixedFieldsVisitor extends (0, _tsMixer.Mixin)(_FixedFieldsVisitor.default
29
35
  this.specPathFixedFields = specPathFixedFields;
30
36
  this.specPathPatternedFields = specPathPatternedFields;
31
37
  }
32
- ObjectElement(objectElement) {
38
+ ObjectElement(path) {
39
+ const objectElement = path.node;
33
40
  const {
34
41
  specPath,
35
42
  ignoredFields
@@ -40,10 +47,10 @@ class MixedFieldsVisitor extends (0, _tsMixer.Mixin)(_FixedFieldsVisitor.default
40
47
  // let FixedFieldsVisitor only process fixed fields and leave rest to PatternedFieldsVisitor
41
48
  // @ts-ignore
42
49
  this.ignoredFields = [...ignoredFields, ...(0, _ramda.difference)(objectElement.keys(), fixedFields)];
43
- _FixedFieldsVisitor.default.prototype.ObjectElement.call(this, objectElement);
50
+ _FixedFieldsVisitor.default.prototype.ObjectElement.call(this, path);
44
51
  this.specPath = this.specPathPatternedFields;
45
52
  this.ignoredFields = fixedFields;
46
- _PatternedFieldsVisitor.default.prototype.ObjectElement.call(this, objectElement);
53
+ _PatternedFieldsVisitor.default.prototype.ObjectElement.call(this, path);
47
54
 
48
55
  // reorder this.element members by original objectElement keys
49
56
  const objectElementKeys = objectElement.keys();
@@ -54,7 +61,7 @@ class MixedFieldsVisitor extends (0, _tsMixer.Mixin)(_FixedFieldsVisitor.default
54
61
  this.specPath = specPath;
55
62
  throw e;
56
63
  }
57
- return _apidomCore.BREAK;
64
+ path.stop();
58
65
  }
59
66
  }
60
67
  var _default = exports.default = MixedFieldsVisitor;
@@ -1,15 +1,21 @@
1
1
  import { Mixin } from 'ts-mixer';
2
2
  import { difference } from 'ramda';
3
- import { BREAK, toValue } from '@speclynx/apidom-core';
3
+ import { toValue } from '@speclynx/apidom-core';
4
4
  import FixedFieldsVisitor from "./FixedFieldsVisitor.mjs";
5
5
  import PatternedFieldsVisitor from "./PatternedFieldsVisitor.mjs";
6
6
  /**
7
7
  * @public
8
8
  */
9
9
  /**
10
+ * Base class for MixedFieldsVisitor combining FixedFieldsVisitor and PatternedFieldsVisitor.
10
11
  * @public
11
12
  */
12
- class MixedFieldsVisitor extends Mixin(FixedFieldsVisitor, PatternedFieldsVisitor) {
13
+ export const MixedFieldsVisitorBase = Mixin(FixedFieldsVisitor, PatternedFieldsVisitor);
14
+
15
+ /**
16
+ * @public
17
+ */
18
+ class MixedFieldsVisitor extends MixedFieldsVisitorBase {
13
19
  specPathFixedFields;
14
20
  specPathPatternedFields;
15
21
  constructor({
@@ -23,7 +29,8 @@ class MixedFieldsVisitor extends Mixin(FixedFieldsVisitor, PatternedFieldsVisito
23
29
  this.specPathFixedFields = specPathFixedFields;
24
30
  this.specPathPatternedFields = specPathPatternedFields;
25
31
  }
26
- ObjectElement(objectElement) {
32
+ ObjectElement(path) {
33
+ const objectElement = path.node;
27
34
  const {
28
35
  specPath,
29
36
  ignoredFields
@@ -34,10 +41,10 @@ class MixedFieldsVisitor extends Mixin(FixedFieldsVisitor, PatternedFieldsVisito
34
41
  // let FixedFieldsVisitor only process fixed fields and leave rest to PatternedFieldsVisitor
35
42
  // @ts-ignore
36
43
  this.ignoredFields = [...ignoredFields, ...difference(objectElement.keys(), fixedFields)];
37
- FixedFieldsVisitor.prototype.ObjectElement.call(this, objectElement);
44
+ FixedFieldsVisitor.prototype.ObjectElement.call(this, path);
38
45
  this.specPath = this.specPathPatternedFields;
39
46
  this.ignoredFields = fixedFields;
40
- PatternedFieldsVisitor.prototype.ObjectElement.call(this, objectElement);
47
+ PatternedFieldsVisitor.prototype.ObjectElement.call(this, path);
41
48
 
42
49
  // reorder this.element members by original objectElement keys
43
50
  const objectElementKeys = objectElement.keys();
@@ -48,7 +55,7 @@ class MixedFieldsVisitor extends Mixin(FixedFieldsVisitor, PatternedFieldsVisito
48
55
  this.specPath = specPath;
49
56
  throw e;
50
57
  }
51
- return BREAK;
58
+ path.stop();
52
59
  }
53
60
  }
54
61
  export default MixedFieldsVisitor;
@@ -4,6 +4,7 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
4
4
  exports.__esModule = true;
5
5
  exports.default = void 0;
6
6
  var _ramda = require("ramda");
7
+ var _apidomDatamodel = require("@speclynx/apidom-datamodel");
7
8
  var _apidomCore = require("@speclynx/apidom-core");
8
9
  var _SpecificationVisitor = _interopRequireDefault(require("../SpecificationVisitor.cjs"));
9
10
  var _predicates = require("../../predicates.cjs");
@@ -43,25 +44,27 @@ class PatternedFieldsVisitor extends _SpecificationVisitor.default {
43
44
  this.specificationExtensionPredicate = specificationExtensionPredicate;
44
45
  }
45
46
  }
46
- ObjectElement(objectElement) {
47
+ ObjectElement(path) {
48
+ const objectElement = path.node;
47
49
  // @ts-ignore
48
50
  objectElement.forEach((value, key, memberElement) => {
51
+ const keyValue = (0, _apidomCore.toValue)(key);
49
52
  if (this.canSupportSpecificationExtensions && this.specificationExtensionPredicate(memberElement)) {
50
53
  const extensionElement = this.toRefractedElement(['document', 'extension'], memberElement);
51
54
  this.element.content.push(extensionElement);
52
- } else if (!this.ignoredFields.includes((0, _apidomCore.toValue)(key)) && this.fieldPatternPredicate((0, _apidomCore.toValue)(key))) {
55
+ } else if (!this.ignoredFields.includes(keyValue) && this.fieldPatternPredicate(keyValue)) {
53
56
  const specPath = this.specPath(value);
54
57
  const patternedFieldElement = this.toRefractedElement(specPath, value);
55
- const newMemberElement = new _apidomCore.MemberElement((0, _apidomCore.cloneDeep)(key), patternedFieldElement);
58
+ const newMemberElement = new _apidomDatamodel.MemberElement((0, _apidomDatamodel.cloneDeep)(key), patternedFieldElement);
56
59
  this.copyMetaAndAttributes(memberElement, newMemberElement);
57
60
  newMemberElement.classes.push('patterned-field');
58
61
  this.element.content.push(newMemberElement);
59
- } else if (!this.ignoredFields.includes((0, _apidomCore.toValue)(key))) {
60
- this.element.content.push((0, _apidomCore.cloneDeep)(memberElement));
62
+ } else if (!this.ignoredFields.includes(keyValue)) {
63
+ this.element.content.push((0, _apidomDatamodel.cloneDeep)(memberElement));
61
64
  }
62
65
  });
63
66
  this.copyMetaAndAttributes(objectElement, this.element);
64
- return _apidomCore.BREAK;
67
+ path.stop();
65
68
  }
66
69
  }
67
70
  var _default = exports.default = PatternedFieldsVisitor;
@@ -1,5 +1,6 @@
1
1
  import { F as stubFalse } from 'ramda';
2
- import { MemberElement, BREAK, cloneDeep, toValue } from '@speclynx/apidom-core';
2
+ import { MemberElement, cloneDeep } from '@speclynx/apidom-datamodel';
3
+ import { toValue } from '@speclynx/apidom-core';
3
4
  import SpecificationVisitor from "../SpecificationVisitor.mjs";
4
5
  import { isOpenApiExtension } from "../../predicates.mjs";
5
6
  /**
@@ -37,25 +38,27 @@ class PatternedFieldsVisitor extends SpecificationVisitor {
37
38
  this.specificationExtensionPredicate = specificationExtensionPredicate;
38
39
  }
39
40
  }
40
- ObjectElement(objectElement) {
41
+ ObjectElement(path) {
42
+ const objectElement = path.node;
41
43
  // @ts-ignore
42
44
  objectElement.forEach((value, key, memberElement) => {
45
+ const keyValue = toValue(key);
43
46
  if (this.canSupportSpecificationExtensions && this.specificationExtensionPredicate(memberElement)) {
44
47
  const extensionElement = this.toRefractedElement(['document', 'extension'], memberElement);
45
48
  this.element.content.push(extensionElement);
46
- } else if (!this.ignoredFields.includes(toValue(key)) && this.fieldPatternPredicate(toValue(key))) {
49
+ } else if (!this.ignoredFields.includes(keyValue) && this.fieldPatternPredicate(keyValue)) {
47
50
  const specPath = this.specPath(value);
48
51
  const patternedFieldElement = this.toRefractedElement(specPath, value);
49
52
  const newMemberElement = new MemberElement(cloneDeep(key), patternedFieldElement);
50
53
  this.copyMetaAndAttributes(memberElement, newMemberElement);
51
54
  newMemberElement.classes.push('patterned-field');
52
55
  this.element.content.push(newMemberElement);
53
- } else if (!this.ignoredFields.includes(toValue(key))) {
56
+ } else if (!this.ignoredFields.includes(keyValue)) {
54
57
  this.element.content.push(cloneDeep(memberElement));
55
58
  }
56
59
  });
57
60
  this.copyMetaAndAttributes(objectElement, this.element);
58
- return BREAK;
61
+ path.stop();
59
62
  }
60
63
  }
61
64
  export default PatternedFieldsVisitor;
@@ -1,13 +1,10 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
3
  exports.__esModule = true;
5
4
  exports.default = void 0;
6
- var _tsMixer = require("ts-mixer");
7
5
  var _ramda = require("ramda");
8
- var _apidomCore = require("@speclynx/apidom-core");
9
- var _MapVisitor = _interopRequireDefault(require("../generics/MapVisitor.cjs"));
10
- var _FallbackVisitor = _interopRequireDefault(require("../FallbackVisitor.cjs"));
6
+ var _apidomDatamodel = require("@speclynx/apidom-datamodel");
7
+ var _bases = require("./bases.cjs");
11
8
  /**
12
9
  * @public
13
10
  */
@@ -15,10 +12,10 @@ var _FallbackVisitor = _interopRequireDefault(require("../FallbackVisitor.cjs"))
15
12
  /**
16
13
  * @public
17
14
  */
18
- class ContentVisitor extends (0, _tsMixer.Mixin)(_MapVisitor.default, _FallbackVisitor.default) {
15
+ class ContentVisitor extends _bases.BaseMapVisitor {
19
16
  constructor(options) {
20
17
  super(options);
21
- this.element = new _apidomCore.ObjectElement();
18
+ this.element = new _apidomDatamodel.ObjectElement();
22
19
  this.element.classes.push('content');
23
20
  this.specPath = (0, _ramda.always)(['document', 'objects', 'MediaType']);
24
21
  }
@@ -1,15 +1,13 @@
1
- import { Mixin } from 'ts-mixer';
2
1
  import { always } from 'ramda';
3
- import { ObjectElement } from '@speclynx/apidom-core';
4
- import MapVisitor from "../generics/MapVisitor.mjs";
5
- import FallbackVisitor from "../FallbackVisitor.mjs";
2
+ import { ObjectElement } from '@speclynx/apidom-datamodel';
3
+ import { BaseMapVisitor } from "./bases.mjs";
6
4
  /**
7
5
  * @public
8
6
  */
9
7
  /**
10
8
  * @public
11
9
  */
12
- class ContentVisitor extends Mixin(MapVisitor, FallbackVisitor) {
10
+ class ContentVisitor extends BaseMapVisitor {
13
11
  constructor(options) {
14
12
  super(options);
15
13
  this.element = new ObjectElement();
@@ -1,12 +1,9 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
3
  exports.__esModule = true;
5
4
  exports.default = void 0;
6
- var _tsMixer = require("ts-mixer");
7
- var _apidomCore = require("@speclynx/apidom-core");
8
- var _MapVisitor = _interopRequireDefault(require("../generics/MapVisitor.cjs"));
9
- var _FallbackVisitor = _interopRequireDefault(require("../FallbackVisitor.cjs"));
5
+ var _apidomDatamodel = require("@speclynx/apidom-datamodel");
6
+ var _bases = require("./bases.cjs");
10
7
  var _predicates = require("../../predicates.cjs");
11
8
  var _predicates2 = require("../../../predicates.cjs");
12
9
  /**
@@ -16,22 +13,21 @@ var _predicates2 = require("../../../predicates.cjs");
16
13
  /**
17
14
  * @public
18
15
  */
19
- class ExamplesVisitor extends (0, _tsMixer.Mixin)(_MapVisitor.default, _FallbackVisitor.default) {
16
+ class ExamplesVisitor extends _bases.BaseMapVisitor {
20
17
  constructor(options) {
21
18
  super(options);
22
- this.element = new _apidomCore.ObjectElement();
19
+ this.element = new _apidomDatamodel.ObjectElement();
23
20
  this.element.classes.push('examples');
24
21
  this.specPath = element => (0, _predicates.isReferenceLikeElement)(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'Example'];
25
22
  this.canSupportSpecificationExtensions = true;
26
23
  }
27
- ObjectElement(objectElement) {
28
- const result = _MapVisitor.default.prototype.ObjectElement.call(this, objectElement);
24
+ ObjectElement(path) {
25
+ _bases.BaseMapVisitor.prototype.ObjectElement.call(this, path);
29
26
 
30
27
  // @ts-ignore
31
28
  this.element.filter(_predicates2.isReferenceElement).forEach(referenceElement => {
32
- referenceElement.setMetaProperty('referenced-element', 'example');
29
+ referenceElement.meta.set('referenced-element', 'example');
33
30
  });
34
- return result;
35
31
  }
36
32
  }
37
33
  var _default = exports.default = ExamplesVisitor;