@speclynx/apidom-reference 3.2.1 → 4.0.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 (192) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/apidom-reference.browser.js +40 -36
  3. package/dist/apidom-reference.browser.min.js +1 -1
  4. package/package.json +25 -25
  5. package/types/dereference/strategies/apidom/visitor.d.ts +1 -1
  6. package/types/dereference/strategies/arazzo-1/visitor.d.ts +1 -1
  7. package/types/dereference/strategies/asyncapi-2/visitor.d.ts +1 -1
  8. package/types/dereference/strategies/openapi-2/visitor.d.ts +1 -1
  9. package/types/dereference/strategies/openapi-3-0/visitor.d.ts +1 -1
  10. package/types/dereference/strategies/openapi-3-1/visitor.d.ts +1 -1
  11. package/src/File.cjs +0 -50
  12. package/src/File.mjs +0 -44
  13. package/src/Reference.cjs +0 -31
  14. package/src/Reference.mjs +0 -27
  15. package/src/ReferenceSet.cjs +0 -60
  16. package/src/ReferenceSet.mjs +0 -57
  17. package/src/bundle/index.cjs +0 -61
  18. package/src/bundle/index.mjs +0 -55
  19. package/src/bundle/strategies/BundleStrategy.cjs +0 -20
  20. package/src/bundle/strategies/BundleStrategy.mjs +0 -16
  21. package/src/bundle/strategies/openapi-3-1/index.cjs +0 -35
  22. package/src/bundle/strategies/openapi-3-1/index.mjs +0 -29
  23. package/src/configuration/empty.cjs +0 -9
  24. package/src/configuration/empty.mjs +0 -1
  25. package/src/configuration/saturated.cjs +0 -88
  26. package/src/configuration/saturated.mjs +0 -80
  27. package/src/dereference/index.cjs +0 -90
  28. package/src/dereference/index.mjs +0 -83
  29. package/src/dereference/strategies/DereferenceStrategy.cjs +0 -20
  30. package/src/dereference/strategies/DereferenceStrategy.mjs +0 -16
  31. package/src/dereference/strategies/apidom/index.cjs +0 -89
  32. package/src/dereference/strategies/apidom/index.mjs +0 -83
  33. package/src/dereference/strategies/apidom/selectors/element-id.cjs +0 -47
  34. package/src/dereference/strategies/apidom/selectors/element-id.mjs +0 -41
  35. package/src/dereference/strategies/apidom/visitor.cjs +0 -266
  36. package/src/dereference/strategies/apidom/visitor.mjs +0 -259
  37. package/src/dereference/strategies/arazzo-1/index.cjs +0 -109
  38. package/src/dereference/strategies/arazzo-1/index.mjs +0 -100
  39. package/src/dereference/strategies/arazzo-1/selectors/$anchor.cjs +0 -12
  40. package/src/dereference/strategies/arazzo-1/selectors/$anchor.mjs +0 -1
  41. package/src/dereference/strategies/arazzo-1/selectors/uri.cjs +0 -8
  42. package/src/dereference/strategies/arazzo-1/selectors/uri.mjs +0 -1
  43. package/src/dereference/strategies/arazzo-1/source-descriptions.cjs +0 -248
  44. package/src/dereference/strategies/arazzo-1/source-descriptions.mjs +0 -243
  45. package/src/dereference/strategies/arazzo-1/util.cjs +0 -37
  46. package/src/dereference/strategies/arazzo-1/util.mjs +0 -29
  47. package/src/dereference/strategies/arazzo-1/visitor.cjs +0 -507
  48. package/src/dereference/strategies/arazzo-1/visitor.mjs +0 -500
  49. package/src/dereference/strategies/asyncapi-2/index.cjs +0 -94
  50. package/src/dereference/strategies/asyncapi-2/index.mjs +0 -88
  51. package/src/dereference/strategies/asyncapi-2/visitor.cjs +0 -501
  52. package/src/dereference/strategies/asyncapi-2/visitor.mjs +0 -494
  53. package/src/dereference/strategies/openapi-2/index.cjs +0 -96
  54. package/src/dereference/strategies/openapi-2/index.mjs +0 -90
  55. package/src/dereference/strategies/openapi-2/visitor.cjs +0 -629
  56. package/src/dereference/strategies/openapi-2/visitor.mjs +0 -622
  57. package/src/dereference/strategies/openapi-3-0/index.cjs +0 -96
  58. package/src/dereference/strategies/openapi-3-0/index.mjs +0 -90
  59. package/src/dereference/strategies/openapi-3-0/visitor.cjs +0 -621
  60. package/src/dereference/strategies/openapi-3-0/visitor.mjs +0 -614
  61. package/src/dereference/strategies/openapi-3-1/index.cjs +0 -99
  62. package/src/dereference/strategies/openapi-3-1/index.mjs +0 -90
  63. package/src/dereference/strategies/openapi-3-1/selectors/$anchor.cjs +0 -67
  64. package/src/dereference/strategies/openapi-3-1/selectors/$anchor.mjs +0 -56
  65. package/src/dereference/strategies/openapi-3-1/selectors/uri.cjs +0 -50
  66. package/src/dereference/strategies/openapi-3-1/selectors/uri.mjs +0 -42
  67. package/src/dereference/strategies/openapi-3-1/util.cjs +0 -68
  68. package/src/dereference/strategies/openapi-3-1/util.mjs +0 -59
  69. package/src/dereference/strategies/openapi-3-1/visitor.cjs +0 -873
  70. package/src/dereference/strategies/openapi-3-1/visitor.mjs +0 -866
  71. package/src/dereference/util.cjs +0 -31
  72. package/src/dereference/util.mjs +0 -27
  73. package/src/errors/BundleError.cjs +0 -10
  74. package/src/errors/BundleError.mjs +0 -7
  75. package/src/errors/DereferenceError.cjs +0 -10
  76. package/src/errors/DereferenceError.mjs +0 -7
  77. package/src/errors/EvaluationElementIdError.cjs +0 -10
  78. package/src/errors/EvaluationElementIdError.mjs +0 -7
  79. package/src/errors/EvaluationJsonSchema$anchorError.cjs +0 -11
  80. package/src/errors/EvaluationJsonSchema$anchorError.mjs +0 -6
  81. package/src/errors/EvaluationJsonSchemaUriError.cjs +0 -11
  82. package/src/errors/EvaluationJsonSchemaUriError.mjs +0 -6
  83. package/src/errors/InvalidJsonSchema$anchorError.cjs +0 -15
  84. package/src/errors/InvalidJsonSchema$anchorError.mjs +0 -10
  85. package/src/errors/JsonSchema$anchorError.cjs +0 -10
  86. package/src/errors/JsonSchema$anchorError.mjs +0 -7
  87. package/src/errors/JsonSchemaUriError.cjs +0 -10
  88. package/src/errors/JsonSchemaUriError.mjs +0 -7
  89. package/src/errors/MaximumBundleDepthError.cjs +0 -11
  90. package/src/errors/MaximumBundleDepthError.mjs +0 -6
  91. package/src/errors/MaximumDereferenceDepthError.cjs +0 -11
  92. package/src/errors/MaximumDereferenceDepthError.mjs +0 -6
  93. package/src/errors/MaximumResolveDepthError.cjs +0 -11
  94. package/src/errors/MaximumResolveDepthError.mjs +0 -6
  95. package/src/errors/ParseError.cjs +0 -10
  96. package/src/errors/ParseError.mjs +0 -7
  97. package/src/errors/ParserError.cjs +0 -11
  98. package/src/errors/ParserError.mjs +0 -6
  99. package/src/errors/PluginError.cjs +0 -18
  100. package/src/errors/PluginError.mjs +0 -15
  101. package/src/errors/ResolveError.cjs +0 -10
  102. package/src/errors/ResolveError.mjs +0 -7
  103. package/src/errors/ResolverError.cjs +0 -11
  104. package/src/errors/ResolverError.mjs +0 -6
  105. package/src/errors/UnmatchedBundleStrategyError.cjs +0 -11
  106. package/src/errors/UnmatchedBundleStrategyError.mjs +0 -6
  107. package/src/errors/UnmatchedDereferenceStrategyError.cjs +0 -11
  108. package/src/errors/UnmatchedDereferenceStrategyError.mjs +0 -6
  109. package/src/errors/UnmatchedParserError.cjs +0 -11
  110. package/src/errors/UnmatchedParserError.mjs +0 -6
  111. package/src/errors/UnmatchedResolveStrategyError.cjs +0 -11
  112. package/src/errors/UnmatchedResolveStrategyError.mjs +0 -6
  113. package/src/errors/UnmatchedResolverError.cjs +0 -11
  114. package/src/errors/UnmatchedResolverError.mjs +0 -6
  115. package/src/errors/UnresolvableReferenceError.cjs +0 -11
  116. package/src/errors/UnresolvableReferenceError.mjs +0 -6
  117. package/src/index.cjs +0 -146
  118. package/src/index.mjs +0 -103
  119. package/src/options/index.cjs +0 -194
  120. package/src/options/index.mjs +0 -191
  121. package/src/options/util.cjs +0 -24
  122. package/src/options/util.mjs +0 -19
  123. package/src/parse/index.cjs +0 -69
  124. package/src/parse/index.mjs +0 -63
  125. package/src/parse/parsers/Parser.cjs +0 -62
  126. package/src/parse/parsers/Parser.mjs +0 -58
  127. package/src/parse/parsers/apidom-json/index.cjs +0 -70
  128. package/src/parse/parsers/apidom-json/index.mjs +0 -64
  129. package/src/parse/parsers/arazzo-json-1/index.cjs +0 -62
  130. package/src/parse/parsers/arazzo-json-1/index.mjs +0 -56
  131. package/src/parse/parsers/arazzo-json-1/source-descriptions.cjs +0 -221
  132. package/src/parse/parsers/arazzo-json-1/source-descriptions.mjs +0 -214
  133. package/src/parse/parsers/arazzo-yaml-1/index.cjs +0 -62
  134. package/src/parse/parsers/arazzo-yaml-1/index.mjs +0 -56
  135. package/src/parse/parsers/arazzo-yaml-1/source-descriptions.cjs +0 -12
  136. package/src/parse/parsers/arazzo-yaml-1/source-descriptions.mjs +0 -7
  137. package/src/parse/parsers/asyncapi-json-2/index.cjs +0 -54
  138. package/src/parse/parsers/asyncapi-json-2/index.mjs +0 -48
  139. package/src/parse/parsers/asyncapi-yaml-2/index.cjs +0 -54
  140. package/src/parse/parsers/asyncapi-yaml-2/index.mjs +0 -48
  141. package/src/parse/parsers/binary/index-browser.cjs +0 -56
  142. package/src/parse/parsers/binary/index-browser.mjs +0 -50
  143. package/src/parse/parsers/binary/index-node.cjs +0 -51
  144. package/src/parse/parsers/binary/index-node.mjs +0 -45
  145. package/src/parse/parsers/json/index.cjs +0 -53
  146. package/src/parse/parsers/json/index.mjs +0 -47
  147. package/src/parse/parsers/openapi-json-2/index.cjs +0 -54
  148. package/src/parse/parsers/openapi-json-2/index.mjs +0 -48
  149. package/src/parse/parsers/openapi-json-3-0/index.cjs +0 -54
  150. package/src/parse/parsers/openapi-json-3-0/index.mjs +0 -48
  151. package/src/parse/parsers/openapi-json-3-1/index.cjs +0 -54
  152. package/src/parse/parsers/openapi-json-3-1/index.mjs +0 -48
  153. package/src/parse/parsers/openapi-yaml-2/index.cjs +0 -54
  154. package/src/parse/parsers/openapi-yaml-2/index.mjs +0 -48
  155. package/src/parse/parsers/openapi-yaml-3-0/index.cjs +0 -54
  156. package/src/parse/parsers/openapi-yaml-3-0/index.mjs +0 -48
  157. package/src/parse/parsers/openapi-yaml-3-1/index.cjs +0 -54
  158. package/src/parse/parsers/openapi-yaml-3-1/index.mjs +0 -48
  159. package/src/parse/parsers/yaml-1-2/index.cjs +0 -56
  160. package/src/parse/parsers/yaml-1-2/index.mjs +0 -50
  161. package/src/resolve/index.cjs +0 -67
  162. package/src/resolve/index.mjs +0 -60
  163. package/src/resolve/resolvers/HTTPResolver.cjs +0 -45
  164. package/src/resolve/resolvers/HTTPResolver.mjs +0 -37
  165. package/src/resolve/resolvers/Resolver.cjs +0 -20
  166. package/src/resolve/resolvers/Resolver.mjs +0 -16
  167. package/src/resolve/resolvers/file/index-browser.cjs +0 -24
  168. package/src/resolve/resolvers/file/index-browser.mjs +0 -19
  169. package/src/resolve/resolvers/file/index-node.cjs +0 -49
  170. package/src/resolve/resolvers/file/index-node.mjs +0 -42
  171. package/src/resolve/resolvers/http-axios/cache/MemoryCache.cjs +0 -41
  172. package/src/resolve/resolvers/http-axios/cache/MemoryCache.mjs +0 -37
  173. package/src/resolve/resolvers/http-axios/index.cjs +0 -113
  174. package/src/resolve/resolvers/http-axios/index.mjs +0 -105
  175. package/src/resolve/strategies/ResolveStrategy.cjs +0 -20
  176. package/src/resolve/strategies/ResolveStrategy.mjs +0 -16
  177. package/src/resolve/strategies/apidom/index.cjs +0 -49
  178. package/src/resolve/strategies/apidom/index.mjs +0 -43
  179. package/src/resolve/strategies/asyncapi-2/index.cjs +0 -49
  180. package/src/resolve/strategies/asyncapi-2/index.mjs +0 -43
  181. package/src/resolve/strategies/openapi-2/index.cjs +0 -49
  182. package/src/resolve/strategies/openapi-2/index.mjs +0 -43
  183. package/src/resolve/strategies/openapi-3-0/index.cjs +0 -49
  184. package/src/resolve/strategies/openapi-3-0/index.mjs +0 -43
  185. package/src/resolve/strategies/openapi-3-1/index.cjs +0 -49
  186. package/src/resolve/strategies/openapi-3-1/index.mjs +0 -43
  187. package/src/resolve/util.cjs +0 -37
  188. package/src/resolve/util.mjs +0 -30
  189. package/src/util/plugins.cjs +0 -39
  190. package/src/util/plugins.mjs +0 -34
  191. package/src/util/url.cjs +0 -288
  192. package/src/util/url.mjs +0 -274
