@speclynx/apidom-ns-openapi-2 5.0.2 → 5.1.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 +14 -0
- package/dist/apidom-ns-openapi-2.browser.js +163 -47
- package/dist/apidom-ns-openapi-2.browser.min.js +1 -1
- package/package.json +8 -8
- package/src/refractor/plugins/normalize-parameters.cjs +16 -1
- package/src/refractor/plugins/normalize-parameters.mjs +17 -2
- package/src/refractor/plugins/replace-empty-element.cjs +1 -1
- package/src/refractor/plugins/replace-empty-element.mjs +1 -1
- package/src/refractor/visitors/Visitor.cjs +1 -1
- package/src/refractor/visitors/Visitor.mjs +1 -1
- package/src/refractor/visitors/open-api-2/ConsumesVisitor.cjs +1 -0
- package/src/refractor/visitors/open-api-2/ConsumesVisitor.mjs +1 -0
- package/src/refractor/visitors/open-api-2/ProducesVisitor.cjs +1 -0
- package/src/refractor/visitors/open-api-2/ProducesVisitor.mjs +1 -0
- package/src/refractor/visitors/open-api-2/SchemesVisitor.cjs +1 -0
- package/src/refractor/visitors/open-api-2/SchemesVisitor.mjs +1 -0
- package/src/refractor/visitors/open-api-2/operation/ConsumesVisitor.cjs +1 -0
- package/src/refractor/visitors/open-api-2/operation/ConsumesVisitor.mjs +1 -0
- package/src/refractor/visitors/open-api-2/operation/ProducesVisitor.cjs +1 -0
- package/src/refractor/visitors/open-api-2/operation/ProducesVisitor.mjs +1 -0
- package/src/refractor/visitors/open-api-2/operation/SchemesVisitor.cjs +1 -0
- package/src/refractor/visitors/open-api-2/operation/SchemesVisitor.mjs +1 -0
- package/src/refractor/visitors/open-api-2/operation/TagsVisitor.cjs +1 -0
- package/src/refractor/visitors/open-api-2/operation/TagsVisitor.mjs +1 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@speclynx/apidom-ns-openapi-2",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.1.1",
|
|
4
4
|
"description": "OpenAPI 2.0 namespace for ApiDOM.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"apidom",
|
|
@@ -56,12 +56,12 @@
|
|
|
56
56
|
"license": "Apache-2.0",
|
|
57
57
|
"dependencies": {
|
|
58
58
|
"@babel/runtime-corejs3": "^8.0.0",
|
|
59
|
-
"@speclynx/apidom-core": "5.
|
|
60
|
-
"@speclynx/apidom-datamodel": "5.
|
|
61
|
-
"@speclynx/apidom-error": "5.
|
|
62
|
-
"@speclynx/apidom-json-pointer": "5.
|
|
63
|
-
"@speclynx/apidom-ns-json-schema-draft-4": "5.
|
|
64
|
-
"@speclynx/apidom-traverse": "5.
|
|
59
|
+
"@speclynx/apidom-core": "5.1.1",
|
|
60
|
+
"@speclynx/apidom-datamodel": "5.1.1",
|
|
61
|
+
"@speclynx/apidom-error": "5.1.1",
|
|
62
|
+
"@speclynx/apidom-json-pointer": "5.1.1",
|
|
63
|
+
"@speclynx/apidom-ns-json-schema-draft-4": "5.1.1",
|
|
64
|
+
"@speclynx/apidom-traverse": "5.1.1",
|
|
65
65
|
"ramda": "~0.32.0",
|
|
66
66
|
"ramda-adjunct": "^6.1.0",
|
|
67
67
|
"ts-mixer": "^6.0.4"
|
|
@@ -76,5 +76,5 @@
|
|
|
76
76
|
"README.md",
|
|
77
77
|
"CHANGELOG.md"
|
|
78
78
|
],
|
|
79
|
-
"gitHead": "
|
|
79
|
+
"gitHead": "b661f6f038953d118ad09eec0d7da7927db46f5c"
|
|
80
80
|
}
|
|
@@ -54,7 +54,22 @@ const inheritParametersToOperation = (operationElement, pathItemElement) => {
|
|
|
54
54
|
|
|
55
55
|
// prefers the first item if two items compare equal based on the predicate
|
|
56
56
|
const mergedParameters = (0, _ramda.uniqWith)(parameterEquals, [...operationParams, ...pathItemParams]);
|
|
57
|
-
|
|
57
|
+
const originalParameters = operationElement.parameters;
|
|
58
|
+
const mergedElement = new _OperationParameters.default(mergedParameters);
|
|
59
|
+
|
|
60
|
+
// the merged container may replace an existing source container — carry over
|
|
61
|
+
// its meta, attributes, source map and style
|
|
62
|
+
if ((0, _apidomDatamodel.isArrayElement)(originalParameters)) {
|
|
63
|
+
if (!originalParameters.isMetaEmpty) {
|
|
64
|
+
mergedElement.meta = (0, _apidomDatamodel.cloneDeep)(originalParameters.meta);
|
|
65
|
+
}
|
|
66
|
+
if (!originalParameters.isAttributesEmpty) {
|
|
67
|
+
mergedElement.attributes = (0, _apidomDatamodel.cloneDeep)(originalParameters.attributes);
|
|
68
|
+
}
|
|
69
|
+
_apidomDatamodel.SourceMapElement.transfer(originalParameters, mergedElement);
|
|
70
|
+
_apidomDatamodel.StyleElement.transfer(originalParameters, mergedElement);
|
|
71
|
+
}
|
|
72
|
+
operationElement.parameters = mergedElement;
|
|
58
73
|
};
|
|
59
74
|
|
|
60
75
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { uniqWith } from 'ramda';
|
|
2
2
|
import { toValue } from '@speclynx/apidom-core';
|
|
3
|
-
import { isStringElement, isArrayElement } from '@speclynx/apidom-datamodel';
|
|
3
|
+
import { SourceMapElement, StyleElement, cloneDeep, isStringElement, isArrayElement } from '@speclynx/apidom-datamodel';
|
|
4
4
|
import OperationParametersElement from "../../elements/nces/OperationParameters.mjs";
|
|
5
5
|
import NormalizeStorage from "./normalize-storage/index.mjs";
|
|
6
6
|
import { isParameterElement } from "../../predicates.mjs";
|
|
@@ -46,7 +46,22 @@ const inheritParametersToOperation = (operationElement, pathItemElement) => {
|
|
|
46
46
|
|
|
47
47
|
// prefers the first item if two items compare equal based on the predicate
|
|
48
48
|
const mergedParameters = uniqWith(parameterEquals, [...operationParams, ...pathItemParams]);
|
|
49
|
-
operationElement.parameters
|
|
49
|
+
const originalParameters = operationElement.parameters;
|
|
50
|
+
const mergedElement = new OperationParametersElement(mergedParameters);
|
|
51
|
+
|
|
52
|
+
// the merged container may replace an existing source container — carry over
|
|
53
|
+
// its meta, attributes, source map and style
|
|
54
|
+
if (isArrayElement(originalParameters)) {
|
|
55
|
+
if (!originalParameters.isMetaEmpty) {
|
|
56
|
+
mergedElement.meta = cloneDeep(originalParameters.meta);
|
|
57
|
+
}
|
|
58
|
+
if (!originalParameters.isAttributesEmpty) {
|
|
59
|
+
mergedElement.attributes = cloneDeep(originalParameters.attributes);
|
|
60
|
+
}
|
|
61
|
+
SourceMapElement.transfer(originalParameters, mergedElement);
|
|
62
|
+
StyleElement.transfer(originalParameters, mergedElement);
|
|
63
|
+
}
|
|
64
|
+
operationElement.parameters = mergedElement;
|
|
50
65
|
};
|
|
51
66
|
|
|
52
67
|
/**
|
|
@@ -358,7 +358,7 @@ const plugin = () => () => ({
|
|
|
358
358
|
if (typeof elementFactory !== 'function') return;
|
|
359
359
|
const replacement = elementFactory.call({
|
|
360
360
|
context
|
|
361
|
-
}, undefined, element.isMetaEmpty ? undefined : element.meta
|
|
361
|
+
}, undefined, element.isMetaEmpty ? undefined : (0, _apidomDatamodel.cloneDeep)(element.meta), element.isAttributesEmpty ? undefined : (0, _apidomDatamodel.cloneDeep)(element.attributes));
|
|
362
362
|
_apidomDatamodel.SourceMapElement.transfer(element, replacement);
|
|
363
363
|
_apidomDatamodel.StyleElement.transfer(element, replacement);
|
|
364
364
|
path.replaceWith(replacement);
|
|
@@ -348,7 +348,7 @@ const plugin = () => () => ({
|
|
|
348
348
|
if (typeof elementFactory !== 'function') return;
|
|
349
349
|
const replacement = elementFactory.call({
|
|
350
350
|
context
|
|
351
|
-
}, undefined, element.isMetaEmpty ? undefined : element.meta
|
|
351
|
+
}, undefined, element.isMetaEmpty ? undefined : cloneDeep(element.meta), element.isAttributesEmpty ? undefined : cloneDeep(element.attributes));
|
|
352
352
|
SourceMapElement.transfer(element, replacement);
|
|
353
353
|
StyleElement.transfer(element, replacement);
|
|
354
354
|
path.replaceWith(replacement);
|
|
@@ -24,7 +24,7 @@ class Visitor {
|
|
|
24
24
|
if (!from.isMetaEmpty && !to.isMetaEmpty) {
|
|
25
25
|
to.meta = to.meta.merge(from.meta);
|
|
26
26
|
} else if (!from.isMetaEmpty) {
|
|
27
|
-
to.meta = from.meta
|
|
27
|
+
to.meta = (0, _apidomDatamodel.cloneDeep)(from.meta);
|
|
28
28
|
}
|
|
29
29
|
if (!from.isAttributesEmpty && !to.isAttributesEmpty) {
|
|
30
30
|
to.attributes = (0, _apidomCore.deepmerge)(to.attributes, from.attributes);
|
|
@@ -19,7 +19,7 @@ class Visitor {
|
|
|
19
19
|
if (!from.isMetaEmpty && !to.isMetaEmpty) {
|
|
20
20
|
to.meta = to.meta.merge(from.meta);
|
|
21
21
|
} else if (!from.isMetaEmpty) {
|
|
22
|
-
to.meta = from.meta
|
|
22
|
+
to.meta = cloneDeep(from.meta);
|
|
23
23
|
}
|
|
24
24
|
if (!from.isAttributesEmpty && !to.isAttributesEmpty) {
|
|
25
25
|
to.attributes = deepmerge(to.attributes, from.attributes);
|
|
@@ -19,6 +19,7 @@ class ConsumesVisitor extends _FallbackVisitor.default {
|
|
|
19
19
|
ArrayElement(path) {
|
|
20
20
|
const arrayElement = path.node;
|
|
21
21
|
this.element = this.element.concat((0, _apidomDatamodel.cloneDeep)(arrayElement));
|
|
22
|
+
this.copyMetaAndAttributes(arrayElement, this.element);
|
|
22
23
|
path.stop();
|
|
23
24
|
}
|
|
24
25
|
}
|
|
@@ -19,6 +19,7 @@ class ProducesVisitor extends _FallbackVisitor.default {
|
|
|
19
19
|
ArrayElement(path) {
|
|
20
20
|
const arrayElement = path.node;
|
|
21
21
|
this.element = this.element.concat((0, _apidomDatamodel.cloneDeep)(arrayElement));
|
|
22
|
+
this.copyMetaAndAttributes(arrayElement, this.element);
|
|
22
23
|
path.stop();
|
|
23
24
|
}
|
|
24
25
|
}
|
|
@@ -19,6 +19,7 @@ class SchemesVisitor extends _FallbackVisitor.default {
|
|
|
19
19
|
ArrayElement(path) {
|
|
20
20
|
const arrayElement = path.node;
|
|
21
21
|
this.element = this.element.concat((0, _apidomDatamodel.cloneDeep)(arrayElement));
|
|
22
|
+
this.copyMetaAndAttributes(arrayElement, this.element);
|
|
22
23
|
path.stop();
|
|
23
24
|
}
|
|
24
25
|
}
|
|
@@ -19,6 +19,7 @@ class ConsumesVisitor extends _FallbackVisitor.default {
|
|
|
19
19
|
ArrayElement(path) {
|
|
20
20
|
const arrayElement = path.node;
|
|
21
21
|
this.element = this.element.concat((0, _apidomDatamodel.cloneDeep)(arrayElement));
|
|
22
|
+
this.copyMetaAndAttributes(arrayElement, this.element);
|
|
22
23
|
path.stop();
|
|
23
24
|
}
|
|
24
25
|
}
|
|
@@ -19,6 +19,7 @@ class ProducesVisitor extends _FallbackVisitor.default {
|
|
|
19
19
|
ArrayElement(path) {
|
|
20
20
|
const arrayElement = path.node;
|
|
21
21
|
this.element = this.element.concat((0, _apidomDatamodel.cloneDeep)(arrayElement));
|
|
22
|
+
this.copyMetaAndAttributes(arrayElement, this.element);
|
|
22
23
|
path.stop();
|
|
23
24
|
}
|
|
24
25
|
}
|
|
@@ -19,6 +19,7 @@ class SchemesVisitor extends _FallbackVisitor.default {
|
|
|
19
19
|
ArrayElement(path) {
|
|
20
20
|
const arrayElement = path.node;
|
|
21
21
|
this.element = this.element.concat((0, _apidomDatamodel.cloneDeep)(arrayElement));
|
|
22
|
+
this.copyMetaAndAttributes(arrayElement, this.element);
|
|
22
23
|
path.stop();
|
|
23
24
|
}
|
|
24
25
|
}
|
|
@@ -19,6 +19,7 @@ class TagsVisitor extends _FallbackVisitor.default {
|
|
|
19
19
|
ArrayElement(path) {
|
|
20
20
|
const arrayElement = path.node;
|
|
21
21
|
this.element = this.element.concat((0, _apidomDatamodel.cloneDeep)(arrayElement));
|
|
22
|
+
this.copyMetaAndAttributes(arrayElement, this.element);
|
|
22
23
|
path.stop();
|
|
23
24
|
}
|
|
24
25
|
}
|