@speclynx/apidom-ns-openapi-3-1 1.12.2 → 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.
Files changed (70) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/NOTICE +16 -7
  3. package/README.md +16 -29
  4. package/dist/apidom-ns-openapi-3-1.browser.js +11148 -16196
  5. package/dist/apidom-ns-openapi-3-1.browser.min.js +1 -1
  6. package/package.json +11 -11
  7. package/src/elements/JsonSchemaDialect.cjs +2 -2
  8. package/src/elements/JsonSchemaDialect.mjs +1 -1
  9. package/src/elements/OpenApi3-1.cjs +2 -2
  10. package/src/elements/OpenApi3-1.mjs +1 -1
  11. package/src/elements/PathItem.cjs +24 -24
  12. package/src/elements/PathItem.mjs +24 -24
  13. package/src/elements/nces/ComponentsPathItems.cjs +2 -2
  14. package/src/elements/nces/ComponentsPathItems.mjs +1 -1
  15. package/src/elements/nces/Webhooks.cjs +2 -2
  16. package/src/elements/nces/Webhooks.mjs +1 -1
  17. package/src/index.cjs +73 -49
  18. package/src/index.mjs +6 -3
  19. package/src/namespace.cjs +0 -1
  20. package/src/predicates.cjs +56 -187
  21. package/src/predicates.mjs +29 -186
  22. package/src/refractor/index.cjs +338 -17
  23. package/src/refractor/index.mjs +305 -16
  24. package/src/refractor/inspect.cjs +207 -0
  25. package/src/refractor/inspect.mjs +171 -0
  26. package/src/refractor/plugins/normalize-header-examples/NormalizeStorage.cjs +5 -5
  27. package/src/refractor/plugins/normalize-header-examples/NormalizeStorage.mjs +1 -1
  28. package/src/refractor/plugins/normalize-header-examples/index.cjs +11 -7
  29. package/src/refractor/plugins/normalize-header-examples/index.mjs +8 -4
  30. package/src/refractor/plugins/normalize-operation-ids.cjs +13 -6
  31. package/src/refractor/plugins/normalize-operation-ids.mjs +13 -6
  32. package/src/refractor/plugins/normalize-parameter-examples.cjs +11 -7
  33. package/src/refractor/plugins/normalize-parameter-examples.mjs +8 -4
  34. package/src/refractor/plugins/normalize-parameters.cjs +11 -5
  35. package/src/refractor/plugins/normalize-parameters.mjs +11 -5
  36. package/src/refractor/plugins/normalize-security-requirements.cjs +8 -4
  37. package/src/refractor/plugins/normalize-security-requirements.mjs +8 -4
  38. package/src/refractor/plugins/normalize-servers.cjs +15 -9
  39. package/src/refractor/plugins/normalize-servers.mjs +15 -9
  40. package/src/refractor/plugins/replace-empty-element.cjs +32 -30
  41. package/src/refractor/plugins/replace-empty-element.mjs +16 -15
  42. package/src/refractor/predicates.cjs +36 -0
  43. package/src/refractor/predicates.mjs +31 -0
  44. package/src/refractor/specification.cjs +43 -4
  45. package/src/refractor/specification.mjs +43 -4
  46. package/src/refractor/toolbox.cjs +12 -21
  47. package/src/refractor/toolbox.mjs +9 -16
  48. package/src/refractor/visitors/open-api-3-1/JsonSchemaDialectVisitor.cjs +5 -5
  49. package/src/refractor/visitors/open-api-3-1/JsonSchemaDialectVisitor.mjs +6 -6
  50. package/src/refractor/visitors/open-api-3-1/OpenapiVisitor.cjs +25 -0
  51. package/src/refractor/visitors/open-api-3-1/OpenapiVisitor.mjs +19 -0
  52. package/src/refractor/visitors/open-api-3-1/WebhooksVisitor.cjs +4 -5
  53. package/src/refractor/visitors/open-api-3-1/WebhooksVisitor.mjs +5 -6
  54. package/src/refractor/visitors/open-api-3-1/bases.cjs +46 -0
  55. package/src/refractor/visitors/open-api-3-1/bases.mjs +43 -0
  56. package/src/refractor/visitors/open-api-3-1/callback/index.cjs +2 -3
  57. package/src/refractor/visitors/open-api-3-1/callback/index.mjs +2 -3
  58. package/src/refractor/visitors/open-api-3-1/components/PathItemsVisitor.cjs +4 -5
  59. package/src/refractor/visitors/open-api-3-1/components/PathItemsVisitor.mjs +5 -6
  60. package/src/refractor/visitors/open-api-3-1/components/SchemasVisitor.cjs +2 -2
  61. package/src/refractor/visitors/open-api-3-1/components/SchemasVisitor.mjs +3 -5
  62. package/src/refractor/visitors/open-api-3-1/index.cjs +5 -4
  63. package/src/refractor/visitors/open-api-3-1/index.mjs +6 -5
  64. package/src/refractor/visitors/open-api-3-1/schema/index.cjs +11 -10
  65. package/src/refractor/visitors/open-api-3-1/schema/index.mjs +12 -11
  66. package/types/apidom-ns-openapi-3-1.d.ts +435 -274
  67. package/src/refractor/registration.cjs +0 -102
  68. package/src/refractor/registration.mjs +0 -66
  69. package/src/traversal/visitor.cjs +0 -57
  70. package/src/traversal/visitor.mjs +0 -54