@@ -1,96 +0,0 @@
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 _apidomDatamodel = require("@speclynx/apidom-datamodel");
7
- var _apidomTraverse = require("@speclynx/apidom-traverse");
8
- var _apidomNsOpenapi = require("@speclynx/apidom-ns-openapi-3-0");
9
- var _DereferenceStrategy = _interopRequireDefault(require("../DereferenceStrategy.cjs"));
10
- var _Reference = _interopRequireDefault(require("../../../Reference.cjs"));
11
- var _ReferenceSet = _interopRequireDefault(require("../../../ReferenceSet.cjs"));
12
- var _visitor = _interopRequireDefault(require("./visitor.cjs"));
13
- exports.OpenAPI3_0DereferenceVisitor = _visitor.default;
14
- /**
15
- * @public
16
- */
17
-
18
- /**
19
- * @public
20
- */
21
- class OpenAPI3_0DereferenceStrategy extends _DereferenceStrategy.default {
22
- constructor(options) {
23
- super({
24
- ...(options ?? {}),
25
- name: 'openapi-3-0'
26
- });
27
- }
28
- canDereference(file) {
29
- // assert by media type
30
- if (file.mediaType !== 'text/plain') {
31
- return _apidomNsOpenapi.mediaTypes.includes(file.mediaType);
32
- }
33
-
34
- // assert by inspecting ApiDOM
35
- return (0, _apidomNsOpenapi.isOpenApi3_0Element)(file.parseResult?.result);
36
- }
37
- async dereference(file, options) {
38
- const immutableRefSet = options.dereference.refSet ?? new _ReferenceSet.default();
39
- const mutableRefSet = new _ReferenceSet.default();
40
- let refSet = immutableRefSet;
41
- let reference;
42
-
43
- // determine the initial reference
44
- if (!immutableRefSet.has(file.uri)) {
45
- reference = new _Reference.default({
46
- uri: file.uri,
47
- value: file.parseResult
48
- });
49
- immutableRefSet.add(reference);
50
- } else {
51
- // pre-computed refSet was provided as configuration option
52
- reference = immutableRefSet.find(ref => ref.uri === file.uri);
53
- }
54
-
55
- /**
56
- * Clone refSet due the dereferencing process being mutable.
57
- * We don't want to mutate the original refSet and the references.
58
- */
59
- if (options.dereference.immutable) {
60
- immutableRefSet.refs.map(ref => new _Reference.default({
61
- ...ref,
62
- value: (0, _apidomDatamodel.cloneDeep)(ref.value)
63
- })).forEach(ref => mutableRefSet.add(ref));
64
- reference = mutableRefSet.find(ref => ref.uri === file.uri);
65
- refSet = mutableRefSet;
66
- }
67
- const visitor = new _visitor.default({
68
- reference: reference,
69
- options
70
- });
71
- const dereferencedElement = await (0, _apidomTraverse.traverseAsync)(refSet.rootRef.value, visitor, {
72
- mutable: true
73
- });
74
-
75
- /**
76
- * If immutable option is set, replay refs from the refSet.
77
- */
78
- if (options.dereference.immutable) {
79
- mutableRefSet.refs.filter(ref => ref.uri.startsWith('immutable://')).map(ref => new _Reference.default({
80
- ...ref,
81
- uri: ref.uri.replace(/^immutable:\/\//, '')
82
- })).forEach(ref => immutableRefSet.add(ref));
83
- }
84
-
85
- /**
86
- * Release all memory if this refSet was not provided as a configuration option.
87
- * If provided as configuration option, then provider is responsible for cleanup.
88
- */
89
- if (options.dereference.refSet === null) {
90
- immutableRefSet.clean();
91
- }
92
- mutableRefSet.clean();
93
- return dereferencedElement;
94
- }
95
- }
96
- var _default = exports.default = OpenAPI3_0DereferenceStrategy;
@@ -1,90 +0,0 @@
1
- import { cloneDeep } from '@speclynx/apidom-datamodel';
2
- import { traverseAsync } from '@speclynx/apidom-traverse';
3
- import { isOpenApi3_0Element, mediaTypes } from '@speclynx/apidom-ns-openapi-3-0';
4
- import DereferenceStrategy from "../DereferenceStrategy.mjs";
5
- import Reference from "../../../Reference.mjs";
6
- import ReferenceSet from "../../../ReferenceSet.mjs";
7
- import OpenAPI3_0DereferenceVisitor from "./visitor.mjs";
8
- /**
9
- * @public
10
- */
11
- /**
12
- * @public
13
- */
14
- class OpenAPI3_0DereferenceStrategy extends DereferenceStrategy {
15
- constructor(options) {
16
- super({
17
- ...(options ?? {}),
18
- name: 'openapi-3-0'
19
- });
20
- }
21
- canDereference(file) {
22
- // assert by media type
23
- if (file.mediaType !== 'text/plain') {
24
- return mediaTypes.includes(file.mediaType);
25
- }
26
-
27
- // assert by inspecting ApiDOM
28
- return isOpenApi3_0Element(file.parseResult?.result);
29
- }
30
- async dereference(file, options) {
31
- const immutableRefSet = options.dereference.refSet ?? new ReferenceSet();
32
- const mutableRefSet = new ReferenceSet();
33
- let refSet = immutableRefSet;
34
- let reference;
35
-
36
- // determine the initial reference
37
- if (!immutableRefSet.has(file.uri)) {
38
- reference = new Reference({
39
- uri: file.uri,
40
- value: file.parseResult
41
- });
42
- immutableRefSet.add(reference);
43
- } else {
44
- // pre-computed refSet was provided as configuration option
45
- reference = immutableRefSet.find(ref => ref.uri === file.uri);
46
- }
47
-
48
- /**
49
- * Clone refSet due the dereferencing process being mutable.
50
- * We don't want to mutate the original refSet and the references.
51
- */
52
- if (options.dereference.immutable) {
53
- immutableRefSet.refs.map(ref => new Reference({
54
- ...ref,
55
- value: cloneDeep(ref.value)
56
- })).forEach(ref => mutableRefSet.add(ref));
57
- reference = mutableRefSet.find(ref => ref.uri === file.uri);
58
- refSet = mutableRefSet;
59
- }
60
- const visitor = new OpenAPI3_0DereferenceVisitor({
61
- reference: reference,
62
- options
63
- });
64
- const dereferencedElement = await traverseAsync(refSet.rootRef.value, visitor, {
65
- mutable: true
66
- });
67
-
68
- /**
69
- * If immutable option is set, replay refs from the refSet.
70
- */
71
- if (options.dereference.immutable) {
72
- mutableRefSet.refs.filter(ref => ref.uri.startsWith('immutable://')).map(ref => new Reference({
73
- ...ref,
74
- uri: ref.uri.replace(/^immutable:\/\//, '')
75
- })).forEach(ref => immutableRefSet.add(ref));
76
- }
77
-
78
- /**
79
- * Release all memory if this refSet was not provided as a configuration option.
80
- * If provided as configuration option, then provider is responsible for cleanup.
81
- */
82
- if (options.dereference.refSet === null) {
83
- immutableRefSet.clean();
84
- }
85
- mutableRefSet.clean();
86
- return dereferencedElement;
87
- }
88
- }
89
- export { OpenAPI3_0DereferenceVisitor };
90
- export default OpenAPI3_0DereferenceStrategy;