@speclynx/apidom-ns-openapi-2 4.0.2 → 4.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/apidom-ns-openapi-2.browser.js +7 -7
  3. package/dist/apidom-ns-openapi-2.browser.min.js +1 -1
  4. package/package.json +7 -7
  5. package/src/elements/Contact.cjs +33 -0
  6. package/src/elements/Contact.mjs +30 -0
  7. package/src/elements/Definitions.cjs +15 -0
  8. package/src/elements/Definitions.mjs +12 -0
  9. package/src/elements/Example.cjs +15 -0
  10. package/src/elements/Example.mjs +12 -0
  11. package/src/elements/ExternalDocumentation.cjs +27 -0
  12. package/src/elements/ExternalDocumentation.mjs +24 -0
  13. package/src/elements/Header.cjs +185 -0
  14. package/src/elements/Header.mjs +182 -0
  15. package/src/elements/Headers.cjs +15 -0
  16. package/src/elements/Headers.mjs +12 -0
  17. package/src/elements/Info.cjs +52 -0
  18. package/src/elements/Info.mjs +48 -0
  19. package/src/elements/Items.cjs +190 -0
  20. package/src/elements/Items.mjs +187 -0
  21. package/src/elements/License.cjs +27 -0
  22. package/src/elements/License.mjs +24 -0
  23. package/src/elements/Operation.cjs +78 -0
  24. package/src/elements/Operation.mjs +74 -0
  25. package/src/elements/Parameter.cjs +230 -0
  26. package/src/elements/Parameter.mjs +226 -0
  27. package/src/elements/ParametersDefinitions.cjs +15 -0
  28. package/src/elements/ParametersDefinitions.mjs +12 -0
  29. package/src/elements/PathItem.cjs +69 -0
  30. package/src/elements/PathItem.mjs +65 -0
  31. package/src/elements/Paths.cjs +15 -0
  32. package/src/elements/Paths.mjs +12 -0
  33. package/src/elements/Reference.cjs +22 -0
  34. package/src/elements/Reference.mjs +19 -0
  35. package/src/elements/Response.cjs +39 -0
  36. package/src/elements/Response.mjs +35 -0
  37. package/src/elements/Responses.cjs +21 -0
  38. package/src/elements/Responses.mjs +17 -0
  39. package/src/elements/ResponsesDefinitions.cjs +15 -0
  40. package/src/elements/ResponsesDefinitions.mjs +12 -0
  41. package/src/elements/Schema.cjs +151 -0
  42. package/src/elements/Schema.mjs +147 -0
  43. package/src/elements/Scopes.cjs +15 -0
  44. package/src/elements/Scopes.mjs +12 -0
  45. package/src/elements/SecurityDefinitions.cjs +15 -0
  46. package/src/elements/SecurityDefinitions.mjs +12 -0
  47. package/src/elements/SecurityRequirement.cjs +15 -0
  48. package/src/elements/SecurityRequirement.mjs +12 -0
  49. package/src/elements/SecurityScheme.cjs +63 -0
  50. package/src/elements/SecurityScheme.mjs +60 -0
  51. package/src/elements/Swagger.cjs +106 -0
  52. package/src/elements/Swagger.mjs +102 -0
  53. package/src/elements/SwaggerVersion.cjs +17 -0
  54. package/src/elements/SwaggerVersion.mjs +14 -0
  55. package/src/elements/Tag.cjs +33 -0
  56. package/src/elements/Tag.mjs +29 -0
  57. package/src/elements/Xml.cjs +45 -0
  58. package/src/elements/Xml.mjs +42 -0
  59. package/src/elements/nces/OperationConsumes.cjs +16 -0
  60. package/src/elements/nces/OperationConsumes.mjs +13 -0
  61. package/src/elements/nces/OperationParameters.cjs +17 -0
  62. package/src/elements/nces/OperationParameters.mjs +14 -0
  63. package/src/elements/nces/OperationProduces.cjs +16 -0
  64. package/src/elements/nces/OperationProduces.mjs +13 -0
  65. package/src/elements/nces/OperationSchemes.cjs +16 -0
  66. package/src/elements/nces/OperationSchemes.mjs +13 -0
  67. package/src/elements/nces/OperationSecurity.cjs +17 -0
  68. package/src/elements/nces/OperationSecurity.mjs +14 -0
  69. package/src/elements/nces/OperationTags.cjs +17 -0
  70. package/src/elements/nces/OperationTags.mjs +14 -0
  71. package/src/elements/nces/PathItemParameters.cjs +17 -0
  72. package/src/elements/nces/PathItemParameters.mjs +14 -0
  73. package/src/elements/nces/SwaggerConsumes.cjs +16 -0
  74. package/src/elements/nces/SwaggerConsumes.mjs +13 -0
  75. package/src/elements/nces/SwaggerProduces.cjs +16 -0
  76. package/src/elements/nces/SwaggerProduces.mjs +13 -0
  77. package/src/elements/nces/SwaggerSchemes.cjs +16 -0
  78. package/src/elements/nces/SwaggerSchemes.mjs +13 -0
  79. package/src/elements/nces/SwaggerSecurity.cjs +17 -0
  80. package/src/elements/nces/SwaggerSecurity.mjs +14 -0
  81. package/src/elements/nces/SwaggerTags.cjs +16 -0
  82. package/src/elements/nces/SwaggerTags.mjs +13 -0
  83. package/src/index.cjs +156 -0
  84. package/src/index.mjs +32 -0
  85. package/src/media-types.cjs +34 -0
  86. package/src/media-types.mjs +30 -0
  87. package/src/namespace.cjs +71 -0
  88. package/src/namespace.mjs +66 -0
  89. package/src/predicates.cjs +193 -0
  90. package/src/predicates.mjs +161 -0
  91. package/src/refractor/index.cjs +316 -0
  92. package/src/refractor/index.mjs +283 -0
  93. package/src/refractor/inspect.cjs +157 -0
  94. package/src/refractor/inspect.mjs +126 -0
  95. package/src/refractor/plugins/replace-empty-element.cjs +366 -0
  96. package/src/refractor/plugins/replace-empty-element.mjs +358 -0
  97. package/src/refractor/predicates.cjs +26 -0
  98. package/src/refractor/predicates.mjs +21 -0
  99. package/src/refractor/specification.cjs +519 -0
  100. package/src/refractor/specification.mjs +513 -0
  101. package/src/refractor/toolbox.cjs +28 -0
  102. package/src/refractor/toolbox.mjs +21 -0
  103. package/src/refractor/visitors/FallbackVisitor.cjs +24 -0
  104. package/src/refractor/visitors/FallbackVisitor.mjs +18 -0
  105. package/src/refractor/visitors/SpecificationExtensionVisitor.cjs +18 -0
  106. package/src/refractor/visitors/SpecificationExtensionVisitor.mjs +13 -0
  107. package/src/refractor/visitors/SpecificationVisitor.cjs +75 -0
  108. package/src/refractor/visitors/SpecificationVisitor.mjs +69 -0
  109. package/src/refractor/visitors/Visitor.cjs +36 -0
  110. package/src/refractor/visitors/Visitor.mjs +33 -0
  111. package/src/refractor/visitors/generics/AlternatingVisitor.cjs +42 -0
  112. package/src/refractor/visitors/generics/AlternatingVisitor.mjs +35 -0
  113. package/src/refractor/visitors/generics/FixedFieldsVisitor.cjs +73 -0
  114. package/src/refractor/visitors/generics/FixedFieldsVisitor.mjs +66 -0
  115. package/src/refractor/visitors/generics/MapVisitor.cjs +21 -0
  116. package/src/refractor/visitors/generics/MapVisitor.mjs +15 -0
  117. package/src/refractor/visitors/generics/MixedFieldsVisitor.cjs +67 -0
  118. package/src/refractor/visitors/generics/MixedFieldsVisitor.mjs +61 -0
  119. package/src/refractor/visitors/generics/PatternedFieldsVisitor.cjs +72 -0
  120. package/src/refractor/visitors/generics/PatternedFieldsVisitor.mjs +66 -0
  121. package/src/refractor/visitors/open-api-2/BasePathVisitor.cjs +16 -0
  122. package/src/refractor/visitors/open-api-2/BasePathVisitor.mjs +11 -0
  123. package/src/refractor/visitors/open-api-2/ConsumesVisitor.cjs +23 -0
  124. package/src/refractor/visitors/open-api-2/ConsumesVisitor.mjs +18 -0
  125. package/src/refractor/visitors/open-api-2/HostVisitor.cjs +16 -0
  126. package/src/refractor/visitors/open-api-2/HostVisitor.mjs +11 -0
  127. package/src/refractor/visitors/open-api-2/ProducesVisitor.cjs +23 -0
  128. package/src/refractor/visitors/open-api-2/ProducesVisitor.mjs +18 -0
  129. package/src/refractor/visitors/open-api-2/SchemesVisitor.cjs +23 -0
  130. package/src/refractor/visitors/open-api-2/SchemesVisitor.mjs +18 -0
  131. package/src/refractor/visitors/open-api-2/SecurityVisitor.cjs +27 -0
  132. package/src/refractor/visitors/open-api-2/SecurityVisitor.mjs +22 -0
  133. package/src/refractor/visitors/open-api-2/SwaggerVisitor.cjs +21 -0
  134. package/src/refractor/visitors/open-api-2/SwaggerVisitor.mjs +16 -0
  135. package/src/refractor/visitors/open-api-2/TagsVisitor.cjs +27 -0
  136. package/src/refractor/visitors/open-api-2/TagsVisitor.mjs +22 -0
  137. package/src/refractor/visitors/open-api-2/bases.cjs +72 -0
  138. package/src/refractor/visitors/open-api-2/bases.mjs +67 -0
  139. package/src/refractor/visitors/open-api-2/contact/index.cjs +20 -0
  140. package/src/refractor/visitors/open-api-2/contact/index.mjs +15 -0
  141. package/src/refractor/visitors/open-api-2/definitions/index.cjs +31 -0
  142. package/src/refractor/visitors/open-api-2/definitions/index.mjs +26 -0
  143. package/src/refractor/visitors/open-api-2/example/index.cjs +20 -0
  144. package/src/refractor/visitors/open-api-2/example/index.mjs +15 -0
  145. package/src/refractor/visitors/open-api-2/external-documentation/index.cjs +20 -0
  146. package/src/refractor/visitors/open-api-2/external-documentation/index.mjs +15 -0
  147. package/src/refractor/visitors/open-api-2/header/index.cjs +20 -0
  148. package/src/refractor/visitors/open-api-2/header/index.mjs +15 -0
  149. package/src/refractor/visitors/open-api-2/headers/index.cjs +20 -0
  150. package/src/refractor/visitors/open-api-2/headers/index.mjs +15 -0
  151. package/src/refractor/visitors/open-api-2/index.cjs +21 -0
  152. package/src/refractor/visitors/open-api-2/index.mjs +16 -0
  153. package/src/refractor/visitors/open-api-2/info/VersionVisitor.cjs +17 -0
  154. package/src/refractor/visitors/open-api-2/info/VersionVisitor.mjs +12 -0
  155. package/src/refractor/visitors/open-api-2/info/index.cjs +20 -0
  156. package/src/refractor/visitors/open-api-2/info/index.mjs +15 -0
  157. package/src/refractor/visitors/open-api-2/items/index.cjs +22 -0
  158. package/src/refractor/visitors/open-api-2/items/index.mjs +17 -0
  159. package/src/refractor/visitors/open-api-2/license/index.cjs +20 -0
  160. package/src/refractor/visitors/open-api-2/license/index.mjs +15 -0
  161. package/src/refractor/visitors/open-api-2/operation/ConsumesVisitor.cjs +23 -0
  162. package/src/refractor/visitors/open-api-2/operation/ConsumesVisitor.mjs +18 -0
  163. package/src/refractor/visitors/open-api-2/operation/ParametersVisitor.cjs +32 -0
  164. package/src/refractor/visitors/open-api-2/operation/ParametersVisitor.mjs +27 -0
  165. package/src/refractor/visitors/open-api-2/operation/ProducesVisitor.cjs +23 -0
  166. package/src/refractor/visitors/open-api-2/operation/ProducesVisitor.mjs +18 -0
  167. package/src/refractor/visitors/open-api-2/operation/SchemesVisitor.cjs +23 -0
  168. package/src/refractor/visitors/open-api-2/operation/SchemesVisitor.mjs +18 -0
  169. package/src/refractor/visitors/open-api-2/operation/SecurityVisitor.cjs +27 -0
  170. package/src/refractor/visitors/open-api-2/operation/SecurityVisitor.mjs +22 -0
  171. package/src/refractor/visitors/open-api-2/operation/TagsVisitor.cjs +23 -0
  172. package/src/refractor/visitors/open-api-2/operation/TagsVisitor.mjs +18 -0
  173. package/src/refractor/visitors/open-api-2/operation/index.cjs +19 -0
  174. package/src/refractor/visitors/open-api-2/operation/index.mjs +14 -0
  175. package/src/refractor/visitors/open-api-2/parameter/index.cjs +20 -0
  176. package/src/refractor/visitors/open-api-2/parameter/index.mjs +15 -0
  177. package/src/refractor/visitors/open-api-2/parameters-definitions/index.cjs +19 -0
  178. package/src/refractor/visitors/open-api-2/parameters-definitions/index.mjs +14 -0
  179. package/src/refractor/visitors/open-api-2/path-item/$RefVisitor.cjs +16 -0
  180. package/src/refractor/visitors/open-api-2/path-item/$RefVisitor.mjs +11 -0
  181. package/src/refractor/visitors/open-api-2/path-item/ParametersVisitor.cjs +32 -0
  182. package/src/refractor/visitors/open-api-2/path-item/ParametersVisitor.mjs +27 -0
  183. package/src/refractor/visitors/open-api-2/path-item/index.cjs +39 -0
  184. package/src/refractor/visitors/open-api-2/path-item/index.mjs +34 -0
  185. package/src/refractor/visitors/open-api-2/paths/index.cjs +37 -0
  186. package/src/refractor/visitors/open-api-2/paths/index.mjs +32 -0
  187. package/src/refractor/visitors/open-api-2/reference/$RefVisitor.cjs +16 -0
  188. package/src/refractor/visitors/open-api-2/reference/$RefVisitor.mjs +11 -0
  189. package/src/refractor/visitors/open-api-2/reference/index.cjs +29 -0
  190. package/src/refractor/visitors/open-api-2/reference/index.mjs +24 -0
  191. package/src/refractor/visitors/open-api-2/response/index.cjs +20 -0
  192. package/src/refractor/visitors/open-api-2/response/index.mjs +15 -0
  193. package/src/refractor/visitors/open-api-2/responses/DefaultVisitor.cjs +36 -0
  194. package/src/refractor/visitors/open-api-2/responses/DefaultVisitor.mjs +31 -0
  195. package/src/refractor/visitors/open-api-2/responses/index.cjs +45 -0
  196. package/src/refractor/visitors/open-api-2/responses/index.mjs +40 -0
  197. package/src/refractor/visitors/open-api-2/responses-definitions/index.cjs +19 -0
  198. package/src/refractor/visitors/open-api-2/responses-definitions/index.mjs +14 -0
  199. package/src/refractor/visitors/open-api-2/schema/AllOfVisitor.cjs +24 -0
  200. package/src/refractor/visitors/open-api-2/schema/AllOfVisitor.mjs +20 -0
  201. package/src/refractor/visitors/open-api-2/schema/ItemsVisitor.cjs +26 -0
  202. package/src/refractor/visitors/open-api-2/schema/ItemsVisitor.mjs +23 -0
  203. package/src/refractor/visitors/open-api-2/schema/PropertiesVisitor.cjs +24 -0
  204. package/src/refractor/visitors/open-api-2/schema/PropertiesVisitor.mjs +20 -0
  205. package/src/refractor/visitors/open-api-2/schema/SchemaOrJSONReferenceVisitor.cjs +23 -0
  206. package/src/refractor/visitors/open-api-2/schema/SchemaOrJSONReferenceVisitor.mjs +19 -0
  207. package/src/refractor/visitors/open-api-2/schema/index.cjs +20 -0
  208. package/src/refractor/visitors/open-api-2/schema/index.mjs +15 -0
  209. package/src/refractor/visitors/open-api-2/scopes/index.cjs +20 -0
  210. package/src/refractor/visitors/open-api-2/scopes/index.mjs +15 -0
  211. package/src/refractor/visitors/open-api-2/security-definitions/index.cjs +20 -0
  212. package/src/refractor/visitors/open-api-2/security-definitions/index.mjs +15 -0
  213. package/src/refractor/visitors/open-api-2/security-requirement/index.cjs +19 -0
  214. package/src/refractor/visitors/open-api-2/security-requirement/index.mjs +14 -0
  215. package/src/refractor/visitors/open-api-2/security-scheme/index.cjs +20 -0
  216. package/src/refractor/visitors/open-api-2/security-scheme/index.mjs +15 -0
  217. package/src/refractor/visitors/open-api-2/tag/index.cjs +20 -0
  218. package/src/refractor/visitors/open-api-2/tag/index.mjs +15 -0
  219. package/src/refractor/visitors/open-api-2/xml/index.cjs +20 -0
  220. package/src/refractor/visitors/open-api-2/xml/index.mjs +15 -0
