@swagger-api/apidom-ns-openapi-3-0 0.82.2 → 0.84.0
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 +8 -0
- package/cjs/refractor/plugins/replace-empty-element.cjs +22 -33
- package/cjs/refractor/visitors/open-api-3-0/components/CallbacksVisitor.cjs +0 -1
- package/cjs/refractor/visitors/open-api-3-0/components/ExamplesVisitor.cjs +0 -1
- package/cjs/refractor/visitors/open-api-3-0/components/HeadersVisitor.cjs +0 -1
- package/cjs/refractor/visitors/open-api-3-0/components/LinksVisitor.cjs +0 -1
- package/cjs/refractor/visitors/open-api-3-0/components/ParametersVisitor.cjs +0 -1
- package/cjs/refractor/visitors/open-api-3-0/components/RequestBodiesVisitor.cjs +0 -1
- package/cjs/refractor/visitors/open-api-3-0/components/ResponsesVisitor.cjs +0 -1
- package/cjs/refractor/visitors/open-api-3-0/components/SchemasVisitor.cjs +0 -1
- package/cjs/refractor/visitors/open-api-3-0/components/SecuritySchemesVisitor.cjs +0 -1
- package/cjs/refractor/visitors/open-api-3-0/response/HeadersVisitor.cjs +0 -1
- package/cjs/refractor/visitors/open-api-3-0/response/LinksVisitor.cjs +0 -1
- package/dist/apidom-ns-openapi-3-0.browser.js +7627 -7460
- package/dist/apidom-ns-openapi-3-0.browser.min.js +1 -1
- package/es/refractor/plugins/replace-empty-element.mjs +23 -34
- package/es/refractor/visitors/open-api-3-0/components/CallbacksVisitor.mjs +0 -1
- package/es/refractor/visitors/open-api-3-0/components/ExamplesVisitor.mjs +0 -1
- package/es/refractor/visitors/open-api-3-0/components/HeadersVisitor.mjs +0 -1
- package/es/refractor/visitors/open-api-3-0/components/LinksVisitor.mjs +0 -1
- package/es/refractor/visitors/open-api-3-0/components/ParametersVisitor.mjs +0 -1
- package/es/refractor/visitors/open-api-3-0/components/RequestBodiesVisitor.mjs +0 -1
- package/es/refractor/visitors/open-api-3-0/components/ResponsesVisitor.mjs +0 -1
- package/es/refractor/visitors/open-api-3-0/components/SchemasVisitor.mjs +0 -1
- package/es/refractor/visitors/open-api-3-0/components/SecuritySchemesVisitor.mjs +0 -1
- package/es/refractor/visitors/open-api-3-0/response/HeadersVisitor.mjs +0 -1
- package/es/refractor/visitors/open-api-3-0/response/LinksVisitor.mjs +0 -1
- package/package.json +6 -6
- package/types/dist.d.ts +2 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ArrayElement, ObjectElement, isStringElement, isArrayElement, isElement, isMemberElement, includesClasses, cloneDeep, toValue } from '@swagger-api/apidom-core';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* OpenAPI 3.0.3 specification elements.
|
|
@@ -588,39 +588,28 @@ const findElementFactory = (ancestor, keyName) => {
|
|
|
588
588
|
const keyMapping = schema[elementType] || schema[toValue(ancestor.classes.first)];
|
|
589
589
|
return typeof keyMapping === 'undefined' ? undefined : Object.prototype.hasOwnProperty.call(keyMapping, '[key: *]') ? keyMapping['[key: *]'] : keyMapping[keyName];
|
|
590
590
|
};
|
|
591
|
-
const plugin = () => () => {
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
context: ancestor
|
|
606
|
-
}, undefined, cloneDeep(originalValue.meta), cloneDeep(originalValue.attributes)), cloneDeep(element.meta), cloneDeep(element.attributes));
|
|
607
|
-
},
|
|
608
|
-
StringElement(element, ...rest) {
|
|
609
|
-
if (!isEmptyElement(element)) return undefined;
|
|
610
|
-
const [,,, ancestors] = rest;
|
|
611
|
-
const ancestor = ancestors[ancestors.length - 1]; // @TODO(vladimir.gorej@gmail.com): can be replaced by Array.prototype.at in future
|
|
612
|
-
|
|
613
|
-
// we're only interested in empty elements in ArrayElements
|
|
614
|
-
if (!isArrayElement(ancestor)) return undefined;
|
|
615
|
-
const elementFactory = findElementFactory(ancestor, '<*>');
|
|
616
|
-
|
|
617
|
-
// no element factory found
|
|
618
|
-
if (typeof elementFactory === 'undefined') return undefined;
|
|
619
|
-
return elementFactory.call({
|
|
620
|
-
context: element
|
|
621
|
-
}, undefined, cloneDeep(element.meta), cloneDeep(element.attributes));
|
|
591
|
+
const plugin = () => () => ({
|
|
592
|
+
visitor: {
|
|
593
|
+
StringElement(element, key, parent, path, ancestors) {
|
|
594
|
+
if (!isEmptyElement(element)) return undefined;
|
|
595
|
+
const lineage = [...ancestors, parent].filter(isElement);
|
|
596
|
+
const parentElement = lineage[lineage.length - 1]; // @TODO(vladimir.gorej@gmail.com): can be replaced by Array.prototype.at in future
|
|
597
|
+
let elementFactory;
|
|
598
|
+
let context;
|
|
599
|
+
if (isArrayElement(parentElement)) {
|
|
600
|
+
context = element;
|
|
601
|
+
elementFactory = findElementFactory(parentElement, '<*>');
|
|
602
|
+
} else if (isMemberElement(parentElement)) {
|
|
603
|
+
context = lineage[lineage.length - 2]; // @TODO(vladimir.gorej@gmail.com): can be replaced by Array.prototype.at in future
|
|
604
|
+
elementFactory = findElementFactory(context, toValue(parentElement.key));
|
|
622
605
|
}
|
|
606
|
+
|
|
607
|
+
// no element factory found
|
|
608
|
+
if (typeof elementFactory !== 'function') return undefined;
|
|
609
|
+
return elementFactory.call({
|
|
610
|
+
context
|
|
611
|
+
}, undefined, cloneDeep(element.meta), cloneDeep(element.attributes));
|
|
623
612
|
}
|
|
624
|
-
}
|
|
625
|
-
};
|
|
613
|
+
}
|
|
614
|
+
});
|
|
626
615
|
export default plugin;
|
|
@@ -7,7 +7,6 @@ import { isReferenceElement } from "../../../../predicates.mjs";
|
|
|
7
7
|
const CallbacksElement = stampit(MapVisitor, FallbackVisitor, {
|
|
8
8
|
props: {
|
|
9
9
|
specPath: element => {
|
|
10
|
-
// eslint-disable-next-line no-nested-ternary
|
|
11
10
|
return isReferenceLikeElement(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'Callback'];
|
|
12
11
|
}
|
|
13
12
|
},
|
|
@@ -7,7 +7,6 @@ import { isReferenceElement } from "../../../../predicates.mjs";
|
|
|
7
7
|
const ExamplesVisitor = stampit(MapVisitor, FallbackVisitor, {
|
|
8
8
|
props: {
|
|
9
9
|
specPath: element => {
|
|
10
|
-
// eslint-disable-next-line no-nested-ternary
|
|
11
10
|
return isReferenceLikeElement(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'Example'];
|
|
12
11
|
}
|
|
13
12
|
},
|
|
@@ -8,7 +8,6 @@ import { isReferenceElement, isHeaderElement } from "../../../../predicates.mjs"
|
|
|
8
8
|
const HeadersVisitor = stampit(MapVisitor, FallbackVisitor, {
|
|
9
9
|
props: {
|
|
10
10
|
specPath: element => {
|
|
11
|
-
// eslint-disable-next-line no-nested-ternary
|
|
12
11
|
return isReferenceLikeElement(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'Header'];
|
|
13
12
|
}
|
|
14
13
|
},
|
|
@@ -7,7 +7,6 @@ import { isReferenceElement } from "../../../../predicates.mjs";
|
|
|
7
7
|
const LinksVisitor = stampit(MapVisitor, FallbackVisitor, {
|
|
8
8
|
props: {
|
|
9
9
|
specPath: element => {
|
|
10
|
-
// eslint-disable-next-line no-nested-ternary
|
|
11
10
|
return isReferenceLikeElement(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'Link'];
|
|
12
11
|
}
|
|
13
12
|
},
|
|
@@ -7,7 +7,6 @@ import { isReferenceElement } from "../../../../predicates.mjs";
|
|
|
7
7
|
const ParametersVisitor = stampit(MapVisitor, FallbackVisitor, {
|
|
8
8
|
props: {
|
|
9
9
|
specPath: element => {
|
|
10
|
-
// eslint-disable-next-line no-nested-ternary
|
|
11
10
|
return isReferenceLikeElement(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'Parameter'];
|
|
12
11
|
}
|
|
13
12
|
},
|
|
@@ -7,7 +7,6 @@ import { isReferenceElement } from "../../../../predicates.mjs";
|
|
|
7
7
|
const RequestBodiesVisitor = stampit(MapVisitor, FallbackVisitor, {
|
|
8
8
|
props: {
|
|
9
9
|
specPath: element => {
|
|
10
|
-
// eslint-disable-next-line no-nested-ternary
|
|
11
10
|
return isReferenceLikeElement(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'RequestBody'];
|
|
12
11
|
}
|
|
13
12
|
},
|
|
@@ -8,7 +8,6 @@ import { isReferenceElement, isResponseElement } from "../../../../predicates.mj
|
|
|
8
8
|
const ResponsesVisitor = stampit(MapVisitor, FallbackVisitor, {
|
|
9
9
|
props: {
|
|
10
10
|
specPath: element => {
|
|
11
|
-
// eslint-disable-next-line no-nested-ternary
|
|
12
11
|
return isReferenceLikeElement(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'Response'];
|
|
13
12
|
}
|
|
14
13
|
},
|
|
@@ -7,7 +7,6 @@ import { isReferenceElement } from "../../../../predicates.mjs";
|
|
|
7
7
|
const SchemasVisitor = stampit(MapVisitor, FallbackVisitor, {
|
|
8
8
|
props: {
|
|
9
9
|
specPath: element => {
|
|
10
|
-
// eslint-disable-next-line no-nested-ternary
|
|
11
10
|
return isReferenceLikeElement(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'Schema'];
|
|
12
11
|
}
|
|
13
12
|
},
|
|
@@ -7,7 +7,6 @@ import { isReferenceElement } from "../../../../predicates.mjs";
|
|
|
7
7
|
const ParametersVisitor = stampit(MapVisitor, FallbackVisitor, {
|
|
8
8
|
props: {
|
|
9
9
|
specPath: element => {
|
|
10
|
-
// eslint-disable-next-line no-nested-ternary
|
|
11
10
|
return isReferenceLikeElement(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'SecurityScheme'];
|
|
12
11
|
}
|
|
13
12
|
},
|
|
@@ -8,7 +8,6 @@ import { isHeaderElement, isReferenceElement } from "../../../../predicates.mjs"
|
|
|
8
8
|
const HeadersVisitor = stampit(MapVisitor, FallbackVisitor, {
|
|
9
9
|
props: {
|
|
10
10
|
specPath: element => {
|
|
11
|
-
// eslint-disable-next-line no-nested-ternary
|
|
12
11
|
return isReferenceLikeElement(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'Header'];
|
|
13
12
|
}
|
|
14
13
|
},
|
|
@@ -7,7 +7,6 @@ import { isReferenceElement } from "../../../../predicates.mjs";
|
|
|
7
7
|
const HeadersVisitor = stampit(MapVisitor, FallbackVisitor, {
|
|
8
8
|
props: {
|
|
9
9
|
specPath: element => {
|
|
10
|
-
// eslint-disable-next-line no-nested-ternary
|
|
11
10
|
return isReferenceLikeElement(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'Link'];
|
|
12
11
|
}
|
|
13
12
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@swagger-api/apidom-ns-openapi-3-0",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.84.0",
|
|
4
4
|
"description": "OpenAPI 3.0.x namespace for ApiDOM.",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
@@ -42,11 +42,11 @@
|
|
|
42
42
|
"license": "Apache-2.0",
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"@babel/runtime-corejs3": "^7.20.7",
|
|
45
|
-
"@swagger-api/apidom-core": "^0.
|
|
46
|
-
"@swagger-api/apidom-error": "^0.
|
|
47
|
-
"@swagger-api/apidom-ns-json-schema-draft-4": "^0.
|
|
45
|
+
"@swagger-api/apidom-core": "^0.84.0",
|
|
46
|
+
"@swagger-api/apidom-error": "^0.84.0",
|
|
47
|
+
"@swagger-api/apidom-ns-json-schema-draft-4": "^0.84.0",
|
|
48
48
|
"@types/ramda": "~0.29.6",
|
|
49
|
-
"ramda": "~0.29.
|
|
49
|
+
"ramda": "~0.29.1",
|
|
50
50
|
"ramda-adjunct": "^4.1.1",
|
|
51
51
|
"stampit": "^4.3.2"
|
|
52
52
|
},
|
|
@@ -60,5 +60,5 @@
|
|
|
60
60
|
"README.md",
|
|
61
61
|
"CHANGELOG.md"
|
|
62
62
|
],
|
|
63
|
-
"gitHead": "
|
|
63
|
+
"gitHead": "6dbd9983371b63b56cab3983e478ef29e9e1525f"
|
|
64
64
|
}
|
package/types/dist.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="@swagger-api/apidom-core/types/minim" />
|
|
2
2
|
import * as _swagger_api_apidom_core from '@swagger-api/apidom-core';
|
|
3
|
-
import { MediaTypes, NamespacePluginOptions,
|
|
3
|
+
import { MediaTypes, NamespacePluginOptions, StringElement, Element, ObjectElement, Meta, Attributes, BooleanElement, ArrayElement, ElementPredicate, MemberElement } from '@swagger-api/apidom-core';
|
|
4
4
|
export { isArrayElement, isBooleanElement, isElement, isLinkElement as isLinkPrimitiveElement, isMemberElement, isNullElement, isNumberElement, isObjectElement, isRefElement, isStringElement } from '@swagger-api/apidom-core';
|
|
5
5
|
import * as minim from 'minim';
|
|
6
6
|
import * as stampit from 'stampit';
|
|
@@ -21,8 +21,7 @@ declare const openApi3_0: {
|
|
|
21
21
|
|
|
22
22
|
declare const plugin: () => () => {
|
|
23
23
|
visitor: {
|
|
24
|
-
|
|
25
|
-
StringElement(element: StringElement, ...rest: any): any;
|
|
24
|
+
StringElement(element: StringElement, key: any, parent: any, path: any, ancestors: any[]): any;
|
|
26
25
|
};
|
|
27
26
|
};
|
|
28
27
|
|