@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.
Files changed (29) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/cjs/refractor/plugins/replace-empty-element.cjs +22 -33
  3. package/cjs/refractor/visitors/open-api-3-0/components/CallbacksVisitor.cjs +0 -1
  4. package/cjs/refractor/visitors/open-api-3-0/components/ExamplesVisitor.cjs +0 -1
  5. package/cjs/refractor/visitors/open-api-3-0/components/HeadersVisitor.cjs +0 -1
  6. package/cjs/refractor/visitors/open-api-3-0/components/LinksVisitor.cjs +0 -1
  7. package/cjs/refractor/visitors/open-api-3-0/components/ParametersVisitor.cjs +0 -1
  8. package/cjs/refractor/visitors/open-api-3-0/components/RequestBodiesVisitor.cjs +0 -1
  9. package/cjs/refractor/visitors/open-api-3-0/components/ResponsesVisitor.cjs +0 -1
  10. package/cjs/refractor/visitors/open-api-3-0/components/SchemasVisitor.cjs +0 -1
  11. package/cjs/refractor/visitors/open-api-3-0/components/SecuritySchemesVisitor.cjs +0 -1
  12. package/cjs/refractor/visitors/open-api-3-0/response/HeadersVisitor.cjs +0 -1
  13. package/cjs/refractor/visitors/open-api-3-0/response/LinksVisitor.cjs +0 -1
  14. package/dist/apidom-ns-openapi-3-0.browser.js +7627 -7460
  15. package/dist/apidom-ns-openapi-3-0.browser.min.js +1 -1
  16. package/es/refractor/plugins/replace-empty-element.mjs +23 -34
  17. package/es/refractor/visitors/open-api-3-0/components/CallbacksVisitor.mjs +0 -1
  18. package/es/refractor/visitors/open-api-3-0/components/ExamplesVisitor.mjs +0 -1
  19. package/es/refractor/visitors/open-api-3-0/components/HeadersVisitor.mjs +0 -1
  20. package/es/refractor/visitors/open-api-3-0/components/LinksVisitor.mjs +0 -1
  21. package/es/refractor/visitors/open-api-3-0/components/ParametersVisitor.mjs +0 -1
  22. package/es/refractor/visitors/open-api-3-0/components/RequestBodiesVisitor.mjs +0 -1
  23. package/es/refractor/visitors/open-api-3-0/components/ResponsesVisitor.mjs +0 -1
  24. package/es/refractor/visitors/open-api-3-0/components/SchemasVisitor.mjs +0 -1
  25. package/es/refractor/visitors/open-api-3-0/components/SecuritySchemesVisitor.mjs +0 -1
  26. package/es/refractor/visitors/open-api-3-0/response/HeadersVisitor.mjs +0 -1
  27. package/es/refractor/visitors/open-api-3-0/response/LinksVisitor.mjs +0 -1
  28. package/package.json +6 -6
  29. package/types/dist.d.ts +2 -3
package/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
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
+ **Note:** Version bump only for package @swagger-api/apidom-ns-openapi-3-0
9
+
10
+ # [0.83.0](https://github.com/swagger-api/apidom/compare/v0.82.2...v0.83.0) (2023-11-07)
11
+
12
+ **Note:** Version bump only for package @swagger-api/apidom-ns-openapi-3-0
13
+
6
14
  ## [0.82.2](https://github.com/swagger-api/apidom/compare/v0.82.1...v0.82.2) (2023-11-03)
7
15
 
8
16
  ### Bug Fixes
@@ -596,39 +596,28 @@ const findElementFactory = (ancestor, keyName) => {
596
596
  const keyMapping = schema[elementType] || schema[(0, _apidomCore.toValue)(ancestor.classes.first)];
597
597
  return typeof keyMapping === 'undefined' ? undefined : Object.prototype.hasOwnProperty.call(keyMapping, '[key: *]') ? keyMapping['[key: *]'] : keyMapping[keyName];
598
598
  };
