@speclynx/apidom-ns-json-schema-draft-4 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 (82) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/NOTICE +16 -7
  3. package/README.md +24 -24
  4. package/dist/apidom-ns-json-schema-draft-4.browser.js +1 -1
  5. package/package.json +8 -8
  6. package/src/elements/JSONReference.cjs +2 -2
  7. package/src/elements/JSONReference.mjs +1 -2
  8. package/src/elements/JSONSchema.cjs +9 -9
  9. package/src/elements/JSONSchema.mjs +8 -8
  10. package/src/elements/LinkDescription.cjs +2 -2
  11. package/src/elements/LinkDescription.mjs +1 -1
  12. package/src/elements/Media.cjs +2 -2
  13. package/src/elements/Media.mjs +1 -2
  14. package/src/index.cjs +24 -21
  15. package/src/index.mjs +3 -4
  16. package/src/predicates.cjs +8 -29
  17. package/src/predicates.mjs +4 -29
  18. package/src/refractor/index.cjs +57 -16
  19. package/src/refractor/index.mjs +51 -15
  20. package/src/refractor/inspect.cjs +55 -0
  21. package/src/refractor/inspect.mjs +47 -0
  22. package/src/refractor/plugins/replace-empty-element.cjs +27 -21
  23. package/src/refractor/plugins/replace-empty-element.mjs +14 -8
  24. package/src/refractor/predicates.cjs +2 -2
  25. package/src/refractor/predicates.mjs +1 -1
  26. package/src/refractor/specification.cjs +14 -3
  27. package/src/refractor/specification.mjs +14 -3
  28. package/src/refractor/toolbox.cjs +10 -3
  29. package/src/refractor/toolbox.mjs +8 -2
  30. package/src/refractor/visitors/FallbackVisitor.cjs +4 -4
  31. package/src/refractor/visitors/FallbackVisitor.mjs +4 -4
  32. package/src/refractor/visitors/SpecificationVisitor.cjs +4 -3
  33. package/src/refractor/visitors/SpecificationVisitor.mjs +3 -2
  34. package/src/refractor/visitors/Visitor.cjs +10 -8
  35. package/src/refractor/visitors/Visitor.mjs +11 -9
  36. package/src/refractor/visitors/generics/AlternatingVisitor.cjs +3 -3
  37. package/src/refractor/visitors/generics/AlternatingVisitor.mjs +3 -3
  38. package/src/refractor/visitors/generics/FixedFieldsVisitor.cjs +10 -7
  39. package/src/refractor/visitors/generics/FixedFieldsVisitor.mjs +9 -6
  40. package/src/refractor/visitors/generics/PatternedFieldsVisitor.cjs +9 -6
  41. package/src/refractor/visitors/generics/PatternedFieldsVisitor.mjs +8 -5
  42. package/src/refractor/visitors/json-schema/AllOfVisitor.cjs +7 -10
  43. package/src/refractor/visitors/json-schema/AllOfVisitor.mjs +6 -8
  44. package/src/refractor/visitors/json-schema/AnyOfVisitor.cjs +7 -10
  45. package/src/refractor/visitors/json-schema/AnyOfVisitor.mjs +6 -8
  46. package/src/refractor/visitors/json-schema/DefinitionsVisitor.cjs +4 -8
  47. package/src/refractor/visitors/json-schema/DefinitionsVisitor.mjs +3 -6
  48. package/src/refractor/visitors/json-schema/DependenciesVisitor.cjs +4 -8
  49. package/src/refractor/visitors/json-schema/DependenciesVisitor.mjs +3 -6
  50. package/src/refractor/visitors/json-schema/EnumVisitor.cjs +2 -3
  51. package/src/refractor/visitors/json-schema/EnumVisitor.mjs +2 -3
  52. package/src/refractor/visitors/json-schema/ItemsVisitor.cjs +10 -12
  53. package/src/refractor/visitors/json-schema/ItemsVisitor.mjs +9 -10
  54. package/src/refractor/visitors/json-schema/LinksVisitor.cjs +7 -10
  55. package/src/refractor/visitors/json-schema/LinksVisitor.mjs +6 -8
  56. package/src/refractor/visitors/json-schema/OneOfVisitor.cjs +7 -10
  57. package/src/refractor/visitors/json-schema/OneOfVisitor.mjs +6 -8
  58. package/src/refractor/visitors/json-schema/PatternPropertiesVisitor.cjs +4 -8
  59. package/src/refractor/visitors/json-schema/PatternPropertiesVisitor.mjs +3 -6
  60. package/src/refractor/visitors/json-schema/PropertiesVisitor.cjs +4 -8
  61. package/src/refractor/visitors/json-schema/PropertiesVisitor.mjs +3 -6
  62. package/src/refractor/visitors/json-schema/RequiredVisitor.cjs +2 -3
  63. package/src/refractor/visitors/json-schema/RequiredVisitor.mjs +2 -3
  64. package/src/refractor/visitors/json-schema/TypeVisitor.cjs +4 -6
  65. package/src/refractor/visitors/json-schema/TypeVisitor.mjs +4 -6
  66. package/src/refractor/visitors/json-schema/bases.cjs +45 -0
  67. package/src/refractor/visitors/json-schema/bases.mjs +39 -0
  68. package/src/refractor/visitors/json-schema/index.cjs +12 -12
  69. package/src/refractor/visitors/json-schema/index.mjs +11 -11
  70. package/src/refractor/visitors/json-schema/json-reference/$RefVisitor.cjs +2 -3
  71. package/src/refractor/visitors/json-schema/json-reference/$RefVisitor.mjs +2 -3
  72. package/src/refractor/visitors/json-schema/json-reference/index.cjs +6 -8
  73. package/src/refractor/visitors/json-schema/json-reference/index.mjs +5 -7
  74. package/src/refractor/visitors/json-schema/link-description/index.cjs +2 -4
  75. package/src/refractor/visitors/json-schema/link-description/index.mjs +2 -4
  76. package/src/refractor/visitors/json-schema/media/index.cjs +2 -4
  77. package/src/refractor/visitors/json-schema/media/index.mjs +2 -4
  78. package/types/apidom-ns-json-schema-draft-4.d.ts +169 -151
  79. package/src/refractor/registration.cjs +0 -19
  80. package/src/refractor/registration.mjs +0 -10
  81. package/src/traversal/visitor.cjs +0 -26
  82. package/src/traversal/visitor.mjs +0 -22
