@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.
- package/CHANGELOG.md +12 -0
- package/dist/apidom-reference.browser.js +40 -36
- package/dist/apidom-reference.browser.min.js +1 -1
- package/package.json +25 -25
- package/types/dereference/strategies/apidom/visitor.d.ts +1 -1
- package/types/dereference/strategies/arazzo-1/visitor.d.ts +1 -1
- package/types/dereference/strategies/asyncapi-2/visitor.d.ts +1 -1
- package/types/dereference/strategies/openapi-2/visitor.d.ts +1 -1
- package/types/dereference/strategies/openapi-3-0/visitor.d.ts +1 -1
- package/types/dereference/strategies/openapi-3-1/visitor.d.ts +1 -1
- package/src/File.cjs +0 -50
- package/src/File.mjs +0 -44
- package/src/Reference.cjs +0 -31
- package/src/Reference.mjs +0 -27
- package/src/ReferenceSet.cjs +0 -60
- package/src/ReferenceSet.mjs +0 -57
- package/src/bundle/index.cjs +0 -61
- package/src/bundle/index.mjs +0 -55
- package/src/bundle/strategies/BundleStrategy.cjs +0 -20
- package/src/bundle/strategies/BundleStrategy.mjs +0 -16
- package/src/bundle/strategies/openapi-3-1/index.cjs +0 -35
- package/src/bundle/strategies/openapi-3-1/index.mjs +0 -29
- package/src/configuration/empty.cjs +0 -9
- package/src/configuration/empty.mjs +0 -1
- package/src/configuration/saturated.cjs +0 -88
- package/src/configuration/saturated.mjs +0 -80
- package/src/dereference/index.cjs +0 -90
- package/src/dereference/index.mjs +0 -83
- package/src/dereference/strategies/DereferenceStrategy.cjs +0 -20
- package/src/dereference/strategies/DereferenceStrategy.mjs +0 -16
- package/src/dereference/strategies/apidom/index.cjs +0 -89
- package/src/dereference/strategies/apidom/index.mjs +0 -83
- package/src/dereference/strategies/apidom/selectors/element-id.cjs +0 -47
- package/src/dereference/strategies/apidom/selectors/element-id.mjs +0 -41
- package/src/dereference/strategies/apidom/visitor.cjs +0 -266
- package/src/dereference/strategies/apidom/visitor.mjs +0 -259
- package/src/dereference/strategies/arazzo-1/index.cjs +0 -109
- package/src/dereference/strategies/arazzo-1/index.mjs +0 -100
- package/src/dereference/strategies/arazzo-1/selectors/$anchor.cjs +0 -12
- package/src/dereference/strategies/arazzo-1/selectors/$anchor.mjs +0 -1
- package/src/dereference/strategies/arazzo-1/selectors/uri.cjs +0 -8
- package/src/dereference/strategies/arazzo-1/selectors/uri.mjs +0 -1
- package/src/dereference/strategies/arazzo-1/source-descriptions.cjs +0 -248
- package/src/dereference/strategies/arazzo-1/source-descriptions.mjs +0 -243
- package/src/dereference/strategies/arazzo-1/util.cjs +0 -37
- package/src/dereference/strategies/arazzo-1/util.mjs +0 -29
- package/src/dereference/strategies/arazzo-1/visitor.cjs +0 -507
- package/src/dereference/strategies/arazzo-1/visitor.mjs +0 -500
- package/src/dereference/strategies/asyncapi-2/index.cjs +0 -94
- package/src/dereference/strategies/asyncapi-2/index.mjs +0 -88
- package/src/dereference/strategies/asyncapi-2/visitor.cjs +0 -501
- package/src/dereference/strategies/asyncapi-2/visitor.mjs +0 -494
- package/src/dereference/strategies/openapi-2/index.cjs +0 -96
- package/src/dereference/strategies/openapi-2/index.mjs +0 -90
- package/src/dereference/strategies/openapi-2/visitor.cjs +0 -629
- package/src/dereference/strategies/openapi-2/visitor.mjs +0 -622
- package/src/dereference/strategies/openapi-3-0/index.cjs +0 -96
- package/src/dereference/strategies/openapi-3-0/index.mjs +0 -90
- package/src/dereference/strategies/openapi-3-0/visitor.cjs +0 -621
- package/src/dereference/strategies/openapi-3-0/visitor.mjs +0 -614
- package/src/dereference/strategies/openapi-3-1/index.cjs +0 -99
- package/src/dereference/strategies/openapi-3-1/index.mjs +0 -90
- package/src/dereference/strategies/openapi-3-1/selectors/$anchor.cjs +0 -67
- package/src/dereference/strategies/openapi-3-1/selectors/$anchor.mjs +0 -56
- package/src/dereference/strategies/openapi-3-1/selectors/uri.cjs +0 -50
- package/src/dereference/strategies/openapi-3-1/selectors/uri.mjs +0 -42
- package/src/dereference/strategies/openapi-3-1/util.cjs +0 -68
- package/src/dereference/strategies/openapi-3-1/util.mjs +0 -59
- package/src/dereference/strategies/openapi-3-1/visitor.cjs +0 -873
- package/src/dereference/strategies/openapi-3-1/visitor.mjs +0 -866
- package/src/dereference/util.cjs +0 -31
- package/src/dereference/util.mjs +0 -27
- package/src/errors/BundleError.cjs +0 -10
- package/src/errors/BundleError.mjs +0 -7
- package/src/errors/DereferenceError.cjs +0 -10
- package/src/errors/DereferenceError.mjs +0 -7
- package/src/errors/EvaluationElementIdError.cjs +0 -10
- package/src/errors/EvaluationElementIdError.mjs +0 -7
- package/src/errors/EvaluationJsonSchema$anchorError.cjs +0 -11
- package/src/errors/EvaluationJsonSchema$anchorError.mjs +0 -6
- package/src/errors/EvaluationJsonSchemaUriError.cjs +0 -11
- package/src/errors/EvaluationJsonSchemaUriError.mjs +0 -6
- package/src/errors/InvalidJsonSchema$anchorError.cjs +0 -15
- package/src/errors/InvalidJsonSchema$anchorError.mjs +0 -10
- package/src/errors/JsonSchema$anchorError.cjs +0 -10
- package/src/errors/JsonSchema$anchorError.mjs +0 -7
- package/src/errors/JsonSchemaUriError.cjs +0 -10
- package/src/errors/JsonSchemaUriError.mjs +0 -7
- package/src/errors/MaximumBundleDepthError.cjs +0 -11
- package/src/errors/MaximumBundleDepthError.mjs +0 -6
- package/src/errors/MaximumDereferenceDepthError.cjs +0 -11
- package/src/errors/MaximumDereferenceDepthError.mjs +0 -6
- package/src/errors/MaximumResolveDepthError.cjs +0 -11
- package/src/errors/MaximumResolveDepthError.mjs +0 -6
- package/src/errors/ParseError.cjs +0 -10
- package/src/errors/ParseError.mjs +0 -7
- package/src/errors/ParserError.cjs +0 -11
- package/src/errors/ParserError.mjs +0 -6
- package/src/errors/PluginError.cjs +0 -18
- package/src/errors/PluginError.mjs +0 -15
- package/src/errors/ResolveError.cjs +0 -10
- package/src/errors/ResolveError.mjs +0 -7
- package/src/errors/ResolverError.cjs +0 -11
- package/src/errors/ResolverError.mjs +0 -6
- package/src/errors/UnmatchedBundleStrategyError.cjs +0 -11
- package/src/errors/UnmatchedBundleStrategyError.mjs +0 -6
- package/src/errors/UnmatchedDereferenceStrategyError.cjs +0 -11
- package/src/errors/UnmatchedDereferenceStrategyError.mjs +0 -6
- package/src/errors/UnmatchedParserError.cjs +0 -11
- package/src/errors/UnmatchedParserError.mjs +0 -6
- package/src/errors/UnmatchedResolveStrategyError.cjs +0 -11
- package/src/errors/UnmatchedResolveStrategyError.mjs +0 -6
- package/src/errors/UnmatchedResolverError.cjs +0 -11
- package/src/errors/UnmatchedResolverError.mjs +0 -6
- package/src/errors/UnresolvableReferenceError.cjs +0 -11
- package/src/errors/UnresolvableReferenceError.mjs +0 -6
- package/src/index.cjs +0 -146
- package/src/index.mjs +0 -103
- package/src/options/index.cjs +0 -194
- package/src/options/index.mjs +0 -191
- package/src/options/util.cjs +0 -24
- package/src/options/util.mjs +0 -19
- package/src/parse/index.cjs +0 -69
- package/src/parse/index.mjs +0 -63
- package/src/parse/parsers/Parser.cjs +0 -62
- package/src/parse/parsers/Parser.mjs +0 -58
- package/src/parse/parsers/apidom-json/index.cjs +0 -70
- package/src/parse/parsers/apidom-json/index.mjs +0 -64
- package/src/parse/parsers/arazzo-json-1/index.cjs +0 -62
- package/src/parse/parsers/arazzo-json-1/index.mjs +0 -56
- package/src/parse/parsers/arazzo-json-1/source-descriptions.cjs +0 -221
- package/src/parse/parsers/arazzo-json-1/source-descriptions.mjs +0 -214
- package/src/parse/parsers/arazzo-yaml-1/index.cjs +0 -62
- package/src/parse/parsers/arazzo-yaml-1/index.mjs +0 -56
- package/src/parse/parsers/arazzo-yaml-1/source-descriptions.cjs +0 -12
- package/src/parse/parsers/arazzo-yaml-1/source-descriptions.mjs +0 -7
- package/src/parse/parsers/asyncapi-json-2/index.cjs +0 -54
- package/src/parse/parsers/asyncapi-json-2/index.mjs +0 -48
- package/src/parse/parsers/asyncapi-yaml-2/index.cjs +0 -54
- package/src/parse/parsers/asyncapi-yaml-2/index.mjs +0 -48
- package/src/parse/parsers/binary/index-browser.cjs +0 -56
- package/src/parse/parsers/binary/index-browser.mjs +0 -50
- package/src/parse/parsers/binary/index-node.cjs +0 -51
- package/src/parse/parsers/binary/index-node.mjs +0 -45
- package/src/parse/parsers/json/index.cjs +0 -53
- package/src/parse/parsers/json/index.mjs +0 -47
- package/src/parse/parsers/openapi-json-2/index.cjs +0 -54
- package/src/parse/parsers/openapi-json-2/index.mjs +0 -48
- package/src/parse/parsers/openapi-json-3-0/index.cjs +0 -54
- package/src/parse/parsers/openapi-json-3-0/index.mjs +0 -48
- package/src/parse/parsers/openapi-json-3-1/index.cjs +0 -54
- package/src/parse/parsers/openapi-json-3-1/index.mjs +0 -48
- package/src/parse/parsers/openapi-yaml-2/index.cjs +0 -54
- package/src/parse/parsers/openapi-yaml-2/index.mjs +0 -48
- package/src/parse/parsers/openapi-yaml-3-0/index.cjs +0 -54
- package/src/parse/parsers/openapi-yaml-3-0/index.mjs +0 -48
- package/src/parse/parsers/openapi-yaml-3-1/index.cjs +0 -54
- package/src/parse/parsers/openapi-yaml-3-1/index.mjs +0 -48
- package/src/parse/parsers/yaml-1-2/index.cjs +0 -56
- package/src/parse/parsers/yaml-1-2/index.mjs +0 -50
- package/src/resolve/index.cjs +0 -67
- package/src/resolve/index.mjs +0 -60
- package/src/resolve/resolvers/HTTPResolver.cjs +0 -45
- package/src/resolve/resolvers/HTTPResolver.mjs +0 -37
- package/src/resolve/resolvers/Resolver.cjs +0 -20
- package/src/resolve/resolvers/Resolver.mjs +0 -16
- package/src/resolve/resolvers/file/index-browser.cjs +0 -24
- package/src/resolve/resolvers/file/index-browser.mjs +0 -19
- package/src/resolve/resolvers/file/index-node.cjs +0 -49
- package/src/resolve/resolvers/file/index-node.mjs +0 -42
- package/src/resolve/resolvers/http-axios/cache/MemoryCache.cjs +0 -41
- package/src/resolve/resolvers/http-axios/cache/MemoryCache.mjs +0 -37
- package/src/resolve/resolvers/http-axios/index.cjs +0 -113
- package/src/resolve/resolvers/http-axios/index.mjs +0 -105
- package/src/resolve/strategies/ResolveStrategy.cjs +0 -20
- package/src/resolve/strategies/ResolveStrategy.mjs +0 -16
- package/src/resolve/strategies/apidom/index.cjs +0 -49
- package/src/resolve/strategies/apidom/index.mjs +0 -43
- package/src/resolve/strategies/asyncapi-2/index.cjs +0 -49
- package/src/resolve/strategies/asyncapi-2/index.mjs +0 -43
- package/src/resolve/strategies/openapi-2/index.cjs +0 -49
- package/src/resolve/strategies/openapi-2/index.mjs +0 -43
- package/src/resolve/strategies/openapi-3-0/index.cjs +0 -49
- package/src/resolve/strategies/openapi-3-0/index.mjs +0 -43
- package/src/resolve/strategies/openapi-3-1/index.cjs +0 -49
- package/src/resolve/strategies/openapi-3-1/index.mjs +0 -43
- package/src/resolve/util.cjs +0 -37
- package/src/resolve/util.mjs +0 -30
- package/src/util/plugins.cjs +0 -39
- package/src/util/plugins.mjs +0 -34
- package/src/util/url.cjs +0 -288
- 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;
|
package/src/resolve/util.cjs
DELETED
|
@@ -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;
|
package/src/resolve/util.mjs
DELETED
|
@@ -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
|
-
};
|
package/src/util/plugins.cjs
DELETED
|
@@ -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;
|
package/src/util/plugins.mjs
DELETED
|
@@ -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
|
-
};
|