599
- const plugin = () => () => {
600
- return {
601
- visitor: {
602
- MemberElement(element, ...rest) {
603
- // no empty Element, continue with next one
604
- if (!isEmptyElement(element.value)) return undefined;
605
- const [,,, ancestors] = rest;
606
- const ancestor = ancestors[ancestors.length - 1]; // @TODO(vladimir.gorej@gmail.com): can be replaced by Array.prototype.at in future
607
- const elementFactory = findElementFactory(ancestor, (0, _apidomCore.toValue)(element.key));
608
-
609
- // no element factory found
610
- if (typeof elementFactory === 'undefined') return undefined;
611
- const originalValue = element.value;
612
- return new _apidomCore.MemberElement(element.key, elementFactory.call({
613
- context: ancestor
614
- }, undefined, (0, _apidomCore.cloneDeep)(originalValue.meta), (0, _apidomCore.cloneDeep)(originalValue.attributes)), (0, _apidomCore.cloneDeep)(element.meta), (0, _apidomCore.cloneDeep)(element.attributes));
615
- },
616
- StringElement(element, ...rest) {
617
- if (!isEmptyElement(element)) return undefined;
618
- const [,,, ancestors] = rest;
619
- const ancestor = ancestors[ancestors.length - 1]; // @TODO(vladimir.gorej@gmail.com): can be replaced by Array.prototype.at in future
620
-
621
- // we're only interested in empty elements in ArrayElements
622
- if (!(0, _apidomCore.isArrayElement)(ancestor)) return undefined;
623
- const elementFactory = findElementFactory(ancestor, '<*>');
624
-
625
- // no element factory found
626
- if (typeof elementFactory === 'undefined') return undefined;
627
- return elementFactory.call({
628
- context: element
629
- }, undefined, (0, _apidomCore.cloneDeep)(element.meta), (0, _apidomCore.cloneDeep)(element.attributes));
599
+ const plugin = () => () => ({
600
+ visitor: {
601
+ StringElement(element, key, parent, path, ancestors) {
602
+ if (!isEmptyElement(element)) return undefined;
603
+ const lineage = [...ancestors, parent].filter(_apidomCore.isElement);
604
+ const parentElement = lineage[lineage.length - 1]; // @TODO(vladimir.gorej@gmail.com): can be replaced by Array.prototype.at in future
605
+ let elementFactory;
606
+ let context;
607
+ if ((0, _apidomCore.isArrayElement)(parentElement)) {
608
+ context = element;
609
+ elementFactory = findElementFactory(parentElement, '<*>');
610
+ } else if ((0, _apidomCore.isMemberElement)(parentElement)) {
611
+ context = lineage[lineage.length - 2]; // @TODO(vladimir.gorej@gmail.com): can be replaced by Array.prototype.at in future
612
+ elementFactory = findElementFactory(context, (0, _apidomCore.toValue)(parentElement.key));
630
613
  }
614
+
615
+ // no element factory found
616
+ if (typeof elementFactory !== 'function') return undefined;
617
+ return elementFactory.call({
618
+ context
619
+ }, undefined, (0, _apidomCore.cloneDeep)(element.meta), (0, _apidomCore.cloneDeep)(element.attributes));
631
620
  }
632
- };
633
- };
621
+ }
622
+ });
634
623
  var _default = exports.default = plugin;
@@ -12,7 +12,6 @@ var _predicates2 = require("../../../../predicates.cjs");
12
12
  const CallbacksElement = (0, _stampit.default)(_MapVisitor.default, _FallbackVisitor.default, {
13
13
  props: {
14
14
  specPath: element => {
15
- // eslint-disable-next-line no-nested-ternary
16
15
  return (0, _predicates.isReferenceLikeElement)(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'Callback'];
17
16
  }
18
17
  },
@@ -12,7 +12,6 @@ var _predicates2 = require("../../../../predicates.cjs");
12
12
  const ExamplesVisitor = (0, _stampit.default)(_MapVisitor.default, _FallbackVisitor.default, {
13
13
  props: {
14
14
  specPath: element => {
15
- // eslint-disable-next-line no-nested-ternary
16
15
  return (0, _predicates.isReferenceLikeElement)(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'Example'];
17
16
  }
18
17
  },
@@ -13,7 +13,6 @@ var _predicates2 = require("../../../../predicates.cjs");
13
13
  const HeadersVisitor = (0, _stampit.default)(_MapVisitor.default, _FallbackVisitor.default, {
14
14
  props: {
15
15
  specPath: element => {
16
- // eslint-disable-next-line no-nested-ternary
17
16
  return (0, _predicates.isReferenceLikeElement)(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'Header'];
18
17
  }
19
18
  },
@@ -12,7 +12,6 @@ var _predicates2 = require("../../../../predicates.cjs");
12
12
  const LinksVisitor = (0, _stampit.default)(_MapVisitor.default, _FallbackVisitor.default, {
13
13
  props: {
14
14
  specPath: element => {
15
- // eslint-disable-next-line no-nested-ternary
16
15
  return (0, _predicates.isReferenceLikeElement)(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'Link'];
17
16
  }
18
17
  },
@@ -12,7 +12,6 @@ var _predicates2 = require("../../../../predicates.cjs");
12
12
  const ParametersVisitor = (0, _stampit.default)(_MapVisitor.default, _FallbackVisitor.default, {
13
13
  props: {
14
14
  specPath: element => {
15
- // eslint-disable-next-line no-nested-ternary
16
15
  return (0, _predicates.isReferenceLikeElement)(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'Parameter'];
17
16
  }
18
17
  },
@@ -12,7 +12,6 @@ var _predicates2 = require("../../../../predicates.cjs");
12
12
  const RequestBodiesVisitor = (0, _stampit.default)(_MapVisitor.default, _FallbackVisitor.default, {
13
13
  props: {
14
14
  specPath: element => {
15
- // eslint-disable-next-line no-nested-ternary
16
15
  return (0, _predicates.isReferenceLikeElement)(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'RequestBody'];
17
16
  }
18
17
  },
@@ -13,7 +13,6 @@ var _predicates2 = require("../../../../predicates.cjs");
13
13
  const ResponsesVisitor = (0, _stampit.default)(_MapVisitor.default, _FallbackVisitor.default, {
14
14
  props: {
15
15
  specPath: element => {
16
- // eslint-disable-next-line no-nested-ternary
17
16
  return (0, _predicates.isReferenceLikeElement)(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'Response'];
18
17
  }
19
18
  },
@@ -12,7 +12,6 @@ var _predicates2 = require("../../../../predicates.cjs");
12
12
  const SchemasVisitor = (0, _stampit.default)(_MapVisitor.default, _FallbackVisitor.default, {
13
13
  props: {
14
14
  specPath: element => {
15
- // eslint-disable-next-line no-nested-ternary
16
15
  return (0, _predicates.isReferenceLikeElement)(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'Schema'];
17
16
  }
18
17
  },
@@ -12,7 +12,6 @@ var _predicates2 = require("../../../../predicates.cjs");
12
12
  const ParametersVisitor = (0, _stampit.default)(_MapVisitor.default, _FallbackVisitor.default, {
13
13
  props: {
14
14
  specPath: element => {
15
- // eslint-disable-next-line no-nested-ternary
16
15
  return (0, _predicates.isReferenceLikeElement)(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'SecurityScheme'];
17
16
  }
18
17
  },
@@ -13,7 +13,6 @@ var _predicates2 = require("../../../../predicates.cjs");
13
13
  const HeadersVisitor = (0, _stampit.default)(_MapVisitor.default, _FallbackVisitor.default, {
14
14
  props: {
15
15
  specPath: element => {
16
- // eslint-disable-next-line no-nested-ternary
17
16
  return (0, _predicates.isReferenceLikeElement)(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'Header'];
18
17
  }
19
18
  },
@@ -12,7 +12,6 @@ var _predicates2 = require("../../../../predicates.cjs");
12
12
  const HeadersVisitor = (0, _stampit.default)(_MapVisitor.default, _FallbackVisitor.default, {
13
13
  props: {
14
14
  specPath: element => {
15
- // eslint-disable-next-line no-nested-ternary
16
15
  return (0, _predicates.isReferenceLikeElement)(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'Link'];
17
16
  }
18
17
  },