@speclynx/apidom-ns-openapi-2 1.12.1 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -0
- package/NOTICE +16 -7
- package/README.md +18 -13
- package/dist/apidom-ns-openapi-2.browser.js +9354 -13260
- package/dist/apidom-ns-openapi-2.browser.min.js +1 -1
- package/package.json +10 -9
- package/src/elements/Contact.cjs +2 -2
- package/src/elements/Contact.mjs +1 -1
- package/src/elements/Definitions.cjs +2 -2
- package/src/elements/Definitions.mjs +1 -1
- package/src/elements/Example.cjs +2 -2
- package/src/elements/Example.mjs +1 -1
- package/src/elements/ExternalDocumentation.cjs +2 -2
- package/src/elements/ExternalDocumentation.mjs +1 -1
- package/src/elements/Header.cjs +10 -10
- package/src/elements/Header.mjs +10 -10
- package/src/elements/Headers.cjs +2 -2
- package/src/elements/Headers.mjs +1 -1
- package/src/elements/Info.cjs +2 -2
- package/src/elements/Info.mjs +1 -1
- package/src/elements/Items.cjs +10 -10
- package/src/elements/Items.mjs +10 -10
- package/src/elements/License.cjs +2 -2
- package/src/elements/License.mjs +1 -1
- package/src/elements/Operation.cjs +3 -3
- package/src/elements/Operation.mjs +1 -1
- package/src/elements/Parameter.cjs +11 -11
- package/src/elements/Parameter.mjs +11 -11
- package/src/elements/ParametersDefinitions.cjs +2 -2
- package/src/elements/ParametersDefinitions.mjs +1 -1
- package/src/elements/PathItem.cjs +23 -23
- package/src/elements/PathItem.mjs +22 -22
- package/src/elements/Paths.cjs +2 -2
- package/src/elements/Paths.mjs +1 -1
- package/src/elements/Reference.cjs +2 -2
- package/src/elements/Reference.mjs +1 -1
- package/src/elements/Response.cjs +2 -2
- package/src/elements/Response.mjs +1 -1
- package/src/elements/Responses.cjs +2 -2
- package/src/elements/Responses.mjs +1 -1
- package/src/elements/ResponsesDefinitions.cjs +2 -2
- package/src/elements/ResponsesDefinitions.mjs +1 -1
- package/src/elements/Schema.cjs +43 -8
- package/src/elements/Schema.mjs +43 -9
- package/src/elements/Scopes.cjs +2 -2
- package/src/elements/Scopes.mjs +1 -1
- package/src/elements/SecurityDefinitions.cjs +2 -2
- package/src/elements/SecurityDefinitions.mjs +1 -1
- package/src/elements/SecurityRequirement.cjs +2 -2
- package/src/elements/SecurityRequirement.mjs +1 -1
- package/src/elements/SecurityScheme.cjs +2 -2
- package/src/elements/SecurityScheme.mjs +1 -1
- package/src/elements/Swagger.cjs +2 -2
- package/src/elements/Swagger.mjs +1 -1
- package/src/elements/SwaggerVersion.cjs +2 -2
- package/src/elements/SwaggerVersion.mjs +1 -1
- package/src/elements/Tag.cjs +2 -2
- package/src/elements/Tag.mjs +1 -1
- package/src/elements/Xml.cjs +2 -2
- package/src/elements/Xml.mjs +1 -1
- package/src/elements/nces/OperationConsumes.cjs +2 -2
- package/src/elements/nces/OperationConsumes.mjs +1 -1
- package/src/elements/nces/OperationParameters.cjs +2 -2
- package/src/elements/nces/OperationParameters.mjs +1 -1
- package/src/elements/nces/OperationProduces.cjs +2 -2
- package/src/elements/nces/OperationProduces.mjs +1 -1
- package/src/elements/nces/OperationSchemes.cjs +2 -2
- package/src/elements/nces/OperationSchemes.mjs +1 -1
- package/src/elements/nces/OperationSecurity.cjs +2 -2
- package/src/elements/nces/OperationSecurity.mjs +1 -1
- package/src/elements/nces/OperationTags.cjs +2 -2
- package/src/elements/nces/OperationTags.mjs +1 -1
- package/src/elements/nces/PathItemParameters.cjs +2 -2
- package/src/elements/nces/PathItemParameters.mjs +1 -1
- package/src/elements/nces/SwaggerConsumes.cjs +2 -2
- package/src/elements/nces/SwaggerConsumes.mjs +1 -1
- package/src/elements/nces/SwaggerProduces.cjs +2 -2
- package/src/elements/nces/SwaggerProduces.mjs +1 -1
- package/src/elements/nces/SwaggerSchemes.cjs +2 -2
- package/src/elements/nces/SwaggerSchemes.mjs +1 -1
- package/src/elements/nces/SwaggerSecurity.cjs +2 -2
- package/src/elements/nces/SwaggerSecurity.mjs +1 -1
- package/src/elements/nces/SwaggerTags.cjs +2 -2
- package/src/elements/nces/SwaggerTags.mjs +1 -1
- package/src/index.cjs +65 -45
- package/src/index.mjs +6 -5
- package/src/namespace.mjs +2 -2
- package/src/predicates.cjs +54 -190
- package/src/predicates.mjs +27 -190
- package/src/refractor/index.cjs +279 -17
- package/src/refractor/index.mjs +251 -16
- package/src/refractor/inspect.cjs +157 -0
- package/src/refractor/inspect.mjs +126 -0
- package/src/refractor/plugins/replace-empty-element.cjs +20 -14
- package/src/refractor/plugins/replace-empty-element.mjs +14 -8
- package/src/refractor/predicates.cjs +3 -2
- package/src/refractor/predicates.mjs +2 -1
- package/src/refractor/specification.cjs +41 -12
- package/src/refractor/specification.mjs +41 -12
- package/src/refractor/toolbox.cjs +8 -3
- package/src/refractor/toolbox.mjs +6 -2
- package/src/refractor/visitors/FallbackVisitor.cjs +4 -4
- package/src/refractor/visitors/FallbackVisitor.mjs +4 -4
- package/src/refractor/visitors/SpecificationExtensionVisitor.cjs +4 -4
- package/src/refractor/visitors/SpecificationExtensionVisitor.mjs +4 -4
- package/src/refractor/visitors/SpecificationVisitor.cjs +4 -3
- package/src/refractor/visitors/SpecificationVisitor.mjs +3 -2
- package/src/refractor/visitors/Visitor.cjs +10 -8
- package/src/refractor/visitors/Visitor.mjs +11 -9
- package/src/refractor/visitors/generics/AlternatingVisitor.cjs +3 -3
- package/src/refractor/visitors/generics/AlternatingVisitor.mjs +3 -3
- package/src/refractor/visitors/generics/FixedFieldsVisitor.cjs +10 -7
- package/src/refractor/visitors/generics/FixedFieldsVisitor.mjs +9 -6
- package/src/refractor/visitors/generics/MixedFieldsVisitor.cjs +13 -6
- package/src/refractor/visitors/generics/MixedFieldsVisitor.mjs +13 -6
- package/src/refractor/visitors/generics/PatternedFieldsVisitor.cjs +9 -6
- package/src/refractor/visitors/generics/PatternedFieldsVisitor.mjs +8 -5
- package/src/refractor/visitors/open-api-2/BasePathVisitor.cjs +2 -3
- package/src/refractor/visitors/open-api-2/BasePathVisitor.mjs +2 -3
- package/src/refractor/visitors/open-api-2/ConsumesVisitor.cjs +5 -4
- package/src/refractor/visitors/open-api-2/ConsumesVisitor.mjs +4 -3
- package/src/refractor/visitors/open-api-2/HostVisitor.cjs +2 -3
- package/src/refractor/visitors/open-api-2/HostVisitor.mjs +2 -3
- package/src/refractor/visitors/open-api-2/ProducesVisitor.cjs +5 -4
- package/src/refractor/visitors/open-api-2/ProducesVisitor.mjs +4 -3
- package/src/refractor/visitors/open-api-2/SchemesVisitor.cjs +5 -4
- package/src/refractor/visitors/open-api-2/SchemesVisitor.mjs +4 -3
- package/src/refractor/visitors/open-api-2/SecurityVisitor.cjs +5 -11
- package/src/refractor/visitors/open-api-2/SecurityVisitor.mjs +5 -10
- package/src/refractor/visitors/open-api-2/SwaggerVisitor.cjs +5 -10
- package/src/refractor/visitors/open-api-2/SwaggerVisitor.mjs +6 -10
- package/src/refractor/visitors/open-api-2/TagsVisitor.cjs +5 -11
- package/src/refractor/visitors/open-api-2/TagsVisitor.mjs +5 -10
- package/src/refractor/visitors/open-api-2/bases.cjs +72 -0
- package/src/refractor/visitors/open-api-2/bases.mjs +67 -0
- package/src/refractor/visitors/open-api-2/contact/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/contact/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/definitions/index.cjs +5 -12
- package/src/refractor/visitors/open-api-2/definitions/index.mjs +5 -11
- package/src/refractor/visitors/open-api-2/example/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/example/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/external-documentation/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/external-documentation/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/header/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/header/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/headers/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/headers/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/info/VersionVisitor.cjs +2 -3
- package/src/refractor/visitors/open-api-2/info/VersionVisitor.mjs +2 -3
- package/src/refractor/visitors/open-api-2/info/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/info/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/items/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/items/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/license/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/license/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/operation/ConsumesVisitor.cjs +5 -4
- package/src/refractor/visitors/open-api-2/operation/ConsumesVisitor.mjs +4 -3
- package/src/refractor/visitors/open-api-2/operation/ParametersVisitor.cjs +6 -12
- package/src/refractor/visitors/open-api-2/operation/ParametersVisitor.mjs +6 -11
- package/src/refractor/visitors/open-api-2/operation/ProducesVisitor.cjs +5 -4
- package/src/refractor/visitors/open-api-2/operation/ProducesVisitor.mjs +4 -3
- package/src/refractor/visitors/open-api-2/operation/SchemesVisitor.cjs +5 -4
- package/src/refractor/visitors/open-api-2/operation/SchemesVisitor.mjs +4 -3
- package/src/refractor/visitors/open-api-2/operation/SecurityVisitor.cjs +5 -11
- package/src/refractor/visitors/open-api-2/operation/SecurityVisitor.mjs +5 -10
- package/src/refractor/visitors/open-api-2/operation/TagsVisitor.cjs +5 -4
- package/src/refractor/visitors/open-api-2/operation/TagsVisitor.mjs +4 -3
- package/src/refractor/visitors/open-api-2/operation/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/operation/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/parameter/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/parameter/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/parameters-definitions/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/parameters-definitions/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/path-item/$RefVisitor.cjs +2 -3
- package/src/refractor/visitors/open-api-2/path-item/$RefVisitor.mjs +2 -3
- package/src/refractor/visitors/open-api-2/path-item/ParametersVisitor.cjs +6 -12
- package/src/refractor/visitors/open-api-2/path-item/ParametersVisitor.mjs +6 -11
- package/src/refractor/visitors/open-api-2/path-item/index.cjs +8 -14
- package/src/refractor/visitors/open-api-2/path-item/index.mjs +7 -12
- package/src/refractor/visitors/open-api-2/paths/index.cjs +6 -13
- package/src/refractor/visitors/open-api-2/paths/index.mjs +6 -12
- package/src/refractor/visitors/open-api-2/reference/$RefVisitor.cjs +2 -3
- package/src/refractor/visitors/open-api-2/reference/$RefVisitor.mjs +2 -3
- package/src/refractor/visitors/open-api-2/reference/index.cjs +6 -13
- package/src/refractor/visitors/open-api-2/reference/index.mjs +5 -11
- package/src/refractor/visitors/open-api-2/response/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/response/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/responses/DefaultVisitor.cjs +6 -12
- package/src/refractor/visitors/open-api-2/responses/DefaultVisitor.mjs +6 -11
- package/src/refractor/visitors/open-api-2/responses/index.cjs +8 -14
- package/src/refractor/visitors/open-api-2/responses/index.mjs +8 -13
- package/src/refractor/visitors/open-api-2/responses-definitions/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/responses-definitions/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/schema/AllOfVisitor.cjs +3 -4
- package/src/refractor/visitors/open-api-2/schema/AllOfVisitor.mjs +3 -4
- package/src/refractor/visitors/open-api-2/schema/ItemsVisitor.cjs +9 -15
- package/src/refractor/visitors/open-api-2/schema/ItemsVisitor.mjs +8 -13
- package/src/refractor/visitors/open-api-2/schema/PropertiesVisitor.cjs +3 -4
- package/src/refractor/visitors/open-api-2/schema/PropertiesVisitor.mjs +3 -4
- package/src/refractor/visitors/open-api-2/schema/SchemaOrJSONReferenceVisitor.cjs +3 -4
- package/src/refractor/visitors/open-api-2/schema/SchemaOrJSONReferenceVisitor.mjs +3 -4
- package/src/refractor/visitors/open-api-2/schema/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/schema/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/scopes/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/scopes/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/security-definitions/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/security-definitions/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/security-requirement/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/security-requirement/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/security-scheme/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/security-scheme/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/tag/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/tag/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/xml/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/xml/index.mjs +2 -7
- package/types/apidom-ns-openapi-2.d.ts +541 -565
- package/src/refractor/registration.cjs +0 -87
- package/src/refractor/registration.mjs +0 -56
- package/src/traversal/visitor.cjs +0 -56
- package/src/traversal/visitor.mjs +0 -53
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { ArrayElement, ObjectElement, isStringElement, isElement, isMemberElement, isArrayElement, includesClasses, cloneDeep,
|
|
1
|
+
import { ArrayElement, ObjectElement, isStringElement, isElement, isMemberElement, isArrayElement, includesClasses, cloneDeep, SourceMapElement } from '@speclynx/apidom-datamodel';
|
|
2
|
+
import { toValue } from '@speclynx/apidom-core';
|
|
3
|
+
import { getNodeType } from '@speclynx/apidom-traverse';
|
|
2
4
|
|
|
3
5
|
/**
|
|
4
6
|
* OpenAPI 2.0 specification elements.
|
|
@@ -39,7 +41,6 @@ import SwaggerConsumesElement from "../../elements/nces/SwaggerConsumes.mjs";
|
|
|
39
41
|
import SwaggerProducesElement from "../../elements/nces/SwaggerProduces.mjs";
|
|
40
42
|
import SwaggerSecurityElement from "../../elements/nces/SwaggerSecurity.mjs";
|
|
41
43
|
import SwaggerTagsElement from "../../elements/nces/SwaggerTags.mjs";
|
|
42
|
-
import { getNodeType } from "../../traversal/visitor.mjs";
|
|
43
44
|
/**
|
|
44
45
|
* This plugin is specific to YAML 1.2 format, which allows defining key-value pairs
|
|
45
46
|
* with empty key, empty value, or both. If the value is not provided in YAML format,
|
|
@@ -73,7 +74,7 @@ import { getNodeType } from "../../traversal/visitor.mjs";
|
|
|
73
74
|
* (StringElement)
|
|
74
75
|
* (InfoElement))
|
|
75
76
|
*/
|
|
76
|
-
const isEmptyElement = element => isStringElement(element) && includesClasses(['yaml-e-node', 'yaml-e-scalar']
|
|
77
|
+
const isEmptyElement = element => isStringElement(element) && includesClasses(element, ['yaml-e-node', 'yaml-e-scalar']);
|
|
77
78
|
const schema = {
|
|
78
79
|
// concrete types handling (CTs)
|
|
79
80
|
SwaggerElement: {
|
|
@@ -325,9 +326,12 @@ const findElementFactory = (ancestor, keyName) => {
|
|
|
325
326
|
*/
|
|
326
327
|
const plugin = () => () => ({
|
|
327
328
|
visitor: {
|
|
328
|
-
StringElement(
|
|
329
|
-
|
|
330
|
-
|
|
329
|
+
StringElement(path) {
|
|
330
|
+
const element = path.node;
|
|
331
|
+
if (!isEmptyElement(element)) return;
|
|
332
|
+
|
|
333
|
+
// getAncestorNodes() returns [parent, grandparent, ..., root], so reverse to get [root, ..., parent]
|
|
334
|
+
const lineage = path.getAncestorNodes().reverse().filter(isElement);
|
|
331
335
|
const parentElement = lineage.at(-1);
|
|
332
336
|
let elementFactory;
|
|
333
337
|
let context;
|
|
@@ -340,10 +344,12 @@ const plugin = () => () => ({
|
|
|
340
344
|
}
|
|
341
345
|
|
|
342
346
|
// no element factory found
|
|
343
|
-
if (typeof elementFactory !== 'function') return
|
|
344
|
-
|
|
347
|
+
if (typeof elementFactory !== 'function') return;
|
|
348
|
+
const replacement = elementFactory.call({
|
|
345
349
|
context
|
|
346
350
|
}, undefined, cloneDeep(element.meta), cloneDeep(element.attributes));
|
|
351
|
+
SourceMapElement.transfer(element, replacement);
|
|
352
|
+
path.replaceWith(replacement);
|
|
347
353
|
}
|
|
348
354
|
}
|
|
349
355
|
});
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.isSwaggerExtension = exports.isReferenceLikeElement = void 0;
|
|
5
5
|
var _ramda = require("ramda");
|
|
6
|
+
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
6
7
|
var _apidomCore = require("@speclynx/apidom-core");
|
|
7
8
|
/**
|
|
8
9
|
* @public
|
|
@@ -12,7 +13,7 @@ var _apidomCore = require("@speclynx/apidom-core");
|
|
|
12
13
|
* @public
|
|
13
14
|
*/
|
|
14
15
|
const isSwaggerExtension = element => {
|
|
15
|
-
return (0,
|
|
16
|
+
return (0, _apidomDatamodel.isStringElement)(element.key) && (0, _ramda.startsWith)('x-', (0, _apidomCore.toValue)(element.key));
|
|
16
17
|
};
|
|
17
18
|
|
|
18
19
|
/**
|
|
@@ -20,6 +21,6 @@ const isSwaggerExtension = element => {
|
|
|
20
21
|
*/
|
|
21
22
|
exports.isSwaggerExtension = isSwaggerExtension;
|
|
22
23
|
const isReferenceLikeElement = element => {
|
|
23
|
-
return (0,
|
|
24
|
+
return (0, _apidomDatamodel.isObjectElement)(element) && element.hasKey('$ref');
|
|
24
25
|
};
|
|
25
26
|
exports.isReferenceLikeElement = isReferenceLikeElement;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { startsWith } from 'ramda';
|
|
2
|
-
import { isStringElement,
|
|
2
|
+
import { isStringElement, isObjectElement } from '@speclynx/apidom-datamodel';
|
|
3
|
+
import { toValue } from '@speclynx/apidom-core';
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* @public
|
|
@@ -84,6 +84,7 @@ const specification = {
|
|
|
84
84
|
// OpenAPI 2 specific visitors
|
|
85
85
|
Swagger: {
|
|
86
86
|
$visitor: _index.default,
|
|
87
|
+
element: 'swagger',
|
|
87
88
|
fixedFields: {
|
|
88
89
|
swagger: _SwaggerVisitor.default,
|
|
89
90
|
info: {
|
|
@@ -118,6 +119,7 @@ const specification = {
|
|
|
118
119
|
},
|
|
119
120
|
Info: {
|
|
120
121
|
$visitor: _index2.default,
|
|
122
|
+
element: 'info',
|
|
121
123
|
fixedFields: {
|
|
122
124
|
title: {
|
|
123
125
|
$ref: '#/visitors/value'
|
|
@@ -139,6 +141,7 @@ const specification = {
|
|
|
139
141
|
},
|
|
140
142
|
Contact: {
|
|
141
143
|
$visitor: _index3.default,
|
|
144
|
+
element: 'contact',
|
|
142
145
|
fixedFields: {
|
|
143
146
|
name: {
|
|
144
147
|
$ref: '#/visitors/value'
|
|
@@ -153,6 +156,7 @@ const specification = {
|
|
|
153
156
|
},
|
|
154
157
|
License: {
|
|
155
158
|
$visitor: _index4.default,
|
|
159
|
+
element: 'license',
|
|
156
160
|
fixedFields: {
|
|
157
161
|
name: {
|
|
158
162
|
$ref: '#/visitors/value'
|
|
@@ -163,10 +167,12 @@ const specification = {
|
|
|
163
167
|
}
|
|
164
168
|
},
|
|
165
169
|
Paths: {
|
|
166
|
-
$visitor: _index5.default
|
|
170
|
+
$visitor: _index5.default,
|
|
171
|
+
element: 'paths'
|
|
167
172
|
},
|
|
168
173
|
PathItem: {
|
|
169
174
|
$visitor: _index6.default,
|
|
175
|
+
element: 'pathItem',
|
|
170
176
|
fixedFields: {
|
|
171
177
|
$ref: _$RefVisitor.default,
|
|
172
178
|
get: {
|
|
@@ -195,6 +201,7 @@ const specification = {
|
|
|
195
201
|
},
|
|
196
202
|
Operation: {
|
|
197
203
|
$visitor: _index7.default,
|
|
204
|
+
element: 'operation',
|
|
198
205
|
fixedFields: {
|
|
199
206
|
tags: _TagsVisitor2.default,
|
|
200
207
|
summary: {
|
|
@@ -224,6 +231,7 @@ const specification = {
|
|
|
224
231
|
},
|
|
225
232
|
ExternalDocumentation: {
|
|
226
233
|
$visitor: _index8.default,
|
|
234
|
+
element: 'externalDocumentation',
|
|
227
235
|
fixedFields: {
|
|
228
236
|
description: {
|
|
229
237
|
$ref: '#/visitors/value'
|
|
@@ -235,6 +243,7 @@ const specification = {
|
|
|
235
243
|
},
|
|
236
244
|
Parameter: {
|
|
237
245
|
$visitor: _index9.default,
|
|
246
|
+
element: 'parameter',
|
|
238
247
|
fixedFields: {
|
|
239
248
|
name: {
|
|
240
249
|
$ref: '#/visitors/value'
|
|
@@ -248,7 +257,8 @@ const specification = {
|
|
|
248
257
|
type: jsonSchemaFixedFields.type,
|
|
249
258
|
format: jsonSchemaFixedFields.format,
|
|
250
259
|
items: {
|
|
251
|
-
$
|
|
260
|
+
$visitor: _index0.default,
|
|
261
|
+
alias: 'itemsField'
|
|
252
262
|
},
|
|
253
263
|
collectionFormat: {
|
|
254
264
|
$ref: '#/visitors/value'
|
|
@@ -270,11 +280,13 @@ const specification = {
|
|
|
270
280
|
},
|
|
271
281
|
Items: {
|
|
272
282
|
$visitor: _index0.default,
|
|
283
|
+
element: 'items',
|
|
273
284
|
fixedFields: {
|
|
274
285
|
type: jsonSchemaFixedFields.type,
|
|
275
286
|
format: jsonSchemaFixedFields.format,
|
|
276
287
|
items: {
|
|
277
|
-
$
|
|
288
|
+
$visitor: _index0.default,
|
|
289
|
+
alias: 'itemsField'
|
|
278
290
|
},
|
|
279
291
|
collectionFormat: {
|
|
280
292
|
$ref: '#/visitors/value'
|
|
@@ -296,12 +308,14 @@ const specification = {
|
|
|
296
308
|
},
|
|
297
309
|
Responses: {
|
|
298
310
|
$visitor: _index1.default,
|
|
311
|
+
element: 'responses',
|
|
299
312
|
fixedFields: {
|
|
300
313
|
default: _DefaultVisitor.default
|
|
301
314
|
}
|
|
302
315
|
},
|
|
303
316
|
Response: {
|
|
304
317
|
$visitor: _index10.default,
|
|
318
|
+
element: 'response',
|
|
305
319
|
fixedFields: {
|
|
306
320
|
description: {
|
|
307
321
|
$ref: '#/visitors/value'
|
|
@@ -316,19 +330,23 @@ const specification = {
|
|
|
316
330
|
}
|
|
317
331
|
},
|
|
318
332
|
Headers: {
|
|
319
|
-
$visitor: _index11.default
|
|
333
|
+
$visitor: _index11.default,
|
|
334
|
+
element: 'headers'
|
|
320
335
|
},
|
|
321
336
|
Example: {
|
|
322
|
-
$visitor: _index12.default
|
|
337
|
+
$visitor: _index12.default,
|
|
338
|
+
element: 'example'
|
|
323
339
|
},
|
|
324
340
|
Header: {
|
|
325
341
|
$visitor: _index13.default,
|
|
342
|
+
element: 'header',
|
|
326
343
|
fixedFields: {
|
|
327
344
|
description: jsonSchemaFixedFields.description,
|
|
328
345
|
type: jsonSchemaFixedFields.type,
|
|
329
346
|
format: jsonSchemaFixedFields.format,
|
|
330
347
|
items: {
|
|
331
|
-
$
|
|
348
|
+
$visitor: _index0.default,
|
|
349
|
+
alias: 'itemsField'
|
|
332
350
|
},
|
|
333
351
|
collectionFormat: {
|
|
334
352
|
$ref: '#/visitors/value'
|
|
@@ -350,6 +368,7 @@ const specification = {
|
|
|
350
368
|
},
|
|
351
369
|
Tag: {
|
|
352
370
|
$visitor: _index14.default,
|
|
371
|
+
element: 'tag',
|
|
353
372
|
fixedFields: {
|
|
354
373
|
name: {
|
|
355
374
|
$ref: '#/visitors/value'
|
|
@@ -364,12 +383,14 @@ const specification = {
|
|
|
364
383
|
},
|
|
365
384
|
Reference: {
|
|
366
385
|
$visitor: _index15.default,
|
|
386
|
+
element: 'reference',
|
|
367
387
|
fixedFields: {
|
|
368
388
|
$ref: _$RefVisitor2.default
|
|
369
389
|
}
|
|
370
390
|
},
|
|
371
391
|
Schema: {
|
|
372
392
|
$visitor: _index16.default,
|
|
393
|
+
element: 'schema',
|
|
373
394
|
fixedFields: {
|
|
374
395
|
// the following properties are taken directly from the JSON Schema definition and follow the same specifications
|
|
375
396
|
format: jsonSchemaFixedFields.format,
|
|
@@ -415,6 +436,7 @@ const specification = {
|
|
|
415
436
|
},
|
|
416
437
|
XML: {
|
|
417
438
|
$visitor: _index17.default,
|
|
439
|
+
element: 'xml',
|
|
418
440
|
fixedFields: {
|
|
419
441
|
name: {
|
|
420
442
|
$ref: '#/visitors/value'
|
|
@@ -434,19 +456,24 @@ const specification = {
|
|
|
434
456
|
}
|
|
435
457
|
},
|
|
436
458
|
Definitions: {
|
|
437
|
-
$visitor: _index18.default
|
|
459
|
+
$visitor: _index18.default,
|
|
460
|
+
element: 'definitions'
|
|
438
461
|
},
|
|
439
462
|
ParametersDefinitions: {
|
|
440
|
-
$visitor: _index20.default
|
|
463
|
+
$visitor: _index20.default,
|
|
464
|
+
element: 'parametersDefinitions'
|
|
441
465
|
},
|
|
442
466
|
ResponsesDefinitions: {
|
|
443
|
-
$visitor: _index19.default
|
|
467
|
+
$visitor: _index19.default,
|
|
468
|
+
element: 'responsesDefinitions'
|
|
444
469
|
},
|
|
445
470
|
SecurityDefinitions: {
|
|
446
|
-
$visitor: _index21.default
|
|
471
|
+
$visitor: _index21.default,
|
|
472
|
+
element: 'securityDefinitions'
|
|
447
473
|
},
|
|
448
474
|
SecurityScheme: {
|
|
449
475
|
$visitor: _index22.default,
|
|
476
|
+
element: 'securityScheme',
|
|
450
477
|
fixedFields: {
|
|
451
478
|
type: {
|
|
452
479
|
$ref: '#/visitors/value'
|
|
@@ -475,10 +502,12 @@ const specification = {
|
|
|
475
502
|
}
|
|
476
503
|
},
|
|
477
504
|
Scopes: {
|
|
478
|
-
$visitor: _index23.default
|
|
505
|
+
$visitor: _index23.default,
|
|
506
|
+
element: 'scopes'
|
|
479
507
|
},
|
|
480
508
|
SecurityRequirement: {
|
|
481
|
-
$visitor: _index24.default
|
|
509
|
+
$visitor: _index24.default,
|
|
510
|
+
element: 'securityRequirement'
|
|
482
511
|
}
|
|
483
512
|
},
|
|
484
513
|
extension: {
|
|
@@ -78,6 +78,7 @@ const specification = {
|
|
|
78
78
|
// OpenAPI 2 specific visitors
|
|
79
79
|
Swagger: {
|
|
80
80
|
$visitor: SwaggerVisitor,
|
|
81
|
+
element: 'swagger',
|
|
81
82
|
fixedFields: {
|
|
82
83
|
swagger: SwaggerSwaggerVisitor,
|
|
83
84
|
info: {
|
|
@@ -112,6 +113,7 @@ const specification = {
|
|
|
112
113
|
},
|
|
113
114
|
Info: {
|
|
114
115
|
$visitor: InfoVisitor,
|
|
116
|
+
element: 'info',
|
|
115
117
|
fixedFields: {
|
|
116
118
|
title: {
|
|
117
119
|
$ref: '#/visitors/value'
|
|
@@ -133,6 +135,7 @@ const specification = {
|
|
|
133
135
|
},
|
|
134
136
|
Contact: {
|
|
135
137
|
$visitor: ContactVisitor,
|
|
138
|
+
element: 'contact',
|
|
136
139
|
fixedFields: {
|
|
137
140
|
name: {
|
|
138
141
|
$ref: '#/visitors/value'
|
|
@@ -147,6 +150,7 @@ const specification = {
|
|
|
147
150
|
},
|
|
148
151
|
License: {
|
|
149
152
|
$visitor: LicenseVisitor,
|
|
153
|
+
element: 'license',
|
|
150
154
|
fixedFields: {
|
|
151
155
|
name: {
|
|
152
156
|
$ref: '#/visitors/value'
|
|
@@ -157,10 +161,12 @@ const specification = {
|
|
|
157
161
|
}
|
|
158
162
|
},
|
|
159
163
|
Paths: {
|
|
160
|
-
$visitor: PathsVisitor
|
|
164
|
+
$visitor: PathsVisitor,
|
|
165
|
+
element: 'paths'
|
|
161
166
|
},
|
|
162
167
|
PathItem: {
|
|
163
168
|
$visitor: PathItemVisitor,
|
|
169
|
+
element: 'pathItem',
|
|
164
170
|
fixedFields: {
|
|
165
171
|
$ref: PathItem$RefVisitor,
|
|
166
172
|
get: {
|
|
@@ -189,6 +195,7 @@ const specification = {
|
|
|
189
195
|
},
|
|
190
196
|
Operation: {
|
|
191
197
|
$visitor: OperationVisitor,
|
|
198
|
+
element: 'operation',
|
|
192
199
|
fixedFields: {
|
|
193
200
|
tags: OperationTagsVisitor,
|
|
194
201
|
summary: {
|
|
@@ -218,6 +225,7 @@ const specification = {
|
|
|
218
225
|
},
|
|
219
226
|
ExternalDocumentation: {
|
|
220
227
|
$visitor: ExternalDocumentationElement,
|
|
228
|
+
element: 'externalDocumentation',
|
|
221
229
|
fixedFields: {
|
|
222
230
|
description: {
|
|
223
231
|
$ref: '#/visitors/value'
|
|
@@ -229,6 +237,7 @@ const specification = {
|
|
|
229
237
|
},
|
|
230
238
|
Parameter: {
|
|
231
239
|
$visitor: ParameterVisitor,
|
|
240
|
+
element: 'parameter',
|
|
232
241
|
fixedFields: {
|
|
233
242
|
name: {
|
|
234
243
|
$ref: '#/visitors/value'
|
|
@@ -242,7 +251,8 @@ const specification = {
|
|
|
242
251
|
type: jsonSchemaFixedFields.type,
|
|
243
252
|
format: jsonSchemaFixedFields.format,
|
|
244
253
|
items: {
|
|
245
|
-
$
|
|
254
|
+
$visitor: ItemsVisitor,
|
|
255
|
+
alias: 'itemsField'
|
|
246
256
|
},
|
|
247
257
|
collectionFormat: {
|
|
248
258
|
$ref: '#/visitors/value'
|
|
@@ -264,11 +274,13 @@ const specification = {
|
|
|
264
274
|
},
|
|
265
275
|
Items: {
|
|
266
276
|
$visitor: ItemsVisitor,
|
|
277
|
+
element: 'items',
|
|
267
278
|
fixedFields: {
|
|
268
279
|
type: jsonSchemaFixedFields.type,
|
|
269
280
|
format: jsonSchemaFixedFields.format,
|
|
270
281
|
items: {
|
|
271
|
-
$
|
|
282
|
+
$visitor: ItemsVisitor,
|
|
283
|
+
alias: 'itemsField'
|
|
272
284
|
},
|
|
273
285
|
collectionFormat: {
|
|
274
286
|
$ref: '#/visitors/value'
|
|
@@ -290,12 +302,14 @@ const specification = {
|
|
|
290
302
|
},
|
|
291
303
|
Responses: {
|
|
292
304
|
$visitor: ResponsesVisitor,
|
|
305
|
+
element: 'responses',
|
|
293
306
|
fixedFields: {
|
|
294
307
|
default: ResponsesDefaultVisitor
|
|
295
308
|
}
|
|
296
309
|
},
|
|
297
310
|
Response: {
|
|
298
311
|
$visitor: ResponseVisitor,
|
|
312
|
+
element: 'response',
|
|
299
313
|
fixedFields: {
|
|
300
314
|
description: {
|
|
301
315
|
$ref: '#/visitors/value'
|
|
@@ -310,19 +324,23 @@ const specification = {
|
|
|
310
324
|
}
|
|
311
325
|
},
|
|
312
326
|
Headers: {
|
|
313
|
-
$visitor: HeadersVisitor
|
|
327
|
+
$visitor: HeadersVisitor,
|
|
328
|
+
element: 'headers'
|
|
314
329
|
},
|
|
315
330
|
Example: {
|
|
316
|
-
$visitor: ExampleVisitor
|
|
331
|
+
$visitor: ExampleVisitor,
|
|
332
|
+
element: 'example'
|
|
317
333
|
},
|
|
318
334
|
Header: {
|
|
319
335
|
$visitor: HeaderVisitor,
|
|
336
|
+
element: 'header',
|
|
320
337
|
fixedFields: {
|
|
321
338
|
description: jsonSchemaFixedFields.description,
|
|
322
339
|
type: jsonSchemaFixedFields.type,
|
|
323
340
|
format: jsonSchemaFixedFields.format,
|
|
324
341
|
items: {
|
|
325
|
-
$
|
|
342
|
+
$visitor: ItemsVisitor,
|
|
343
|
+
alias: 'itemsField'
|
|
326
344
|
},
|
|
327
345
|
collectionFormat: {
|
|
328
346
|
$ref: '#/visitors/value'
|
|
@@ -344,6 +362,7 @@ const specification = {
|
|
|
344
362
|
},
|
|
345
363
|
Tag: {
|
|
346
364
|
$visitor: TagVisitor,
|
|
365
|
+
element: 'tag',
|
|
347
366
|
fixedFields: {
|
|
348
367
|
name: {
|
|
349
368
|
$ref: '#/visitors/value'
|
|
@@ -358,12 +377,14 @@ const specification = {
|
|
|
358
377
|
},
|
|
359
378
|
Reference: {
|
|
360
379
|
$visitor: ReferenceVisitor,
|
|
380
|
+
element: 'reference',
|
|
361
381
|
fixedFields: {
|
|
362
382
|
$ref: Reference$RefVisitor
|
|
363
383
|
}
|
|
364
384
|
},
|
|
365
385
|
Schema: {
|
|
366
386
|
$visitor: SchemaVisitor,
|
|
387
|
+
element: 'schema',
|
|
367
388
|
fixedFields: {
|
|
368
389
|
// the following properties are taken directly from the JSON Schema definition and follow the same specifications
|
|
369
390
|
format: jsonSchemaFixedFields.format,
|
|
@@ -409,6 +430,7 @@ const specification = {
|
|
|
409
430
|
},
|
|
410
431
|
XML: {
|
|
411
432
|
$visitor: XmlVisitor,
|
|
433
|
+
element: 'xml',
|
|
412
434
|
fixedFields: {
|
|
413
435
|
name: {
|
|
414
436
|
$ref: '#/visitors/value'
|
|
@@ -428,19 +450,24 @@ const specification = {
|
|
|
428
450
|
}
|
|
429
451
|
},
|
|
430
452
|
Definitions: {
|
|
431
|
-
$visitor: DefinitionsVisitor
|
|
453
|
+
$visitor: DefinitionsVisitor,
|
|
454
|
+
element: 'definitions'
|
|
432
455
|
},
|
|
433
456
|
ParametersDefinitions: {
|
|
434
|
-
$visitor: ParametersDefinitionsVisitor
|
|
457
|
+
$visitor: ParametersDefinitionsVisitor,
|
|
458
|
+
element: 'parametersDefinitions'
|
|
435
459
|
},
|
|
436
460
|
ResponsesDefinitions: {
|
|
437
|
-
$visitor: ResponsesDefinitionsVisitor
|
|
461
|
+
$visitor: ResponsesDefinitionsVisitor,
|
|
462
|
+
element: 'responsesDefinitions'
|
|
438
463
|
},
|
|
439
464
|
SecurityDefinitions: {
|
|
440
|
-
$visitor: SecurityDefinitionsVisitor
|
|
465
|
+
$visitor: SecurityDefinitionsVisitor,
|
|
466
|
+
element: 'securityDefinitions'
|
|
441
467
|
},
|
|
442
468
|
SecurityScheme: {
|
|
443
469
|
$visitor: SecuritySchemeVisitor,
|
|
470
|
+
element: 'securityScheme',
|
|
444
471
|
fixedFields: {
|
|
445
472
|
type: {
|
|
446
473
|
$ref: '#/visitors/value'
|
|
@@ -469,10 +496,12 @@ const specification = {
|
|
|
469
496
|
}
|
|
470
497
|
},
|
|
471
498
|
Scopes: {
|
|
472
|
-
$visitor: ScopesVisitor
|
|
499
|
+
$visitor: ScopesVisitor,
|
|
500
|
+
element: 'scopes'
|
|
473
501
|
},
|
|
474
502
|
SecurityRequirement: {
|
|
475
|
-
$visitor: SecurityRequirementVisitor
|
|
503
|
+
$visitor: SecurityRequirementVisitor,
|
|
504
|
+
element: 'securityRequirement'
|
|
476
505
|
}
|
|
477
506
|
},
|
|
478
507
|
extension: {
|
|
@@ -4,17 +4,22 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
|
|
|
4
4
|
var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopRequireWildcard").default;
|
|
5
5
|
exports.__esModule = true;
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
var
|
|
7
|
+
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
8
8
|
var openApi2Predicates = _interopRequireWildcard(require("../predicates.cjs"));
|
|
9
9
|
var refractorPredicates = _interopRequireWildcard(require("./predicates.cjs"));
|
|
10
10
|
var _namespace = _interopRequireDefault(require("../namespace.cjs"));
|
|
11
|
+
/**
|
|
12
|
+
* @public
|
|
13
|
+
*/
|
|
14
|
+
|
|
11
15
|
const createToolbox = () => {
|
|
12
|
-
const namespace =
|
|
16
|
+
const namespace = new _apidomDatamodel.Namespace();
|
|
13
17
|
const predicates = {
|
|
14
18
|
...refractorPredicates,
|
|
15
19
|
...openApi2Predicates,
|
|
16
|
-
isStringElement:
|
|
20
|
+
isStringElement: _apidomDatamodel.isStringElement
|
|
17
21
|
};
|
|
22
|
+
namespace.use(_namespace.default);
|
|
18
23
|
return {
|
|
19
24
|
predicates,
|
|
20
25
|
namespace
|
|
@@ -1,14 +1,18 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isStringElement, Namespace } from '@speclynx/apidom-datamodel';
|
|
2
2
|
import * as openApi2Predicates from "../predicates.mjs";
|
|
3
3
|
import * as refractorPredicates from "./predicates.mjs";
|
|
4
4
|
import openApi2Namespace from "../namespace.mjs";
|
|
5
|
+
/**
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
5
8
|
const createToolbox = () => {
|
|
6
|
-
const namespace =
|
|
9
|
+
const namespace = new Namespace();
|
|
7
10
|
const predicates = {
|
|
8
11
|
...refractorPredicates,
|
|
9
12
|
...openApi2Predicates,
|
|
10
13
|
isStringElement
|
|
11
14
|
};
|
|
15
|
+
namespace.use(openApi2Namespace);
|
|
12
16
|
return {
|
|
13
17
|
predicates,
|
|
14
18
|
namespace
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
4
|
exports.__esModule = true;
|
|
5
5
|
exports.default = void 0;
|
|
6
|
-
var
|
|
6
|
+
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
7
7
|
var _Visitor = _interopRequireDefault(require("./Visitor.cjs"));
|
|
8
8
|
/**
|
|
9
9
|
* This visitor is responsible for falling back to current traversed element
|
|
@@ -16,9 +16,9 @@ var _Visitor = _interopRequireDefault(require("./Visitor.cjs"));
|
|
|
16
16
|
* @public
|
|
17
17
|
*/
|
|
18
18
|
class FallbackVisitor extends _Visitor.default {
|
|
19
|
-
enter(
|
|
20
|
-
this.element = (0,
|
|
21
|
-
|
|
19
|
+
enter(path) {
|
|
20
|
+
this.element = (0, _apidomDatamodel.cloneDeep)(path.node);
|
|
21
|
+
path.stop();
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
var _default = exports.default = FallbackVisitor;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { cloneDeep } from '@speclynx/apidom-datamodel';
|
|
2
2
|
import Visitor from "./Visitor.mjs";
|
|
3
3
|
/**
|
|
4
4
|
* This visitor is responsible for falling back to current traversed element
|
|
@@ -10,9 +10,9 @@ import Visitor from "./Visitor.mjs";
|
|
|
10
10
|
* @public
|
|
11
11
|
*/
|
|
12
12
|
class FallbackVisitor extends Visitor {
|
|
13
|
-
enter(
|
|
14
|
-
this.element = cloneDeep(
|
|
15
|
-
|
|
13
|
+
enter(path) {
|
|
14
|
+
this.element = cloneDeep(path.node);
|
|
15
|
+
path.stop();
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
export default FallbackVisitor;
|
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
4
|
exports.__esModule = true;
|
|
5
5
|
exports.default = void 0;
|
|
6
|
-
var
|
|
6
|
+
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
7
7
|
var _SpecificationVisitor = _interopRequireDefault(require("./SpecificationVisitor.cjs"));
|
|
8
8
|
/**
|
|
9
9
|
* @public
|
|
10
10
|
*/
|
|
11
11
|
class SpecificationExtensionVisitor extends _SpecificationVisitor.default {
|
|
12
|
-
MemberElement(
|
|
13
|
-
this.element = (0,
|
|
12
|
+
MemberElement(path) {
|
|
13
|
+
this.element = (0, _apidomDatamodel.cloneDeep)(path.node);
|
|
14
14
|
this.element.classes.push('specification-extension');
|
|
15
|
-
|
|
15
|
+
path.stop();
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
var _default = exports.default = SpecificationExtensionVisitor;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { cloneDeep } from '@speclynx/apidom-datamodel';
|
|
2
2
|
import SpecificationVisitor from "./SpecificationVisitor.mjs";
|
|
3
3
|
/**
|
|
4
4
|
* @public
|
|
5
5
|
*/
|
|
6
6
|
class SpecificationExtensionVisitor extends SpecificationVisitor {
|
|
7
|
-
MemberElement(
|
|
8
|
-
this.element = cloneDeep(
|
|
7
|
+
MemberElement(path) {
|
|
8
|
+
this.element = cloneDeep(path.node);
|
|
9
9
|
this.element.classes.push('specification-extension');
|
|
10
|
-
|
|
10
|
+
path.stop();
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
13
|
export default SpecificationExtensionVisitor;
|
|
@@ -5,7 +5,8 @@ exports.__esModule = true;
|
|
|
5
5
|
exports.default = void 0;
|
|
6
6
|
var _ramda = require("ramda");
|
|
7
7
|
var _ramdaAdjunct = require("ramda-adjunct");
|
|
8
|
-
var
|
|
8
|
+
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
9
|
+
var _apidomTraverse = require("@speclynx/apidom-traverse");
|
|
9
10
|
var _Visitor = _interopRequireDefault(require("./Visitor.cjs"));
|
|
10
11
|
var _FallbackVisitor = _interopRequireDefault(require("./FallbackVisitor.cjs"));
|
|
11
12
|
/**
|
|
@@ -65,9 +66,9 @@ class SpecificationVisitor extends _Visitor.default {
|
|
|
65
66
|
*/
|
|
66
67
|
const visitor = this.retrieveVisitorInstance(specPath, options);
|
|
67
68
|
if (visitor instanceof _FallbackVisitor.default && visitor?.constructor === _FallbackVisitor.default) {
|
|
68
|
-
return (0,
|
|
69
|
+
return (0, _apidomDatamodel.cloneDeep)(element);
|
|
69
70
|
}
|
|
70
|
-
(0,
|
|
71
|
+
(0, _apidomTraverse.traverse)(element, visitor);
|
|
71
72
|
return visitor.element;
|
|
72
73
|
}
|
|
73
74
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { pathSatisfies, path, pick } from 'ramda';
|
|
2
2
|
import { isFunction } from 'ramda-adjunct';
|
|
3
|
-
import {
|
|
3
|
+
import { cloneDeep } from '@speclynx/apidom-datamodel';
|
|
4
|
+
import { traverse } from '@speclynx/apidom-traverse';
|
|
4
5
|
import Visitor from "./Visitor.mjs";
|
|
5
6
|
import FallbackVisitor from "./FallbackVisitor.mjs";
|
|
6
7
|
/**
|
|
@@ -61,7 +62,7 @@ class SpecificationVisitor extends Visitor {
|
|
|
61
62
|
if (visitor instanceof FallbackVisitor && visitor?.constructor === FallbackVisitor) {
|
|
62
63
|
return cloneDeep(element);
|
|
63
64
|
}
|
|
64
|
-
|
|
65
|
+
traverse(element, visitor);
|
|
65
66
|
return visitor.element;
|
|
66
67
|
}
|
|
67
68
|
}
|