@speclynx/apidom-reference 2.13.1 → 3.1.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 (61) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +102 -5
  3. package/dist/apidom-reference.browser.js +4402 -3546
  4. package/dist/apidom-reference.browser.min.js +1 -1
  5. package/package.json +25 -25
  6. package/src/dereference/index.cjs +4 -0
  7. package/src/dereference/index.mjs +4 -0
  8. package/src/dereference/strategies/apidom/selectors/element-id.cjs +11 -2
  9. package/src/dereference/strategies/apidom/selectors/element-id.mjs +12 -3
  10. package/src/dereference/strategies/apidom/visitor.cjs +139 -59
  11. package/src/dereference/strategies/apidom/visitor.mjs +142 -62
  12. package/src/dereference/strategies/arazzo-1/index.cjs +1 -4
  13. package/src/dereference/strategies/arazzo-1/index.mjs +2 -4
  14. package/src/dereference/strategies/arazzo-1/source-descriptions.cjs +2 -2
  15. package/src/dereference/strategies/arazzo-1/source-descriptions.mjs +3 -3
  16. package/src/dereference/strategies/arazzo-1/visitor.cjs +288 -199
  17. package/src/dereference/strategies/arazzo-1/visitor.mjs +291 -203
  18. package/src/dereference/strategies/asyncapi-2/index.cjs +1 -4
  19. package/src/dereference/strategies/asyncapi-2/index.mjs +2 -4
  20. package/src/dereference/strategies/asyncapi-2/visitor.cjs +326 -232
  21. package/src/dereference/strategies/asyncapi-2/visitor.mjs +327 -234
  22. package/src/dereference/strategies/openapi-2/index.cjs +1 -4
  23. package/src/dereference/strategies/openapi-2/index.mjs +2 -4
  24. package/src/dereference/strategies/openapi-2/visitor.cjs +423 -324
  25. package/src/dereference/strategies/openapi-2/visitor.mjs +428 -330
  26. package/src/dereference/strategies/openapi-3-0/index.cjs +1 -4
  27. package/src/dereference/strategies/openapi-3-0/index.mjs +2 -4
  28. package/src/dereference/strategies/openapi-3-0/visitor.cjs +406 -289
  29. package/src/dereference/strategies/openapi-3-0/visitor.mjs +410 -294
  30. package/src/dereference/strategies/openapi-3-1/index.cjs +1 -4
  31. package/src/dereference/strategies/openapi-3-1/index.mjs +2 -4
  32. package/src/dereference/strategies/openapi-3-1/util.cjs +2 -2
  33. package/src/dereference/strategies/openapi-3-1/util.mjs +2 -2
  34. package/src/dereference/strategies/openapi-3-1/visitor.cjs +601 -487
  35. package/src/dereference/strategies/openapi-3-1/visitor.mjs +605 -492
  36. package/src/errors/DereferenceError.cjs +1 -1
  37. package/src/errors/DereferenceError.mjs +2 -2
  38. package/src/errors/ResolveError.cjs +1 -1
  39. package/src/errors/ResolveError.mjs +2 -2
  40. package/src/errors/UnresolvableReferenceError.cjs +11 -0
  41. package/src/errors/UnresolvableReferenceError.mjs +6 -0
  42. package/src/index.cjs +3 -1
  43. package/src/index.mjs +1 -0
  44. package/src/options/index.cjs +10 -1
  45. package/src/options/index.mjs +10 -1
  46. package/src/parse/parsers/arazzo-json-1/source-descriptions.cjs +2 -2
  47. package/src/parse/parsers/arazzo-json-1/source-descriptions.mjs +3 -3
  48. package/src/util/plugins.cjs +1 -6
  49. package/src/util/plugins.mjs +2 -5
  50. package/types/apidom-reference.d.ts +10 -2
  51. package/types/dereference/strategies/apidom/visitor.d.ts +10 -0
  52. package/types/dereference/strategies/arazzo-1/visitor.d.ts +19 -5
  53. package/types/dereference/strategies/asyncapi-2/visitor.d.ts +21 -7
  54. package/types/dereference/strategies/openapi-2/visitor.d.ts +21 -8
  55. package/types/dereference/strategies/openapi-3-0/visitor.d.ts +21 -7
  56. package/types/dereference/strategies/openapi-3-1/visitor.d.ts +21 -7
  57. package/types/errors/DereferenceError.d.ts +2 -2
  58. package/types/errors/ResolveError.d.ts +2 -2
  59. package/types/errors/UnresolvableReferenceError.d.ts +7 -0
  60. package/types/index.d.ts +1 -0
  61. package/types/options/index.d.ts +2 -0
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
- var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopRequireWildcard").default;
5
4
  exports.__esModule = true;
6
5
  exports.resolveSchema$refField = exports.resolveSchema$idField = exports.maybeRefractToJSONSchemaElement = exports.default = void 0;
7
6
  var _apidomDatamodel = require("@speclynx/apidom-datamodel");
8
7
  var _apidomTraverse = require("@speclynx/apidom-traverse");
9
- var _apidomNsArazzo = _interopRequireWildcard(require("@speclynx/apidom-ns-arazzo-1"));
8
+ var _apidomNsArazzo = require("@speclynx/apidom-ns-arazzo-1");
10
9
  var _DereferenceStrategy = _interopRequireDefault(require("../DereferenceStrategy.cjs"));
11
10
  var _Reference = _interopRequireDefault(require("../../../Reference.cjs"));
12
11
  var _ReferenceSet = _interopRequireDefault(require("../../../ReferenceSet.cjs"));
