@speclynx/apidom-ns-openapi-3-1 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 (198) hide show
  1. package/CHANGELOG.md +87 -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 +472 -0
  9. package/dist/apidom-ns-openapi-3-1.browser.js +36144 -0
  10. package/dist/apidom-ns-openapi-3-1.browser.min.js +1 -0
  11. package/package.json +70 -0
  12. package/src/elements/Callback.cjs +10 -0
  13. package/src/elements/Callback.mjs +7 -0
  14. package/src/elements/Components.cjs +17 -0
  15. package/src/elements/Components.mjs +14 -0
  16. package/src/elements/Contact.cjs +10 -0
  17. package/src/elements/Contact.mjs +7 -0
  18. package/src/elements/Discriminator.cjs +10 -0
  19. package/src/elements/Discriminator.mjs +7 -0
  20. package/src/elements/Encoding.cjs +10 -0
  21. package/src/elements/Encoding.mjs +7 -0
  22. package/src/elements/Example.cjs +10 -0
  23. package/src/elements/Example.mjs +7 -0
  24. package/src/elements/ExternalDocumentation.cjs +10 -0
  25. package/src/elements/ExternalDocumentation.mjs +7 -0
  26. package/src/elements/Header.cjs +17 -0
  27. package/src/elements/Header.mjs +13 -0
  28. package/src/elements/Info.cjs +23 -0
  29. package/src/elements/Info.mjs +19 -0
  30. package/src/elements/JsonSchemaDialect.cjs +16 -0
  31. package/src/elements/JsonSchemaDialect.mjs +13 -0
  32. package/src/elements/License.cjs +17 -0
  33. package/src/elements/License.mjs +14 -0
  34. package/src/elements/Link.cjs +10 -0
  35. package/src/elements/Link.mjs +7 -0
  36. package/src/elements/MediaType.cjs +17 -0
  37. package/src/elements/MediaType.mjs +13 -0
  38. package/src/elements/OAuthFlow.cjs +10 -0
  39. package/src/elements/OAuthFlow.mjs +7 -0
  40. package/src/elements/OAuthFlows.cjs +10 -0
  41. package/src/elements/OAuthFlows.mjs +7 -0
  42. package/src/elements/OpenApi3-1.cjs +77 -0
  43. package/src/elements/OpenApi3-1.mjs +73 -0
  44. package/src/elements/Openapi.cjs +10 -0
  45. package/src/elements/Openapi.mjs +7 -0
  46. package/src/elements/Operation.cjs +17 -0
  47. package/src/elements/Operation.mjs +13 -0
  48. package/src/elements/Parameter.cjs +17 -0
  49. package/src/elements/Parameter.mjs +13 -0
  50. package/src/elements/PathItem.cjs +59 -0
  51. package/src/elements/PathItem.mjs +55 -0
  52. package/src/elements/Paths.cjs +10 -0
  53. package/src/elements/Paths.mjs +7 -0
  54. package/src/elements/Reference.cjs +28 -0
  55. package/src/elements/Reference.mjs +25 -0
  56. package/src/elements/RequestBody.cjs +10 -0
  57. package/src/elements/RequestBody.mjs +7 -0
  58. package/src/elements/Response.cjs +10 -0
  59. package/src/elements/Response.mjs +7 -0
  60. package/src/elements/Responses.cjs +10 -0
  61. package/src/elements/Responses.mjs +7 -0
  62. package/src/elements/Schema.cjs +50 -0
  63. package/src/elements/Schema.mjs +46 -0
  64. package/src/elements/SecurityRequirement.cjs +10 -0
  65. package/src/elements/SecurityRequirement.mjs +7 -0
  66. package/src/elements/SecurityScheme.cjs +10 -0
  67. package/src/elements/SecurityScheme.mjs +7 -0
  68. package/src/elements/Server.cjs +10 -0
  69. package/src/elements/Server.mjs +7 -0
  70. package/src/elements/ServerVariable.cjs +10 -0
  71. package/src/elements/ServerVariable.mjs +7 -0
  72. package/src/elements/Tag.cjs +10 -0
  73. package/src/elements/Tag.mjs +7 -0
  74. package/src/elements/Xml.cjs +10 -0
  75. package/src/elements/Xml.mjs +7 -0
  76. package/src/elements/nces/ComponentsPathItems.cjs +16 -0
  77. package/src/elements/nces/ComponentsPathItems.mjs +13 -0
  78. package/src/elements/nces/Webhooks.cjs +16 -0
  79. package/src/elements/nces/Webhooks.mjs +13 -0
  80. package/src/index.cjs +158 -0
  81. package/src/index.mjs +28 -0
  82. package/src/media-types.cjs +34 -0
  83. package/src/media-types.mjs +30 -0
  84. package/src/namespace.cjs +82 -0
  85. package/src/namespace.mjs +76 -0
  86. package/src/predicates.cjs +365 -0
  87. package/src/predicates.mjs +357 -0
  88. package/src/refractor/index.cjs +45 -0
  89. package/src/refractor/index.mjs +39 -0
  90. package/src/refractor/plugins/normalize-header-examples/NormalizeStorage.cjs +38 -0
  91. package/src/refractor/plugins/normalize-header-examples/NormalizeStorage.mjs +34 -0
  92. package/src/refractor/plugins/normalize-header-examples/index.cjs +105 -0
  93. package/src/refractor/plugins/normalize-header-examples/index.mjs +99 -0
  94. package/src/refractor/plugins/normalize-operation-ids.cjs +159 -0
  95. package/src/refractor/plugins/normalize-operation-ids.mjs +154 -0
  96. package/src/refractor/plugins/normalize-parameter-examples.cjs +105 -0
  97. package/src/refractor/plugins/normalize-parameter-examples.mjs +99 -0
  98. package/src/refractor/plugins/normalize-parameters.cjs +103 -0
  99. package/src/refractor/plugins/normalize-parameters.mjs +97 -0
  100. package/src/refractor/plugins/normalize-security-requirements.cjs +71 -0
  101. package/src/refractor/plugins/normalize-security-requirements.mjs +65 -0
  102. package/src/refractor/plugins/normalize-servers.cjs +118 -0
  103. package/src/refractor/plugins/normalize-servers.mjs +112 -0
  104. package/src/refractor/plugins/replace-empty-element.cjs +665 -0
  105. package/src/refractor/plugins/replace-empty-element.mjs +658 -0
  106. package/src/refractor/registration.cjs +102 -0
  107. package/src/refractor/registration.mjs +66 -0
  108. package/src/refractor/specification.cjs +492 -0
  109. package/src/refractor/specification.mjs +487 -0
  110. package/src/refractor/toolbox.cjs +70 -0
  111. package/src/refractor/toolbox.mjs +60 -0
  112. package/src/refractor/visitors/open-api-3-1/JsonSchemaDialectVisitor.cjs +25 -0
  113. package/src/refractor/visitors/open-api-3-1/JsonSchemaDialectVisitor.mjs +19 -0
  114. package/src/refractor/visitors/open-api-3-1/WebhooksVisitor.cjs +44 -0
  115. package/src/refractor/visitors/open-api-3-1/WebhooksVisitor.mjs +38 -0
  116. package/src/refractor/visitors/open-api-3-1/callback/index.cjs +37 -0
  117. package/src/refractor/visitors/open-api-3-1/callback/index.mjs +32 -0
  118. package/src/refractor/visitors/open-api-3-1/components/PathItemsVisitor.cjs +34 -0
  119. package/src/refractor/visitors/open-api-3-1/components/PathItemsVisitor.mjs +28 -0
  120. package/src/refractor/visitors/open-api-3-1/components/SchemasVisitor.cjs +22 -0
  121. package/src/refractor/visitors/open-api-3-1/components/SchemasVisitor.mjs +19 -0
  122. package/src/refractor/visitors/open-api-3-1/components/index.cjs +21 -0
  123. package/src/refractor/visitors/open-api-3-1/components/index.mjs +16 -0
  124. package/src/refractor/visitors/open-api-3-1/contact/index.cjs +21 -0
  125. package/src/refractor/visitors/open-api-3-1/contact/index.mjs +16 -0
  126. package/src/refractor/visitors/open-api-3-1/distriminator/index.cjs +22 -0
  127. package/src/refractor/visitors/open-api-3-1/distriminator/index.mjs +17 -0
  128. package/src/refractor/visitors/open-api-3-1/encoding/index.cjs +21 -0
  129. package/src/refractor/visitors/open-api-3-1/encoding/index.mjs +16 -0
  130. package/src/refractor/visitors/open-api-3-1/example/index.cjs +21 -0
  131. package/src/refractor/visitors/open-api-3-1/example/index.mjs +16 -0
  132. package/src/refractor/visitors/open-api-3-1/external-documentation/index.cjs +21 -0
  133. package/src/refractor/visitors/open-api-3-1/external-documentation/index.mjs +16 -0
  134. package/src/refractor/visitors/open-api-3-1/header/index.cjs +21 -0
  135. package/src/refractor/visitors/open-api-3-1/header/index.mjs +16 -0
  136. package/src/refractor/visitors/open-api-3-1/index.cjs +31 -0
  137. package/src/refractor/visitors/open-api-3-1/index.mjs +25 -0
  138. package/src/refractor/visitors/open-api-3-1/info/index.cjs +21 -0
  139. package/src/refractor/visitors/open-api-3-1/info/index.mjs +16 -0
  140. package/src/refractor/visitors/open-api-3-1/license/index.cjs +21 -0
  141. package/src/refractor/visitors/open-api-3-1/license/index.mjs +16 -0
  142. package/src/refractor/visitors/open-api-3-1/link/index.cjs +21 -0
  143. package/src/refractor/visitors/open-api-3-1/link/index.mjs +16 -0
  144. package/src/refractor/visitors/open-api-3-1/media-type/index.cjs +21 -0
  145. package/src/refractor/visitors/open-api-3-1/media-type/index.mjs +16 -0
  146. package/src/refractor/visitors/open-api-3-1/oauth-flow/index.cjs +21 -0
  147. package/src/refractor/visitors/open-api-3-1/oauth-flow/index.mjs +16 -0
  148. package/src/refractor/visitors/open-api-3-1/oauth-flows/index.cjs +21 -0
  149. package/src/refractor/visitors/open-api-3-1/oauth-flows/index.mjs +16 -0
  150. package/src/refractor/visitors/open-api-3-1/operation/index.cjs +21 -0
  151. package/src/refractor/visitors/open-api-3-1/operation/index.mjs +16 -0
  152. package/src/refractor/visitors/open-api-3-1/parameter/index.cjs +21 -0
  153. package/src/refractor/visitors/open-api-3-1/parameter/index.mjs +16 -0
  154. package/src/refractor/visitors/open-api-3-1/path-item/index.cjs +21 -0
  155. package/src/refractor/visitors/open-api-3-1/path-item/index.mjs +16 -0
  156. package/src/refractor/visitors/open-api-3-1/paths/index.cjs +21 -0
  157. package/src/refractor/visitors/open-api-3-1/paths/index.mjs +16 -0
  158. package/src/refractor/visitors/open-api-3-1/reference/index.cjs +21 -0
  159. package/src/refractor/visitors/open-api-3-1/reference/index.mjs +16 -0
  160. package/src/refractor/visitors/open-api-3-1/request-body/index.cjs +21 -0
  161. package/src/refractor/visitors/open-api-3-1/request-body/index.mjs +16 -0
  162. package/src/refractor/visitors/open-api-3-1/response/index.cjs +21 -0
  163. package/src/refractor/visitors/open-api-3-1/response/index.mjs +16 -0
  164. package/src/refractor/visitors/open-api-3-1/responses/index.cjs +21 -0
  165. package/src/refractor/visitors/open-api-3-1/responses/index.mjs +16 -0
  166. package/src/refractor/visitors/open-api-3-1/schema/$defsVisitor.cjs +19 -0
  167. package/src/refractor/visitors/open-api-3-1/schema/$defsVisitor.mjs +16 -0
  168. package/src/refractor/visitors/open-api-3-1/schema/AllOfVisitor.cjs +15 -0
  169. package/src/refractor/visitors/open-api-3-1/schema/AllOfVisitor.mjs +11 -0
  170. package/src/refractor/visitors/open-api-3-1/schema/AnyOfVisitor.cjs +15 -0
  171. package/src/refractor/visitors/open-api-3-1/schema/AnyOfVisitor.mjs +11 -0
  172. package/src/refractor/visitors/open-api-3-1/schema/DependentSchemasVisitor.cjs +15 -0
  173. package/src/refractor/visitors/open-api-3-1/schema/DependentSchemasVisitor.mjs +11 -0
  174. package/src/refractor/visitors/open-api-3-1/schema/OneOfVisitor.cjs +15 -0
  175. package/src/refractor/visitors/open-api-3-1/schema/OneOfVisitor.mjs +11 -0
  176. package/src/refractor/visitors/open-api-3-1/schema/PatternPropertiesVisitor.cjs +15 -0
  177. package/src/refractor/visitors/open-api-3-1/schema/PatternPropertiesVisitor.mjs +11 -0
  178. package/src/refractor/visitors/open-api-3-1/schema/PrefixItemsVisitor.cjs +15 -0
  179. package/src/refractor/visitors/open-api-3-1/schema/PrefixItemsVisitor.mjs +11 -0
  180. package/src/refractor/visitors/open-api-3-1/schema/PropertiesVisitor.cjs +15 -0
  181. package/src/refractor/visitors/open-api-3-1/schema/PropertiesVisitor.mjs +11 -0
  182. package/src/refractor/visitors/open-api-3-1/schema/index.cjs +75 -0
  183. package/src/refractor/visitors/open-api-3-1/schema/index.mjs +69 -0
  184. package/src/refractor/visitors/open-api-3-1/security-requirement/index.cjs +21 -0
  185. package/src/refractor/visitors/open-api-3-1/security-requirement/index.mjs +16 -0
  186. package/src/refractor/visitors/open-api-3-1/security-scheme/index.cjs +21 -0
  187. package/src/refractor/visitors/open-api-3-1/security-scheme/index.mjs +16 -0
  188. package/src/refractor/visitors/open-api-3-1/server/index.cjs +21 -0
  189. package/src/refractor/visitors/open-api-3-1/server/index.mjs +16 -0
  190. package/src/refractor/visitors/open-api-3-1/server-variable/index.cjs +21 -0
  191. package/src/refractor/visitors/open-api-3-1/server-variable/index.mjs +16 -0
  192. package/src/refractor/visitors/open-api-3-1/tag/index.cjs +21 -0
  193. package/src/refractor/visitors/open-api-3-1/tag/index.mjs +16 -0
  194. package/src/refractor/visitors/open-api-3-1/xml/index.cjs +21 -0
  195. package/src/refractor/visitors/open-api-3-1/xml/index.mjs +16 -0
  196. package/src/traversal/visitor.cjs +57 -0
  197. package/src/traversal/visitor.mjs +54 -0
  198. package/types/apidom-ns-openapi-3-1.d.ts +2745 -0
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+ var _apidomNsJsonSchema = require("@speclynx/apidom-ns-json-schema-2020-12");
6
+ /**
7
+ * @public
8
+ */
9
+ class PatternPropertiesVisitor extends _apidomNsJsonSchema.PatternPropertiesVisitor {
10
+ constructor(options) {
11
+ super(options);
12
+ this.passingOptionsNames.push('parent');
13
+ }
14
+ }
15
+ var _default = exports.default = PatternPropertiesVisitor;
@@ -0,0 +1,11 @@
1
+ import { PatternPropertiesVisitor as PatternPropertiesJSONSchema202012Visitor } from '@speclynx/apidom-ns-json-schema-2020-12';
2
+ /**
3
+ * @public
4
+ */
5
+ class PatternPropertiesVisitor extends PatternPropertiesJSONSchema202012Visitor {
6
+ constructor(options) {
7
+ super(options);
8
+ this.passingOptionsNames.push('parent');
9
+ }
10
+ }
11
+ export default PatternPropertiesVisitor;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+ var _apidomNsJsonSchema = require("@speclynx/apidom-ns-json-schema-2020-12");
6
+ /**
7
+ * @public
8
+ */
9
+ class PrefixItemsVisitor extends _apidomNsJsonSchema.PrefixItemsVisitor {
10
+ constructor(options) {
11
+ super(options);
12
+ this.passingOptionsNames.push('parent');
13
+ }
14
+ }
15
+ var _default = exports.default = PrefixItemsVisitor;
@@ -0,0 +1,11 @@
1
+ import { PrefixItemsVisitor as PrefixItemsJSONSchema202012Visitor } from '@speclynx/apidom-ns-json-schema-2020-12';
2
+ /**
3
+ * @public
4
+ */
5
+ class PrefixItemsVisitor extends PrefixItemsJSONSchema202012Visitor {
6
+ constructor(options) {
7
+ super(options);
8
+ this.passingOptionsNames.push('parent');
9
+ }
10
+ }
11
+ export default PrefixItemsVisitor;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+ var _apidomNsJsonSchema = require("@speclynx/apidom-ns-json-schema-2020-12");
6
+ /**
7
+ * @public
8
+ */
9
+ class PropertiesVisitor extends _apidomNsJsonSchema.PropertiesVisitor {
10
+ constructor(options) {
11
+ super(options);
12
+ this.passingOptionsNames.push('parent');
13
+ }
14
+ }
15
+ var _default = exports.default = PropertiesVisitor;
@@ -0,0 +1,11 @@
1
+ import { PropertiesVisitor as PropertiesJSONSchema202012Visitor } from '@speclynx/apidom-ns-json-schema-2020-12';
2
+ /**
3
+ * @public
4
+ */
5
+ class PropertiesVisitor extends PropertiesJSONSchema202012Visitor {
6
+ constructor(options) {
7
+ super(options);
8
+ this.passingOptionsNames.push('parent');
9
+ }
10
+ }
11
+ export default PropertiesVisitor;
@@ -0,0 +1,75 @@
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 _apidomNsOpenapi = require("@speclynx/apidom-ns-openapi-3-0");
10
+ var _apidomNsJsonSchema = require("@speclynx/apidom-ns-json-schema-2020-12");
11
+ var _predicates = require("../../../../predicates.cjs");
12
+ var _Schema = _interopRequireDefault(require("../../../../elements/Schema.cjs"));
13
+ var _JsonSchemaDialect = _interopRequireDefault(require("../../../../elements/JsonSchemaDialect.cjs"));
14
+ /**
15
+ * @public
16
+ */
17
+
18
+ /**
19
+ * @public
20
+ */
21
+ class SchemaVisitor extends (0, _tsMixer.Mixin)(_apidomNsOpenapi.FixedFieldsVisitor, _apidomNsJsonSchema.ParentSchemaAwareVisitor, _apidomNsOpenapi.FallbackVisitor) {
22
+ constructor(options) {
23
+ super(options);
24
+ this.element = new _Schema.default();
25
+ this.specPath = (0, _ramda.always)(['document', 'objects', 'Schema']);
26
+ this.canSupportSpecificationExtensions = true;
27
+ this.jsonSchemaDefaultDialect = _JsonSchemaDialect.default.default;
28
+ this.passingOptionsNames.push('parent');
29
+ }
30
+ ObjectElement(objectElement) {
31
+ this.handleDialectIdentifier(objectElement);
32
+ this.handleSchemaIdentifier(objectElement);
33
+
34
+ // for further processing consider this Schema Element as parent for all embedded Schema Elements
35
+ this.parent = this.element;
36
+ const result = _apidomNsOpenapi.FixedFieldsVisitor.prototype.ObjectElement.call(this, objectElement);
37
+
38
+ // mark this SchemaElement with reference metadata
39
+ if ((0, _apidomCore.isStringElement)(this.element.$ref)) {
40
+ this.element.classes.push('reference-element');
41
+ this.element.setMetaProperty('referenced-element', 'schema');
42
+ }
43
+ return result;
44
+ }
45
+ BooleanElement(booleanElement) {
46
+ return _apidomNsJsonSchema.JSONSchemaVisitor.prototype.BooleanElement.call(this, booleanElement);
47
+ }
48
+
49
+ /**
50
+ * This function depends on some external context, so we need to make sure this function
51
+ * works even when no context is provided like when directly refracting generic Object Element
52
+ * into Schema Element: `SchemaElement.refract(new ObjectElement({ type: 'object' });`
53
+ */
54
+ get defaultDialectIdentifier() {
55
+ let jsonSchemaDialect;
56
+ if (this.openApiSemanticElement !== undefined &&
57
+ // @ts-ignore
58
+ (0, _predicates.isJsonSchemaDialectElement)(this.openApiSemanticElement.jsonSchemaDialect)) {
59
+ // @ts-ignore
60
+ jsonSchemaDialect = (0, _apidomCore.toValue)(this.openApiSemanticElement.jsonSchemaDialect);
61
+ } else if (this.openApiGenericElement !== undefined && (0, _apidomCore.isStringElement)(this.openApiGenericElement.get('jsonSchemaDialect'))) {
62
+ jsonSchemaDialect = (0, _apidomCore.toValue)(this.openApiGenericElement.get('jsonSchemaDialect'));
63
+ } else {
64
+ jsonSchemaDialect = (0, _apidomCore.toValue)(this.jsonSchemaDefaultDialect);
65
+ }
66
+ return jsonSchemaDialect;
67
+ }
68
+ handleDialectIdentifier(objectElement) {
69
+ return _apidomNsJsonSchema.JSONSchemaVisitor.prototype.handleDialectIdentifier.call(this, objectElement);
70
+ }
71
+ handleSchemaIdentifier(objectElement) {
72
+ return _apidomNsJsonSchema.JSONSchemaVisitor.prototype.handleSchemaIdentifier.call(this, objectElement);
73
+ }
74
+ }
75
+ var _default = exports.default = SchemaVisitor;
@@ -0,0 +1,69 @@
1
+ import { Mixin } from 'ts-mixer';
2
+ import { always } from 'ramda';
3
+ import { isStringElement, toValue } from '@speclynx/apidom-core';
4
+ import { FallbackVisitor, FixedFieldsVisitor } from '@speclynx/apidom-ns-openapi-3-0';
5
+ import { JSONSchemaVisitor, ParentSchemaAwareVisitor } from '@speclynx/apidom-ns-json-schema-2020-12';
6
+ import { isJsonSchemaDialectElement } from "../../../../predicates.mjs";
7
+ import SchemaElement from "../../../../elements/Schema.mjs";
8
+ import JsonSchemaDialectElement from "../../../../elements/JsonSchemaDialect.mjs";
9
+ /**
10
+ * @public
11
+ */
12
+ /**
13
+ * @public
14
+ */
15
+ class SchemaVisitor extends Mixin(FixedFieldsVisitor, ParentSchemaAwareVisitor, FallbackVisitor) {
16
+ constructor(options) {
17
+ super(options);
18
+ this.element = new SchemaElement();
19
+ this.specPath = always(['document', 'objects', 'Schema']);
20
+ this.canSupportSpecificationExtensions = true;
21
+ this.jsonSchemaDefaultDialect = JsonSchemaDialectElement.default;
22
+ this.passingOptionsNames.push('parent');
23
+ }
24
+ ObjectElement(objectElement) {
25
+ this.handleDialectIdentifier(objectElement);
26
+ this.handleSchemaIdentifier(objectElement);
27
+
28
+ // for further processing consider this Schema Element as parent for all embedded Schema Elements
29
+ this.parent = this.element;
30
+ const result = FixedFieldsVisitor.prototype.ObjectElement.call(this, objectElement);
31
+
32
+ // mark this SchemaElement with reference metadata
33
+ if (isStringElement(this.element.$ref)) {
34
+ this.element.classes.push('reference-element');
35
+ this.element.setMetaProperty('referenced-element', 'schema');
36
+ }
37
+ return result;
38
+ }
39
+ BooleanElement(booleanElement) {
40
+ return JSONSchemaVisitor.prototype.BooleanElement.call(this, booleanElement);
41
+ }
42
+
43
+ /**
44
+ * This function depends on some external context, so we need to make sure this function
45
+ * works even when no context is provided like when directly refracting generic Object Element
46
+ * into Schema Element: `SchemaElement.refract(new ObjectElement({ type: 'object' });`
47
+ */
48
+ get defaultDialectIdentifier() {
49
+ let jsonSchemaDialect;
50
+ if (this.openApiSemanticElement !== undefined &&
51
+ // @ts-ignore
52
+ isJsonSchemaDialectElement(this.openApiSemanticElement.jsonSchemaDialect)) {
53
+ // @ts-ignore
54
+ jsonSchemaDialect = toValue(this.openApiSemanticElement.jsonSchemaDialect);
55
+ } else if (this.openApiGenericElement !== undefined && isStringElement(this.openApiGenericElement.get('jsonSchemaDialect'))) {
56
+ jsonSchemaDialect = toValue(this.openApiGenericElement.get('jsonSchemaDialect'));
57
+ } else {
58
+ jsonSchemaDialect = toValue(this.jsonSchemaDefaultDialect);
59
+ }
60
+ return jsonSchemaDialect;
61
+ }
62
+ handleDialectIdentifier(objectElement) {
63
+ return JSONSchemaVisitor.prototype.handleDialectIdentifier.call(this, objectElement);
64
+ }
65
+ handleSchemaIdentifier(objectElement) {
66
+ return JSONSchemaVisitor.prototype.handleSchemaIdentifier.call(this, objectElement);
67
+ }
68
+ }
69
+ export default SchemaVisitor;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
+ exports.__esModule = true;
5
+ exports.default = exports.BaseSecurityRequirementVisitor = void 0;
6
+ var _apidomNsOpenapi = require("@speclynx/apidom-ns-openapi-3-0");
7
+ var _SecurityRequirement = _interopRequireDefault(require("../../../../elements/SecurityRequirement.cjs"));
8
+ /**
9
+ * @public
10
+ */
11
+ const BaseSecurityRequirementVisitor = exports.BaseSecurityRequirementVisitor = _apidomNsOpenapi.specificationObj.visitors.document.objects.SecurityRequirement.$visitor;
12
+ /**
13
+ * @public
14
+ */
15
+ class SecurityRequirementVisitor extends BaseSecurityRequirementVisitor {
16
+ constructor(options) {
17
+ super(options);
18
+ this.element = new _SecurityRequirement.default();
19
+ }
20
+ }
21
+ var _default = exports.default = SecurityRequirementVisitor;
@@ -0,0 +1,16 @@
1
+ import { specificationObj as OpenApi3_1Specification } from '@speclynx/apidom-ns-openapi-3-0';
2
+ import SecurityRequirementElement from "../../../../elements/SecurityRequirement.mjs";
3
+ /**
4
+ * @public
5
+ */
6
+ export const BaseSecurityRequirementVisitor = OpenApi3_1Specification.visitors.document.objects.SecurityRequirement.$visitor;
7
+ /**
8
+ * @public
9
+ */
10
+ class SecurityRequirementVisitor extends BaseSecurityRequirementVisitor {
11
+ constructor(options) {
12
+ super(options);
13
+ this.element = new SecurityRequirementElement();
14
+ }
15
+ }
16
+ export default SecurityRequirementVisitor;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
+ exports.__esModule = true;
5
+ exports.default = exports.BaseSecuritySchemeVisitor = void 0;
6
+ var _apidomNsOpenapi = require("@speclynx/apidom-ns-openapi-3-0");
7
+ var _SecurityScheme = _interopRequireDefault(require("../../../../elements/SecurityScheme.cjs"));
8
+ /**
9
+ * @public
10
+ */
11
+ const BaseSecuritySchemeVisitor = exports.BaseSecuritySchemeVisitor = _apidomNsOpenapi.specificationObj.visitors.document.objects.SecurityScheme.$visitor;
12
+ /**
13
+ * @public
14
+ */
15
+ class SecuritySchemeVisitor extends BaseSecuritySchemeVisitor {
16
+ constructor(options) {
17
+ super(options);
18
+ this.element = new _SecurityScheme.default();
19
+ }
20
+ }
21
+ var _default = exports.default = SecuritySchemeVisitor;
@@ -0,0 +1,16 @@
1
+ import { specificationObj as OpenApi3_1Specification } from '@speclynx/apidom-ns-openapi-3-0';
2
+ import SecuritySchemeElement from "../../../../elements/SecurityScheme.mjs";
3
+ /**
4
+ * @public
5
+ */
6
+ export const BaseSecuritySchemeVisitor = OpenApi3_1Specification.visitors.document.objects.SecurityScheme.$visitor;
7
+ /**
8
+ * @public
9
+ */
10
+ class SecuritySchemeVisitor extends BaseSecuritySchemeVisitor {
11
+ constructor(options) {
12
+ super(options);
13
+ this.element = new SecuritySchemeElement();
14
+ }
15
+ }
16
+ export default SecuritySchemeVisitor;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
+ exports.__esModule = true;
5
+ exports.default = exports.BaseServerVisitor = void 0;
6
+ var _apidomNsOpenapi = require("@speclynx/apidom-ns-openapi-3-0");
7
+ var _Server = _interopRequireDefault(require("../../../../elements/Server.cjs"));
8
+ /**
9
+ * @public
10
+ */
11
+ const BaseServerVisitor = exports.BaseServerVisitor = _apidomNsOpenapi.specificationObj.visitors.document.objects.Server.$visitor;
12
+ /**
13
+ * @public
14
+ */
15
+ class ServerVisitor extends BaseServerVisitor {
16
+ constructor(options) {
17
+ super(options);
18
+ this.element = new _Server.default();
19
+ }
20
+ }
21
+ var _default = exports.default = ServerVisitor;
@@ -0,0 +1,16 @@
1
+ import { specificationObj as OpenApi3_1Specification } from '@speclynx/apidom-ns-openapi-3-0';
2
+ import ServerElement from "../../../../elements/Server.mjs";
3
+ /**
4
+ * @public
5
+ */
6
+ export const BaseServerVisitor = OpenApi3_1Specification.visitors.document.objects.Server.$visitor;
7
+ /**
8
+ * @public
9
+ */
10
+ class ServerVisitor extends BaseServerVisitor {
11
+ constructor(options) {
12
+ super(options);
13
+ this.element = new ServerElement();
14
+ }
15
+ }
16
+ export default ServerVisitor;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
+ exports.__esModule = true;
5
+ exports.default = exports.BaseServerVariableVisitor = void 0;
6
+ var _apidomNsOpenapi = require("@speclynx/apidom-ns-openapi-3-0");
7
+ var _ServerVariable = _interopRequireDefault(require("../../../../elements/ServerVariable.cjs"));
8
+ /**
9
+ * @public
10
+ */
11
+ const BaseServerVariableVisitor = exports.BaseServerVariableVisitor = _apidomNsOpenapi.specificationObj.visitors.document.objects.ServerVariable.$visitor;
12
+ /**
13
+ * @public
14
+ */
15
+ class ServerVariableVisitor extends BaseServerVariableVisitor {
16
+ constructor(options) {
17
+ super(options);
18
+ this.element = new _ServerVariable.default();
19
+ }
20
+ }
21
+ var _default = exports.default = ServerVariableVisitor;
@@ -0,0 +1,16 @@
1
+ import { specificationObj as OpenApi3_1Specification } from '@speclynx/apidom-ns-openapi-3-0';
2
+ import ServerVariableElement from "../../../../elements/ServerVariable.mjs";
3
+ /**
4
+ * @public
5
+ */
6
+ export const BaseServerVariableVisitor = OpenApi3_1Specification.visitors.document.objects.ServerVariable.$visitor;
7
+ /**
8
+ * @public
9
+ */
10
+ class ServerVariableVisitor extends BaseServerVariableVisitor {
11
+ constructor(options) {
12
+ super(options);
13
+ this.element = new ServerVariableElement();
14
+ }
15
+ }
16
+ export default ServerVariableVisitor;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
+ exports.__esModule = true;
5
+ exports.default = exports.BaseTagVisitor = void 0;
6
+ var _apidomNsOpenapi = require("@speclynx/apidom-ns-openapi-3-0");
7
+ var _Tag = _interopRequireDefault(require("../../../../elements/Tag.cjs"));
8
+ /**
9
+ * @public
10
+ */
11
+ const BaseTagVisitor = exports.BaseTagVisitor = _apidomNsOpenapi.specificationObj.visitors.document.objects.Tag.$visitor;
12
+ /**
13
+ * @public
14
+ */
15
+ class TagVisitor extends BaseTagVisitor {
16
+ constructor(options) {
17
+ super(options);
18
+ this.element = new _Tag.default();
19
+ }
20
+ }
21
+ var _default = exports.default = TagVisitor;
@@ -0,0 +1,16 @@
1
+ import { specificationObj as OpenApi3_1Specification } from '@speclynx/apidom-ns-openapi-3-0';
2
+ import TagElement from "../../../../elements/Tag.mjs";
3
+ /**
4
+ * @public
5
+ */
6
+ export const BaseTagVisitor = OpenApi3_1Specification.visitors.document.objects.Tag.$visitor;
7
+ /**
8
+ * @public
9
+ */
10
+ class TagVisitor extends BaseTagVisitor {
11
+ constructor(options) {
12
+ super(options);
13
+ this.element = new TagElement();
14
+ }
15
+ }
16
+ export default TagVisitor;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
+ exports.__esModule = true;
5
+ exports.default = exports.BaseXMLVisitor = void 0;
6
+ var _apidomNsOpenapi = require("@speclynx/apidom-ns-openapi-3-0");
7
+ var _Xml = _interopRequireDefault(require("../../../../elements/Xml.cjs"));
8
+ /**
9
+ * @public
10
+ */
11
+ const BaseXMLVisitor = exports.BaseXMLVisitor = _apidomNsOpenapi.specificationObj.visitors.document.objects.XML.$visitor;
12
+ /**
13
+ * @public
14
+ */
15
+ class XmlVisitor extends BaseXMLVisitor {
16
+ constructor(options) {
17
+ super(options);
18
+ this.element = new _Xml.default();
19
+ }
20
+ }
21
+ var _default = exports.default = XmlVisitor;
@@ -0,0 +1,16 @@
1
+ import { specificationObj as OpenApi3_1Specification } from '@speclynx/apidom-ns-openapi-3-0';
2
+ import XmlElement from "../../../../elements/Xml.mjs";
3
+ /**
4
+ * @public
5
+ */
6
+ export const BaseXMLVisitor = OpenApi3_1Specification.visitors.document.objects.XML.$visitor;
7
+ /**
8
+ * @public
9
+ */
10
+ class XmlVisitor extends BaseXMLVisitor {
11
+ constructor(options) {
12
+ super(options);
13
+ this.element = new XmlElement();
14
+ }
15
+ }
16
+ export default XmlVisitor;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.keyMap = exports.getNodeType = void 0;
5
+ var _apidomCore = require("@speclynx/apidom-core");
6
+ /**
7
+ * @public
8
+ */
9
+ const getNodeType = element => {
10
+ if (!(0, _apidomCore.isElement)(element)) {
11
+ return undefined;
12
+ }
13
+ return `${element.element.charAt(0).toUpperCase() + element.element.slice(1)}Element`;
14
+ };
15
+
16
+ /**
17
+ * There are unfortunately two `LinkElement` types. One is from base namespace
18
+ * and the other one if from this namespace. `LinkElement` from base namespace
19
+ * is used extremely rarely so it's almost always safe during traversing
20
+ * to assume that `LinkElement` is element from this namespace.
21
+ *
22
+ * To be 100% sure that currently visiting `LinkElement` is from this namespace
23
+ * use `isLinkElement` predicate from this namespace to assert for it.
24
+ * @public
25
+ */
26
+ exports.getNodeType = getNodeType;
27
+ const keyMap = exports.keyMap = {
28
+ CallbackElement: ['content'],
29
+ ComponentsElement: ['content'],
30
+ ContactElement: ['content'],
31
+ DiscriminatorElement: ['content'],
32
+ Encoding: ['content'],
33
+ Example: ['content'],
34
+ ExternalDocumentationElement: ['content'],
35
+ HeaderElement: ['content'],
36
+ InfoElement: ['content'],
37
+ LicenseElement: ['content'],
38
+ MediaTypeElement: ['content'],
39
+ OAuthFlowElement: ['content'],
40
+ OAuthFlowsElement: ['content'],
41
+ OpenApi3_1Element: ['content'],
42
+ OperationElement: ['content'],
43
+ ParameterElement: ['content'],
44
+ PathItemElement: ['content'],
45
+ PathsElement: ['content'],
46
+ ReferenceElement: ['content'],
47
+ RequestBodyElement: ['content'],
48
+ ResponseElement: ['content'],
49
+ ResponsesElement: ['content'],
50
+ SchemaElement: ['content'],
51
+ SecurityRequirementElement: ['content'],
52
+ SecuritySchemeElement: ['content'],
53
+ ServerElement: ['content'],
54
+ ServerVariableElement: ['content'],
55
+ TagElement: ['content'],
56
+ ..._apidomCore.keyMap
57
+ };
@@ -0,0 +1,54 @@
1
+ import { keyMap as keyMapBase, isElement } from '@speclynx/apidom-core';
2
+
3
+ /**
4
+ * @public
5
+ */
6
+ export const getNodeType = element => {
7
+ if (!isElement(element)) {
8
+ return undefined;
9
+ }
10
+ return `${element.element.charAt(0).toUpperCase() + element.element.slice(1)}Element`;
11
+ };
12
+
13
+ /**
14
+ * There are unfortunately two `LinkElement` types. One is from base namespace
15
+ * and the other one if from this namespace. `LinkElement` from base namespace
16
+ * is used extremely rarely so it's almost always safe during traversing
17
+ * to assume that `LinkElement` is element from this namespace.
18
+ *
19
+ * To be 100% sure that currently visiting `LinkElement` is from this namespace
20
+ * use `isLinkElement` predicate from this namespace to assert for it.
21
+ * @public
22
+ */
23
+
24
+ export const keyMap = {
25
+ CallbackElement: ['content'],
26
+ ComponentsElement: ['content'],
27
+ ContactElement: ['content'],
28
+ DiscriminatorElement: ['content'],
29
+ Encoding: ['content'],
30
+ Example: ['content'],
31
+ ExternalDocumentationElement: ['content'],
32
+ HeaderElement: ['content'],
33
+ InfoElement: ['content'],
34
+ LicenseElement: ['content'],
35
+ MediaTypeElement: ['content'],
36
+ OAuthFlowElement: ['content'],
37
+ OAuthFlowsElement: ['content'],
38
+ OpenApi3_1Element: ['content'],
39
+ OperationElement: ['content'],
40
+ ParameterElement: ['content'],
41
+ PathItemElement: ['content'],
42
+ PathsElement: ['content'],
43
+ ReferenceElement: ['content'],
44
+ RequestBodyElement: ['content'],
45
+ ResponseElement: ['content'],
46
+ ResponsesElement: ['content'],
47
+ SchemaElement: ['content'],
48
+ SecurityRequirementElement: ['content'],
49
+ SecuritySchemeElement: ['content'],
50
+ ServerElement: ['content'],
51
+ ServerVariableElement: ['content'],
52
+ TagElement: ['content'],
53
+ ...keyMapBase
54
+ };