@speclynx/apidom-ns-openapi-2 1.12.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 (228) hide show
  1. package/CHANGELOG.md +84 -0
  2. package/LICENSE +202 -0
  3. package/LICENSES/AFL-3.0.txt +182 -0
  4. package/LICENSES/Apache-2.0.txt +202 -0
  5. package/LICENSES/BSD-3-Clause.txt +26 -0
  6. package/LICENSES/MIT.txt +9 -0
  7. package/NOTICE +65 -0
  8. package/README.md +215 -0
  9. package/dist/apidom-ns-openapi-2.browser.js +23072 -0
  10. package/dist/apidom-ns-openapi-2.browser.min.js +1 -0
  11. package/package.json +65 -0
  12. package/src/elements/Contact.cjs +33 -0
  13. package/src/elements/Contact.mjs +30 -0
  14. package/src/elements/Definitions.cjs +15 -0
  15. package/src/elements/Definitions.mjs +12 -0
  16. package/src/elements/Example.cjs +15 -0
  17. package/src/elements/Example.mjs +12 -0
  18. package/src/elements/ExternalDocumentation.cjs +27 -0
  19. package/src/elements/ExternalDocumentation.mjs +24 -0
  20. package/src/elements/Header.cjs +185 -0
  21. package/src/elements/Header.mjs +182 -0
  22. package/src/elements/Headers.cjs +15 -0
  23. package/src/elements/Headers.mjs +12 -0
  24. package/src/elements/Info.cjs +52 -0
  25. package/src/elements/Info.mjs +48 -0
  26. package/src/elements/Items.cjs +190 -0
  27. package/src/elements/Items.mjs +187 -0
  28. package/src/elements/License.cjs +27 -0
  29. package/src/elements/License.mjs +24 -0
  30. package/src/elements/Operation.cjs +78 -0
  31. package/src/elements/Operation.mjs +74 -0
  32. package/src/elements/Parameter.cjs +230 -0
  33. package/src/elements/Parameter.mjs +226 -0
  34. package/src/elements/ParametersDefinitions.cjs +15 -0
  35. package/src/elements/ParametersDefinitions.mjs +12 -0
  36. package/src/elements/PathItem.cjs +69 -0
  37. package/src/elements/PathItem.mjs +65 -0
  38. package/src/elements/Paths.cjs +15 -0
  39. package/src/elements/Paths.mjs +12 -0
  40. package/src/elements/Reference.cjs +22 -0
  41. package/src/elements/Reference.mjs +19 -0
  42. package/src/elements/Response.cjs +39 -0
  43. package/src/elements/Response.mjs +35 -0
  44. package/src/elements/Responses.cjs +21 -0
  45. package/src/elements/Responses.mjs +17 -0
  46. package/src/elements/ResponsesDefinitions.cjs +15 -0
  47. package/src/elements/ResponsesDefinitions.mjs +12 -0
  48. package/src/elements/Schema.cjs +116 -0
  49. package/src/elements/Schema.mjs +113 -0
  50. package/src/elements/Scopes.cjs +15 -0
  51. package/src/elements/Scopes.mjs +12 -0
  52. package/src/elements/SecurityDefinitions.cjs +15 -0
  53. package/src/elements/SecurityDefinitions.mjs +12 -0
  54. package/src/elements/SecurityRequirement.cjs +15 -0
  55. package/src/elements/SecurityRequirement.mjs +12 -0
  56. package/src/elements/SecurityScheme.cjs +63 -0
  57. package/src/elements/SecurityScheme.mjs +60 -0
  58. package/src/elements/Swagger.cjs +106 -0
  59. package/src/elements/Swagger.mjs +102 -0
  60. package/src/elements/SwaggerVersion.cjs +17 -0
  61. package/src/elements/SwaggerVersion.mjs +14 -0
  62. package/src/elements/Tag.cjs +33 -0
  63. package/src/elements/Tag.mjs +29 -0
  64. package/src/elements/Xml.cjs +45 -0
  65. package/src/elements/Xml.mjs +42 -0
  66. package/src/elements/nces/OperationConsumes.cjs +16 -0
  67. package/src/elements/nces/OperationConsumes.mjs +13 -0
  68. package/src/elements/nces/OperationParameters.cjs +17 -0
  69. package/src/elements/nces/OperationParameters.mjs +14 -0
  70. package/src/elements/nces/OperationProduces.cjs +16 -0
  71. package/src/elements/nces/OperationProduces.mjs +13 -0
  72. package/src/elements/nces/OperationSchemes.cjs +16 -0
  73. package/src/elements/nces/OperationSchemes.mjs +13 -0
  74. package/src/elements/nces/OperationSecurity.cjs +17 -0
  75. package/src/elements/nces/OperationSecurity.mjs +14 -0
  76. package/src/elements/nces/OperationTags.cjs +17 -0
  77. package/src/elements/nces/OperationTags.mjs +14 -0
  78. package/src/elements/nces/PathItemParameters.cjs +17 -0
  79. package/src/elements/nces/PathItemParameters.mjs +14 -0
  80. package/src/elements/nces/SwaggerConsumes.cjs +16 -0
  81. package/src/elements/nces/SwaggerConsumes.mjs +13 -0
  82. package/src/elements/nces/SwaggerProduces.cjs +16 -0
  83. package/src/elements/nces/SwaggerProduces.mjs +13 -0
  84. package/src/elements/nces/SwaggerSchemes.cjs +16 -0
  85. package/src/elements/nces/SwaggerSchemes.mjs +13 -0
  86. package/src/elements/nces/SwaggerSecurity.cjs +17 -0
  87. package/src/elements/nces/SwaggerSecurity.mjs +14 -0
  88. package/src/elements/nces/SwaggerTags.cjs +16 -0
  89. package/src/elements/nces/SwaggerTags.mjs +13 -0
  90. package/src/index.cjs +135 -0
  91. package/src/index.mjs +31 -0
  92. package/src/media-types.cjs +34 -0
  93. package/src/media-types.mjs +30 -0
  94. package/src/namespace.cjs +71 -0
  95. package/src/namespace.mjs +66 -0
  96. package/src/predicates.cjs +329 -0
  97. package/src/predicates.mjs +324 -0
  98. package/src/refractor/index.cjs +52 -0
  99. package/src/refractor/index.mjs +46 -0
  100. package/src/refractor/plugins/replace-empty-element.cjs +358 -0
  101. package/src/refractor/plugins/replace-empty-element.mjs +350 -0
  102. package/src/refractor/predicates.cjs +25 -0
  103. package/src/refractor/predicates.mjs +20 -0
  104. package/src/refractor/registration.cjs +87 -0
  105. package/src/refractor/registration.mjs +56 -0
  106. package/src/refractor/specification.cjs +490 -0
  107. package/src/refractor/specification.mjs +484 -0
  108. package/src/refractor/toolbox.cjs +23 -0
  109. package/src/refractor/toolbox.mjs +17 -0
  110. package/src/refractor/visitors/FallbackVisitor.cjs +24 -0
  111. package/src/refractor/visitors/FallbackVisitor.mjs +18 -0
  112. package/src/refractor/visitors/SpecificationExtensionVisitor.cjs +18 -0
  113. package/src/refractor/visitors/SpecificationExtensionVisitor.mjs +13 -0
  114. package/src/refractor/visitors/SpecificationVisitor.cjs +74 -0
  115. package/src/refractor/visitors/SpecificationVisitor.mjs +68 -0
  116. package/src/refractor/visitors/Visitor.cjs +31 -0
  117. package/src/refractor/visitors/Visitor.mjs +28 -0
  118. package/src/refractor/visitors/generics/AlternatingVisitor.cjs +42 -0
  119. package/src/refractor/visitors/generics/AlternatingVisitor.mjs +35 -0
  120. package/src/refractor/visitors/generics/FixedFieldsVisitor.cjs +67 -0
  121. package/src/refractor/visitors/generics/FixedFieldsVisitor.mjs +60 -0
  122. package/src/refractor/visitors/generics/MapVisitor.cjs +21 -0
  123. package/src/refractor/visitors/generics/MapVisitor.mjs +15 -0
  124. package/src/refractor/visitors/generics/MixedFieldsVisitor.cjs +60 -0
  125. package/src/refractor/visitors/generics/MixedFieldsVisitor.mjs +54 -0
  126. package/src/refractor/visitors/generics/PatternedFieldsVisitor.cjs +67 -0
  127. package/src/refractor/visitors/generics/PatternedFieldsVisitor.mjs +61 -0
  128. package/src/refractor/visitors/open-api-2/BasePathVisitor.cjs +17 -0
  129. package/src/refractor/visitors/open-api-2/BasePathVisitor.mjs +12 -0
  130. package/src/refractor/visitors/open-api-2/ConsumesVisitor.cjs +22 -0
  131. package/src/refractor/visitors/open-api-2/ConsumesVisitor.mjs +17 -0
  132. package/src/refractor/visitors/open-api-2/HostVisitor.cjs +17 -0
  133. package/src/refractor/visitors/open-api-2/HostVisitor.mjs +12 -0
  134. package/src/refractor/visitors/open-api-2/ProducesVisitor.cjs +22 -0
  135. package/src/refractor/visitors/open-api-2/ProducesVisitor.mjs +17 -0
  136. package/src/refractor/visitors/open-api-2/SchemesVisitor.cjs +22 -0
  137. package/src/refractor/visitors/open-api-2/SchemesVisitor.mjs +17 -0
  138. package/src/refractor/visitors/open-api-2/SecurityVisitor.cjs +33 -0
  139. package/src/refractor/visitors/open-api-2/SecurityVisitor.mjs +27 -0
  140. package/src/refractor/visitors/open-api-2/SwaggerVisitor.cjs +26 -0
  141. package/src/refractor/visitors/open-api-2/SwaggerVisitor.mjs +20 -0
  142. package/src/refractor/visitors/open-api-2/TagsVisitor.cjs +33 -0
  143. package/src/refractor/visitors/open-api-2/TagsVisitor.mjs +27 -0
  144. package/src/refractor/visitors/open-api-2/contact/index.cjs +26 -0
  145. package/src/refractor/visitors/open-api-2/contact/index.mjs +20 -0
  146. package/src/refractor/visitors/open-api-2/definitions/index.cjs +38 -0
  147. package/src/refractor/visitors/open-api-2/definitions/index.mjs +32 -0
  148. package/src/refractor/visitors/open-api-2/example/index.cjs +26 -0
  149. package/src/refractor/visitors/open-api-2/example/index.mjs +20 -0
  150. package/src/refractor/visitors/open-api-2/external-documentation/index.cjs +26 -0
  151. package/src/refractor/visitors/open-api-2/external-documentation/index.mjs +20 -0
  152. package/src/refractor/visitors/open-api-2/header/index.cjs +26 -0
  153. package/src/refractor/visitors/open-api-2/header/index.mjs +20 -0
  154. package/src/refractor/visitors/open-api-2/headers/index.cjs +26 -0
  155. package/src/refractor/visitors/open-api-2/headers/index.mjs +20 -0
  156. package/src/refractor/visitors/open-api-2/index.cjs +26 -0
  157. package/src/refractor/visitors/open-api-2/index.mjs +20 -0
  158. package/src/refractor/visitors/open-api-2/info/VersionVisitor.cjs +18 -0
  159. package/src/refractor/visitors/open-api-2/info/VersionVisitor.mjs +13 -0
  160. package/src/refractor/visitors/open-api-2/info/index.cjs +26 -0
  161. package/src/refractor/visitors/open-api-2/info/index.mjs +20 -0
  162. package/src/refractor/visitors/open-api-2/items/index.cjs +28 -0
  163. package/src/refractor/visitors/open-api-2/items/index.mjs +22 -0
  164. package/src/refractor/visitors/open-api-2/license/index.cjs +26 -0
  165. package/src/refractor/visitors/open-api-2/license/index.mjs +20 -0
  166. package/src/refractor/visitors/open-api-2/operation/ConsumesVisitor.cjs +22 -0
  167. package/src/refractor/visitors/open-api-2/operation/ConsumesVisitor.mjs +17 -0
  168. package/src/refractor/visitors/open-api-2/operation/ParametersVisitor.cjs +38 -0
  169. package/src/refractor/visitors/open-api-2/operation/ParametersVisitor.mjs +32 -0
  170. package/src/refractor/visitors/open-api-2/operation/ProducesVisitor.cjs +22 -0
  171. package/src/refractor/visitors/open-api-2/operation/ProducesVisitor.mjs +17 -0
  172. package/src/refractor/visitors/open-api-2/operation/SchemesVisitor.cjs +22 -0
  173. package/src/refractor/visitors/open-api-2/operation/SchemesVisitor.mjs +17 -0
  174. package/src/refractor/visitors/open-api-2/operation/SecurityVisitor.cjs +33 -0
  175. package/src/refractor/visitors/open-api-2/operation/SecurityVisitor.mjs +27 -0
  176. package/src/refractor/visitors/open-api-2/operation/TagsVisitor.cjs +22 -0
  177. package/src/refractor/visitors/open-api-2/operation/TagsVisitor.mjs +17 -0
  178. package/src/refractor/visitors/open-api-2/operation/index.cjs +25 -0
  179. package/src/refractor/visitors/open-api-2/operation/index.mjs +19 -0
  180. package/src/refractor/visitors/open-api-2/parameter/index.cjs +26 -0
  181. package/src/refractor/visitors/open-api-2/parameter/index.mjs +20 -0
  182. package/src/refractor/visitors/open-api-2/parameters-definitions/index.cjs +25 -0
  183. package/src/refractor/visitors/open-api-2/parameters-definitions/index.mjs +19 -0
  184. package/src/refractor/visitors/open-api-2/path-item/$RefVisitor.cjs +17 -0
  185. package/src/refractor/visitors/open-api-2/path-item/$RefVisitor.mjs +12 -0
  186. package/src/refractor/visitors/open-api-2/path-item/ParametersVisitor.cjs +38 -0
  187. package/src/refractor/visitors/open-api-2/path-item/ParametersVisitor.mjs +32 -0
  188. package/src/refractor/visitors/open-api-2/path-item/index.cjs +45 -0
  189. package/src/refractor/visitors/open-api-2/path-item/index.mjs +39 -0
  190. package/src/refractor/visitors/open-api-2/paths/index.cjs +43 -0
  191. package/src/refractor/visitors/open-api-2/paths/index.mjs +37 -0
  192. package/src/refractor/visitors/open-api-2/reference/$RefVisitor.cjs +17 -0
  193. package/src/refractor/visitors/open-api-2/reference/$RefVisitor.mjs +12 -0
  194. package/src/refractor/visitors/open-api-2/reference/index.cjs +36 -0
  195. package/src/refractor/visitors/open-api-2/reference/index.mjs +30 -0
  196. package/src/refractor/visitors/open-api-2/response/index.cjs +26 -0
  197. package/src/refractor/visitors/open-api-2/response/index.mjs +20 -0
  198. package/src/refractor/visitors/open-api-2/responses/DefaultVisitor.cjs +42 -0
  199. package/src/refractor/visitors/open-api-2/responses/DefaultVisitor.mjs +36 -0
  200. package/src/refractor/visitors/open-api-2/responses/index.cjs +52 -0
  201. package/src/refractor/visitors/open-api-2/responses/index.mjs +46 -0
  202. package/src/refractor/visitors/open-api-2/responses-definitions/index.cjs +25 -0
  203. package/src/refractor/visitors/open-api-2/responses-definitions/index.mjs +19 -0
  204. package/src/refractor/visitors/open-api-2/schema/AllOfVisitor.cjs +25 -0
  205. package/src/refractor/visitors/open-api-2/schema/AllOfVisitor.mjs +21 -0
  206. package/src/refractor/visitors/open-api-2/schema/ItemsVisitor.cjs +32 -0
  207. package/src/refractor/visitors/open-api-2/schema/ItemsVisitor.mjs +28 -0
  208. package/src/refractor/visitors/open-api-2/schema/PropertiesVisitor.cjs +25 -0
  209. package/src/refractor/visitors/open-api-2/schema/PropertiesVisitor.mjs +21 -0
  210. package/src/refractor/visitors/open-api-2/schema/SchemaOrJSONReferenceVisitor.cjs +24 -0
  211. package/src/refractor/visitors/open-api-2/schema/SchemaOrJSONReferenceVisitor.mjs +20 -0
  212. package/src/refractor/visitors/open-api-2/schema/index.cjs +26 -0
  213. package/src/refractor/visitors/open-api-2/schema/index.mjs +20 -0
  214. package/src/refractor/visitors/open-api-2/scopes/index.cjs +26 -0
  215. package/src/refractor/visitors/open-api-2/scopes/index.mjs +20 -0
  216. package/src/refractor/visitors/open-api-2/security-definitions/index.cjs +26 -0
  217. package/src/refractor/visitors/open-api-2/security-definitions/index.mjs +20 -0
  218. package/src/refractor/visitors/open-api-2/security-requirement/index.cjs +25 -0
  219. package/src/refractor/visitors/open-api-2/security-requirement/index.mjs +19 -0
  220. package/src/refractor/visitors/open-api-2/security-scheme/index.cjs +26 -0
  221. package/src/refractor/visitors/open-api-2/security-scheme/index.mjs +20 -0
  222. package/src/refractor/visitors/open-api-2/tag/index.cjs +26 -0
  223. package/src/refractor/visitors/open-api-2/tag/index.mjs +20 -0
  224. package/src/refractor/visitors/open-api-2/xml/index.cjs +26 -0
  225. package/src/refractor/visitors/open-api-2/xml/index.mjs +20 -0
  226. package/src/traversal/visitor.cjs +56 -0
  227. package/src/traversal/visitor.mjs +53 -0
  228. package/types/apidom-ns-openapi-2.d.ts +2485 -0
