@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,43 +0,0 @@
1
- import ResolveStrategy from "../ResolveStrategy.mjs";
2
- import ReferenceSet from "../../../ReferenceSet.mjs";
3
- import { merge as mergeOptions } from "../../../options/util.mjs";
4
- import UnmatchedDereferenceStrategyError from "../../../errors/UnmatchedDereferenceStrategyError.mjs";
5
- /**
6
- * @public
7
- */
8
- /**
9
- * @public
10
- */
11
- class AsyncAPI2ResolveStrategy extends ResolveStrategy {
12
- constructor(options) {
13
- super({
14
- ...(options ?? {}),
15
- name: 'asyncapi-2'
16
- });
17
- }
18
- canResolve(file, options) {
19
- const dereferenceStrategy = options.dereference.strategies.find(strategy => strategy.name === 'asyncapi-2');
20
- if (dereferenceStrategy === undefined) {
21
- return false;
22
- }
23
- return dereferenceStrategy.canDereference(file, options);
24
- }
25
- async resolve(file, options) {
26
- const dereferenceStrategy = options.dereference.strategies.find(strategy => strategy.name === 'asyncapi-2');
27
- if (dereferenceStrategy === undefined) {
28
- throw new UnmatchedDereferenceStrategyError(`"asyncapi-2" resolve strategy requires "asyncapi-2" dereference strategy to be configured for file "${file.uri}"`);
29
- }
30
- const refSet = new ReferenceSet();
31
- const mergedOptions = mergeOptions(options, {
32
- resolve: {
33
- internal: false
34
- },
35
- dereference: {
36
- refSet
37
- }
38
- });
39
- await dereferenceStrategy.dereference(file, mergedOptions);
40
- return refSet;
41
- }
42
- }
43
- export default AsyncAPI2ResolveStrategy;
@@ -1,49 +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 _ResolveStrategy = _interopRequireDefault(require("../ResolveStrategy.cjs"));
7
- var _ReferenceSet = _interopRequireDefault(require("../../../ReferenceSet.cjs"));
8
- var _util = require("../../../options/util.cjs");
9
- var _UnmatchedDereferenceStrategyError = _interopRequireDefault(require("../../../errors/UnmatchedDereferenceStrategyError.cjs"));
10
- /**
11
- * @public
12
- */
13
-
14
- /**
15
- * @public
16
- */
17
- class OpenAPI2ResolveStrategy extends _ResolveStrategy.default {
18
- constructor(options) {
19
- super({
20
- ...(options ?? {}),
21
- name: 'openapi-2'
22
- });
23
- }
24
- canResolve(file, options) {
25
- const dereferenceStrategy = options.dereference.strategies.find(strategy => strategy.name === 'openapi-2');
26
- if (dereferenceStrategy === undefined) {
27
- return false;
28
- }
29
- return dereferenceStrategy.canDereference(file, options);
30
- }
31
- async resolve(file, options) {
32
- const dereferenceStrategy = options.dereference.strategies.find(strategy => strategy.name === 'openapi-2');
33
- if (dereferenceStrategy === undefined) {
34
- throw new _UnmatchedDereferenceStrategyError.default(`"openapi-2" resolve strategy requires "openapi-2" dereference strategy to be configured for file "${file.uri}"`);
35
- }
36
- const refSet = new _ReferenceSet.default();
37
- const mergedOptions = (0, _util.merge)(options, {
38
- resolve: {
39
- internal: false
40
- },
41
- dereference: {
42
- refSet
43
- }
44
- });
45
- await dereferenceStrategy.dereference(file, mergedOptions);
46
- return refSet;
47
- }
48
- }
49
- var _default = exports.default = OpenAPI2ResolveStrategy;
@@ -1,43 +0,0 @@
1
- import ResolveStrategy from "../ResolveStrategy.mjs";
2
- import ReferenceSet from "../../../ReferenceSet.mjs";
3
- import { merge as mergeOptions } from "../../../options/util.mjs";
4
- import UnmatchedDereferenceStrategyError from "../../../errors/UnmatchedDereferenceStrategyError.mjs";
5
- /**
6
- * @public
7
- */
8
- /**
9
- * @public
10
- */
11
- class OpenAPI2ResolveStrategy extends ResolveStrategy {
12
- constructor(options) {
13
- super({
14
- ...(options ?? {}),
15
- name: 'openapi-2'
16
- });
17
- }
18
- canResolve(file, options) {
19
- const dereferenceStrategy = options.dereference.strategies.find(strategy => strategy.name === 'openapi-2');
20
- if (dereferenceStrategy === undefined) {
21
- return false;
22
- }
23
- return dereferenceStrategy.canDereference(file, options);
24
- }
25
- async resolve(file, options) {
26
- const dereferenceStrategy = options.dereference.strategies.find(strategy => strategy.name === 'openapi-2');
27
- if (dereferenceStrategy === undefined) {
28
- throw new UnmatchedDereferenceStrategyError(`"openapi-2" resolve strategy requires "openapi-2" dereference strategy to be configured for file "${file.uri}"`);
29
- }
30
- const refSet = new ReferenceSet();
31
- const mergedOptions = mergeOptions(options, {
32
- resolve: {
33
- internal: false
34
- },
35
- dereference: {
36
- refSet
37
- }
38
- });
39
- await dereferenceStrategy.dereference(file, mergedOptions);
40
- return refSet;
41
- }
42
- }
43
- export default OpenAPI2ResolveStrategy;
@@ -1,49 +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 _ResolveStrategy = _interopRequireDefault(require("../ResolveStrategy.cjs"));
7
- var _ReferenceSet = _interopRequireDefault(require("../../../ReferenceSet.cjs"));
8
- var _util = require("../../../options/util.cjs");
9
- var _UnmatchedDereferenceStrategyError = _interopRequireDefault(require("../../../errors/UnmatchedDereferenceStrategyError.cjs"));
10
- /**
11
- * @public
12
- */
13
-
14
- /**
15
- * @public
16
- */
17
- class OpenAPI3_0ResolveStrategy extends _ResolveStrategy.default {
18
- constructor(options) {
19
- super({
20
- ...(options ?? {}),
21
- name: 'openapi-3-0'
22
- });
23
- }
24
- canResolve(file, options) {
25
- const dereferenceStrategy = options.dereference.strategies.find(strategy => strategy.name === 'openapi-3-0');
26
- if (dereferenceStrategy === undefined) {
27
- return false;
28
- }
29
- return dereferenceStrategy.canDereference(file, options);
30
- }
31
- async resolve(file, options) {
32
- const dereferenceStrategy = options.dereference.strategies.find(strategy => strategy.name === 'openapi-3-0');
33
- if (dereferenceStrategy === undefined) {
34
- throw new _UnmatchedDereferenceStrategyError.default(`"openapi-3-0" resolve strategy requires "openapi-3-0" dereference strategy to be configured for file "${file.uri}"`);
35
- }
36
- const refSet = new _ReferenceSet.default();
37
- const mergedOptions = (0, _util.merge)(options, {
38
- resolve: {
39
- internal: false
40
- },
41
- dereference: {
42
- refSet
43
- }
44
- });
45
- await dereferenceStrategy.dereference(file, mergedOptions);
46
- return refSet;
47
- }
48
- }
49
- var _default = exports.default = OpenAPI3_0ResolveStrategy;
@@ -1,43 +0,0 @@
1
- import ResolveStrategy from "../ResolveStrategy.mjs";
2
- import ReferenceSet from "../../../ReferenceSet.mjs";
3
- import { merge as mergeOptions } from "../../../options/util.mjs";
4
- import UnmatchedDereferenceStrategyError from "../../../errors/UnmatchedDereferenceStrategyError.mjs";
5
- /**
6
- * @public
7
- */
8
- /**
9
- * @public
10
- */
11
- class OpenAPI3_0ResolveStrategy extends ResolveStrategy {
12
- constructor(options) {
13
- super({
14
- ...(options ?? {}),
15
- name: 'openapi-3-0'
16
- });
17
- }
18
- canResolve(file, options) {
19
- const dereferenceStrategy = options.dereference.strategies.find(strategy => strategy.name === 'openapi-3-0');
20
- if (dereferenceStrategy === undefined) {
21
- return false;
22
- }
23
- return dereferenceStrategy.canDereference(file, options);
24
- }
25
- async resolve(file, options) {
26
- const dereferenceStrategy = options.dereference.strategies.find(strategy => strategy.name === 'openapi-3-0');
27
- if (dereferenceStrategy === undefined) {
28
- throw new UnmatchedDereferenceStrategyError(`"openapi-3-0" resolve strategy requires "openapi-3-0" dereference strategy to be configured for file "${file.uri}"`);
29
- }
30
- const refSet = new ReferenceSet();
31
- const mergedOptions = mergeOptions(options, {
32
- resolve: {
33
- internal: false
34
- },
35
- dereference: {
36
- refSet
37
- }
38
- });
39
- await dereferenceStrategy.dereference(file, mergedOptions);
40
- return refSet;
41
- }
42
- }
43
- export default OpenAPI3_0ResolveStrategy;
@@ -1,49 +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 _ResolveStrategy = _interopRequireDefault(require("../ResolveStrategy.cjs"));
7
- var _ReferenceSet = _interopRequireDefault(require("../../../ReferenceSet.cjs"));
8
- var _util = require("../../../options/util.cjs");
9
- var _UnmatchedDereferenceStrategyError = _interopRequireDefault(require("../../../errors/UnmatchedDereferenceStrategyError.cjs"));
10
- /**
11
- * @public
12
- */
13
-
14
- /**
15
- * @public
16
- */
17
- class OpenAPI3_1ResolveStrategy extends _ResolveStrategy.default {
18
- constructor(options) {
19
- super({
20
- ...(options ?? {}),
21
- name: 'openapi-3-1'
22
- });
23
- }
24
- canResolve(file, options) {
25
- const dereferenceStrategy = options.dereference.strategies.find(strategy => strategy.name === 'openapi-3-1');
26
- if (dereferenceStrategy === undefined) {
27
- return false;
28
- }
29
- return dereferenceStrategy.canDereference(file, options);
30
- }
31
- async resolve(file, options) {
32
- const dereferenceStrategy = options.dereference.strategies.find(strategy => strategy.name === 'openapi-3-1');
33
- if (dereferenceStrategy === undefined) {
34
- throw new _UnmatchedDereferenceStrategyError.default(`"openapi-3-1" resolve strategy requires "openapi-3-1" dereference strategy to be configured for file "${file.uri}"`);
35
- }
36
- const refSet = new _ReferenceSet.default();
37
- const mergedOptions = (0, _util.merge)(options, {
38
- resolve: {
39
- internal: false
40
- },
41
- dereference: {
42
- refSet
43
- }
44
- });
45
- await dereferenceStrategy.dereference(file, mergedOptions);
46
- return refSet;
47
- }
48
- }
49
- var _default = exports.default = OpenAPI3_1ResolveStrategy;
@@ -1,43 +0,0 @@
1
- import ResolveStrategy from "../ResolveStrategy.mjs";
2
- import ReferenceSet from "../../../ReferenceSet.mjs";
3
- import { merge as mergeOptions } from "../../../options/util.mjs";
4
- import UnmatchedDereferenceStrategyError from "../../../errors/UnmatchedDereferenceStrategyError.mjs";
5
- /**
6
- * @public
7
- */
8
- /**
9
- * @public
10
- */
11
- class OpenAPI3_1ResolveStrategy extends ResolveStrategy {
12
- constructor(options) {
13
- super({
14
- ...(options ?? {}),
15
- name: 'openapi-3-1'
16
- });
17
- }
18
- canResolve(file, options) {
19
- const dereferenceStrategy = options.dereference.strategies.find(strategy => strategy.name === 'openapi-3-1');
20
- if (dereferenceStrategy === undefined) {
21
- return false;
22
- }
23
- return dereferenceStrategy.canDereference(file, options);
24
- }
25
- async resolve(file, options) {
26
- const dereferenceStrategy = options.dereference.strategies.find(strategy => strategy.name === 'openapi-3-1');
27
- if (dereferenceStrategy === undefined) {
28
- throw new UnmatchedDereferenceStrategyError(`"openapi-3-1" resolve strategy requires "openapi-3-1" dereference strategy to be configured for file "${file.uri}"`);
29
- }
30
- const refSet = new ReferenceSet();
31
- const mergedOptions = mergeOptions(options, {
32
- resolve: {
33
- internal: false
34
- },
35
- dereference: {
36
- refSet
37
- }
38
- });
39
- await dereferenceStrategy.dereference(file, mergedOptions);
40
- return refSet;
41
- }
42
- }
43
- export default OpenAPI3_1ResolveStrategy;
@@ -1,37 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
- var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopRequireWildcard").default;
5
- exports.__esModule = true;
6
- exports.readFile = void 0;
7
- var _ramda = require("ramda");
8
- var plugins = _interopRequireWildcard(require("../util/plugins.cjs"));
9
- var _ResolveError = _interopRequireDefault(require("../errors/ResolveError.cjs"));
10
- var _UnmatchedResolverError = _interopRequireDefault(require("../errors/UnmatchedResolverError.cjs"));
11
- /**
12
- * Reads the given file, using the configured resolver plugins.
13
- */
14
-
15
- const readFile = async (file, options) => {
16
- const optsBoundResolvers = options.resolve.resolvers.map(resolver => {
17
- const clonedResolver = Object.create(resolver);
18
- return Object.assign(clonedResolver, options.resolve.resolverOpts);
19
- });
20
- const resolvers = await plugins.filter('canRead', [file, options], optsBoundResolvers);
21
-
22
- // we couldn't find any resolver for this File
23
- if ((0, _ramda.isEmpty)(resolvers)) {
24
- throw new _UnmatchedResolverError.default(`Could not find a resolver that can read the file "${file.uri}"`);
25
- }
26
- try {
27
- const {
28
- result
29
- } = await plugins.run('read', [file, options], resolvers);
30
- return result;
31
- } catch (error) {
32
- throw new _ResolveError.default(`Error while reading file "${file.uri}"`, {
33
- cause: error
34
- });
35
- }
36
- };
37
- exports.readFile = readFile;
@@ -1,30 +0,0 @@
1
- import { isEmpty } from 'ramda';
2
- import * as plugins from "../util/plugins.mjs";
3
- import ResolveError from "../errors/ResolveError.mjs";
4
- import UnmatchedResolverError from "../errors/UnmatchedResolverError.mjs";
5
- /**
6
- * Reads the given file, using the configured resolver plugins.
7
- */
8
-
9
- export const readFile = async (file, options) => {
10
- const optsBoundResolvers = options.resolve.resolvers.map(resolver => {
11
- const clonedResolver = Object.create(resolver);
12
- return Object.assign(clonedResolver, options.resolve.resolverOpts);
13
- });
14
- const resolvers = await plugins.filter('canRead', [file, options], optsBoundResolvers);
15
-
16
- // we couldn't find any resolver for this File
17
- if (isEmpty(resolvers)) {
18
- throw new UnmatchedResolverError(`Could not find a resolver that can read the file "${file.uri}"`);
19
- }
20
- try {
21
- const {
22
- result
23
- } = await plugins.run('read', [file, options], resolvers);
24
- return result;
25
- } catch (error) {
26
- throw new ResolveError(`Error while reading file "${file.uri}"`, {
27
- cause: error
28
- });
29
- }
30
- };
@@ -1,39 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.run = exports.filter = void 0;
5
- var _ramdaAdjunct = require("ramda-adjunct");
6
- /**
7
- * Filters the given plugins, returning only the ones return `true` for the given method.
8
- */
9
- const filter = async (method, parameters, plugins) => {
10
- const pluginResults = await Promise.all(plugins.map((0, _ramdaAdjunct.invokeArgs)([method], parameters)));
11
- return plugins.filter((plugin, index) => pluginResults[index]);
12
- };
13
-
14
- /**
15
- * Runs the specified method of the given plugins, in order,
16
- * until one of them returns a successful result.
17
- * Each method can return a synchronous value or a Promise.
18
- * If the promise resolves successfully then the result
19
- * is immediately returned and no further plugins are called.
20
- * If the promise rejects then the next plugin is called.
21
- * If ALL plugins fail, then the last error is thrown.
22
- */
23
- exports.filter = filter;
24
- const run = async (method, parameters, plugins) => {
25
- let lastError;
26
- for (const plugin of plugins) {
27
- try {
28
- const result = await plugin[method].call(plugin, ...parameters);
29
- return {
30
- plugin,
31
- result
32
- };
33
- } catch (error) {
34
- lastError = error;
35
- }
36
- }
37
- return Promise.reject(lastError);
38
- };
39
- exports.run = run;
@@ -1,34 +0,0 @@
1
- import { invokeArgs } from 'ramda-adjunct';
2
-
3
- /**
4
- * Filters the given plugins, returning only the ones return `true` for the given method.
5
- */
6
- export const filter = async (method, parameters, plugins) => {
7
- const pluginResults = await Promise.all(plugins.map(invokeArgs([method], parameters)));
8
- return plugins.filter((plugin, index) => pluginResults[index]);
9
- };
10
-
11
- /**
12
- * Runs the specified method of the given plugins, in order,
13
- * until one of them returns a successful result.
14
- * Each method can return a synchronous value or a Promise.
15
- * If the promise resolves successfully then the result
16
- * is immediately returned and no further plugins are called.
17
- * If the promise rejects then the next plugin is called.
18
- * If ALL plugins fail, then the last error is thrown.
19
- */
20
- export const run = async (method, parameters, plugins) => {
21
- let lastError;
22
- for (const plugin of plugins) {
23
- try {
24
- const result = await plugin[method].call(plugin, ...parameters);
25
- return {
26
- plugin,
27
- result
28
- };
29
- } catch (error) {
30
- lastError = error;
31
- }
32
- }
33
- return Promise.reject(lastError);
34
- };