@@ -4,23 +4,16 @@ 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 = exports.ancestorLineageToJSONPointer = void 0;
7
+ var _apidomDatamodel = require("@speclynx/apidom-datamodel");
7
8
  var _apidomCore = require("@speclynx/apidom-core");
8
9
  var _apidomJsonPointer = require("@speclynx/apidom-json-pointer");
9
- var _apidomNsOpenapi = require("@speclynx/apidom-ns-openapi-3-0");
10
10
  var openApi3_1Predicates = _interopRequireWildcard(require("../predicates.cjs"));
11
+ var refractorPredicates = _interopRequireWildcard(require("./predicates.cjs"));
11
12
  var _namespace = _interopRequireDefault(require("../namespace.cjs"));
12
13
  /**
13
14
  * @public
14
15
  */
15
16
 
16
- /**
17
- * @public
18
- */
19
-
20
- /**
21
- * @public
22
- */
23
-
24
17
  /**
25
18
  * Translates visitor ancestor lineage to a JSON Pointer tokens.
26
19
  * Ancestor lineage is constructed of following visitor method arguments:
@@ -32,11 +25,12 @@ var _namespace = _interopRequireDefault(require("../namespace.cjs"));
32
25
  */
33
26
  const ancestorLineageToJSONPointer = elementPath => {
34
27
  const jsonPointerTokens = elementPath.reduce((path, element, index) => {
35
- if ((0, _apidomCore.isMemberElement)(element)) {
28
+ if ((0, _apidomDatamodel.isMemberElement)(element)) {
36
29
  const token = String((0, _apidomCore.toValue)(element.key));
37
30
  path.push(token);
38
- } else if ((0, _apidomCore.isArrayElement)(elementPath[index - 2])) {
39
- const token = String(elementPath[index - 2].content.indexOf(element));
31
+ } else if ((0, _apidomDatamodel.isArrayElement)(elementPath[index - 2])) {
32
+ const arrayElement = elementPath[index - 2];
33
+ const token = String(arrayElement.content?.indexOf(element) ?? -1);
40
34
  path.push(token);
41
35
  }
42
36
  return path;
@@ -49,18 +43,15 @@ const ancestorLineageToJSONPointer = elementPath => {
49
43
  */
50
44
  exports.ancestorLineageToJSONPointer = ancestorLineageToJSONPointer;
51
45
  const createToolbox = () => {
52
- const namespace = (0, _apidomCore.createNamespace)(_namespace.default);
46
+ const namespace = new _apidomDatamodel.Namespace();
53
47
  const predicates = {
48
+ ...refractorPredicates,
54
49
  ...openApi3_1Predicates,
55
- isElement: _apidomCore.isElement,
56
- isStringElement: _apidomCore.isStringElement,
57
- isArrayElement: _apidomCore.isArrayElement,
58
- isObjectElement: _apidomCore.isObjectElement,
59
- isMemberElement: _apidomCore.isMemberElement,
60
- isServersElement: _apidomNsOpenapi.isServersElement,
61
- includesClasses: _apidomCore.includesClasses,
62
- hasElementSourceMap: _apidomCore.hasElementSourceMap
50
+ isStringElement: _apidomDatamodel.isStringElement,
51
+ isArrayElement: _apidomDatamodel.isArrayElement,
52
+ isObjectElement: _apidomDatamodel.isObjectElement
63
53
  };
54
+ namespace.use(_namespace.default);
64
55
  return {
65
56
  predicates,
66
57
  ancestorLineageToJSONPointer,
@@ -1,14 +1,9 @@
1
- import { isElement, isStringElement, isArrayElement, isObjectElement, isMemberElement, toValue, createNamespace, includesClasses, hasElementSourceMap } from '@speclynx/apidom-core';
1
+ import { Namespace, isStringElement, isArrayElement, isObjectElement, isMemberElement } from '@speclynx/apidom-datamodel';
2
+ import { toValue } from '@speclynx/apidom-core';
2
3
  import { compile as compileJSONPointerTokens } from '@speclynx/apidom-json-pointer';
3
- import { isServersElement } from '@speclynx/apidom-ns-openapi-3-0';
4
4
  import * as openApi3_1Predicates from "../predicates.mjs";
5
+ import * as refractorPredicates from "./predicates.mjs";
5
6
  import openApi3_1Namespace from "../namespace.mjs";
6
- /**
7
- * @public
8
- */
9
- /**
10
- * @public
11
- */
12
7
  /**
13
8
  * @public
14
9
  */
@@ -27,7 +22,8 @@ export const ancestorLineageToJSONPointer = elementPath => {
27
22
  const token = String(toValue(element.key));
28
23
  path.push(token);
29
24
  } else if (isArrayElement(elementPath[index - 2])) {
30
- const token = String(elementPath[index - 2].content.indexOf(element));
25
+ const arrayElement = elementPath[index - 2];
26
+ const token = String(arrayElement.content?.indexOf(element) ?? -1);
31
27
  path.push(token);
32
28
  }
33
29
  return path;
@@ -39,18 +35,15 @@ export const ancestorLineageToJSONPointer = elementPath => {
39
35
  * @public
40
36
  */
41
37
  const createToolbox = () => {
42
- const namespace = createNamespace(openApi3_1Namespace);
38
+ const namespace = new Namespace();
43
39
  const predicates = {
40
+ ...refractorPredicates,
44
41
  ...openApi3_1Predicates,
45
- isElement,
46
42
  isStringElement,
47
43
  isArrayElement,
48
- isObjectElement,
49
- isMemberElement,
50
- isServersElement,
51
- includesClasses,
52
- hasElementSourceMap
44
+ isObjectElement
53
45
  };
46
+ namespace.use(openApi3_1Namespace);
54
47
  return {
55
48
  predicates,
56
49
  ancestorLineageToJSONPointer,
@@ -3,10 +3,9 @@
3
3
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
4
  exports.__esModule = true;
5
5
  exports.default = void 0;
6
- var _tsMixer = require("ts-mixer");
7
6
  var _apidomCore = require("@speclynx/apidom-core");
8
- var _apidomNsOpenapi = require("@speclynx/apidom-ns-openapi-3-0");
9
7
  var _JsonSchemaDialect = _interopRequireDefault(require("../../../elements/JsonSchemaDialect.cjs"));
8
+ var _bases = require("./bases.cjs");
10
9
  /**
11
10
  * @public
12
11
  */
@@ -14,12 +13,13 @@ var _JsonSchemaDialect = _interopRequireDefault(require("../../../elements/JsonS
14
13
  /**
15
14
  * @public
16
15
  */
17
- class JsonSchemaDialectVisitor extends (0, _tsMixer.Mixin)(_apidomNsOpenapi.SpecificationVisitor, _apidomNsOpenapi.FallbackVisitor) {
18
- StringElement(stringElement) {
16
+ class JsonSchemaDialectVisitor extends _bases.BaseSpecificationVisitor {
17
+ StringElement(path) {
18
+ const stringElement = path.node;
19
19
  const jsonSchemaDialectElement = new _JsonSchemaDialect.default((0, _apidomCore.toValue)(stringElement));
20
20
  this.copyMetaAndAttributes(stringElement, jsonSchemaDialectElement);
21
21
  this.element = jsonSchemaDialectElement;
22
- return _apidomCore.BREAK;
22
+ path.stop();
23
23
  }
24
24
  }
25
25
  var _default = exports.default = JsonSchemaDialectVisitor;
@@ -1,19 +1,19 @@
1
- import { Mixin } from 'ts-mixer';
2
- import { BREAK, toValue } from '@speclynx/apidom-core';
3
- import { FallbackVisitor, SpecificationVisitor } from '@speclynx/apidom-ns-openapi-3-0';
1
+ import { toValue } from '@speclynx/apidom-core';
4
2
  import JsonSchemaDialectElement from "../../../elements/JsonSchemaDialect.mjs";
3
+ import { BaseSpecificationVisitor } from "./bases.mjs";
5
4
  /**
6
5
  * @public
7
6
  */
8
7
  /**
9
8
  * @public
10
9
  */
11
- class JsonSchemaDialectVisitor extends Mixin(SpecificationVisitor, FallbackVisitor) {
12
- StringElement(stringElement) {
10
+ class JsonSchemaDialectVisitor extends BaseSpecificationVisitor {
11
+ StringElement(path) {
12
+ const stringElement = path.node;
13
13
  const jsonSchemaDialectElement = new JsonSchemaDialectElement(toValue(stringElement));
14
14
  this.copyMetaAndAttributes(stringElement, jsonSchemaDialectElement);
15
15
  this.element = jsonSchemaDialectElement;
16
- return BREAK;
16
+ path.stop();
17
17
  }
18
18
  }
19
19
  export default JsonSchemaDialectVisitor;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
+ exports.__esModule = true;
5
+ exports.default = void 0;
6
+ var _apidomCore = require("@speclynx/apidom-core");
7
+ var _bases = require("./bases.cjs");
8
+ var _Openapi = _interopRequireDefault(require("../../../elements/Openapi.cjs"));
9
+ /**
10
+ * @public
11
+ */
12
+
13
+ /**
14
+ * @public
15
+ */
16
+ class OpenapiVisitor extends _bases.BaseSpecificationVisitor {
17
+ StringElement(path) {
18
+ const stringElement = path.node;
19
+ const openapiElement = new _Openapi.default((0, _apidomCore.toValue)(stringElement));
20
+ this.copyMetaAndAttributes(stringElement, openapiElement);
21
+ this.element = openapiElement;
22
+ path.stop();
23
+ }
24
+ }
25
+ var _default = exports.default = OpenapiVisitor;
@@ -0,0 +1,19 @@
1
+ import { toValue } from '@speclynx/apidom-core';
2
+ import { BaseSpecificationVisitor } from "./bases.mjs";
3
+ import OpenapiElement from "../../../elements/Openapi.mjs";
4
+ /**
5
+ * @public
6
+ */
7
+ /**
8
+ * @public
9
+ */
10
+ class OpenapiVisitor extends BaseSpecificationVisitor {
11
+ StringElement(path) {
12
+ const stringElement = path.node;
13
+ const openapiElement = new OpenapiElement(toValue(stringElement));
14
+ this.copyMetaAndAttributes(stringElement, openapiElement);
15
+ this.element = openapiElement;
16
+ path.stop();
17
+ }
18
+ }
19
+ export default OpenapiVisitor;
@@ -3,11 +3,11 @@
3
3
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
4
  exports.__esModule = true;
5
5
  exports.default = void 0;
6
- var _tsMixer = require("ts-mixer");
7
6
  var _apidomCore = require("@speclynx/apidom-core");
8
7
  var _apidomNsOpenapi = require("@speclynx/apidom-ns-openapi-3-0");
9
8
  var _Webhooks = _interopRequireDefault(require("../../../elements/nces/Webhooks.cjs"));
10
9
  var _predicates = require("../../../predicates.cjs");
10
+ var _bases = require("./bases.cjs");
11
11
  /**
12
12
  * @public
13
13
  */
@@ -15,14 +15,14 @@ var _predicates = require("../../../predicates.cjs");
15
15
  /**
16
16
  * @public
17
17
  */
18
- class WebhooksVisitor extends (0, _tsMixer.Mixin)(_apidomNsOpenapi.MapVisitor, _apidomNsOpenapi.FallbackVisitor) {
18
+ class WebhooksVisitor extends _bases.BaseMapVisitor {
19
19
  constructor(options) {
20
20
  super(options);
21
21
  this.element = new _Webhooks.default();
22
22
  this.specPath = element => (0, _apidomNsOpenapi.isReferenceLikeElement)(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'PathItem'];
23
23
  }
24
- ObjectElement(objectElement) {
25
- const result = _apidomNsOpenapi.MapVisitor.prototype.ObjectElement.call(this, objectElement);
24
+ ObjectElement(path) {
25
+ _apidomNsOpenapi.MapVisitor.prototype.ObjectElement.call(this, path);
26
26
 
27
27
  // decorate every ReferenceElement with metadata about their referencing type
28
28
  // @ts-ignore
@@ -38,7 +38,6 @@ class WebhooksVisitor extends (0, _tsMixer.Mixin)(_apidomNsOpenapi.MapVisitor, _
38
38
  // @ts-ignore
39
39
  pathItemElement.setMetaProperty('webhook-name', (0, _apidomCore.toValue)(key));
40
40
  });
41
- return result;
42
41
  }
43
42
  }
44
43
  var _default = exports.default = WebhooksVisitor;
@@ -1,22 +1,22 @@
1
- import { Mixin } from 'ts-mixer';
2
1
  import { toValue } from '@speclynx/apidom-core';
3
- import { isReferenceLikeElement, MapVisitor, FallbackVisitor } from '@speclynx/apidom-ns-openapi-3-0';
2
+ import { isReferenceLikeElement, MapVisitor } from '@speclynx/apidom-ns-openapi-3-0';
4
3
  import WebhooksElement from "../../../elements/nces/Webhooks.mjs";
5
4
  import { isPathItemElement, isReferenceElement } from "../../../predicates.mjs";
5
+ import { BaseMapVisitor } from "./bases.mjs";
6
6
  /**
7
7
  * @public
8
8
  */
9
9
  /**
10
10
  * @public
11
11
  */
12
- class WebhooksVisitor extends Mixin(MapVisitor, FallbackVisitor) {
12
+ class WebhooksVisitor extends BaseMapVisitor {
13
13
  constructor(options) {
14
14
  super(options);
15
15
  this.element = new WebhooksElement();
16
16
  this.specPath = element => isReferenceLikeElement(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'PathItem'];
17
17
  }
18
- ObjectElement(objectElement) {
19
- const result = MapVisitor.prototype.ObjectElement.call(this, objectElement);
18
+ ObjectElement(path) {
19
+ MapVisitor.prototype.ObjectElement.call(this, path);
20
20
 
21
21
  // decorate every ReferenceElement with metadata about their referencing type
22
22
  // @ts-ignore
@@ -32,7 +32,6 @@ class WebhooksVisitor extends Mixin(MapVisitor, FallbackVisitor) {
32
32
  // @ts-ignore
33
33
  pathItemElement.setMetaProperty('webhook-name', toValue(key));
34
34
  });
35
- return result;
36
35
  }
37
36
  }
38
37
  export default WebhooksVisitor;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.BaseSpecificationVisitor = exports.BaseSchemaVisitor = exports.BaseMapVisitor = exports.BaseFixedFieldsVisitor = void 0;
5
+ var _tsMixer = require("ts-mixer");
6
+ var _apidomNsOpenapi = require("@speclynx/apidom-ns-openapi-3-0");
7
+ var _apidomNsJsonSchema = require("@speclynx/apidom-ns-json-schema-2020-12");
8
+ /**
9
+ * Base class for visitors using Mixin(SpecificationVisitor, FallbackVisitor)
10
+ * @public
11
+ */
12
+ const BaseSpecificationVisitor = exports.BaseSpecificationVisitor = (0, _tsMixer.Mixin)(_apidomNsOpenapi.SpecificationVisitor, _apidomNsOpenapi.FallbackVisitor);
13
+
14
+ /**
15
+ * @public
16
+ */
17
+
18
+ /**
19
+ * Base class for visitors using Mixin(FixedFieldsVisitor, FallbackVisitor)
20
+ * @public
21
+ */
22
+ const BaseFixedFieldsVisitor = exports.BaseFixedFieldsVisitor = (0, _tsMixer.Mixin)(_apidomNsOpenapi.FixedFieldsVisitor, _apidomNsOpenapi.FallbackVisitor);
23
+
24
+ /**
25
+ * @public
26
+ */
27
+
28
+ /**
29
+ * Base class for visitors using Mixin(MapVisitor, FallbackVisitor)
30
+ * @public
31
+ */
32
+ const BaseMapVisitor = exports.BaseMapVisitor = (0, _tsMixer.Mixin)(_apidomNsOpenapi.MapVisitor, _apidomNsOpenapi.FallbackVisitor);
33
+
34
+ /**
35
+ * @public
36
+ */
37
+
38
+ /**
39
+ * Base class for visitors using Mixin(FixedFieldsVisitor, ParentSchemaAwareVisitor, FallbackVisitor)
40
+ * @public
41
+ */
42
+ const BaseSchemaVisitor = exports.BaseSchemaVisitor = (0, _tsMixer.Mixin)(_apidomNsOpenapi.FixedFieldsVisitor, _apidomNsJsonSchema.ParentSchemaAwareVisitor, _apidomNsOpenapi.FallbackVisitor);
43
+
44
+ /**
45
+ * @public
46
+ */
@@ -0,0 +1,43 @@
1
+ import { Mixin } from 'ts-mixer';
2
+ import { SpecificationVisitor, FallbackVisitor, FixedFieldsVisitor, MapVisitor } from '@speclynx/apidom-ns-openapi-3-0';
3
+ import { ParentSchemaAwareVisitor } from '@speclynx/apidom-ns-json-schema-2020-12';
4
+
5
+ /**
6
+ * Base class for visitors using Mixin(SpecificationVisitor, FallbackVisitor)
7
+ * @public
8
+ */
9
+ export const BaseSpecificationVisitor = Mixin(SpecificationVisitor, FallbackVisitor);
10
+
11
+ /**
12
+ * @public
13
+ */
14
+
15
+ /**
16
+ * Base class for visitors using Mixin(FixedFieldsVisitor, FallbackVisitor)
17
+ * @public
18
+ */
19
+ export const BaseFixedFieldsVisitor = Mixin(FixedFieldsVisitor, FallbackVisitor);
20
+
21
+ /**
22
+ * @public
23
+ */
24
+
25
+ /**
26
+ * Base class for visitors using Mixin(MapVisitor, FallbackVisitor)
27
+ * @public
28
+ */
29
+ export const BaseMapVisitor = Mixin(MapVisitor, FallbackVisitor);
30
+
31
+ /**
32
+ * @public
33
+ */
34
+
35
+ /**
36
+ * Base class for visitors using Mixin(FixedFieldsVisitor, ParentSchemaAwareVisitor, FallbackVisitor)
37
+ * @public
38
+ */
39
+ export const BaseSchemaVisitor = Mixin(FixedFieldsVisitor, ParentSchemaAwareVisitor, FallbackVisitor);
40
+
41
+ /**
42
+ * @public
43
+ */
@@ -22,8 +22,8 @@ class CallbackVisitor extends BaseCallbackVisitor {
22
22
  return (0, _apidomNsOpenapi.isReferenceLikeElement)(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'PathItem'];
23
23
  };
24
24
  }
25
- ObjectElement(objectElement) {
26
- const result = BaseCallbackVisitor.prototype.ObjectElement.call(this, objectElement);
25
+ ObjectElement(path) {
26
+ BaseCallbackVisitor.prototype.ObjectElement.call(this, path);
27
27
 
28
28
  // decorate every ReferenceElement with metadata about their referencing type
29
29
  // @ts-ignore
@@ -31,7 +31,6 @@ class CallbackVisitor extends BaseCallbackVisitor {
31
31
  // @ts-ignore
32
32
  referenceElement.setMetaProperty('referenced-element', 'pathItem');
33
33
  });
34
- return result;
35
34
  }
36
35
  }
37
36
  var _default = exports.default = CallbackVisitor;
@@ -17,8 +17,8 @@ class CallbackVisitor extends BaseCallbackVisitor {
17
17
  return isReferenceLikeElement(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'PathItem'];
18
18
  };
19
19
  }
20
- ObjectElement(objectElement) {
21
- const result = BaseCallbackVisitor.prototype.ObjectElement.call(this, objectElement);
20
+ ObjectElement(path) {
21
+ BaseCallbackVisitor.prototype.ObjectElement.call(this, path);
22
22
 
23
23
  // decorate every ReferenceElement with metadata about their referencing type
24
24
  // @ts-ignore
@@ -26,7 +26,6 @@ class CallbackVisitor extends BaseCallbackVisitor {
26
26
  // @ts-ignore
27
27
  referenceElement.setMetaProperty('referenced-element', 'pathItem');
28
28
  });
29
- return result;
30
29
  }
31
30
  }
32
31
  export default CallbackVisitor;
@@ -3,10 +3,10 @@
3
3
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
4
  exports.__esModule = true;
5
5
  exports.default = void 0;
6
- var _tsMixer = require("ts-mixer");
7
6
  var _apidomNsOpenapi = require("@speclynx/apidom-ns-openapi-3-0");
8
7
  var _ComponentsPathItems = _interopRequireDefault(require("../../../../elements/nces/ComponentsPathItems.cjs"));
9
8
  var _predicates = require("../../../../predicates.cjs");
9
+ var _bases = require("../bases.cjs");
10
10
  /**
11
11
  * @public
12
12
  */
@@ -14,21 +14,20 @@ var _predicates = require("../../../../predicates.cjs");
14
14
  /**
15
15
  * @public
16
16
  */
17
- class PathItemsVisitor extends (0, _tsMixer.Mixin)(_apidomNsOpenapi.MapVisitor, _apidomNsOpenapi.FallbackVisitor) {
17
+ class PathItemsVisitor extends _bases.BaseMapVisitor {
18
18
  constructor(options) {
19
19
  super(options);
20
20
  this.element = new _ComponentsPathItems.default();
21
21
  this.specPath = element => (0, _apidomNsOpenapi.isReferenceLikeElement)(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'PathItem'];
22
22
  }
23
- ObjectElement(objectElement) {
24
- const result = _apidomNsOpenapi.MapVisitor.prototype.ObjectElement.call(this, objectElement);
23
+ ObjectElement(path) {
24
+ _apidomNsOpenapi.MapVisitor.prototype.ObjectElement.call(this, path);
25
25
 
26
26
  // @ts-ignore
27
27
  this.element.filter(_predicates.isReferenceElement).forEach(referenceElement => {
28
28
  // @ts-ignore
29
29
  referenceElement.setMetaProperty('referenced-element', 'pathItem');
30
30
  });
31
- return result;
32
31
  }
33
32
  }
34
33
  var _default = exports.default = PathItemsVisitor;
@@ -1,28 +1,27 @@
1
- import { Mixin } from 'ts-mixer';
2
- import { isReferenceLikeElement, MapVisitor, FallbackVisitor } from '@speclynx/apidom-ns-openapi-3-0';
1
+ import { isReferenceLikeElement, MapVisitor } from '@speclynx/apidom-ns-openapi-3-0';
3
2
  import ComponentsPathItemsElement from "../../../../elements/nces/ComponentsPathItems.mjs";
4
3
  import { isReferenceElement } from "../../../../predicates.mjs";
4
+ import { BaseMapVisitor } from "../bases.mjs";
5
5
  /**
6
6
  * @public
7
7
  */
8
8
  /**
9
9
  * @public
10
10
  */
11
- class PathItemsVisitor extends Mixin(MapVisitor, FallbackVisitor) {
11
+ class PathItemsVisitor extends BaseMapVisitor {
12
12
  constructor(options) {
13
13
  super(options);
14
14
  this.element = new ComponentsPathItemsElement();
15
15
  this.specPath = element => isReferenceLikeElement(element) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'PathItem'];
16
16
  }
17
- ObjectElement(objectElement) {
18
- const result = MapVisitor.prototype.ObjectElement.call(this, objectElement);
17
+ ObjectElement(path) {
18
+ MapVisitor.prototype.ObjectElement.call(this, path);
19
19
 
20
20
  // @ts-ignore
21
21
  this.element.filter(isReferenceElement).forEach(referenceElement => {
22
22
  // @ts-ignore
23
23
  referenceElement.setMetaProperty('referenced-element', 'pathItem');
24
24
  });
25
- return result;
26
25
  }
27
26
  }
28
27
  export default PathItemsVisitor;
@@ -2,9 +2,9 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  exports.default = void 0;
5
- var _tsMixer = require("ts-mixer");
6
5
  var _ramda = require("ramda");
7
6
  var _apidomNsOpenapi = require("@speclynx/apidom-ns-openapi-3-0");
7
+ var _bases = require("../bases.cjs");
8
8
  /**
9
9
  * @public
10
10
  */
@@ -12,7 +12,7 @@ var _apidomNsOpenapi = require("@speclynx/apidom-ns-openapi-3-0");
12
12
  /**
13
13
  * @public
14
14
  */
15
- class SchemasVisitor extends (0, _tsMixer.Mixin)(_apidomNsOpenapi.MapVisitor, _apidomNsOpenapi.FallbackVisitor) {
15
+ class SchemasVisitor extends _bases.BaseMapVisitor {
16
16
  constructor(options) {
17
17
  super(options);
18
18
  this.element = new _apidomNsOpenapi.ComponentsSchemasElement();
@@ -1,15 +1,13 @@
1
- import { Mixin } from 'ts-mixer';
2
1
  import { always } from 'ramda';
3
- import { ComponentsSchemasElement, MapVisitor, FallbackVisitor } from '@speclynx/apidom-ns-openapi-3-0';
4
-
2
+ import { ComponentsSchemasElement } from '@speclynx/apidom-ns-openapi-3-0';
3
+ import { BaseMapVisitor } from "../bases.mjs";
5
4
  /**
6
5
  * @public
7
6
  */
8
-
9
7
  /**
10
8
  * @public
11
9
  */
12
- class SchemasVisitor extends Mixin(MapVisitor, FallbackVisitor) {
10
+ class SchemasVisitor extends BaseMapVisitor {
13
11
  constructor(options) {
14
12
  super(options);
15
13
  this.element = new ComponentsSchemasElement();
@@ -3,10 +3,10 @@
3
3
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
4
  exports.__esModule = true;
5
5
  exports.default = void 0;
6
- var _tsMixer = require("ts-mixer");
7
6
  var _ramda = require("ramda");
8
7
  var _apidomNsOpenapi = require("@speclynx/apidom-ns-openapi-3-0");
9
8
  var _OpenApi = _interopRequireDefault(require("../../../elements/OpenApi3-1.cjs"));
9
+ var _bases = require("./bases.cjs");
10
10
  /**
11
11
  * @public
12
12
  */
@@ -15,7 +15,7 @@ var _OpenApi = _interopRequireDefault(require("../../../elements/OpenApi3-1.cjs"
15
15
  * @public
16
16
  */
17
17
 
18
- class OpenApi3_1Visitor extends (0, _tsMixer.Mixin)(_apidomNsOpenapi.FixedFieldsVisitor, _apidomNsOpenapi.FallbackVisitor) {
18
+ class OpenApi3_1Visitor extends _bases.BaseFixedFieldsVisitor {
19
19
  constructor(options) {
20
20
  super(options);
21
21
  this.element = new _OpenApi.default();
@@ -23,9 +23,10 @@ class OpenApi3_1Visitor extends (0, _tsMixer.Mixin)(_apidomNsOpenapi.FixedFields
23
23
  this.canSupportSpecificationExtensions = true;
24
24
  this.openApiSemanticElement = this.element;
25
25
  }
26
- ObjectElement(objectElement) {
26
+ ObjectElement(path) {
27
+ const objectElement = path.node;
27
28
  this.openApiGenericElement = objectElement;
28
- return _apidomNsOpenapi.FixedFieldsVisitor.prototype.ObjectElement.call(this, objectElement);
29
+ _apidomNsOpenapi.FixedFieldsVisitor.prototype.ObjectElement.call(this, path);
29
30
  }
30
31
  }
31
32
  var _default = exports.default = OpenApi3_1Visitor;
@@ -1,7 +1,7 @@
1
- import { Mixin } from 'ts-mixer';
2
1
  import { always } from 'ramda';
3
- import { FixedFieldsVisitor, FallbackVisitor } from '@speclynx/apidom-ns-openapi-3-0';
2
+ import { FixedFieldsVisitor } from '@speclynx/apidom-ns-openapi-3-0';
4
3
  import OpenApi3_1Element from "../../../elements/OpenApi3-1.mjs";
4
+ import { BaseFixedFieldsVisitor } from "./bases.mjs";
5
5
  /**
6
6
  * @public
7
7
  */
@@ -9,7 +9,7 @@ import OpenApi3_1Element from "../../../elements/OpenApi3-1.mjs";
9
9
  * @public
10
10
  */
11
11
 
12
- class OpenApi3_1Visitor extends Mixin(FixedFieldsVisitor, FallbackVisitor) {
12
+ class OpenApi3_1Visitor extends BaseFixedFieldsVisitor {
13
13
  constructor(options) {
14
14
  super(options);
15
15
  this.element = new OpenApi3_1Element();
@@ -17,9 +17,10 @@ class OpenApi3_1Visitor extends Mixin(FixedFieldsVisitor, FallbackVisitor) {
17
17
  this.canSupportSpecificationExtensions = true;
18
18
  this.openApiSemanticElement = this.element;
19
19
  }
20
- ObjectElement(objectElement) {
20
+ ObjectElement(path) {
21
+ const objectElement = path.node;
21
22
  this.openApiGenericElement = objectElement;
22
- return FixedFieldsVisitor.prototype.ObjectElement.call(this, objectElement);
23
+ FixedFieldsVisitor.prototype.ObjectElement.call(this, path);
23
24
  }
24
25
  }
25
26
  export default OpenApi3_1Visitor;