@@ -42,7 +41,6 @@ class Arazzo1DereferenceStrategy extends _DereferenceStrategy.default {
42
41
  return (0, _apidomNsArazzo.isArazzoSpecification1Element)(file.parseResult?.result);
43
42
  }
44
43
  async dereference(file, options) {
45
- const namespace = new _apidomDatamodel.Namespace().use(_apidomNsArazzo.default);
46
44
  const immutableRefSet = options.dereference.refSet ?? new _ReferenceSet.default();
47
45
  const mutableRefSet = new _ReferenceSet.default();
48
46
  let refSet = immutableRefSet;
@@ -72,7 +70,6 @@ class Arazzo1DereferenceStrategy extends _DereferenceStrategy.default {
72
70
  }
73
71
  const visitor = new _visitor.default({
74
72
  reference,
75
- namespace,
76
73
  options
77
74
  });
78
75
  const dereferencedElement = await (0, _apidomTraverse.traverseAsync)(refSet.rootRef.value, visitor, {
@@ -1,6 +1,6 @@
1
- import { Namespace, cloneDeep } from '@speclynx/apidom-datamodel';
1
+ import { cloneDeep } from '@speclynx/apidom-datamodel';
2
2
  import { traverseAsync } from '@speclynx/apidom-traverse';
3
- import arazzo1Namespace, { isArazzoSpecification1Element, mediaTypes } from '@speclynx/apidom-ns-arazzo-1';
3
+ import { isArazzoSpecification1Element, mediaTypes } from '@speclynx/apidom-ns-arazzo-1';
4
4
  import DereferenceStrategy from "../DereferenceStrategy.mjs";
5
5
  import Reference from "../../../Reference.mjs";
6
6
  import ReferenceSet from "../../../ReferenceSet.mjs";
@@ -29,7 +29,6 @@ class Arazzo1DereferenceStrategy extends DereferenceStrategy {
29
29
  return isArazzoSpecification1Element(file.parseResult?.result);
30
30
  }
31
31
  async dereference(file, options) {
32
- const namespace = new Namespace().use(arazzo1Namespace);
33
32
  const immutableRefSet = options.dereference.refSet ?? new ReferenceSet();
34
33
  const mutableRefSet = new ReferenceSet();
35
34
  let refSet = immutableRefSet;
@@ -59,7 +58,6 @@ class Arazzo1DereferenceStrategy extends DereferenceStrategy {
59
58
  }
60
59
  const visitor = new Arazzo1DereferenceVisitor({
61
60
  reference,
62
- namespace,
63
61
  options
64
62
  });
65
63
  const dereferencedElement = await traverseAsync(refSet.rootRef.value, visitor, {
@@ -27,8 +27,8 @@ async function dereferenceSourceDescription(sourceDescription, ctx) {
27
27
 
28
28
  // set class and metadata from source description element
29
29
  parseResult.classes.push('source-description');
30
- if ((0, _apidomDatamodel.isStringElement)(sourceDescription.name)) parseResult.setMetaProperty('name', (0, _apidomDatamodel.cloneDeep)(sourceDescription.name));
31
- if ((0, _apidomDatamodel.isStringElement)(sourceDescription.type)) parseResult.setMetaProperty('type', (0, _apidomDatamodel.cloneDeep)(sourceDescription.type));
30
+ if ((0, _apidomDatamodel.isStringElement)(sourceDescription.name)) parseResult.setMetaProperty('name', (0, _apidomCore.toValue)(sourceDescription.name));
31
+ if ((0, _apidomDatamodel.isStringElement)(sourceDescription.type)) parseResult.setMetaProperty('type', (0, _apidomCore.toValue)(sourceDescription.type));
32
32
  const sourceDescriptionURI = (0, _apidomCore.toValue)(sourceDescription.url);
33
33
  if (typeof sourceDescriptionURI !== 'string') {
34
34
  const annotation = new _apidomDatamodel.AnnotationElement('Source description URL is missing or not a string. Skipping');
@@ -1,4 +1,4 @@
1
- import { ParseResultElement, AnnotationElement, isArrayElement, isStringElement, isParseResultElement, cloneDeep } from '@speclynx/apidom-datamodel';
1
+ import { ParseResultElement, AnnotationElement, isArrayElement, isStringElement, isParseResultElement } from '@speclynx/apidom-datamodel';
2
2
  import { isArazzoSpecification1Element, isSourceDescriptionElement } from '@speclynx/apidom-ns-arazzo-1';
3
3
  import { isSwaggerElement } from '@speclynx/apidom-ns-openapi-2';
4
4
  import { isOpenApi3_0Element } from '@speclynx/apidom-ns-openapi-3-0';
@@ -22,8 +22,8 @@ async function dereferenceSourceDescription(sourceDescription, ctx) {
22
22
 
23
23
  // set class and metadata from source description element
24
24
  parseResult.classes.push('source-description');
25
- if (isStringElement(sourceDescription.name)) parseResult.setMetaProperty('name', cloneDeep(sourceDescription.name));
26
- if (isStringElement(sourceDescription.type)) parseResult.setMetaProperty('type', cloneDeep(sourceDescription.type));
25
+ if (isStringElement(sourceDescription.name)) parseResult.setMetaProperty('name', toValue(sourceDescription.name));
26
+ if (isStringElement(sourceDescription.type)) parseResult.setMetaProperty('type', toValue(sourceDescription.type));
27
27
  const sourceDescriptionURI = toValue(sourceDescription.url);
28
28
  if (typeof sourceDescriptionURI !== 'string') {
29
29
  const annotation = new AnnotationElement('Source description URL is missing or not a string. Skipping');