@swagger-api/apidom-ns-openapi-3-1 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 +10 -0
- package/cjs/elements/Schema.cjs +4 -0
- package/cjs/index.cjs +3 -1
- package/cjs/refractor/plugins/replace-empty-element.cjs +14 -23
- package/cjs/refractor/toolbox.cjs +2 -0
- package/cjs/refractor/visitors/open-api-3-1/WebhooksVisitor.cjs +0 -1
- package/cjs/refractor/visitors/open-api-3-1/components/PathItemsVisitor.cjs +0 -1
- package/cjs/refractor/visitors/open-api-3-1/schema/index.cjs +6 -4
- package/dist/apidom-ns-openapi-3-1.browser.js +10957 -7701
- package/dist/apidom-ns-openapi-3-1.browser.min.js +1 -1
- package/es/elements/Schema.mjs +4 -0
- package/es/index.mjs +1 -0
- package/es/refractor/plugins/replace-empty-element.mjs +15 -24
- package/es/refractor/specification.mjs +115 -115
- package/es/refractor/toolbox.mjs +3 -1
- package/es/refractor/visitors/open-api-3-1/WebhooksVisitor.mjs +0 -1
- package/es/refractor/visitors/open-api-3-1/components/PathItemsVisitor.mjs +0 -1
- package/es/refractor/visitors/open-api-3-1/schema/index.mjs +7 -5
- package/package.json +6 -6
- package/types/dist.d.ts +461 -4
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,16 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [0.84.0](https://github.com/swagger-api/apidom/compare/v0.83.0...v0.84.0) (2023-11-24)
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
- **ns-workflows-1:** add support for JSONSchema Object ([#3445](https://github.com/swagger-api/apidom/issues/3445)) ([5b504e5](https://github.com/swagger-api/apidom/commit/5b504e523c532a31aaf1b133a14ff3b76c126435)), closes [#3392](https://github.com/swagger-api/apidom/issues/3392)
|
|
11
|
+
|
|
12
|
+
# [0.83.0](https://github.com/swagger-api/apidom/compare/v0.82.2...v0.83.0) (2023-11-07)
|
|
13
|
+
|
|
14
|
+
**Note:** Version bump only for package @swagger-api/apidom-ns-openapi-3-1
|
|
15
|
+
|
|
6
16
|
## [0.82.2](https://github.com/swagger-api/apidom/compare/v0.82.1...v0.82.2) (2023-11-03)
|
|
7
17
|
|
|
8
18
|
### Bug Fixes
|
package/cjs/elements/Schema.cjs
CHANGED
|
@@ -465,6 +465,10 @@ class Schema extends _apidomCore.ObjectElement {
|
|
|
465
465
|
get example() {
|
|
466
466
|
return this.get('example');
|
|
467
467
|
}
|
|
468
|
+
|
|
469
|
+
/**
|
|
470
|
+
* @deprecated The example property has been deprecated in favor of the JSON Schema examples keyword. Use of example is discouraged, and later versions of this specification may remove it.
|
|
471
|
+
*/
|
|
468
472
|
set example(example) {
|
|
469
473
|
this.set('example', example);
|
|
470
474
|
}
|
package/cjs/index.cjs
CHANGED
|
@@ -4,7 +4,7 @@ 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.isPathItemElement = exports.isParameterLikeElement = exports.isParameterElement = exports.isOperationElement = exports.isOpenapiElement = exports.isOpenApiExtension = exports.isOpenApi3_1LikeElement = exports.isOpenApi3_1Element = exports.isObjectElement = exports.isNumberElement = exports.isNullElement = exports.isMemberElement = exports.isMediaTypeElement = exports.isLinkPrimitiveElement = exports.isLinkElementExternal = exports.isLinkElement = exports.isLicenseElement = exports.isJsonSchemaDialectElement = exports.isInfoElement = exports.isExternalDocumentationElement = exports.isExampleElement = exports.isElement = exports.isContactElement = exports.isComponentsElement = exports.isCallbackElement = exports.isBooleanJsonSchemaElement = exports.isBooleanElement = exports.isArrayElement = exports.getNodeType = exports.default = exports.createToolbox = exports.XmlElement = exports.WebhooksElement = exports.TagsElement = exports.TagElement = exports.ServersElement = exports.ServerVariablesElement = exports.ServerVariableElement = exports.ServerElement = exports.SecuritySchemeElement = exports.SecurityRequirementElement = exports.SecurityElement = exports.SchemaElement = exports.ResponsesElement = exports.ResponseLinksElement = exports.ResponseHeadersElement = exports.ResponseElement = exports.ResponseContentElement = exports.RequestBodyElement = exports.RequestBodyContentElement = exports.ReferenceElement = exports.PathsElement = exports.PathItemServersElement = exports.PathItemParametersElement = exports.PathItemElement = exports.ParameterExamplesElement = exports.ParameterElement = exports.ParameterContentElement = exports.OperationTagsElement = exports.OperationServersElement = exports.OperationSecurityElement = exports.OperationParametersElement = exports.OperationElement = exports.OperationCallbacksElement = exports.OpenapiElement = exports.OpenApi3_1Element = exports.OpenAPIMediaTypes = exports.OAuthFlowsElement = exports.OAuthFlowScopesElement = exports.OAuthFlowElement = exports.MediaTypeExamplesElement = exports.MediaTypeEncodingElement = exports.MediaTypeElement = exports.LinkParametersElement = exports.LinkElement = exports.LicenseElement = exports.JsonSchemaDialectElement = exports.InfoElement = exports.HeaderExamplesElement = exports.HeaderElement = exports.HeaderContentElement = exports.ExternalDocumentationElement = exports.ExampleElement = exports.EncodingHeadersElement = exports.EncodingElement = exports.DiscriminatorMappingElement = exports.DiscriminatorElement = exports.ContactElement = exports.ComponentsSecuritySchemesElement = exports.ComponentsSchemasElement = exports.ComponentsResponsesElement = exports.ComponentsRequestBodiesElement = exports.ComponentsPathItemsElement = exports.ComponentsParametersElement = exports.ComponentsLinksElement = exports.ComponentsHeadersElement = exports.ComponentsExamplesElement = exports.ComponentsElement = exports.ComponentsCallbacksElement = exports.CallbackElement = void 0;
|
|
7
|
-
exports.refractorPluginReplaceEmptyElement = exports.refractorPluginNormalizeServers = exports.refractorPluginNormalizeSecurityRequirements = exports.refractorPluginNormalizeParameters = exports.refractorPluginNormalizeParameterExamples = exports.refractorPluginNormalizeOperationIds = exports.refractorPluginNormalizeHeaderExamples = exports.mediaTypes = exports.keyMap = exports.isStringElement = exports.isServersElement = exports.isServerVariableElement = exports.isServerLikeElement = exports.isServerElement = exports.isSecurityRequirementElement = exports.isSchemaElement = exports.isResponsesElement = exports.isResponseLikeElement = exports.isResponseElement = exports.isRequestBodyElement = exports.isReferenceLikeElement = exports.isReferenceElementExternal = exports.isReferenceElement = exports.isRefElement = exports.isPathsElement = exports.isPathItemElementExternal = void 0;
|
|
7
|
+
exports.specificationObj = exports.refractorPluginReplaceEmptyElement = exports.refractorPluginNormalizeServers = exports.refractorPluginNormalizeSecurityRequirements = exports.refractorPluginNormalizeParameters = exports.refractorPluginNormalizeParameterExamples = exports.refractorPluginNormalizeOperationIds = exports.refractorPluginNormalizeHeaderExamples = exports.mediaTypes = exports.keyMap = exports.isStringElement = exports.isServersElement = exports.isServerVariableElement = exports.isServerLikeElement = exports.isServerElement = exports.isSecurityRequirementElement = exports.isSchemaElement = exports.isResponsesElement = exports.isResponseLikeElement = exports.isResponseElement = exports.isRequestBodyElement = exports.isReferenceLikeElement = exports.isReferenceElementExternal = exports.isReferenceElement = exports.isRefElement = exports.isPathsElement = exports.isPathItemElementExternal = void 0;
|
|
8
8
|
var _apidomCore = require("@swagger-api/apidom-core");
|
|
9
9
|
exports.isRefElement = _apidomCore.isRefElement;
|
|
10
10
|
exports.isLinkPrimitiveElement = _apidomCore.isLinkElement;
|
|
@@ -37,6 +37,8 @@ var _normalizeHeaderExamples = _interopRequireDefault(require("./refractor/plugi
|
|
|
37
37
|
exports.refractorPluginNormalizeHeaderExamples = _normalizeHeaderExamples.default;
|
|
38
38
|
var _toolbox = _interopRequireDefault(require("./refractor/toolbox.cjs"));
|
|
39
39
|
exports.createToolbox = _toolbox.default;
|
|
40
|
+
var _specification = _interopRequireDefault(require("./refractor/specification.cjs"));
|
|
41
|
+
exports.specificationObj = _specification.default;
|
|
40
42
|
var _predicates = require("./predicates.cjs");
|
|
41
43
|
exports.isCallbackElement = _predicates.isCallbackElement;
|
|
42
44
|
exports.isComponentsElement = _predicates.isComponentsElement;
|
|
@@ -635,33 +635,24 @@ const plugin = () => ({
|
|
|
635
635
|
const isEmptyElement = element => predicates.isStringElement(element) && predicates.includesClasses(['yaml-e-node', 'yaml-e-scalar'], element);
|
|
636
636
|
return {
|
|
637
637
|
visitor: {
|
|
638
|
-
|
|
639
|
-
// no empty Element, continue with next one
|
|
640
|
-
if (!isEmptyElement(element.value)) return undefined;
|
|
641
|
-
const [,,, ancestors] = rest;
|
|
642
|
-
const ancestor = ancestors[ancestors.length - 1]; // @TODO(vladimir.gorej@gmail.com): can be replaced by Array.prototype.at in future
|
|
643
|
-
const elementFactory = findElementFactory(ancestor, (0, _apidomCore.toValue)(element.key));
|
|
644
|
-
|
|
645
|
-
// no element factory found
|
|
646
|
-
if (typeof elementFactory === 'undefined') return undefined;
|
|
647
|
-
const originalValue = element.value;
|
|
648
|
-
return new _apidomCore.MemberElement(element.key, elementFactory.call({
|
|
649
|
-
context: ancestor
|
|
650
|
-
}, undefined, (0, _apidomCore.cloneDeep)(originalValue.meta), (0, _apidomCore.cloneDeep)(originalValue.attributes)), (0, _apidomCore.cloneDeep)(element.meta), (0, _apidomCore.cloneDeep)(element.attributes));
|
|
651
|
-
},
|
|
652
|
-
StringElement(element, ...rest) {
|
|
638
|
+
StringElement(element, key, parent, path, ancestors) {
|
|
653
639
|
if (!isEmptyElement(element)) return undefined;
|
|
654
|
-
const [
|
|
655
|
-
const
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
if (
|
|
659
|
-
|
|
640
|
+
const lineage = [...ancestors, parent].filter(predicates.isElement);
|
|
641
|
+
const parentElement = lineage[lineage.length - 1]; // @TODO(vladimir.gorej@gmail.com): can be replaced by Array.prototype.at in future
|
|
642
|
+
let elementFactory;
|
|
643
|
+
let context;
|
|
644
|
+
if (predicates.isArrayElement(parentElement)) {
|
|
645
|
+
context = element;
|
|
646
|
+
elementFactory = findElementFactory(parentElement, '<*>');
|
|
647
|
+
} else if (predicates.isMemberElement(parentElement)) {
|
|
648
|
+
context = lineage[lineage.length - 2]; // @TODO(vladimir.gorej@gmail.com): can be replaced by Array.prototype.at in future
|
|
649
|
+
elementFactory = findElementFactory(context, (0, _apidomCore.toValue)(parentElement.key));
|
|
650
|
+
}
|
|
660
651
|
|
|
661
652
|
// no element factory found
|
|
662
|
-
if (typeof elementFactory
|
|
653
|
+
if (typeof elementFactory !== 'function') return undefined;
|
|
663
654
|
return elementFactory.call({
|
|
664
|
-
context
|
|
655
|
+
context
|
|
665
656
|
}, undefined, (0, _apidomCore.cloneDeep)(element.meta), (0, _apidomCore.cloneDeep)(element.attributes));
|
|
666
657
|
}
|
|
667
658
|
}
|
|
@@ -12,9 +12,11 @@ const createToolbox = () => {
|
|
|
12
12
|
const namespace = (0, _apidomCore.createNamespace)(_namespace.default);
|
|
13
13
|
const predicates = {
|
|
14
14
|
...openApi3_1Predicates,
|
|
15
|
+
isElement: _apidomCore.isElement,
|
|
15
16
|
isStringElement: _apidomCore.isStringElement,
|
|
16
17
|
isArrayElement: _apidomCore.isArrayElement,
|
|
17
18
|
isObjectElement: _apidomCore.isObjectElement,
|
|
19
|
+
isMemberElement: _apidomCore.isMemberElement,
|
|
18
20
|
isServersElement: _apidomNsOpenapi.isServersElement,
|
|
19
21
|
includesClasses: _apidomCore.includesClasses
|
|
20
22
|
};
|
|
@@ -11,7 +11,6 @@ var _predicates = require("../../../predicates.cjs");
|
|
|
11
11
|
const WebhooksVisitor = (0, _stampit.default)(_apidomNsOpenapi.MapVisitor, _apidomNsOpenapi.FallbackVisitor, {
|
|
12
12
|
props: {
|
|
13
13
|
specPath: element => {
|
|
14
|
-
// eslint-disable-next-line no-nested-ternary
|
|
15
14
|
return (0, _apidomNsOpenapi.isReferenceLikeElement)(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'PathItem'];
|
|
16
15
|
}
|
|
17
16
|
},
|
|
@@ -10,7 +10,6 @@ var _predicates = require("../../../../predicates.cjs");
|
|
|
10
10
|
const PathItemsVisitor = (0, _stampit.default)(_apidomNsOpenapi.MapVisitor, _apidomNsOpenapi.FallbackVisitor, {
|
|
11
11
|
props: {
|
|
12
12
|
specPath: element => {
|
|
13
|
-
// eslint-disable-next-line no-nested-ternary
|
|
14
13
|
return (0, _apidomNsOpenapi.isReferenceLikeElement)(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'PathItem'];
|
|
15
14
|
}
|
|
16
15
|
},
|
|
@@ -15,10 +15,13 @@ var _ParentSchemaAwareVisitor = _interopRequireDefault(require("./ParentSchemaAw
|
|
|
15
15
|
const SchemaVisitor = (0, _stampit.default)(_apidomNsOpenapi.FixedFieldsVisitor, _ParentSchemaAwareVisitor.default, _apidomNsOpenapi.FallbackVisitor, {
|
|
16
16
|
props: {
|
|
17
17
|
specPath: (0, _ramda.always)(['document', 'objects', 'Schema']),
|
|
18
|
-
canSupportSpecificationExtensions: true
|
|
18
|
+
canSupportSpecificationExtensions: true,
|
|
19
|
+
jsonSchemaDefaultDialect: _JsonSchemaDialect.default.default
|
|
19
20
|
},
|
|
20
21
|
// @ts-ignore
|
|
21
22
|
init() {
|
|
23
|
+
this.element = new _Schema.default();
|
|
24
|
+
|
|
22
25
|
/**
|
|
23
26
|
* Private Api.
|
|
24
27
|
*/
|
|
@@ -35,7 +38,7 @@ const SchemaVisitor = (0, _stampit.default)(_apidomNsOpenapi.FixedFieldsVisitor,
|
|
|
35
38
|
} else if (this.openApiGenericElement !== null && (0, _apidomCore.isStringElement)(this.openApiGenericElement.get('jsonSchemaDialect'))) {
|
|
36
39
|
jsonSchemaDialect = (0, _apidomCore.toValue)(this.openApiGenericElement.get('jsonSchemaDialect'));
|
|
37
40
|
} else {
|
|
38
|
-
jsonSchemaDialect = (0, _apidomCore.toValue)(
|
|
41
|
+
jsonSchemaDialect = (0, _apidomCore.toValue)(this.jsonSchemaDefaultDialect);
|
|
39
42
|
}
|
|
40
43
|
return jsonSchemaDialect;
|
|
41
44
|
};
|
|
@@ -57,7 +60,7 @@ const SchemaVisitor = (0, _stampit.default)(_apidomNsOpenapi.FixedFieldsVisitor,
|
|
|
57
60
|
// get current $id keyword
|
|
58
61
|
const $id = (0, _apidomCore.toValue)(objectElement.get('$id'));
|
|
59
62
|
|
|
60
|
-
// remember $id keyword if it's a non
|
|
63
|
+
// remember $id keyword if it's a non-empty strings
|
|
61
64
|
if ((0, _ramdaAdjunct.isNonEmptyString)($id)) {
|
|
62
65
|
inherited$id.push($id);
|
|
63
66
|
}
|
|
@@ -69,7 +72,6 @@ const SchemaVisitor = (0, _stampit.default)(_apidomNsOpenapi.FixedFieldsVisitor,
|
|
|
69
72
|
*/
|
|
70
73
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
71
74
|
this.ObjectElement = function _ObjectElement(objectElement) {
|
|
72
|
-
this.element = new _Schema.default();
|
|
73
75
|
handle$schema(objectElement);
|
|
74
76
|
handle$id(objectElement);
|
|
75
77
|
|