@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,13 +1,12 @@
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.maybeRefractToSchemaElement = exports.default = void 0;
7
6
  var _ramda = require("ramda");
8
7
  var _apidomDatamodel = require("@speclynx/apidom-datamodel");
9
8
  var _apidomTraverse = require("@speclynx/apidom-traverse");
10
- var _apidomNsOpenapi = _interopRequireWildcard(require("@speclynx/apidom-ns-openapi-3-1"));
9
+ var _apidomNsOpenapi = require("@speclynx/apidom-ns-openapi-3-1");
11
10
  var _DereferenceStrategy = _interopRequireDefault(require("../DereferenceStrategy.cjs"));
12
11
  var _Reference = _interopRequireDefault(require("../../../Reference.cjs"));
13
12
  var _ReferenceSet = _interopRequireDefault(require("../../../ReferenceSet.cjs"));
@@ -41,7 +40,6 @@ class OpenAPI3_1DereferenceStrategy extends _DereferenceStrategy.default {
41
40
  return (0, _apidomNsOpenapi.isOpenApi3_1Element)(file.parseResult?.result);
42
41
  }
43
42
  async dereference(file, options) {
44
- const namespace = new _apidomDatamodel.Namespace().use(_apidomNsOpenapi.default);
45
43
  const immutableRefSet = options.dereference.refSet ?? new _ReferenceSet.default();
46
44
  const mutableRefSet = new _ReferenceSet.default();
47
45
  let refSet = immutableRefSet;
@@ -71,7 +69,6 @@ class OpenAPI3_1DereferenceStrategy extends _DereferenceStrategy.default {
71
69
  }
72
70
  const visitor = new _visitor.default({
73
71
  reference: reference,
74
- namespace,
75
72
  options
76
73
  });
77
74
  const dereferencedElement = await (0, _apidomTraverse.traverseAsync)(refSet.rootRef.value, visitor, {
@@ -1,7 +1,7 @@
1
1
  import { propEq } from 'ramda';
2
- import { Namespace, cloneDeep } from '@speclynx/apidom-datamodel';
2
+ import { cloneDeep } from '@speclynx/apidom-datamodel';
3
3
  import { traverseAsync } from '@speclynx/apidom-traverse';
4
- import openApi3_1Namespace, { isOpenApi3_1Element, mediaTypes } from '@speclynx/apidom-ns-openapi-3-1';
4
+ import { isOpenApi3_1Element, mediaTypes } from '@speclynx/apidom-ns-openapi-3-1';
5
5
  import DereferenceStrategy from "../DereferenceStrategy.mjs";
6
6
  import Reference from "../../../Reference.mjs";
7
7
  import ReferenceSet from "../../../ReferenceSet.mjs";
@@ -29,7 +29,6 @@ class OpenAPI3_1DereferenceStrategy extends DereferenceStrategy {
29
29
  return isOpenApi3_1Element(file.parseResult?.result);
30
30
  }
31
31
  async dereference(file, options) {
32
- const namespace = new Namespace().use(openApi3_1Namespace);
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 OpenAPI3_1DereferenceStrategy extends DereferenceStrategy {
59
58
  }
60
59
  const visitor = new OpenAPI3_1DereferenceVisitor({
61
60
  reference: reference,
62
- namespace,
63
61
  options
64
62
  });
65
63
  const dereferencedElement = await traverseAsync(refSet.rootRef.value, visitor, {
@@ -16,7 +16,7 @@ const resolveSchema$refField = (retrievalURI, schemaElement) => {
16
16
  return undefined;
17
17
  }
18
18
  const hash = url.getHash((0, _apidomCore.toValue)(schemaElement.$ref));
19
- const ancestorsSchemaIdentifiers = (0, _apidomCore.toValue)(schemaElement.meta.get('ancestorsSchemaIdentifiers'));
19
+ const ancestorsSchemaIdentifiers = schemaElement.meta.get('ancestorsSchemaIdentifiers');
20
20
  const $refBaseURI = (0, _ramda.reduce)((acc, uri) => {
21
21
  return url.resolve(acc, url.sanitize(url.stripHash(uri)));
22
22
  }, retrievalURI, [...ancestorsSchemaIdentifiers, (0, _apidomCore.toValue)(schemaElement.$ref)]);
@@ -31,7 +31,7 @@ const resolveSchema$idField = (retrievalURI, schemaElement) => {
31
31
  if (typeof schemaElement.$id === 'undefined') {
32
32
  return undefined;
33
33
  }
34
- const ancestorsSchemaIdentifiers = (0, _apidomCore.toValue)(schemaElement.meta.get('ancestorsSchemaIdentifiers'));
34
+ const ancestorsSchemaIdentifiers = schemaElement.meta.get('ancestorsSchemaIdentifiers');
35
35
  return (0, _ramda.reduce)((acc, $id) => {
36
36
  return url.resolve(acc, url.sanitize(url.stripHash($id)));
37
37
  }, retrievalURI, ancestorsSchemaIdentifiers);
@@ -11,7 +11,7 @@ export const resolveSchema$refField = (retrievalURI, schemaElement) => {
11
11
  return undefined;
12
12
  }
13
13
  const hash = url.getHash(toValue(schemaElement.$ref));
14
- const ancestorsSchemaIdentifiers = toValue(schemaElement.meta.get('ancestorsSchemaIdentifiers'));
14
+ const ancestorsSchemaIdentifiers = schemaElement.meta.get('ancestorsSchemaIdentifiers');
15
15
  const $refBaseURI = reduce((acc, uri) => {
16
16
  return url.resolve(acc, url.sanitize(url.stripHash(uri)));
17
17
  }, retrievalURI, [...ancestorsSchemaIdentifiers, toValue(schemaElement.$ref)]);
@@ -25,7 +25,7 @@ export const resolveSchema$idField = (retrievalURI, schemaElement) => {
25
25
  if (typeof schemaElement.$id === 'undefined') {
26
26
  return undefined;
27
27
  }
28
- const ancestorsSchemaIdentifiers = toValue(schemaElement.meta.get('ancestorsSchemaIdentifiers'));
28
+ const ancestorsSchemaIdentifiers = schemaElement.meta.get('ancestorsSchemaIdentifiers');
29
29
  return reduce((acc, $id) => {
30
30
  return url.resolve(acc, url.sanitize(url.stripHash($id)));
31
31
  }, retrievalURI, ancestorsSchemaIdentifiers);