@@ -1,13 +1,9 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
3
  exports.__esModule = true;
5
4
  exports.default = void 0;
6
- var _tsMixer = require("ts-mixer");
7
- var _apidomCore = require("@speclynx/apidom-core");
8
- var _FallbackVisitor = _interopRequireDefault(require("../FallbackVisitor.cjs"));
9
- var _MapVisitor = _interopRequireDefault(require("../generics/MapVisitor.cjs"));
10
- var _ParentSchemaAwareVisitor = _interopRequireDefault(require("./ParentSchemaAwareVisitor.cjs"));
5
+ var _apidomDatamodel = require("@speclynx/apidom-datamodel");
6
+ var _bases = require("./bases.cjs");
11
7
  var _predicates = require("../../predicates.cjs");
12
8
  /**
13
9
  * @public
@@ -16,10 +12,10 @@ var _predicates = require("../../predicates.cjs");
16
12
  /**
17
13
  * @public
18
14
  */
19
- class PatternPropertiesVisitor extends (0, _tsMixer.Mixin)(_MapVisitor.default, _ParentSchemaAwareVisitor.default, _FallbackVisitor.default) {
15
+ class PatternPropertiesVisitor extends _bases.PatternPropertiesVisitorBase {
20
16
  constructor(options) {
21
17
  super(options);
22
- this.element = new _apidomCore.ObjectElement();
18
+ this.element = new _apidomDatamodel.ObjectElement();
23
19
  this.element.classes.push('json-schema-patternProperties');
24
20
  this.specPath = element => (0, _predicates.isJSONReferenceLikeElement)(element) ? ['document', 'objects', 'JSONReference'] : ['document', 'objects', 'JSONSchema'];
25
21
  }
@@ -1,8 +1,5 @@
1
- import { Mixin } from 'ts-mixer';
2
- import { ObjectElement } from '@speclynx/apidom-core';
3
- import FallbackVisitor from "../FallbackVisitor.mjs";
4
- import MapVisitor from "../generics/MapVisitor.mjs";
5
- import ParentSchemaAwareVisitor from "./ParentSchemaAwareVisitor.mjs";
1
+ import { ObjectElement } from '@speclynx/apidom-datamodel';
2
+ import { PatternPropertiesVisitorBase } from "./bases.mjs";
6
3
  import { isJSONReferenceLikeElement } from "../../predicates.mjs";
7
4
  /**
8
5
  * @public
@@ -10,7 +7,7 @@ import { isJSONReferenceLikeElement } from "../../predicates.mjs";
10
7
  /**
11
8
  * @public
12
9
  */
13
- class PatternPropertiesVisitor extends Mixin(MapVisitor, ParentSchemaAwareVisitor, FallbackVisitor) {
10
+ class PatternPropertiesVisitor extends PatternPropertiesVisitorBase {
14
11
  constructor(options) {
15
12
  super(options);
16
13
  this.element = new ObjectElement();
@@ -1,13 +1,9 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
3
  exports.__esModule = true;
5
4
  exports.default = void 0;
6
- var _tsMixer = require("ts-mixer");
7
- var _apidomCore = require("@speclynx/apidom-core");
8
- var _FallbackVisitor = _interopRequireDefault(require("../FallbackVisitor.cjs"));
9
- var _MapVisitor = _interopRequireDefault(require("../generics/MapVisitor.cjs"));
10
- var _ParentSchemaAwareVisitor = _interopRequireDefault(require("./ParentSchemaAwareVisitor.cjs"));
5
+ var _apidomDatamodel = require("@speclynx/apidom-datamodel");
6
+ var _bases = require("./bases.cjs");
11
7
  var _predicates = require("../../predicates.cjs");
12
8
  /**
13
9
  * @public
@@ -16,10 +12,10 @@ var _predicates = require("../../predicates.cjs");
16
12
  /**
17
13
  * @public
18
14
  */
19
- class PropertiesVisitor extends (0, _tsMixer.Mixin)(_MapVisitor.default, _ParentSchemaAwareVisitor.default, _FallbackVisitor.default) {
15
+ class PropertiesVisitor extends _bases.PropertiesVisitorBase {
20
16
  constructor(options) {
21
17
  super(options);
22
- this.element = new _apidomCore.ObjectElement();
18
+ this.element = new _apidomDatamodel.ObjectElement();
23
19
  this.element.classes.push('json-schema-properties');
24
20
  this.specPath = element => (0, _predicates.isJSONReferenceLikeElement)(element) ? ['document', 'objects', 'JSONReference'] : ['document', 'objects', 'JSONSchema'];
25
21
  }
@@ -1,8 +1,5 @@
1
- import { Mixin } from 'ts-mixer';
2
- import { ObjectElement } from '@speclynx/apidom-core';
3
- import FallbackVisitor from "../FallbackVisitor.mjs";
4
- import MapVisitor from "../generics/MapVisitor.mjs";
5
- import ParentSchemaAwareVisitor from "./ParentSchemaAwareVisitor.mjs";
1
+ import { ObjectElement } from '@speclynx/apidom-datamodel';
2
+ import { PropertiesVisitorBase } from "./bases.mjs";
6
3
  import { isJSONReferenceLikeElement } from "../../predicates.mjs";
7
4
  /**
8
5
  * @public
@@ -10,7 +7,7 @@ import { isJSONReferenceLikeElement } from "../../predicates.mjs";
10
7
  /**
11
8
  * @public
12
9
  */
13
- class PropertiesVisitor extends Mixin(MapVisitor, ParentSchemaAwareVisitor, FallbackVisitor) {
10
+ class PropertiesVisitor extends PropertiesVisitorBase {
14
11
  constructor(options) {
15
12
  super(options);
16
13
  this.element = new ObjectElement();
@@ -8,10 +8,9 @@ var _FallbackVisitor = _interopRequireDefault(require("../FallbackVisitor.cjs"))
8
8
  * @public
9
9
  */
10
10
  class RequiredVisitor extends _FallbackVisitor.default {
11
- ArrayElement(arrayElement) {
12
- const result = this.enter(arrayElement);
11
+ ArrayElement(path) {
12
+ super.enter(path);
13
13
  this.element.classes.push('json-schema-required');
14
- return result;
15
14
  }
16
15
  }
17
16
  var _default = exports.default = RequiredVisitor;
@@ -3,10 +3,9 @@ import FallbackVisitor from "../FallbackVisitor.mjs";
3
3
  * @public
4
4
  */
5
5
  class RequiredVisitor extends FallbackVisitor {
6
- ArrayElement(arrayElement) {
7
- const result = this.enter(arrayElement);
6
+ ArrayElement(path) {
7
+ super.enter(path);
8
8
  this.element.classes.push('json-schema-required');
9
- return result;
10
9
  }
11
10
  }
12
11
  export default RequiredVisitor;
@@ -8,15 +8,13 @@ var _FallbackVisitor = _interopRequireDefault(require("../FallbackVisitor.cjs"))
8
8
  * @public
9
9
  */
10
10
  class TypeVisitor extends _FallbackVisitor.default {
11
- StringElement(stringElement) {
12
- const result = this.enter(stringElement);
11
+ StringElement(path) {
12
+ super.enter(path);
13
13
  this.element.classes.push('json-schema-type');
14
- return result;
15
14
  }
16
- ArrayElement(arrayElement) {
17
- const result = this.enter(arrayElement);
15
+ ArrayElement(path) {
16
+ super.enter(path);
18
17
  this.element.classes.push('json-schema-type');
19
- return result;
20
18
  }
21
19
  }
22
20
  var _default = exports.default = TypeVisitor;
@@ -3,15 +3,13 @@ import FallbackVisitor from "../FallbackVisitor.mjs";
3
3
  * @public
4
4
  */
5
5
  class TypeVisitor extends FallbackVisitor {
6
- StringElement(stringElement) {
7
- const result = this.enter(stringElement);
6
+ StringElement(path) {
7
+ super.enter(path);
8
8
  this.element.classes.push('json-schema-type');
9
- return result;
10
9
  }
11
- ArrayElement(arrayElement) {
12
- const result = this.enter(arrayElement);
10
+ ArrayElement(path) {
11
+ super.enter(path);
13
12
  this.element.classes.push('json-schema-type');
14
- return result;
15
13
  }
16
14
  }
17
15
  export default TypeVisitor;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
+ exports.__esModule = true;
5
+ exports.PropertiesVisitorBase = exports.PatternPropertiesVisitorBase = exports.OneOfVisitorBase = exports.MediaVisitorBase = exports.LinksVisitorBase = exports.LinkDescriptionVisitorBase = exports.JSONSchemaVisitorBase = exports.JSONReferenceVisitorBase = exports.ItemsVisitorBase = exports.DependenciesVisitorBase = exports.DefinitionsVisitorBase = exports.AnyOfVisitorBase = exports.AllOfVisitorBase = void 0;
6
+ var _tsMixer = require("ts-mixer");
7
+ var _FallbackVisitor = _interopRequireDefault(require("../FallbackVisitor.cjs"));
8
+ var _SpecificationVisitor = _interopRequireDefault(require("../SpecificationVisitor.cjs"));
9
+ var _FixedFieldsVisitor = _interopRequireDefault(require("../generics/FixedFieldsVisitor.cjs"));
10
+ var _MapVisitor = _interopRequireDefault(require("../generics/MapVisitor.cjs"));
11
+ var _ParentSchemaAwareVisitor = _interopRequireDefault(require("./ParentSchemaAwareVisitor.cjs"));
12
+ /**
13
+ * These base classes are exported to satisfy api-extractor's ae-forgotten-export warnings.
14
+ * When ts-mixer creates mixin classes, TypeScript generates internal *_base types that
15
+ * need to be exported from the entry point.
16
+ */
17
+
18
+ /** @public */
19
+ const JSONSchemaVisitorBase = exports.JSONSchemaVisitorBase = (0, _tsMixer.Mixin)(_FixedFieldsVisitor.default, _ParentSchemaAwareVisitor.default, _FallbackVisitor.default);
20
+ /** @public */
21
+ const JSONReferenceVisitorBase = exports.JSONReferenceVisitorBase = (0, _tsMixer.Mixin)(_FixedFieldsVisitor.default, _FallbackVisitor.default);
22
+ /** @public */
23
+ const LinkDescriptionVisitorBase = exports.LinkDescriptionVisitorBase = (0, _tsMixer.Mixin)(_FixedFieldsVisitor.default, _FallbackVisitor.default);
24
+ /** @public */
25
+ const MediaVisitorBase = exports.MediaVisitorBase = (0, _tsMixer.Mixin)(_FixedFieldsVisitor.default, _FallbackVisitor.default);
26
+
27
+ /** @public */
28
+ const AllOfVisitorBase = exports.AllOfVisitorBase = (0, _tsMixer.Mixin)(_SpecificationVisitor.default, _ParentSchemaAwareVisitor.default, _FallbackVisitor.default);
29
+ /** @public */
30
+ const AnyOfVisitorBase = exports.AnyOfVisitorBase = (0, _tsMixer.Mixin)(_SpecificationVisitor.default, _ParentSchemaAwareVisitor.default, _FallbackVisitor.default);
31
+ /** @public */
32
+ const OneOfVisitorBase = exports.OneOfVisitorBase = (0, _tsMixer.Mixin)(_SpecificationVisitor.default, _ParentSchemaAwareVisitor.default, _FallbackVisitor.default);
33
+ /** @public */
34
+ const ItemsVisitorBase = exports.ItemsVisitorBase = (0, _tsMixer.Mixin)(_SpecificationVisitor.default, _ParentSchemaAwareVisitor.default, _FallbackVisitor.default);
35
+ /** @public */
36
+ const LinksVisitorBase = exports.LinksVisitorBase = (0, _tsMixer.Mixin)(_SpecificationVisitor.default, _ParentSchemaAwareVisitor.default, _FallbackVisitor.default);
37
+
38
+ /** @public */
39
+ const DefinitionsVisitorBase = exports.DefinitionsVisitorBase = (0, _tsMixer.Mixin)(_MapVisitor.default, _ParentSchemaAwareVisitor.default, _FallbackVisitor.default);
40
+ /** @public */
41
+ const DependenciesVisitorBase = exports.DependenciesVisitorBase = (0, _tsMixer.Mixin)(_MapVisitor.default, _ParentSchemaAwareVisitor.default, _FallbackVisitor.default);
42
+ /** @public */
43
+ const PatternPropertiesVisitorBase = exports.PatternPropertiesVisitorBase = (0, _tsMixer.Mixin)(_MapVisitor.default, _ParentSchemaAwareVisitor.default, _FallbackVisitor.default);
44
+ /** @public */
45
+ const PropertiesVisitorBase = exports.PropertiesVisitorBase = (0, _tsMixer.Mixin)(_MapVisitor.default, _ParentSchemaAwareVisitor.default, _FallbackVisitor.default);
@@ -0,0 +1,39 @@
1
+ import { Mixin } from 'ts-mixer';
2
+ import FallbackVisitor from "../FallbackVisitor.mjs";
3
+ import SpecificationVisitor from "../SpecificationVisitor.mjs";
4
+ import FixedFieldsVisitor from "../generics/FixedFieldsVisitor.mjs";
5
+ import MapVisitor from "../generics/MapVisitor.mjs";
6
+ import ParentSchemaAwareVisitor from "./ParentSchemaAwareVisitor.mjs";
7
+ /**
8
+ * These base classes are exported to satisfy api-extractor's ae-forgotten-export warnings.
9
+ * When ts-mixer creates mixin classes, TypeScript generates internal *_base types that
10
+ * need to be exported from the entry point.
11
+ */
12
+ /** @public */
13
+ export const JSONSchemaVisitorBase = Mixin(FixedFieldsVisitor, ParentSchemaAwareVisitor, FallbackVisitor);
14
+ /** @public */
15
+ export const JSONReferenceVisitorBase = Mixin(FixedFieldsVisitor, FallbackVisitor);
16
+ /** @public */
17
+ export const LinkDescriptionVisitorBase = Mixin(FixedFieldsVisitor, FallbackVisitor);
18
+ /** @public */
19
+ export const MediaVisitorBase = Mixin(FixedFieldsVisitor, FallbackVisitor);
20
+
21
+ /** @public */
22
+ export const AllOfVisitorBase = Mixin(SpecificationVisitor, ParentSchemaAwareVisitor, FallbackVisitor);
23
+ /** @public */
24
+ export const AnyOfVisitorBase = Mixin(SpecificationVisitor, ParentSchemaAwareVisitor, FallbackVisitor);
25
+ /** @public */
26
+ export const OneOfVisitorBase = Mixin(SpecificationVisitor, ParentSchemaAwareVisitor, FallbackVisitor);
27
+ /** @public */
28
+ export const ItemsVisitorBase = Mixin(SpecificationVisitor, ParentSchemaAwareVisitor, FallbackVisitor);
29
+ /** @public */
30
+ export const LinksVisitorBase = Mixin(SpecificationVisitor, ParentSchemaAwareVisitor, FallbackVisitor);
31
+
32
+ /** @public */
33
+ export const DefinitionsVisitorBase = Mixin(MapVisitor, ParentSchemaAwareVisitor, FallbackVisitor);
34
+ /** @public */
35
+ export const DependenciesVisitorBase = Mixin(MapVisitor, ParentSchemaAwareVisitor, FallbackVisitor);
36
+ /** @public */
37
+ export const PatternPropertiesVisitorBase = Mixin(MapVisitor, ParentSchemaAwareVisitor, FallbackVisitor);
38
+ /** @public */
39
+ export const PropertiesVisitorBase = Mixin(MapVisitor, ParentSchemaAwareVisitor, FallbackVisitor);
@@ -3,13 +3,12 @@
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 _ramdaAdjunct = require("ramda-adjunct");
8
+ var _apidomDatamodel = require("@speclynx/apidom-datamodel");
9
9
  var _apidomCore = require("@speclynx/apidom-core");
10
10
  var _FixedFieldsVisitor = _interopRequireDefault(require("../generics/FixedFieldsVisitor.cjs"));
11
- var _ParentSchemaAwareVisitor = _interopRequireDefault(require("./ParentSchemaAwareVisitor.cjs"));
12
- var _FallbackVisitor = _interopRequireDefault(require("../FallbackVisitor.cjs"));
11
+ var _bases = require("./bases.cjs");
13
12
  var _JSONSchema = _interopRequireDefault(require("../../../elements/JSONSchema.cjs"));
14
13
  var _predicates = require("../../../predicates.cjs");
15
14
  /**
@@ -19,7 +18,7 @@ var _predicates = require("../../../predicates.cjs");
19
18
  /**
20
19
  * @public
21
20
  */
22
- class JSONSchemaVisitor extends (0, _tsMixer.Mixin)(_FixedFieldsVisitor.default, _ParentSchemaAwareVisitor.default, _FallbackVisitor.default) {
21
+ class JSONSchemaVisitor extends _bases.JSONSchemaVisitorBase {
23
22
  constructor(options) {
24
23
  super(options);
25
24
  this.element = new _JSONSchema.default();
@@ -28,29 +27,30 @@ class JSONSchemaVisitor extends (0, _tsMixer.Mixin)(_FixedFieldsVisitor.default,
28
27
  get defaultDialectIdentifier() {
29
28
  return 'http://json-schema.org/draft-04/schema#';
30
29
  }
31
- ObjectElement(objectElement) {
30
+ ObjectElement(path) {
31
+ const objectElement = path.node;
32
32
  this.handleDialectIdentifier(objectElement);
33
33
  this.handleSchemaIdentifier(objectElement);
34
34
 
35
35
  // for further processing consider this JSONSchema Element as parent for all sub-schemas
36
36
  this.parent = this.element;
37
- return _FixedFieldsVisitor.default.prototype.ObjectElement.call(this, objectElement);
37
+ return _FixedFieldsVisitor.default.prototype.ObjectElement.call(this, path);
38
38
  }
39
39
  handleDialectIdentifier(objectElement) {
40
40
  // handle $schema keyword in embedded resources
41
- if ((0, _ramdaAdjunct.isUndefined)(this.parent) && !(0, _apidomCore.isStringElement)(objectElement.get('$schema'))) {
41
+ if ((0, _ramdaAdjunct.isUndefined)(this.parent) && !(0, _apidomDatamodel.isStringElement)(objectElement.get('$schema'))) {
42
42
  // no parent available and no $schema is defined, set default $schema
43
- this.element.setMetaProperty('inheritedDialectIdentifier', this.defaultDialectIdentifier);
44
- } else if ((0, _predicates.isJSONSchemaElement)(this.parent) && !(0, _apidomCore.isStringElement)(objectElement.get('$schema'))) {
43
+ this.element.meta.set('inheritedDialectIdentifier', this.defaultDialectIdentifier);
44
+ } else if ((0, _predicates.isJSONSchemaElement)(this.parent) && !(0, _apidomDatamodel.isStringElement)(objectElement.get('$schema'))) {
45
45
  // parent is available and no $schema is defined, set parent $schema
46
46
  const inheritedDialectIdentifier = (0, _ramda.defaultTo)((0, _apidomCore.toValue)(this.parent.meta.get('inheritedDialectIdentifier')), (0, _apidomCore.toValue)(this.parent.$schema));
47
- this.element.setMetaProperty('inheritedDialectIdentifier', inheritedDialectIdentifier);
47
+ this.element.meta.set('inheritedDialectIdentifier', inheritedDialectIdentifier);
48
48
  }
49
49
  }
50
50
  handleSchemaIdentifier(objectElement, identifierKeyword = 'id') {
51
51
  // handle schema identifier in embedded resources
52
52
  // fetch parent's ancestorsSchemaIdentifiers
53
- const ancestorsSchemaIdentifiers = this.parent !== undefined ? (0, _apidomCore.cloneDeep)(this.parent.getMetaProperty('ancestorsSchemaIdentifiers', [])) : new _apidomCore.ArrayElement();
53
+ const ancestorsSchemaIdentifiers = this.parent !== undefined ? (0, _apidomDatamodel.cloneDeep)(this.parent.meta.get('ancestorsSchemaIdentifiers') ?? new _apidomDatamodel.ArrayElement()) : new _apidomDatamodel.ArrayElement();
54
54
  // get current schema identifier
55
55
  const schemaIdentifier = (0, _apidomCore.toValue)(objectElement.get(identifierKeyword));
56
56
 
@@ -58,7 +58,7 @@ class JSONSchemaVisitor extends (0, _tsMixer.Mixin)(_FixedFieldsVisitor.default,
58
58
  if ((0, _ramdaAdjunct.isNonEmptyString)(schemaIdentifier)) {
59
59
  ancestorsSchemaIdentifiers.push(schemaIdentifier);
60
60
  }
61
- this.element.setMetaProperty('ancestorsSchemaIdentifiers', ancestorsSchemaIdentifiers);
61
+ this.element.meta.set('ancestorsSchemaIdentifiers', ancestorsSchemaIdentifiers);
62
62
  }
63
63
  }
64
64
  var _default = exports.default = JSONSchemaVisitor;
@@ -1,10 +1,9 @@
1
- import { Mixin } from 'ts-mixer';
2
1
  import { always, defaultTo } from 'ramda';
3
2
  import { isNonEmptyString, isUndefined } from 'ramda-adjunct';
4
- import { ArrayElement, isStringElement, cloneDeep, toValue } from '@speclynx/apidom-core';
3
+ import { ArrayElement, isStringElement, cloneDeep } from '@speclynx/apidom-datamodel';
4
+ import { toValue } from '@speclynx/apidom-core';
5
5
  import FixedFieldsVisitor from "../generics/FixedFieldsVisitor.mjs";
6
- import ParentSchemaAwareVisitor from "./ParentSchemaAwareVisitor.mjs";
7
- import FallbackVisitor from "../FallbackVisitor.mjs";
6
+ import { JSONSchemaVisitorBase } from "./bases.mjs";
8
7
  import JSONSchemaElement from "../../../elements/JSONSchema.mjs";
9
8
  import { isJSONSchemaElement } from "../../../predicates.mjs";
10
9
  /**
@@ -13,7 +12,7 @@ import { isJSONSchemaElement } from "../../../predicates.mjs";
13
12
  /**
14
13
  * @public
15
14
  */
16
- class JSONSchemaVisitor extends Mixin(FixedFieldsVisitor, ParentSchemaAwareVisitor, FallbackVisitor) {
15
+ class JSONSchemaVisitor extends JSONSchemaVisitorBase {
17
16
  constructor(options) {
18
17
  super(options);
19
18
  this.element = new JSONSchemaElement();
@@ -22,29 +21,30 @@ class JSONSchemaVisitor extends Mixin(FixedFieldsVisitor, ParentSchemaAwareVisit
22
21
  get defaultDialectIdentifier() {
23
22
  return 'http://json-schema.org/draft-04/schema#';
24
23
  }
25
- ObjectElement(objectElement) {
24
+ ObjectElement(path) {
25
+ const objectElement = path.node;
26
26
  this.handleDialectIdentifier(objectElement);
27
27
  this.handleSchemaIdentifier(objectElement);
28
28
 
29
29
  // for further processing consider this JSONSchema Element as parent for all sub-schemas
30
30
  this.parent = this.element;
31
- return FixedFieldsVisitor.prototype.ObjectElement.call(this, objectElement);
31
+ return FixedFieldsVisitor.prototype.ObjectElement.call(this, path);
32
32
  }
33
33
  handleDialectIdentifier(objectElement) {
34
34
  // handle $schema keyword in embedded resources
35
35
  if (isUndefined(this.parent) && !isStringElement(objectElement.get('$schema'))) {
36
36
  // no parent available and no $schema is defined, set default $schema
37
- this.element.setMetaProperty('inheritedDialectIdentifier', this.defaultDialectIdentifier);
37
+ this.element.meta.set('inheritedDialectIdentifier', this.defaultDialectIdentifier);
38
38
  } else if (isJSONSchemaElement(this.parent) && !isStringElement(objectElement.get('$schema'))) {
39
39
  // parent is available and no $schema is defined, set parent $schema
40
40
  const inheritedDialectIdentifier = defaultTo(toValue(this.parent.meta.get('inheritedDialectIdentifier')), toValue(this.parent.$schema));
41
- this.element.setMetaProperty('inheritedDialectIdentifier', inheritedDialectIdentifier);
41
+ this.element.meta.set('inheritedDialectIdentifier', inheritedDialectIdentifier);
42
42
  }
43
43
  }
44
44
  handleSchemaIdentifier(objectElement, identifierKeyword = 'id') {
45
45
  // handle schema identifier in embedded resources
46
46
  // fetch parent's ancestorsSchemaIdentifiers
47
- const ancestorsSchemaIdentifiers = this.parent !== undefined ? cloneDeep(this.parent.getMetaProperty('ancestorsSchemaIdentifiers', [])) : new ArrayElement();
47
+ const ancestorsSchemaIdentifiers = this.parent !== undefined ? cloneDeep(this.parent.meta.get('ancestorsSchemaIdentifiers') ?? new ArrayElement()) : new ArrayElement();
48
48
  // get current schema identifier
49
49
  const schemaIdentifier = toValue(objectElement.get(identifierKeyword));
50
50
 
@@ -52,7 +52,7 @@ class JSONSchemaVisitor extends Mixin(FixedFieldsVisitor, ParentSchemaAwareVisit
52
52
  if (isNonEmptyString(schemaIdentifier)) {
53
53
  ancestorsSchemaIdentifiers.push(schemaIdentifier);
54
54
  }
55
- this.element.setMetaProperty('ancestorsSchemaIdentifiers', ancestorsSchemaIdentifiers);
55
+ this.element.meta.set('ancestorsSchemaIdentifiers', ancestorsSchemaIdentifiers);
56
56
  }
57
57
  }
58
58
  export default JSONSchemaVisitor;
@@ -8,10 +8,9 @@ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs
8
8
  * @public
9
9
  */
10
10
  class $RefVisitor extends _FallbackVisitor.default {
11
- StringElement(stringElement) {
12
- const result = this.enter(stringElement);
11
+ StringElement(path) {
12
+ super.enter(path);
13
13
  this.element.classes.push('reference-value');
14
- return result;
15
14
  }
16
15
  }
17
16
  var _default = exports.default = $RefVisitor;
@@ -3,10 +3,9 @@ import FallbackVisitor from "../../FallbackVisitor.mjs";
3
3
  * @public
4
4
  */
5
5
  class $RefVisitor extends FallbackVisitor {
6
- StringElement(stringElement) {
7
- const result = this.enter(stringElement);
6
+ StringElement(path) {
7
+ super.enter(path);
8
8
  this.element.classes.push('reference-value');
9
- return result;
10
9
  }
11
10
  }
12
11
  export default $RefVisitor;
@@ -3,12 +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 _ramda = require("ramda");
8
- var _apidomCore = require("@speclynx/apidom-core");
7
+ var _apidomDatamodel = require("@speclynx/apidom-datamodel");
9
8
  var _JSONReference = _interopRequireDefault(require("../../../../elements/JSONReference.cjs"));
10
9
  var _FixedFieldsVisitor = _interopRequireDefault(require("../../generics/FixedFieldsVisitor.cjs"));
11
- var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
10
+ var _bases = require("../bases.cjs");
12
11
  /**
13
12
  * @public
14
13
  */
@@ -16,20 +15,19 @@ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs
16
15
  /**
17
16
  * @public
18
17
  */
19
- class JSONReferenceVisitor extends (0, _tsMixer.Mixin)(_FixedFieldsVisitor.default, _FallbackVisitor.default) {
18
+ class JSONReferenceVisitor extends _bases.JSONReferenceVisitorBase {
20
19
  constructor(options) {
21
20
  super(options);
22
21
  this.element = new _JSONReference.default();
23
22
  this.specPath = (0, _ramda.always)(['document', 'objects', 'JSONReference']);
24
23
  }
25
- ObjectElement(objectElement) {
26
- const result = _FixedFieldsVisitor.default.prototype.ObjectElement.call(this, objectElement);
24
+ ObjectElement(path) {
25
+ _FixedFieldsVisitor.default.prototype.ObjectElement.call(this, path);
27
26
 
28
27
  // mark this JSONReferenceElement with reference metadata
29
- if ((0, _apidomCore.isStringElement)(this.element.$ref)) {
28
+ if ((0, _apidomDatamodel.isStringElement)(this.element.$ref)) {
30
29
  this.element.classes.push('reference-element');
31
30
  }
32
- return result;
33
31
  }
34
32
  }
35
33
  var _default = exports.default = JSONReferenceVisitor;
@@ -1,29 +1,27 @@
1
- import { Mixin } from 'ts-mixer';
2
1
  import { always } from 'ramda';
3
- import { isStringElement } from '@speclynx/apidom-core';
2
+ import { isStringElement } from '@speclynx/apidom-datamodel';
4
3
  import JSONReferenceElement from "../../../../elements/JSONReference.mjs";
5
4
  import FixedFieldsVisitor from "../../generics/FixedFieldsVisitor.mjs";
6
- import FallbackVisitor from "../../FallbackVisitor.mjs";
5
+ import { JSONReferenceVisitorBase } from "../bases.mjs";
7
6
  /**
8
7
  * @public
9
8
  */
10
9
  /**
11
10
  * @public
12
11
  */
13
- class JSONReferenceVisitor extends Mixin(FixedFieldsVisitor, FallbackVisitor) {
12
+ class JSONReferenceVisitor extends JSONReferenceVisitorBase {
14
13
  constructor(options) {
15
14
  super(options);
16
15
  this.element = new JSONReferenceElement();
17
16
  this.specPath = always(['document', 'objects', 'JSONReference']);
18
17
  }
19
- ObjectElement(objectElement) {
20
- const result = FixedFieldsVisitor.prototype.ObjectElement.call(this, objectElement);
18
+ ObjectElement(path) {
19
+ FixedFieldsVisitor.prototype.ObjectElement.call(this, path);
21
20
 
22
21
  // mark this JSONReferenceElement with reference metadata
23
22
  if (isStringElement(this.element.$ref)) {
24
23
  this.element.classes.push('reference-element');
25
24
  }
26
- return result;
27
25
  }
28
26
  }
29
27
  export default JSONReferenceVisitor;
@@ -3,11 +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 _ramda = require("ramda");
8
7
  var _LinkDescription = _interopRequireDefault(require("../../../../elements/LinkDescription.cjs"));
9
- var _FixedFieldsVisitor = _interopRequireDefault(require("../../generics/FixedFieldsVisitor.cjs"));
10
- var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
8
+ var _bases = require("../bases.cjs");
11
9
  /**
12
10
  * @public
13
11
  */
@@ -15,7 +13,7 @@ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs
15
13
  /**
16
14
  * @public
17
15
  */
18
- class LinkDescriptionVisitor extends (0, _tsMixer.Mixin)(_FixedFieldsVisitor.default, _FallbackVisitor.default) {
16
+ class LinkDescriptionVisitor extends _bases.LinkDescriptionVisitorBase {
19
17
  constructor(options) {
20
18
  super(options);
21
19
  this.element = new _LinkDescription.default();
@@ -1,15 +1,13 @@
1
- import { Mixin } from 'ts-mixer';
2
1
  import { always } from 'ramda';
3
2
  import LinkDescriptionElement from "../../../../elements/LinkDescription.mjs";
4
- import FixedFieldsVisitor from "../../generics/FixedFieldsVisitor.mjs";
5
- import FallbackVisitor from "../../FallbackVisitor.mjs";
3
+ import { LinkDescriptionVisitorBase } from "../bases.mjs";
6
4
  /**
7
5
  * @public
8
6
  */
9
7
  /**
10
8
  * @public
11
9
  */
12
- class LinkDescriptionVisitor extends Mixin(FixedFieldsVisitor, FallbackVisitor) {
10
+ class LinkDescriptionVisitor extends LinkDescriptionVisitorBase {
13
11
  constructor(options) {
14
12
  super(options);
15
13
  this.element = new LinkDescriptionElement();
@@ -3,11 +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 _ramda = require("ramda");
8
7
  var _Media = _interopRequireDefault(require("../../../../elements/Media.cjs"));
9
- var _FixedFieldsVisitor = _interopRequireDefault(require("../../generics/FixedFieldsVisitor.cjs"));
10
- var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
8
+ var _bases = require("../bases.cjs");
11
9
  /**
12
10
  * @public
13
11
  */
@@ -15,7 +13,7 @@ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs
15
13
  /**
16
14
  * @public
17
15
  */
18
- class MediaVisitor extends (0, _tsMixer.Mixin)(_FixedFieldsVisitor.default, _FallbackVisitor.default) {
16
+ class MediaVisitor extends _bases.MediaVisitorBase {
19
17
  constructor(options) {
20
18
  super(options);
21
19
  this.element = new _Media.default();
@@ -1,15 +1,13 @@
1
- import { Mixin } from 'ts-mixer';
2
1
  import { always } from 'ramda';
3
2
  import MediaElement from "../../../../elements/Media.mjs";
4
- import FixedFieldsVisitor from "../../generics/FixedFieldsVisitor.mjs";
5
- import FallbackVisitor from "../../FallbackVisitor.mjs";
3
+ import { MediaVisitorBase } from "../bases.mjs";
6
4
  /**
7
5
  * @public
8
6
  */
9
7
  /**
10
8
  * @public
11
9
  */
12
- class MediaVisitor extends Mixin(FixedFieldsVisitor, FallbackVisitor) {
10
+ class MediaVisitor extends MediaVisitorBase {
13
11
  constructor(options) {
14
12
  super(options);
15
13
  this.element = new MediaElement();