@@ -0,0 +1,17 @@
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 _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
7
+ /**
8
+ * @public
9
+ */
10
+ class $RefVisitor extends _FallbackVisitor.default {
11
+ StringElement(stringElement) {
12
+ const result = super.enter(stringElement);
13
+ this.element.classes.push('reference-value');
14
+ return result;
15
+ }
16
+ }
17
+ var _default = exports.default = $RefVisitor;
@@ -0,0 +1,12 @@
1
+ import FallbackVisitor from "../../FallbackVisitor.mjs";
2
+ /**
3
+ * @public
4
+ */
5
+ class $RefVisitor extends FallbackVisitor {
6
+ StringElement(stringElement) {
7
+ const result = super.enter(stringElement);
8
+ this.element.classes.push('reference-value');
9
+ return result;
10
+ }
11
+ }
12
+ export default $RefVisitor;
@@ -0,0 +1,38 @@
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 _tsMixer = require("ts-mixer");
7
+ var _apidomCore = require("@speclynx/apidom-core");
8
+ var _predicates = require("../../../predicates.cjs");
9
+ var _predicates2 = require("../../../../predicates.cjs");
10
+ var _PathItemParameters = _interopRequireDefault(require("../../../../elements/nces/PathItemParameters.cjs"));
11
+ var _SpecificationVisitor = _interopRequireDefault(require("../../SpecificationVisitor.cjs"));
12
+ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
13
+ /**
14
+ * @public
15
+ */
16
+
17
+ /**
18
+ * @public
19
+ */
20
+ class ParametersVisitor extends (0, _tsMixer.Mixin)(_SpecificationVisitor.default, _FallbackVisitor.default) {
21
+ constructor(options) {
22
+ super(options);
23
+ this.element = new _PathItemParameters.default();
24
+ }
25
+ ArrayElement(arrayElement) {
26
+ arrayElement.forEach(item => {
27
+ const specPath = (0, _predicates.isReferenceLikeElement)(item) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'Parameter'];
28
+ const element = this.toRefractedElement(specPath, item);
29
+ if ((0, _predicates2.isReferenceElement)(element)) {
30
+ element.setMetaProperty('referenced-element', 'parameter');
31
+ }
32
+ this.element.push(element);
33
+ });
34
+ this.copyMetaAndAttributes(arrayElement, this.element);
35
+ return _apidomCore.BREAK;
36
+ }
37
+ }
38
+ var _default = exports.default = ParametersVisitor;
@@ -0,0 +1,32 @@
1
+ import { Mixin } from 'ts-mixer';
2
+ import { BREAK } from '@speclynx/apidom-core';
3
+ import { isReferenceLikeElement } from "../../../predicates.mjs";
4
+ import { isReferenceElement } from "../../../../predicates.mjs";
5
+ import PathItemParametersElement from "../../../../elements/nces/PathItemParameters.mjs";
6
+ import SpecificationVisitor from "../../SpecificationVisitor.mjs";
7
+ import FallbackVisitor from "../../FallbackVisitor.mjs";
8
+ /**
9
+ * @public
10
+ */
11
+ /**
12
+ * @public
13
+ */
14
+ class ParametersVisitor extends Mixin(SpecificationVisitor, FallbackVisitor) {
15
+ constructor(options) {
16
+ super(options);
17
+ this.element = new PathItemParametersElement();
18
+ }
19
+ ArrayElement(arrayElement) {
20
+ arrayElement.forEach(item => {
21
+ const specPath = isReferenceLikeElement(item) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'Parameter'];
22
+ const element = this.toRefractedElement(specPath, item);
23
+ if (isReferenceElement(element)) {
24
+ element.setMetaProperty('referenced-element', 'parameter');
25
+ }
26
+ this.element.push(element);
27
+ });
28
+ this.copyMetaAndAttributes(arrayElement, this.element);
29
+ return BREAK;
30
+ }
31
+ }
32
+ export default ParametersVisitor;
@@ -0,0 +1,45 @@
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 _tsMixer = require("ts-mixer");
7
+ var _ramda = require("ramda");
8
+ var _apidomCore = require("@speclynx/apidom-core");
9
+ var _PathItem = _interopRequireDefault(require("../../../../elements/PathItem.cjs"));
10
+ var _predicates = require("../../../../predicates.cjs");
11
+ var _FixedFieldsVisitor = _interopRequireDefault(require("../../generics/FixedFieldsVisitor.cjs"));
12
+ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
13
+ /**
14
+ * @public
15
+ */
16
+
17
+ /**
18
+ * @public
19
+ */
20
+ class PathItemVisitor extends (0, _tsMixer.Mixin)(_FixedFieldsVisitor.default, _FallbackVisitor.default) {
21
+ constructor(options) {
22
+ super(options);
23
+ this.element = new _PathItem.default();
24
+ this.specPath = (0, _ramda.always)(['document', 'objects', 'PathItem']);
25
+ }
26
+ ObjectElement(objectElement) {
27
+ const result = _FixedFieldsVisitor.default.prototype.ObjectElement.call(this, objectElement);
28
+
29
+ // decorate Operation elements with HTTP method
30
+ this.element.filter(_predicates.isOperationElement)
31
+ // @ts-ignore
32
+ .forEach((operationElement, httpMethodElementCI) => {
33
+ const httpMethodElementCS = (0, _apidomCore.cloneDeep)(httpMethodElementCI);
34
+ httpMethodElementCS.content = (0, _apidomCore.toValue)(httpMethodElementCS).toUpperCase();
35
+ operationElement.setMetaProperty('http-method', httpMethodElementCS);
36
+ });
37
+
38
+ // mark this PathItemElement with reference metadata
39
+ if ((0, _apidomCore.isStringElement)(this.element.$ref)) {
40
+ this.element.classes.push('reference-element');
41
+ }
42
+ return result;
43
+ }
44
+ }
45
+ var _default = exports.default = PathItemVisitor;
@@ -0,0 +1,39 @@
1
+ import { Mixin } from 'ts-mixer';
2
+ import { always } from 'ramda';
3
+ import { isStringElement, cloneDeep, toValue } from '@speclynx/apidom-core';
4
+ import PathItemElement from "../../../../elements/PathItem.mjs";
5
+ import { isOperationElement } from "../../../../predicates.mjs";
6
+ import FixedFieldsVisitor from "../../generics/FixedFieldsVisitor.mjs";
7
+ import FallbackVisitor from "../../FallbackVisitor.mjs";
8
+ /**
9
+ * @public
10
+ */
11
+ /**
12
+ * @public
13
+ */
14
+ class PathItemVisitor extends Mixin(FixedFieldsVisitor, FallbackVisitor) {
15
+ constructor(options) {
16
+ super(options);
17
+ this.element = new PathItemElement();
18
+ this.specPath = always(['document', 'objects', 'PathItem']);
19
+ }
20
+ ObjectElement(objectElement) {
21
+ const result = FixedFieldsVisitor.prototype.ObjectElement.call(this, objectElement);
22
+
23
+ // decorate Operation elements with HTTP method
24
+ this.element.filter(isOperationElement)
25
+ // @ts-ignore
26
+ .forEach((operationElement, httpMethodElementCI) => {
27
+ const httpMethodElementCS = cloneDeep(httpMethodElementCI);
28
+ httpMethodElementCS.content = toValue(httpMethodElementCS).toUpperCase();
29
+ operationElement.setMetaProperty('http-method', httpMethodElementCS);
30
+ });
31
+
32
+ // mark this PathItemElement with reference metadata
33
+ if (isStringElement(this.element.$ref)) {
34
+ this.element.classes.push('reference-element');
35
+ }
36
+ return result;
37
+ }
38
+ }
39
+ export default PathItemVisitor;
@@ -0,0 +1,43 @@
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 _tsMixer = require("ts-mixer");
7
+ var _ramda = require("ramda");
8
+ var _apidomCore = require("@speclynx/apidom-core");
9
+ var _Paths = _interopRequireDefault(require("../../../../elements/Paths.cjs"));
10
+ var _PatternedFieldsVisitor = _interopRequireDefault(require("../../generics/PatternedFieldsVisitor.cjs"));
11
+ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
12
+ var _predicates = require("../../../../predicates.cjs");
13
+ /**
14
+ * @public
15
+ */
16
+
17
+ /**
18
+ * @public
19
+ */
20
+ class PathsVisitor extends (0, _tsMixer.Mixin)(_PatternedFieldsVisitor.default, _FallbackVisitor.default) {
21
+ element;
22
+ constructor(options) {
23
+ super(options);
24
+ this.element = new _Paths.default();
25
+ this.specPath = (0, _ramda.always)(['document', 'objects', 'PathItem']);
26
+ this.canSupportSpecificationExtensions = true;
27
+ this.fieldPatternPredicate = _ramda.T;
28
+ }
29
+ ObjectElement(objectElement) {
30
+ const result = _PatternedFieldsVisitor.default.prototype.ObjectElement.call(this, objectElement);
31
+
32
+ // decorate every PathItemElement with path metadata
33
+ this.element.filter(_predicates.isPathItemElement)
34
+ // @ts-ignore
35
+ .forEach((pathItemElement, key) => {
36
+ key.classes.push('openapi-path-template');
37
+ key.classes.push('path-template');
38
+ pathItemElement.setMetaProperty('path', (0, _apidomCore.cloneDeep)(key));
39
+ });
40
+ return result;
41
+ }
42
+ }
43
+ var _default = exports.default = PathsVisitor;
@@ -0,0 +1,37 @@
1
+ import { Mixin } from 'ts-mixer';
2
+ import { T as stubTrue, always } from 'ramda';
3
+ import { cloneDeep } from '@speclynx/apidom-core';
4
+ import PathsElement from "../../../../elements/Paths.mjs";
5
+ import PatternedFieldsVisitor from "../../generics/PatternedFieldsVisitor.mjs";
6
+ import FallbackVisitor from "../../FallbackVisitor.mjs";
7
+ import { isPathItemElement } from "../../../../predicates.mjs";
8
+ /**
9
+ * @public
10
+ */
11
+ /**
12
+ * @public
13
+ */
14
+ class PathsVisitor extends Mixin(PatternedFieldsVisitor, FallbackVisitor) {
15
+ element;
16
+ constructor(options) {
17
+ super(options);
18
+ this.element = new PathsElement();
19
+ this.specPath = always(['document', 'objects', 'PathItem']);
20
+ this.canSupportSpecificationExtensions = true;
21
+ this.fieldPatternPredicate = stubTrue;
22
+ }
23
+ ObjectElement(objectElement) {
24
+ const result = PatternedFieldsVisitor.prototype.ObjectElement.call(this, objectElement);
25
+
26
+ // decorate every PathItemElement with path metadata
27
+ this.element.filter(isPathItemElement)
28
+ // @ts-ignore
29
+ .forEach((pathItemElement, key) => {
30
+ key.classes.push('openapi-path-template');
31
+ key.classes.push('path-template');
32
+ pathItemElement.setMetaProperty('path', cloneDeep(key));
33
+ });
34
+ return result;
35
+ }
36
+ }
37
+ export default PathsVisitor;
@@ -0,0 +1,17 @@
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 _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
7
+ /**
8
+ * @public
9
+ */
10
+ class $RefVisitor extends _FallbackVisitor.default {
11
+ StringElement(stringElement) {
12
+ const result = super.enter(stringElement);
13
+ this.element.classes.push('reference-value');
14
+ return result;
15
+ }
16
+ }
17
+ var _default = exports.default = $RefVisitor;
@@ -0,0 +1,12 @@
1
+ import FallbackVisitor from "../../FallbackVisitor.mjs";
2
+ /**
3
+ * @public
4
+ */
5
+ class $RefVisitor extends FallbackVisitor {
6
+ StringElement(stringElement) {
7
+ const result = super.enter(stringElement);
8
+ this.element.classes.push('reference-value');
9
+ return result;
10
+ }
11
+ }
12
+ export default $RefVisitor;
@@ -0,0 +1,36 @@
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 _tsMixer = require("ts-mixer");
7
+ var _ramda = require("ramda");
8
+ var _apidomCore = require("@speclynx/apidom-core");
9
+ var _Reference = _interopRequireDefault(require("../../../../elements/Reference.cjs"));
10
+ var _FixedFieldsVisitor = _interopRequireDefault(require("../../generics/FixedFieldsVisitor.cjs"));
11
+ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
12
+ /**
13
+ * @public
14
+ */
15
+
16
+ /**
17
+ * @public
18
+ */
19
+ class ReferenceVisitor extends (0, _tsMixer.Mixin)(_FixedFieldsVisitor.default, _FallbackVisitor.default) {
20
+ constructor(options) {
21
+ super(options);
22
+ this.element = new _Reference.default();
23
+ this.specPath = (0, _ramda.always)(['document', 'objects', 'Reference']);
24
+ this.canSupportSpecificationExtensions = false;
25
+ }
26
+ ObjectElement(objectElement) {
27
+ const result = _FixedFieldsVisitor.default.prototype.ObjectElement.call(this, objectElement);
28
+
29
+ // mark this ReferenceElement with reference metadata
30
+ if ((0, _apidomCore.isStringElement)(this.element.$ref)) {
31
+ this.element.classes.push('reference-element');
32
+ }
33
+ return result;
34
+ }
35
+ }
36
+ var _default = exports.default = ReferenceVisitor;
@@ -0,0 +1,30 @@
1
+ import { Mixin } from 'ts-mixer';
2
+ import { always } from 'ramda';
3
+ import { isStringElement } from '@speclynx/apidom-core';
4
+ import ReferenceElement from "../../../../elements/Reference.mjs";
5
+ import FixedFieldsVisitor from "../../generics/FixedFieldsVisitor.mjs";
6
+ import FallbackVisitor from "../../FallbackVisitor.mjs";
7
+ /**
8
+ * @public
9
+ */
10
+ /**
11
+ * @public
12
+ */
13
+ class ReferenceVisitor extends Mixin(FixedFieldsVisitor, FallbackVisitor) {
14
+ constructor(options) {
15
+ super(options);
16
+ this.element = new ReferenceElement();
17
+ this.specPath = always(['document', 'objects', 'Reference']);
18
+ this.canSupportSpecificationExtensions = false;
19
+ }
20
+ ObjectElement(objectElement) {
21
+ const result = FixedFieldsVisitor.prototype.ObjectElement.call(this, objectElement);
22
+
23
+ // mark this ReferenceElement with reference metadata
24
+ if (isStringElement(this.element.$ref)) {
25
+ this.element.classes.push('reference-element');
26
+ }
27
+ return result;
28
+ }
29
+ }
30
+ export default ReferenceVisitor;
@@ -0,0 +1,26 @@
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 _tsMixer = require("ts-mixer");
7
+ var _ramda = require("ramda");
8
+ var _Response = _interopRequireDefault(require("../../../../elements/Response.cjs"));
9
+ var _FixedFieldsVisitor = _interopRequireDefault(require("../../generics/FixedFieldsVisitor.cjs"));
10
+ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
11
+ /**
12
+ * @public
13
+ */
14
+
15
+ /**
16
+ * @public
17
+ */
18
+ class ResponseVisitor extends (0, _tsMixer.Mixin)(_FixedFieldsVisitor.default, _FallbackVisitor.default) {
19
+ constructor(options) {
20
+ super(options);
21
+ this.element = new _Response.default();
22
+ this.specPath = (0, _ramda.always)(['document', 'objects', 'Response']);
23
+ this.canSupportSpecificationExtensions = true;
24
+ }
25
+ }
26
+ var _default = exports.default = ResponseVisitor;
@@ -0,0 +1,20 @@
1
+ import { Mixin } from 'ts-mixer';
2
+ import { always } from 'ramda';
3
+ import ResponseElement from "../../../../elements/Response.mjs";
4
+ import FixedFieldsVisitor from "../../generics/FixedFieldsVisitor.mjs";
5
+ import FallbackVisitor from "../../FallbackVisitor.mjs";
6
+ /**
7
+ * @public
8
+ */
9
+ /**
10
+ * @public
11
+ */
12
+ class ResponseVisitor extends Mixin(FixedFieldsVisitor, FallbackVisitor) {
13
+ constructor(options) {
14
+ super(options);
15
+ this.element = new ResponseElement();
16
+ this.specPath = always(['document', 'objects', 'Response']);
17
+ this.canSupportSpecificationExtensions = true;
18
+ }
19
+ }
20
+ export default ResponseVisitor;
@@ -0,0 +1,42 @@
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 _tsMixer = require("ts-mixer");
7
+ var _ramda = require("ramda");
8
+ var _predicates = require("../../../predicates.cjs");
9
+ var _predicates2 = require("../../../../predicates.cjs");
10
+ var _AlternatingVisitor = _interopRequireDefault(require("../../generics/AlternatingVisitor.cjs"));
11
+ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
12
+ /**
13
+ * @public
14
+ */
15
+
16
+ /**
17
+ * @public
18
+ */
19
+ class DefaultVisitor extends (0, _tsMixer.Mixin)(_AlternatingVisitor.default, _FallbackVisitor.default) {
20
+ constructor(options) {
21
+ super(options);
22
+ this.alternator = [{
23
+ predicate: _predicates.isReferenceLikeElement,
24
+ specPath: ['document', 'objects', 'Reference']
25
+ }, {
26
+ predicate: _ramda.T,
27
+ specPath: ['document', 'objects', 'Response']
28
+ }];
29
+ }
30
+ ObjectElement(objectElement) {
31
+ const result = _AlternatingVisitor.default.prototype.enter.call(this, objectElement);
32
+
33
+ // decorate ReferenceElement with type of referencing element
34
+ if ((0, _predicates2.isReferenceElement)(this.element)) {
35
+ this.element.setMetaProperty('referenced-element', 'response');
36
+ } else if ((0, _predicates2.isResponseElement)(this.element)) {
37
+ this.element.setMetaProperty('http-status-code', 'default');
38
+ }
39
+ return result;
40
+ }
41
+ }
42
+ var _default = exports.default = DefaultVisitor;
@@ -0,0 +1,36 @@
1
+ import { Mixin } from 'ts-mixer';
2
+ import { T as stubTrue } from 'ramda';
3
+ import { isReferenceLikeElement } from "../../../predicates.mjs";
4
+ import { isReferenceElement, isResponseElement } from "../../../../predicates.mjs";
5
+ import AlternatingVisitor from "../../generics/AlternatingVisitor.mjs";
6
+ import FallbackVisitor from "../../FallbackVisitor.mjs";
7
+ /**
8
+ * @public
9
+ */
10
+ /**
11
+ * @public
12
+ */
13
+ class DefaultVisitor extends Mixin(AlternatingVisitor, FallbackVisitor) {
14
+ constructor(options) {
15
+ super(options);
16
+ this.alternator = [{
17
+ predicate: isReferenceLikeElement,
18
+ specPath: ['document', 'objects', 'Reference']
19
+ }, {
20
+ predicate: stubTrue,
21
+ specPath: ['document', 'objects', 'Response']
22
+ }];
23
+ }
24
+ ObjectElement(objectElement) {
25
+ const result = AlternatingVisitor.prototype.enter.call(this, objectElement);
26
+
27
+ // decorate ReferenceElement with type of referencing element
28
+ if (isReferenceElement(this.element)) {
29
+ this.element.setMetaProperty('referenced-element', 'response');
30
+ } else if (isResponseElement(this.element)) {
31
+ this.element.setMetaProperty('http-status-code', 'default');
32
+ }
33
+ return result;
34
+ }
35
+ }
36
+ export default DefaultVisitor;
@@ -0,0 +1,52 @@
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 _tsMixer = require("ts-mixer");
7
+ var _ramda = require("ramda");
8
+ var _apidomCore = require("@speclynx/apidom-core");
9
+ var _Responses = _interopRequireDefault(require("../../../../elements/Responses.cjs"));
10
+ var _MixedFieldsVisitor = _interopRequireDefault(require("../../generics/MixedFieldsVisitor.cjs"));
11
+ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
12
+ var _predicates = require("../../../predicates.cjs");
13
+ var _predicates2 = require("../../../../predicates.cjs");
14
+ /**
15
+ * @public
16
+ */
17
+
18
+ /**
19
+ * @public
20
+ */
21
+ class ResponsesVisitor extends (0, _tsMixer.Mixin)(_MixedFieldsVisitor.default, _FallbackVisitor.default) {
22
+ constructor(options) {
23
+ super(options);
24
+ this.element = new _Responses.default();
25
+ this.specPathFixedFields = (0, _ramda.always)(['document', 'objects', 'Responses']);
26
+ this.canSupportSpecificationExtensions = true;
27
+ this.specPathPatternedFields = element => {
28
+ return (0, _predicates.isReferenceLikeElement)(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'Response'];
29
+ };
30
+ // @ts-ignore
31
+ this.fieldPatternPredicate = (0, _ramda.test)(new RegExp(`^(1XX|2XX|3XX|4XX|5XX|${(0, _ramda.range)(100, 600).join('|')})$`));
32
+ }
33
+ ObjectElement(objectElement) {
34
+ const result = _MixedFieldsVisitor.default.prototype.ObjectElement.call(this, objectElement);
35
+
36
+ // decorate every ReferenceElement with metadata about their referencing type
37
+ // @ts-ignore
38
+ this.element.filter(_predicates2.isReferenceElement).forEach(referenceElement => {
39
+ referenceElement.setMetaProperty('referenced-element', 'response');
40
+ });
41
+
42
+ // decorate every ResponseElement with metadata about their status code
43
+ // @ts-ignore
44
+ this.element.filter(_predicates2.isResponseElement).forEach((value, key) => {
45
+ const httpStatusCode = (0, _apidomCore.cloneDeep)(key);
46
+ if (!this.fieldPatternPredicate((0, _apidomCore.toValue)(httpStatusCode))) return;
47
+ value.setMetaProperty('http-status-code', httpStatusCode);
48
+ });
49
+ return result;
50
+ }
51
+ }
52
+ var _default = exports.default = ResponsesVisitor;
@@ -0,0 +1,46 @@
1
+ import { Mixin } from 'ts-mixer';
2
+ import { test, always, range } from 'ramda';
3
+ import { cloneDeep, toValue } from '@speclynx/apidom-core';
4
+ import ResponsesElement from "../../../../elements/Responses.mjs";
5
+ import MixedFieldsVisitor from "../../generics/MixedFieldsVisitor.mjs";
6
+ import FallbackVisitor from "../../FallbackVisitor.mjs";
7
+ import { isReferenceLikeElement } from "../../../predicates.mjs";
8
+ import { isReferenceElement, isResponseElement } from "../../../../predicates.mjs";
9
+ /**
10
+ * @public
11
+ */
12
+ /**
13
+ * @public
14
+ */
15
+ class ResponsesVisitor extends Mixin(MixedFieldsVisitor, FallbackVisitor) {
16
+ constructor(options) {
17
+ super(options);
18
+ this.element = new ResponsesElement();
19
+ this.specPathFixedFields = always(['document', 'objects', 'Responses']);
20
+ this.canSupportSpecificationExtensions = true;
21
+ this.specPathPatternedFields = element => {
22
+ return isReferenceLikeElement(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'Response'];
23
+ };
24
+ // @ts-ignore
25
+ this.fieldPatternPredicate = test(new RegExp(`^(1XX|2XX|3XX|4XX|5XX|${range(100, 600).join('|')})$`));
26
+ }
27
+ ObjectElement(objectElement) {
28
+ const result = MixedFieldsVisitor.prototype.ObjectElement.call(this, objectElement);
29
+
30
+ // decorate every ReferenceElement with metadata about their referencing type
31
+ // @ts-ignore
32
+ this.element.filter(isReferenceElement).forEach(referenceElement => {
33
+ referenceElement.setMetaProperty('referenced-element', 'response');
34
+ });
35
+
36
+ // decorate every ResponseElement with metadata about their status code
37
+ // @ts-ignore
38
+ this.element.filter(isResponseElement).forEach((value, key) => {
39
+ const httpStatusCode = cloneDeep(key);
40
+ if (!this.fieldPatternPredicate(toValue(httpStatusCode))) return;
41
+ value.setMetaProperty('http-status-code', httpStatusCode);
42
+ });
43
+ return result;
44
+ }
45
+ }
46
+ export default ResponsesVisitor;
@@ -0,0 +1,25 @@
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 _tsMixer = require("ts-mixer");
7
+ var _ramda = require("ramda");
8
+ var _ResponsesDefinitions = _interopRequireDefault(require("../../../../elements/ResponsesDefinitions.cjs"));
9
+ var _MapVisitor = _interopRequireDefault(require("../../generics/MapVisitor.cjs"));
10
+ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
11
+ /**
12
+ * @public
13
+ */
14
+
15
+ /**
16
+ * @public
17
+ */
18
+ class ResponsesDefinitionsVisitor extends (0, _tsMixer.Mixin)(_MapVisitor.default, _FallbackVisitor.default) {
19
+ constructor(options) {
20
+ super(options);
21
+ this.element = new _ResponsesDefinitions.default();
22
+ this.specPath = (0, _ramda.always)(['document', 'objects', 'Response']);
23
+ }
24
+ }
25
+ var _default = exports.default = ResponsesDefinitionsVisitor;
@@ -0,0 +1,19 @@
1
+ import { Mixin } from 'ts-mixer';
2
+ import { always } from 'ramda';
3
+ import ResponsesDefinitionsElement from "../../../../elements/ResponsesDefinitions.mjs";
4
+ import MapVisitor from "../../generics/MapVisitor.mjs";
5
+ import FallbackVisitor from "../../FallbackVisitor.mjs";
6
+ /**
7
+ * @public
8
+ */
9
+ /**
10
+ * @public
11
+ */
12
+ class ResponsesDefinitionsVisitor extends Mixin(MapVisitor, FallbackVisitor) {
13
+ constructor(options) {
14
+ super(options);
15
+ this.element = new ResponsesDefinitionsElement();
16
+ this.specPath = always(['document', 'objects', 'Response']);
17
+ }
18
+ }
19
+ export default ResponsesDefinitionsVisitor;