@@ -0,0 +1,366 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
+ exports.__esModule = true;
5
+ exports.default = void 0;
6
+ var _apidomDatamodel = require("@speclynx/apidom-datamodel");
7
+ var _apidomCore = require("@speclynx/apidom-core");
8
+ var _apidomTraverse = require("@speclynx/apidom-traverse");
9
+ var _Info = _interopRequireDefault(require("../../elements/Info.cjs"));
10
+ var _Contact = _interopRequireDefault(require("../../elements/Contact.cjs"));
11
+ var _License = _interopRequireDefault(require("../../elements/License.cjs"));
12
+ var _Paths = _interopRequireDefault(require("../../elements/Paths.cjs"));
13
+ var _PathItem = _interopRequireDefault(require("../../elements/PathItem.cjs"));
14
+ var _Operation = _interopRequireDefault(require("../../elements/Operation.cjs"));
15
+ var _ExternalDocumentation = _interopRequireDefault(require("../../elements/ExternalDocumentation.cjs"));
16
+ var _Parameter = _interopRequireDefault(require("../../elements/Parameter.cjs"));
17
+ var _Items = _interopRequireDefault(require("../../elements/Items.cjs"));
18
+ var _Responses = _interopRequireDefault(require("../../elements/Responses.cjs"));
19
+ var _Response = _interopRequireDefault(require("../../elements/Response.cjs"));
20
+ var _Headers = _interopRequireDefault(require("../../elements/Headers.cjs"));
21
+ var _Example = _interopRequireDefault(require("../../elements/Example.cjs"));
22
+ var _Header = _interopRequireDefault(require("../../elements/Header.cjs"));
23
+ var _Tag = _interopRequireDefault(require("../../elements/Tag.cjs"));
24
+ var _Schema = _interopRequireDefault(require("../../elements/Schema.cjs"));
25
+ var _Xml = _interopRequireDefault(require("../../elements/Xml.cjs"));
26
+ var _Definitions = _interopRequireDefault(require("../../elements/Definitions.cjs"));
27
+ var _ParametersDefinitions = _interopRequireDefault(require("../../elements/ParametersDefinitions.cjs"));
28
+ var _ResponsesDefinitions = _interopRequireDefault(require("../../elements/ResponsesDefinitions.cjs"));
29
+ var _SecurityDefinitions = _interopRequireDefault(require("../../elements/SecurityDefinitions.cjs"));
30
+ var _SecurityScheme = _interopRequireDefault(require("../../elements/SecurityScheme.cjs"));
31
+ var _Scopes = _interopRequireDefault(require("../../elements/Scopes.cjs"));
32
+ var _SecurityRequirement = _interopRequireDefault(require("../../elements/SecurityRequirement.cjs"));
33
+ var _OperationConsumes = _interopRequireDefault(require("../../elements/nces/OperationConsumes.cjs"));
34
+ var _OperationParameters = _interopRequireDefault(require("../../elements/nces/OperationParameters.cjs"));
35
+ var _OperationProduces = _interopRequireDefault(require("../../elements/nces/OperationProduces.cjs"));
36
+ var _OperationSchemes = _interopRequireDefault(require("../../elements/nces/OperationSchemes.cjs"));
37
+ var _OperationSecurity = _interopRequireDefault(require("../../elements/nces/OperationSecurity.cjs"));
38
+ var _OperationTags = _interopRequireDefault(require("../../elements/nces/OperationTags.cjs"));
39
+ var _PathItemParameters = _interopRequireDefault(require("../../elements/nces/PathItemParameters.cjs"));
40
+ var _SwaggerSchemes = _interopRequireDefault(require("../../elements/nces/SwaggerSchemes.cjs"));
41
+ var _SwaggerConsumes = _interopRequireDefault(require("../../elements/nces/SwaggerConsumes.cjs"));
42
+ var _SwaggerProduces = _interopRequireDefault(require("../../elements/nces/SwaggerProduces.cjs"));
43
+ var _SwaggerSecurity = _interopRequireDefault(require("../../elements/nces/SwaggerSecurity.cjs"));
44
+ var _SwaggerTags = _interopRequireDefault(require("../../elements/nces/SwaggerTags.cjs"));
45
+ /**
46
+ * OpenAPI 2.0 specification elements.
47
+ */
48
+
49
+ // non-concrete Elements (NCEs)
50
+
51
+ /**
52
+ * This plugin is specific to YAML 1.2 format, which allows defining key-value pairs
53
+ * with empty key, empty value, or both. If the value is not provided in YAML format,
54
+ * this plugin compensates for this missing value with the most appropriate semantic element type.
55
+ *
56
+ * https://yaml.org/spec/1.2.2/#72-empty-nodes
57
+ *
58
+ * @example
59
+ *
60
+ * ```yaml
61
+ * swagger: "2.0"
62
+ * info:
63
+ * ```
64
+ * Refracting result without this plugin:
65
+ *
66
+ * (SwaggerElement
67
+ * (MemberElement
68
+ * (StringElement)
69
+ * (SwaggerVersionElement))
70
+ * (MemberElement
71
+ * (StringElement)
72
+ * (StringElement))
73
+ *
74
+ * Refracting result with this plugin:
75
+ *
76
+ * (SwaggerElement
77
+ * (MemberElement
78
+ * (StringElement)
79
+ * (SwaggerVersionElement))
80
+ * (MemberElement
81
+ * (StringElement)
82
+ * (InfoElement))
83
+ */
84
+
85
+ const isEmptyElement = element => (0, _apidomDatamodel.isStringElement)(element) && (0, _apidomDatamodel.includesClasses)(element, ['yaml-e-node', 'yaml-e-scalar']);
86
+ const schema = {
87
+ // concrete types handling (CTs)
88
+ SwaggerElement: {
89
+ info(...args) {
90
+ return new _Info.default(...args);
91
+ },
92
+ schemes(...args) {
93
+ return new _SwaggerSchemes.default(...args);
94
+ },
95
+ consumes(...args) {
96
+ return new _SwaggerConsumes.default(...args);
97
+ },
98
+ produces(...args) {
99
+ return new _SwaggerProduces.default(...args);
100
+ },
101
+ paths(...args) {
102
+ return new _Paths.default(...args);
103
+ },
104
+ definitions(...args) {
105
+ return new _Definitions.default(...args);
106
+ },
107
+ parameters(...args) {
108
+ return new _ParametersDefinitions.default(...args);
109
+ },
110
+ responses(...args) {
111
+ return new _ResponsesDefinitions.default(...args);
112
+ },
113
+ securityDefinitions(...args) {
114
+ return new _SecurityDefinitions.default(...args);
115
+ },
116
+ security(...args) {
117
+ return new _SwaggerSecurity.default(...args);
118
+ },
119
+ tags(...args) {
120
+ return new _SwaggerTags.default(...args);
121
+ },
122
+ externalDocs(...args) {
123
+ return new _ExternalDocumentation.default(...args);
124
+ }
125
+ },
126
+ InfoElement: {
127
+ contact(...args) {
128
+ return new _Contact.default(...args);
129
+ },
130
+ license(...args) {
131
+ return new _License.default(...args);
132
+ }
133
+ },
134
+ PathsElement: {
135
+ '[key: *]': function key(...args) {
136
+ return new _PathItem.default(...args);
137
+ }
138
+ },
139
+ PathItemElement: {
140
+ get(...args) {
141
+ return new _Operation.default(...args);
142
+ },
143
+ put(...args) {
144
+ return new _Operation.default(...args);
145
+ },
146
+ post(...args) {
147
+ return new _Operation.default(...args);
148
+ },
149
+ delete(...args) {
150
+ return new _Operation.default(...args);
151
+ },
152
+ options(...args) {
153
+ return new _Operation.default(...args);
154
+ },
155
+ head(...args) {
156
+ return new _Operation.default(...args);
157
+ },
158
+ patch(...args) {
159
+ return new _Operation.default(...args);
160
+ },
161
+ parameters(...args) {
162
+ return new _PathItemParameters.default(...args);
163
+ }
164
+ },
165
+ OperationElement: {
166
+ tags(...args) {
167
+ return new _OperationTags.default(...args);
168
+ },
169
+ externalDocs(...args) {
170
+ return new _ExternalDocumentation.default(...args);
171
+ },
172
+ consumes(...args) {
173
+ return new _OperationConsumes.default(...args);
174
+ },
175
+ produces(...args) {
176
+ return new _OperationProduces.default(...args);
177
+ },
178
+ parameters(...args) {
179
+ return new _OperationParameters.default(...args);
180
+ },
181
+ responses(...args) {
182
+ return new _Responses.default(...args);
183
+ },
184
+ schemes(...args) {
185
+ return new _OperationSchemes.default(...args);
186
+ },
187
+ security(...args) {
188
+ return new _OperationSecurity.default(...args);
189
+ }
190
+ },
191
+ ParameterElement: {
192
+ schema(...args) {
193
+ return new _Schema.default(...args);
194
+ },
195
+ items(...args) {
196
+ return new _Items.default(...args);
197
+ }
198
+ },
199
+ ItemsElement: {
200
+ items(...args) {
201
+ return new _Items.default(...args);
202
+ }
203
+ },
204
+ ResponsesElement: {
205
+ '[key: *]': function key(...args) {
206
+ return new _Response.default(...args);
207
+ }
208
+ },
209
+ ResponseElement: {
210
+ schema(...args) {
211
+ return new _Schema.default(...args);
212
+ },
213
+ headers(...args) {
214
+ return new _Headers.default(...args);
215
+ },
216
+ examples(...args) {
217
+ return new _Example.default(...args);
218
+ }
219
+ },
220
+ HeadersElement: {
221
+ '[key: *]': function key(...args) {
222
+ return new _Header.default(...args);
223
+ }
224
+ },
225
+ HeaderElement: {
226
+ items(...args) {
227
+ return new _Items.default(...args);
228
+ }
229
+ },
230
+ TagElement: {
231
+ externalDocs(...args) {
232
+ return new _ExternalDocumentation.default(...args);
233
+ }
234
+ },
235
+ SchemaElement: {
236
+ items(...args) {
237
+ return new _Schema.default(...args);
238
+ },
239
+ allOf(...args) {
240
+ const element = new _apidomDatamodel.ArrayElement(...args);
241
+ element.classes.push('json-schema-allOf');
242
+ return element;
243
+ },
244
+ properties(...args) {
245
+ const element = new _apidomDatamodel.ObjectElement(...args);
246
+ element.classes.push('json-schema-properties');
247
+ return element;
248
+ },
249
+ additionalProperties(...args) {
250
+ return new _Schema.default(...args);
251
+ },
252
+ xml(...args) {
253
+ return new _Xml.default(...args);
254
+ },
255
+ externalDocs(...args) {
256
+ return new _ExternalDocumentation.default(...args);
257
+ }
258
+ },
259
+ DefinitionsElement: {
260
+ '[key: *]': function key(...args) {
261
+ return new _Schema.default(...args);
262
+ }
263
+ },
264
+ ParametersDefinitionsElement: {
265
+ '[key: *]': function key(...args) {
266
+ return new _Parameter.default(...args);
267
+ }
268
+ },
269
+ ResponsesDefinitionsElement: {
270
+ '[key: *]': function key(...args) {
271
+ return new _Response.default(...args);
272
+ }
273
+ },
274
+ SecurityDefinitionsElement: {
275
+ '[key: *]': function key(...args) {
276
+ return new _SecurityScheme.default(...args);
277
+ }
278
+ },
279
+ SecuritySchemeElement: {
280
+ scopes(...args) {
281
+ return new _Scopes.default(...args);
282
+ }
283
+ },
284
+ SecurityRequirementElement: {
285
+ '[key: *]': function key(...args) {
286
+ return new _apidomDatamodel.ArrayElement(...args);
287
+ }
288
+ },
289
+ // non-concrete types handling (NCEs)
290
+ [_OperationParameters.default.primaryClass]: {
291
+ '<*>': function asterisk(...args) {
292
+ return new _Parameter.default(...args);
293
+ }
294
+ },
295
+ [_OperationSecurity.default.primaryClass]: {
296
+ '<*>': function asterisk(...args) {
297
+ return new _SecurityRequirement.default(...args);
298
+ }
299
+ },
300
+ [_PathItemParameters.default.primaryClass]: {
301
+ '<*>': function asterisk(...args) {
302
+ return new _Parameter.default(...args);
303
+ }
304
+ },
305
+ [_SwaggerSecurity.default.primaryClass]: {
306
+ '<*>': function asterisk(...args) {
307
+ return new _SecurityRequirement.default(...args);
308
+ }
309
+ },
310
+ [_SwaggerTags.default.primaryClass]: {
311
+ '<*>': function asterisk(...args) {
312
+ return new _Tag.default(...args);
313
+ }
314
+ },
315
+ 'json-schema-properties': {
316
+ '[key: *]': function key(...args) {
317
+ return new _Schema.default(...args);
318
+ }
319
+ },
320
+ 'json-schema-allOf': {
321
+ '<*>': function asterisk(...args) {
322
+ return new _Schema.default(...args);
323
+ }
324
+ }
325
+ };
326
+ const findElementFactory = (ancestor, keyName) => {
327
+ const elementType = (0, _apidomTraverse.getNodeType)(ancestor);
328
+ const classType = ancestor.isMetaEmpty ? undefined : ancestor.classes.at(0); // @ts-ignore
329
+ const keyMapping = schema[elementType] || schema[classType];
330
+ return typeof keyMapping === 'undefined' ? undefined : Object.hasOwn(keyMapping, '[key: *]') ? keyMapping['[key: *]'] : keyMapping[keyName];
331
+ };
332
+
333
+ /**
334
+ * @public
335
+ */
336
+ const plugin = () => () => ({
337
+ visitor: {
338
+ StringElement(path) {
339
+ const element = path.node;
340
+ if (!isEmptyElement(element)) return;
341
+
342
+ // getAncestorNodes() returns [parent, grandparent, ..., root], so reverse to get [root, ..., parent]
343
+ const lineage = path.getAncestorNodes().reverse().filter(_apidomDatamodel.isElement);
344
+ const parentElement = lineage.at(-1);
345
+ let elementFactory;
346
+ let context;
347
+ if ((0, _apidomDatamodel.isArrayElement)(parentElement)) {
348
+ context = element;
349
+ elementFactory = findElementFactory(parentElement, '<*>');
350
+ } else if ((0, _apidomDatamodel.isMemberElement)(parentElement)) {
351
+ context = lineage.at(-2);
352
+ elementFactory = findElementFactory(context, (0, _apidomCore.toValue)(parentElement.key));
353
+ }
354
+
355
+ // no element factory found
356
+ if (typeof elementFactory !== 'function') return;
357
+ const replacement = elementFactory.call({
358
+ context
359
+ }, undefined, element.isMetaEmpty ? undefined : element.meta.cloneDeep(), element.isAttributesEmpty ? undefined : (0, _apidomDatamodel.cloneDeep)(element.attributes));
360
+ _apidomDatamodel.SourceMapElement.transfer(element, replacement);
361
+ _apidomDatamodel.StyleElement.transfer(element, replacement);
362
+ path.replaceWith(replacement);
363
+ }
364
+ }
365
+ });
366
+ var _default = exports.default = plugin;