@speclynx/apidom-reference 6.2.0 → 7.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 +49 -0
- package/README.md +45 -0
- package/dist/apidom-reference.browser.js +4701 -3478
- package/dist/apidom-reference.browser.min.js +1 -1
- package/package.json +29 -28
- package/src/File.cjs +5 -2
- package/src/File.mjs +5 -2
- package/src/bundle/strategies/arazzo-1/index.cjs +3 -2
- package/src/bundle/strategies/arazzo-1/index.mjs +3 -2
- package/src/bundle/strategies/asyncapi-2/index.cjs +3 -2
- package/src/bundle/strategies/asyncapi-2/index.mjs +3 -2
- package/src/bundle/strategies/openapi-2/index.cjs +3 -2
- package/src/bundle/strategies/openapi-2/index.mjs +3 -2
- package/src/bundle/strategies/openapi-3-0/index.cjs +3 -2
- package/src/bundle/strategies/openapi-3-0/index.mjs +3 -2
- package/src/bundle/strategies/openapi-3-1/index.cjs +3 -2
- package/src/bundle/strategies/openapi-3-1/index.mjs +3 -2
- package/src/dereference/strategies/DereferenceVisitor.cjs +588 -0
- package/src/dereference/strategies/DereferenceVisitor.mjs +580 -0
- package/src/dereference/strategies/arazzo-1/index.cjs +14 -39
- package/src/dereference/strategies/arazzo-1/index.mjs +15 -40
- package/src/dereference/strategies/arazzo-1/visitor.cjs +207 -331
- package/src/dereference/strategies/arazzo-1/visitor.mjs +215 -338
- package/src/dereference/strategies/asyncapi-2/index.cjs +11 -39
- package/src/dereference/strategies/asyncapi-2/index.mjs +11 -39
- package/src/dereference/strategies/asyncapi-2/visitor.cjs +133 -425
- package/src/dereference/strategies/asyncapi-2/visitor.mjs +137 -429
- package/src/dereference/strategies/openapi-2/index.cjs +12 -42
- package/src/dereference/strategies/openapi-2/index.mjs +12 -42
- package/src/dereference/strategies/openapi-2/visitor.cjs +168 -532
- package/src/dereference/strategies/openapi-2/visitor.mjs +172 -536
- package/src/dereference/strategies/openapi-3-0/index.cjs +12 -42
- package/src/dereference/strategies/openapi-3-0/index.mjs +12 -42
- package/src/dereference/strategies/openapi-3-0/visitor.cjs +194 -468
- package/src/dereference/strategies/openapi-3-0/visitor.mjs +199 -473
- package/src/dereference/strategies/openapi-3-1/index.cjs +16 -42
- package/src/dereference/strategies/openapi-3-1/index.mjs +16 -42
- package/src/dereference/strategies/openapi-3-1/visitor.cjs +350 -602
- package/src/dereference/strategies/openapi-3-1/visitor.mjs +357 -608
- package/src/dereference/strategies/overlay-1/index.cjs +3 -2
- package/src/dereference/strategies/overlay-1/index.mjs +3 -2
- package/src/index.cjs +0 -7
- package/src/index.mjs +0 -1
- package/src/parse/index.cjs +9 -1
- package/src/parse/index.mjs +9 -1
- package/src/parse/parsers/apidom-json/index.cjs +2 -1
- package/src/parse/parsers/apidom-json/index.mjs +2 -1
- package/src/parse/parsers/arazzo-json-1/index.cjs +2 -1
- package/src/parse/parsers/arazzo-json-1/index.mjs +2 -1
- package/src/parse/parsers/arazzo-yaml-1/index.cjs +2 -1
- package/src/parse/parsers/arazzo-yaml-1/index.mjs +2 -1
- package/src/parse/parsers/asyncapi-json-2/index.cjs +2 -1
- package/src/parse/parsers/asyncapi-json-2/index.mjs +2 -1
- package/src/parse/parsers/asyncapi-yaml-2/index.cjs +2 -1
- package/src/parse/parsers/asyncapi-yaml-2/index.mjs +2 -1
- package/src/parse/parsers/json/index.cjs +2 -1
- package/src/parse/parsers/json/index.mjs +2 -1
- package/src/parse/parsers/openapi-json-2/index.cjs +2 -1
- package/src/parse/parsers/openapi-json-2/index.mjs +2 -1
- package/src/parse/parsers/openapi-json-3-0/index.cjs +2 -1
- package/src/parse/parsers/openapi-json-3-0/index.mjs +2 -1
- package/src/parse/parsers/openapi-json-3-1/index.cjs +2 -1
- package/src/parse/parsers/openapi-json-3-1/index.mjs +2 -1
- package/src/parse/parsers/openapi-yaml-2/index.cjs +2 -1
- package/src/parse/parsers/openapi-yaml-2/index.mjs +2 -1
- package/src/parse/parsers/openapi-yaml-3-0/index.cjs +2 -1
- package/src/parse/parsers/openapi-yaml-3-0/index.mjs +2 -1
- package/src/parse/parsers/openapi-yaml-3-1/index.cjs +2 -1
- package/src/parse/parsers/openapi-yaml-3-1/index.mjs +2 -1
- package/src/parse/parsers/overlay-json-1/index.cjs +2 -1
- package/src/parse/parsers/overlay-json-1/index.mjs +2 -1
- package/src/parse/parsers/overlay-yaml-1/index.cjs +2 -1
- package/src/parse/parsers/overlay-yaml-1/index.mjs +2 -1
- package/src/parse/parsers/yaml-1-2/index.cjs +2 -1
- package/src/parse/parsers/yaml-1-2/index.mjs +2 -1
- package/types/apidom-reference.d.ts +0 -9
- package/types/dereference/strategies/DereferenceVisitor.d.ts +224 -0
- package/types/dereference/strategies/arazzo-1/index.d.ts +0 -1
- package/types/dereference/strategies/arazzo-1/visitor.d.ts +38 -38
- package/types/dereference/strategies/asyncapi-2/index.d.ts +0 -1
- package/types/dereference/strategies/asyncapi-2/visitor.d.ts +13 -29
- package/types/dereference/strategies/openapi-2/index.d.ts +0 -1
- package/types/dereference/strategies/openapi-2/visitor.d.ts +14 -29
- package/types/dereference/strategies/openapi-3-0/index.d.ts +0 -1
- package/types/dereference/strategies/openapi-3-0/visitor.d.ts +13 -28
- package/types/dereference/strategies/openapi-3-1/index.d.ts +0 -1
- package/types/dereference/strategies/openapi-3-1/visitor.d.ts +37 -33
- package/types/index.d.ts +0 -1
- package/src/dereference/util.cjs +0 -33
- package/src/dereference/util.mjs +0 -27
- package/types/dereference/util.d.ts +0 -9
|
@@ -20,6 +20,7 @@ Object.defineProperty(exports, "dereferenceExtends", {
|
|
|
20
20
|
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
21
21
|
var _apidomNsOverlay = require("@speclynx/apidom-ns-overlay-1");
|
|
22
22
|
var _apidomTraverse = require("@speclynx/apidom-traverse");
|
|
23
|
+
var _mediaTypes = require("@swaggerexpert/media-types");
|
|
23
24
|
var _DereferenceStrategy = _interopRequireDefault(require("../DereferenceStrategy.cjs"));
|
|
24
25
|
var _Reference = _interopRequireDefault(require("../../../Reference.cjs"));
|
|
25
26
|
var _ReferenceSet = _interopRequireDefault(require("../../../ReferenceSet.cjs"));
|
|
@@ -41,8 +42,8 @@ class Overlay1DereferenceStrategy extends _DereferenceStrategy.default {
|
|
|
41
42
|
}
|
|
42
43
|
canDereference(file) {
|
|
43
44
|
// assert by media type
|
|
44
|
-
if (
|
|
45
|
-
return _apidomNsOverlay.mediaTypes
|
|
45
|
+
if (!(0, _mediaTypes.matches)('text/plain', file.mediaType)) {
|
|
46
|
+
return (0, _mediaTypes.selectBestMatch)(_apidomNsOverlay.mediaTypes, file.mediaType) !== null;
|
|
46
47
|
}
|
|
47
48
|
|
|
48
49
|
// assert by inspecting ApiDOM
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { cloneDeep, isParseResultElement } from '@speclynx/apidom-datamodel';
|
|
2
2
|
import { isOverlay1Element, mediaTypes } from '@speclynx/apidom-ns-overlay-1';
|
|
3
3
|
import { traverseAsync } from '@speclynx/apidom-traverse';
|
|
4
|
+
import { matches, selectBestMatch } from '@swaggerexpert/media-types';
|
|
4
5
|
import DereferenceStrategy from "../DereferenceStrategy.mjs";
|
|
5
6
|
import Reference from "../../../Reference.mjs";
|
|
6
7
|
import ReferenceSet from "../../../ReferenceSet.mjs";
|
|
@@ -21,8 +22,8 @@ class Overlay1DereferenceStrategy extends DereferenceStrategy {
|
|
|
21
22
|
}
|
|
22
23
|
canDereference(file) {
|
|
23
24
|
// assert by media type
|
|
24
|
-
if (
|
|
25
|
-
return mediaTypes
|
|
25
|
+
if (!matches('text/plain', file.mediaType)) {
|
|
26
|
+
return selectBestMatch(mediaTypes, file.mediaType) !== null;
|
|
26
27
|
}
|
|
27
28
|
|
|
28
29
|
// assert by inspecting ApiDOM
|
package/src/index.cjs
CHANGED
|
@@ -17,12 +17,6 @@ Object.defineProperty(exports, "BundleStrategy", {
|
|
|
17
17
|
return _BundleStrategy.default;
|
|
18
18
|
}
|
|
19
19
|
});
|
|
20
|
-
Object.defineProperty(exports, "DereferenceAncestorLineage", {
|
|
21
|
-
enumerable: true,
|
|
22
|
-
get: function () {
|
|
23
|
-
return _util3.AncestorLineage;
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
20
|
Object.defineProperty(exports, "DereferenceError", {
|
|
27
21
|
enumerable: true,
|
|
28
22
|
get: function () {
|
|
@@ -227,7 +221,6 @@ var _Resolver = _interopRequireDefault(require("./resolve/resolvers/Resolver.cjs
|
|
|
227
221
|
var _HTTPResolver = _interopRequireDefault(require("./resolve/resolvers/HTTPResolver.cjs"));
|
|
228
222
|
var _ResolveStrategy = _interopRequireDefault(require("./resolve/strategies/ResolveStrategy.cjs"));
|
|
229
223
|
var _DereferenceStrategy = _interopRequireDefault(require("./dereference/strategies/DereferenceStrategy.cjs"));
|
|
230
|
-
var _util3 = require("./dereference/util.cjs");
|
|
231
224
|
var _BundleStrategy = _interopRequireDefault(require("./bundle/strategies/BundleStrategy.cjs"));
|
|
232
225
|
var _Reference = _interopRequireDefault(require("./Reference.cjs"));
|
|
233
226
|
var _BundleError = _interopRequireDefault(require("./errors/BundleError.cjs"));
|
package/src/index.mjs
CHANGED
|
@@ -14,7 +14,6 @@ export { default as Resolver } from "./resolve/resolvers/Resolver.mjs";
|
|
|
14
14
|
export { default as HTTPResolver } from "./resolve/resolvers/HTTPResolver.mjs";
|
|
15
15
|
export { default as ResolveStrategy } from "./resolve/strategies/ResolveStrategy.mjs";
|
|
16
16
|
export { default as DereferenceStrategy } from "./dereference/strategies/DereferenceStrategy.mjs";
|
|
17
|
-
export { AncestorLineage as DereferenceAncestorLineage } from "./dereference/util.mjs";
|
|
18
17
|
export { default as BundleStrategy } from "./bundle/strategies/BundleStrategy.mjs";
|
|
19
18
|
export { default as options } from "./options/index.mjs";
|
|
20
19
|
export { merge as mergeOptions } from "./options/util.mjs";
|
package/src/parse/index.cjs
CHANGED
|
@@ -7,12 +7,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
var _ramda = require("ramda");
|
|
10
|
+
var _mediaTypes = require("@swaggerexpert/media-types");
|
|
10
11
|
var url = _interopRequireWildcard(require("../util/url.cjs"));
|
|
11
12
|
var _File = _interopRequireDefault(require("../File.cjs"));
|
|
12
13
|
var plugins = _interopRequireWildcard(require("../util/plugins.cjs"));
|
|
13
14
|
var _ParseError = _interopRequireDefault(require("../errors/ParseError.cjs"));
|
|
14
15
|
var _UnmatchedParserError = _interopRequireDefault(require("../errors/UnmatchedParserError.cjs"));
|
|
15
16
|
var _util = require("../resolve/util.cjs");
|
|
17
|
+
// media types of a serialization format only, naming no specification
|
|
18
|
+
const formatMediaTypes = ['application/json', 'application/yaml', 'text/yaml'];
|
|
19
|
+
|
|
16
20
|
/**
|
|
17
21
|
* Parses the given file's contents, using the configured parser plugins.
|
|
18
22
|
*/
|
|
@@ -21,7 +25,11 @@ const parseFile = async (file, options) => {
|
|
|
21
25
|
const clonedParser = Object.create(parser);
|
|
22
26
|
return Object.assign(clonedParser, options.parse.parserOpts);
|
|
23
27
|
});
|
|
24
|
-
const
|
|
28
|
+
const candidates = await plugins.filter('canParse', [file, options], optsBoundParsers);
|
|
29
|
+
// parsers listing the file's media type are tried first, the others in their configured order;
|
|
30
|
+
// for a format media type the configured order decides, as it puts specific parsers first
|
|
31
|
+
const isListing = parser => parser.mediaTypes !== undefined && (0, _mediaTypes.selectBestMatch)(parser.mediaTypes, file.mediaType) !== null;
|
|
32
|
+
const parsers = (0, _mediaTypes.selectBestMatch)(formatMediaTypes, file.mediaType) !== null ? candidates : [...candidates.filter(isListing), ...candidates.filter(p => !isListing(p))];
|
|
25
33
|
|
|
26
34
|
// we couldn't find any parser for this File
|
|
27
35
|
if ((0, _ramda.isEmpty)(parsers)) {
|
package/src/parse/index.mjs
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { isEmpty } from 'ramda';
|
|
2
|
+
import { selectBestMatch } from '@swaggerexpert/media-types';
|
|
2
3
|
import * as url from "../util/url.mjs";
|
|
3
4
|
import File from "../File.mjs";
|
|
4
5
|
import * as plugins from "../util/plugins.mjs";
|
|
5
6
|
import ParseError from "../errors/ParseError.mjs";
|
|
6
7
|
import UnmatchedParserError from "../errors/UnmatchedParserError.mjs";
|
|
7
8
|
import { readFile } from "../resolve/util.mjs";
|
|
9
|
+
// media types of a serialization format only, naming no specification
|
|
10
|
+
const formatMediaTypes = ['application/json', 'application/yaml', 'text/yaml'];
|
|
11
|
+
|
|
8
12
|
/**
|
|
9
13
|
* Parses the given file's contents, using the configured parser plugins.
|
|
10
14
|
*/
|
|
@@ -13,7 +17,11 @@ const parseFile = async (file, options) => {
|
|
|
13
17
|
const clonedParser = Object.create(parser);
|
|
14
18
|
return Object.assign(clonedParser, options.parse.parserOpts);
|
|
15
19
|
});
|
|
16
|
-
const
|
|
20
|
+
const candidates = await plugins.filter('canParse', [file, options], optsBoundParsers);
|
|
21
|
+
// parsers listing the file's media type are tried first, the others in their configured order;
|
|
22
|
+
// for a format media type the configured order decides, as it puts specific parsers first
|
|
23
|
+
const isListing = parser => parser.mediaTypes !== undefined && selectBestMatch(parser.mediaTypes, file.mediaType) !== null;
|
|
24
|
+
const parsers = selectBestMatch(formatMediaTypes, file.mediaType) !== null ? candidates : [...candidates.filter(isListing), ...candidates.filter(p => !isListing(p))];
|
|
17
25
|
|
|
18
26
|
// we couldn't find any parser for this File
|
|
19
27
|
if (isEmpty(parsers)) {
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
9
|
+
var _mediaTypes = require("@swaggerexpert/media-types");
|
|
9
10
|
var _ParserError = _interopRequireDefault(require("../../../errors/ParserError.cjs"));
|
|
10
11
|
var _Parser = _interopRequireDefault(require("../Parser.cjs"));
|
|
11
12
|
/**
|
|
@@ -35,7 +36,7 @@ class ApiDOMJSONParser extends _Parser.default {
|
|
|
35
36
|
}
|
|
36
37
|
canParse(file) {
|
|
37
38
|
const hasSupportedFileExtension = this.fileExtensions.length === 0 ? true : this.fileExtensions.includes(file.extension);
|
|
38
|
-
const hasSupportedMediaType = this.mediaTypes
|
|
39
|
+
const hasSupportedMediaType = (0, _mediaTypes.selectBestMatch)(this.mediaTypes, file.mediaType) !== null;
|
|
39
40
|
if (!hasSupportedFileExtension) return false;
|
|
40
41
|
if (hasSupportedMediaType) return true;
|
|
41
42
|
if (!hasSupportedMediaType) {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Namespace, ParseResultElement, isParseResultElement } from '@speclynx/apidom-datamodel';
|
|
2
|
+
import { selectBestMatch } from '@swaggerexpert/media-types';
|
|
2
3
|
import ParserError from "../../../errors/ParserError.mjs";
|
|
3
4
|
import Parser from "../Parser.mjs";
|
|
4
5
|
/**
|
|
@@ -27,7 +28,7 @@ class ApiDOMJSONParser extends Parser {
|
|
|
27
28
|
}
|
|
28
29
|
canParse(file) {
|
|
29
30
|
const hasSupportedFileExtension = this.fileExtensions.length === 0 ? true : this.fileExtensions.includes(file.extension);
|
|
30
|
-
const hasSupportedMediaType = this.mediaTypes
|
|
31
|
+
const hasSupportedMediaType = selectBestMatch(this.mediaTypes, file.mediaType) !== null;
|
|
31
32
|
if (!hasSupportedFileExtension) return false;
|
|
32
33
|
if (hasSupportedMediaType) return true;
|
|
33
34
|
if (!hasSupportedMediaType) {
|
|
@@ -13,6 +13,7 @@ Object.defineProperty(exports, "parseSourceDescriptions", {
|
|
|
13
13
|
});
|
|
14
14
|
var _ramda = require("ramda");
|
|
15
15
|
var _apidomParserAdapterArazzoJson = require("@speclynx/apidom-parser-adapter-arazzo-json-1");
|
|
16
|
+
var _mediaTypes = require("@swaggerexpert/media-types");
|
|
16
17
|
var _ParserError = _interopRequireDefault(require("../../../errors/ParserError.cjs"));
|
|
17
18
|
var _Parser = _interopRequireDefault(require("../Parser.cjs"));
|
|
18
19
|
var _sourceDescriptions = require("./source-descriptions.cjs");
|
|
@@ -40,7 +41,7 @@ class ArazzoJSON1Parser extends _Parser.default {
|
|
|
40
41
|
}
|
|
41
42
|
async canParse(file) {
|
|
42
43
|
const hasSupportedFileExtension = this.fileExtensions.length === 0 ? true : this.fileExtensions.includes(file.extension);
|
|
43
|
-
const hasSupportedMediaType = this.mediaTypes
|
|
44
|
+
const hasSupportedMediaType = (0, _mediaTypes.selectBestMatch)(this.mediaTypes, file.mediaType) !== null;
|
|
44
45
|
if (!hasSupportedFileExtension) return false;
|
|
45
46
|
if (hasSupportedMediaType) return true;
|
|
46
47
|
if (!hasSupportedMediaType) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { pick } from 'ramda';
|
|
2
2
|
import { parse, mediaTypes as ArazzoJSON1MediaTypes, detect } from '@speclynx/apidom-parser-adapter-arazzo-json-1';
|
|
3
|
+
import { selectBestMatch } from '@swaggerexpert/media-types';
|
|
3
4
|
import ParserError from "../../../errors/ParserError.mjs";
|
|
4
5
|
import Parser from "../Parser.mjs";
|
|
5
6
|
import { parseSourceDescriptions } from "./source-descriptions.mjs";
|
|
@@ -26,7 +27,7 @@ class ArazzoJSON1Parser extends Parser {
|
|
|
26
27
|
}
|
|
27
28
|
async canParse(file) {
|
|
28
29
|
const hasSupportedFileExtension = this.fileExtensions.length === 0 ? true : this.fileExtensions.includes(file.extension);
|
|
29
|
-
const hasSupportedMediaType = this.mediaTypes
|
|
30
|
+
const hasSupportedMediaType = selectBestMatch(this.mediaTypes, file.mediaType) !== null;
|
|
30
31
|
if (!hasSupportedFileExtension) return false;
|
|
31
32
|
if (hasSupportedMediaType) return true;
|
|
32
33
|
if (!hasSupportedMediaType) {
|
|
@@ -13,6 +13,7 @@ Object.defineProperty(exports, "parseSourceDescriptions", {
|
|
|
13
13
|
});
|
|
14
14
|
var _ramda = require("ramda");
|
|
15
15
|
var _apidomParserAdapterArazzoYaml = require("@speclynx/apidom-parser-adapter-arazzo-yaml-1");
|
|
16
|
+
var _mediaTypes = require("@swaggerexpert/media-types");
|
|
16
17
|
var _ParserError = _interopRequireDefault(require("../../../errors/ParserError.cjs"));
|
|
17
18
|
var _Parser = _interopRequireDefault(require("../Parser.cjs"));
|
|
18
19
|
var _sourceDescriptions = require("./source-descriptions.cjs");
|
|
@@ -40,7 +41,7 @@ class ArazzoYAML1Parser extends _Parser.default {
|
|
|
40
41
|
}
|
|
41
42
|
async canParse(file) {
|
|
42
43
|
const hasSupportedFileExtension = this.fileExtensions.length === 0 ? true : this.fileExtensions.includes(file.extension);
|
|
43
|
-
const hasSupportedMediaType = this.mediaTypes
|
|
44
|
+
const hasSupportedMediaType = (0, _mediaTypes.selectBestMatch)(this.mediaTypes, file.mediaType) !== null;
|
|
44
45
|
if (!hasSupportedFileExtension) return false;
|
|
45
46
|
if (hasSupportedMediaType) return true;
|
|
46
47
|
if (!hasSupportedMediaType) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { pick } from 'ramda';
|
|
2
2
|
import { parse, mediaTypes as ArazzoYAML1MediaTypes, detect } from '@speclynx/apidom-parser-adapter-arazzo-yaml-1';
|
|
3
|
+
import { selectBestMatch } from '@swaggerexpert/media-types';
|
|
3
4
|
import ParserError from "../../../errors/ParserError.mjs";
|
|
4
5
|
import Parser from "../Parser.mjs";
|
|
5
6
|
import { parseSourceDescriptions } from "./source-descriptions.mjs";
|
|
@@ -26,7 +27,7 @@ class ArazzoYAML1Parser extends Parser {
|
|
|
26
27
|
}
|
|
27
28
|
async canParse(file) {
|
|
28
29
|
const hasSupportedFileExtension = this.fileExtensions.length === 0 ? true : this.fileExtensions.includes(file.extension);
|
|
29
|
-
const hasSupportedMediaType = this.mediaTypes
|
|
30
|
+
const hasSupportedMediaType = selectBestMatch(this.mediaTypes, file.mediaType) !== null;
|
|
30
31
|
if (!hasSupportedFileExtension) return false;
|
|
31
32
|
if (hasSupportedMediaType) return true;
|
|
32
33
|
if (!hasSupportedMediaType) {
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _ramda = require("ramda");
|
|
9
9
|
var _apidomParserAdapterAsyncapiJson = require("@speclynx/apidom-parser-adapter-asyncapi-json-2");
|
|
10
|
+
var _mediaTypes = require("@swaggerexpert/media-types");
|
|
10
11
|
var _ParserError = _interopRequireDefault(require("../../../errors/ParserError.cjs"));
|
|
11
12
|
var _Parser = _interopRequireDefault(require("../Parser.cjs"));
|
|
12
13
|
/**
|
|
@@ -33,7 +34,7 @@ class AsyncAPIJSON2Parser extends _Parser.default {
|
|
|
33
34
|
}
|
|
34
35
|
async canParse(file) {
|
|
35
36
|
const hasSupportedFileExtension = this.fileExtensions.length === 0 ? true : this.fileExtensions.includes(file.extension);
|
|
36
|
-
const hasSupportedMediaType = this.mediaTypes
|
|
37
|
+
const hasSupportedMediaType = (0, _mediaTypes.selectBestMatch)(this.mediaTypes, file.mediaType) !== null;
|
|
37
38
|
if (!hasSupportedFileExtension) return false;
|
|
38
39
|
if (hasSupportedMediaType) return true;
|
|
39
40
|
if (!hasSupportedMediaType) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { pick } from 'ramda';
|
|
2
2
|
import { parse, mediaTypes as AsyncAPI2MediaTypes, detect } from '@speclynx/apidom-parser-adapter-asyncapi-json-2';
|
|
3
|
+
import { selectBestMatch } from '@swaggerexpert/media-types';
|
|
3
4
|
import ParserError from "../../../errors/ParserError.mjs";
|
|
4
5
|
import Parser from "../Parser.mjs";
|
|
5
6
|
/**
|
|
@@ -25,7 +26,7 @@ class AsyncAPIJSON2Parser extends Parser {
|
|
|
25
26
|
}
|
|
26
27
|
async canParse(file) {
|
|
27
28
|
const hasSupportedFileExtension = this.fileExtensions.length === 0 ? true : this.fileExtensions.includes(file.extension);
|
|
28
|
-
const hasSupportedMediaType = this.mediaTypes
|
|
29
|
+
const hasSupportedMediaType = selectBestMatch(this.mediaTypes, file.mediaType) !== null;
|
|
29
30
|
if (!hasSupportedFileExtension) return false;
|
|
30
31
|
if (hasSupportedMediaType) return true;
|
|
31
32
|
if (!hasSupportedMediaType) {
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _ramda = require("ramda");
|
|
9
9
|
var _apidomParserAdapterAsyncapiYaml = require("@speclynx/apidom-parser-adapter-asyncapi-yaml-2");
|
|
10
|
+
var _mediaTypes = require("@swaggerexpert/media-types");
|
|
10
11
|
var _ParserError = _interopRequireDefault(require("../../../errors/ParserError.cjs"));
|
|
11
12
|
var _Parser = _interopRequireDefault(require("../Parser.cjs"));
|
|
12
13
|
/**
|
|
@@ -33,7 +34,7 @@ class AsyncAPIYAML2Parser extends _Parser.default {
|
|
|
33
34
|
}
|
|
34
35
|
async canParse(file) {
|
|
35
36
|
const hasSupportedFileExtension = this.fileExtensions.length === 0 ? true : this.fileExtensions.includes(file.extension);
|
|
36
|
-
const hasSupportedMediaType = this.mediaTypes
|
|
37
|
+
const hasSupportedMediaType = (0, _mediaTypes.selectBestMatch)(this.mediaTypes, file.mediaType) !== null;
|
|
37
38
|
if (!hasSupportedFileExtension) return false;
|
|
38
39
|
if (hasSupportedMediaType) return true;
|
|
39
40
|
if (!hasSupportedMediaType) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { pick } from 'ramda';
|
|
2
2
|
import { parse, mediaTypes as AsyncAPI2MediaTypes, detect } from '@speclynx/apidom-parser-adapter-asyncapi-yaml-2';
|
|
3
|
+
import { selectBestMatch } from '@swaggerexpert/media-types';
|
|
3
4
|
import ParserError from "../../../errors/ParserError.mjs";
|
|
4
5
|
import Parser from "../Parser.mjs";
|
|
5
6
|
/**
|
|
@@ -25,7 +26,7 @@ class AsyncAPIYAML2Parser extends Parser {
|
|
|
25
26
|
}
|
|
26
27
|
async canParse(file) {
|
|
27
28
|
const hasSupportedFileExtension = this.fileExtensions.length === 0 ? true : this.fileExtensions.includes(file.extension);
|
|
28
|
-
const hasSupportedMediaType = this.mediaTypes
|
|
29
|
+
const hasSupportedMediaType = selectBestMatch(this.mediaTypes, file.mediaType) !== null;
|
|
29
30
|
if (!hasSupportedFileExtension) return false;
|
|
30
31
|
if (hasSupportedMediaType) return true;
|
|
31
32
|
if (!hasSupportedMediaType) {
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _ramda = require("ramda");
|
|
9
9
|
var _apidomParserAdapterJson = require("@speclynx/apidom-parser-adapter-json");
|
|
10
|
+
var _mediaTypes = require("@swaggerexpert/media-types");
|
|
10
11
|
var _ParserError = _interopRequireDefault(require("../../../errors/ParserError.cjs"));
|
|
11
12
|
var _Parser = _interopRequireDefault(require("../Parser.cjs"));
|
|
12
13
|
/**
|
|
@@ -32,7 +33,7 @@ class JSONParser extends _Parser.default {
|
|
|
32
33
|
}
|
|
33
34
|
async canParse(file) {
|
|
34
35
|
const hasSupportedFileExtension = this.fileExtensions.length === 0 ? true : this.fileExtensions.includes(file.extension);
|
|
35
|
-
const hasSupportedMediaType = this.mediaTypes
|
|
36
|
+
const hasSupportedMediaType = (0, _mediaTypes.selectBestMatch)(this.mediaTypes, file.mediaType) !== null;
|
|
36
37
|
if (!hasSupportedFileExtension) return false;
|
|
37
38
|
if (hasSupportedMediaType) return true;
|
|
38
39
|
if (!hasSupportedMediaType) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { pick } from 'ramda';
|
|
2
2
|
import { parse, mediaTypes as JSONMediaTypes, detect } from '@speclynx/apidom-parser-adapter-json';
|
|
3
|
+
import { selectBestMatch } from '@swaggerexpert/media-types';
|
|
3
4
|
import ParserError from "../../../errors/ParserError.mjs";
|
|
4
5
|
import Parser from "../Parser.mjs";
|
|
5
6
|
/**
|
|
@@ -24,7 +25,7 @@ class JSONParser extends Parser {
|
|
|
24
25
|
}
|
|
25
26
|
async canParse(file) {
|
|
26
27
|
const hasSupportedFileExtension = this.fileExtensions.length === 0 ? true : this.fileExtensions.includes(file.extension);
|
|
27
|
-
const hasSupportedMediaType = this.mediaTypes
|
|
28
|
+
const hasSupportedMediaType = selectBestMatch(this.mediaTypes, file.mediaType) !== null;
|
|
28
29
|
if (!hasSupportedFileExtension) return false;
|
|
29
30
|
if (hasSupportedMediaType) return true;
|
|
30
31
|
if (!hasSupportedMediaType) {
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _ramda = require("ramda");
|
|
9
9
|
var _apidomParserAdapterOpenapiJson = require("@speclynx/apidom-parser-adapter-openapi-json-2");
|
|
10
|
+
var _mediaTypes = require("@swaggerexpert/media-types");
|
|
10
11
|
var _ParserError = _interopRequireDefault(require("../../../errors/ParserError.cjs"));
|
|
11
12
|
var _Parser = _interopRequireDefault(require("../Parser.cjs"));
|
|
12
13
|
/**
|
|
@@ -33,7 +34,7 @@ class OpenAPIJSON2Parser extends _Parser.default {
|
|
|
33
34
|
}
|
|
34
35
|
async canParse(file) {
|
|
35
36
|
const hasSupportedFileExtension = this.fileExtensions.length === 0 ? true : this.fileExtensions.includes(file.extension);
|
|
36
|
-
const hasSupportedMediaType = this.mediaTypes
|
|
37
|
+
const hasSupportedMediaType = (0, _mediaTypes.selectBestMatch)(this.mediaTypes, file.mediaType) !== null;
|
|
37
38
|
if (!hasSupportedFileExtension) return false;
|
|
38
39
|
if (hasSupportedMediaType) return true;
|
|
39
40
|
if (!hasSupportedMediaType) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { pick } from 'ramda';
|
|
2
2
|
import { parse, mediaTypes as OpenAPI2MediaTypes, detect } from '@speclynx/apidom-parser-adapter-openapi-json-2';
|
|
3
|
+
import { selectBestMatch } from '@swaggerexpert/media-types';
|
|
3
4
|
import ParserError from "../../../errors/ParserError.mjs";
|
|
4
5
|
import Parser from "../Parser.mjs";
|
|
5
6
|
/**
|
|
@@ -25,7 +26,7 @@ class OpenAPIJSON2Parser extends Parser {
|
|
|
25
26
|
}
|
|
26
27
|
async canParse(file) {
|
|
27
28
|
const hasSupportedFileExtension = this.fileExtensions.length === 0 ? true : this.fileExtensions.includes(file.extension);
|
|
28
|
-
const hasSupportedMediaType = this.mediaTypes
|
|
29
|
+
const hasSupportedMediaType = selectBestMatch(this.mediaTypes, file.mediaType) !== null;
|
|
29
30
|
if (!hasSupportedFileExtension) return false;
|
|
30
31
|
if (hasSupportedMediaType) return true;
|
|
31
32
|
if (!hasSupportedMediaType) {
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _ramda = require("ramda");
|
|
9
9
|
var _apidomParserAdapterOpenapiJson = require("@speclynx/apidom-parser-adapter-openapi-json-3-0");
|
|
10
|
+
var _mediaTypes = require("@swaggerexpert/media-types");
|
|
10
11
|
var _ParserError = _interopRequireDefault(require("../../../errors/ParserError.cjs"));
|
|
11
12
|
var _Parser = _interopRequireDefault(require("../Parser.cjs"));
|
|
12
13
|
/**
|
|
@@ -33,7 +34,7 @@ class OpenAPIJSON3_0Parser extends _Parser.default {
|
|
|
33
34
|
}
|
|
34
35
|
async canParse(file) {
|
|
35
36
|
const hasSupportedFileExtension = this.fileExtensions.length === 0 ? true : this.fileExtensions.includes(file.extension);
|
|
36
|
-
const hasSupportedMediaType = this.mediaTypes
|
|
37
|
+
const hasSupportedMediaType = (0, _mediaTypes.selectBestMatch)(this.mediaTypes, file.mediaType) !== null;
|
|
37
38
|
if (!hasSupportedFileExtension) return false;
|
|
38
39
|
if (hasSupportedMediaType) return true;
|
|
39
40
|
if (!hasSupportedMediaType) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { pick } from 'ramda';
|
|
2
2
|
import { parse, mediaTypes as OpenAPI3_0MediaTypes, detect } from '@speclynx/apidom-parser-adapter-openapi-json-3-0';
|
|
3
|
+
import { selectBestMatch } from '@swaggerexpert/media-types';
|
|
3
4
|
import ParserError from "../../../errors/ParserError.mjs";
|
|
4
5
|
import Parser from "../Parser.mjs";
|
|
5
6
|
/**
|
|
@@ -25,7 +26,7 @@ class OpenAPIJSON3_0Parser extends Parser {
|
|
|
25
26
|
}
|
|
26
27
|
async canParse(file) {
|
|
27
28
|
const hasSupportedFileExtension = this.fileExtensions.length === 0 ? true : this.fileExtensions.includes(file.extension);
|
|
28
|
-
const hasSupportedMediaType = this.mediaTypes
|
|
29
|
+
const hasSupportedMediaType = selectBestMatch(this.mediaTypes, file.mediaType) !== null;
|
|
29
30
|
if (!hasSupportedFileExtension) return false;
|
|
30
31
|
if (hasSupportedMediaType) return true;
|
|
31
32
|
if (!hasSupportedMediaType) {
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _ramda = require("ramda");
|
|
9
9
|
var _apidomParserAdapterOpenapiJson = require("@speclynx/apidom-parser-adapter-openapi-json-3-1");
|
|
10
|
+
var _mediaTypes = require("@swaggerexpert/media-types");
|
|
10
11
|
var _ParserError = _interopRequireDefault(require("../../../errors/ParserError.cjs"));
|
|
11
12
|
var _Parser = _interopRequireDefault(require("../Parser.cjs"));
|
|
12
13
|
/**
|
|
@@ -33,7 +34,7 @@ class OpenAPIJSON3_1Parser extends _Parser.default {
|
|
|
33
34
|
}
|
|
34
35
|
async canParse(file) {
|
|
35
36
|
const hasSupportedFileExtension = this.fileExtensions.length === 0 ? true : this.fileExtensions.includes(file.extension);
|
|
36
|
-
const hasSupportedMediaType = this.mediaTypes
|
|
37
|
+
const hasSupportedMediaType = (0, _mediaTypes.selectBestMatch)(this.mediaTypes, file.mediaType) !== null;
|
|
37
38
|
if (!hasSupportedFileExtension) return false;
|
|
38
39
|
if (hasSupportedMediaType) return true;
|
|
39
40
|
if (!hasSupportedMediaType) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { pick } from 'ramda';
|
|
2
2
|
import { parse, mediaTypes as OpenAPI3_1MediaTypes, detect } from '@speclynx/apidom-parser-adapter-openapi-json-3-1';
|
|
3
|
+
import { selectBestMatch } from '@swaggerexpert/media-types';
|
|
3
4
|
import ParserError from "../../../errors/ParserError.mjs";
|
|
4
5
|
import Parser from "../Parser.mjs";
|
|
5
6
|
/**
|
|
@@ -25,7 +26,7 @@ class OpenAPIJSON3_1Parser extends Parser {
|
|
|
25
26
|
}
|
|
26
27
|
async canParse(file) {
|
|
27
28
|
const hasSupportedFileExtension = this.fileExtensions.length === 0 ? true : this.fileExtensions.includes(file.extension);
|
|
28
|
-
const hasSupportedMediaType = this.mediaTypes
|
|
29
|
+
const hasSupportedMediaType = selectBestMatch(this.mediaTypes, file.mediaType) !== null;
|
|
29
30
|
if (!hasSupportedFileExtension) return false;
|
|
30
31
|
if (hasSupportedMediaType) return true;
|
|
31
32
|
if (!hasSupportedMediaType) {
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _ramda = require("ramda");
|
|
9
9
|
var _apidomParserAdapterOpenapiYaml = require("@speclynx/apidom-parser-adapter-openapi-yaml-2");
|
|
10
|
+
var _mediaTypes = require("@swaggerexpert/media-types");
|
|
10
11
|
var _ParserError = _interopRequireDefault(require("../../../errors/ParserError.cjs"));
|
|
11
12
|
var _Parser = _interopRequireDefault(require("../Parser.cjs"));
|
|
12
13
|
/**
|
|
@@ -33,7 +34,7 @@ class OpenAPIYAML2Parser extends _Parser.default {
|
|
|
33
34
|
}
|
|
34
35
|
async canParse(file) {
|
|
35
36
|
const hasSupportedFileExtension = this.fileExtensions.length === 0 ? true : this.fileExtensions.includes(file.extension);
|
|
36
|
-
const hasSupportedMediaType = this.mediaTypes
|
|
37
|
+
const hasSupportedMediaType = (0, _mediaTypes.selectBestMatch)(this.mediaTypes, file.mediaType) !== null;
|
|
37
38
|
if (!hasSupportedFileExtension) return false;
|
|
38
39
|
if (hasSupportedMediaType) return true;
|
|
39
40
|
if (!hasSupportedMediaType) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { pick } from 'ramda';
|
|
2
2
|
import { parse, mediaTypes as OpenAPIYAML2MediaTypes, detect } from '@speclynx/apidom-parser-adapter-openapi-yaml-2';
|
|
3
|
+
import { selectBestMatch } from '@swaggerexpert/media-types';
|
|
3
4
|
import ParserError from "../../../errors/ParserError.mjs";
|
|
4
5
|
import Parser from "../Parser.mjs";
|
|
5
6
|
/**
|
|
@@ -25,7 +26,7 @@ class OpenAPIYAML2Parser extends Parser {
|
|
|
25
26
|
}
|
|
26
27
|
async canParse(file) {
|
|
27
28
|
const hasSupportedFileExtension = this.fileExtensions.length === 0 ? true : this.fileExtensions.includes(file.extension);
|
|
28
|
-
const hasSupportedMediaType = this.mediaTypes
|
|
29
|
+
const hasSupportedMediaType = selectBestMatch(this.mediaTypes, file.mediaType) !== null;
|
|
29
30
|
if (!hasSupportedFileExtension) return false;
|
|
30
31
|
if (hasSupportedMediaType) return true;
|
|
31
32
|
if (!hasSupportedMediaType) {
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _ramda = require("ramda");
|
|
9
9
|
var _apidomParserAdapterOpenapiYaml = require("@speclynx/apidom-parser-adapter-openapi-yaml-3-0");
|
|
10
|
+
var _mediaTypes = require("@swaggerexpert/media-types");
|
|
10
11
|
var _ParserError = _interopRequireDefault(require("../../../errors/ParserError.cjs"));
|
|
11
12
|
var _Parser = _interopRequireDefault(require("../Parser.cjs"));
|
|
12
13
|
/**
|
|
@@ -33,7 +34,7 @@ class OpenAPIYAML3_0Parser extends _Parser.default {
|
|
|
33
34
|
}
|
|
34
35
|
async canParse(file) {
|
|
35
36
|
const hasSupportedFileExtension = this.fileExtensions.length === 0 ? true : this.fileExtensions.includes(file.extension);
|
|
36
|
-
const hasSupportedMediaType = this.mediaTypes
|
|
37
|
+
const hasSupportedMediaType = (0, _mediaTypes.selectBestMatch)(this.mediaTypes, file.mediaType) !== null;
|
|
37
38
|
if (!hasSupportedFileExtension) return false;
|
|
38
39
|
if (hasSupportedMediaType) return true;
|
|
39
40
|
if (!hasSupportedMediaType) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { pick } from 'ramda';
|
|
2
2
|
import { parse, mediaTypes as OpenAPIYAML3_0MediaTypes, detect } from '@speclynx/apidom-parser-adapter-openapi-yaml-3-0';
|
|
3
|
+
import { selectBestMatch } from '@swaggerexpert/media-types';
|
|
3
4
|
import ParserError from "../../../errors/ParserError.mjs";
|
|
4
5
|
import Parser from "../Parser.mjs";
|
|
5
6
|
/**
|
|
@@ -25,7 +26,7 @@ class OpenAPIYAML3_0Parser extends Parser {
|
|
|
25
26
|
}
|
|
26
27
|
async canParse(file) {
|
|
27
28
|
const hasSupportedFileExtension = this.fileExtensions.length === 0 ? true : this.fileExtensions.includes(file.extension);
|
|
28
|
-
const hasSupportedMediaType = this.mediaTypes
|
|
29
|
+
const hasSupportedMediaType = selectBestMatch(this.mediaTypes, file.mediaType) !== null;
|
|
29
30
|
if (!hasSupportedFileExtension) return false;
|
|
30
31
|
if (hasSupportedMediaType) return true;
|
|
31
32
|
if (!hasSupportedMediaType) {
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _ramda = require("ramda");
|
|
9
9
|
var _apidomParserAdapterOpenapiYaml = require("@speclynx/apidom-parser-adapter-openapi-yaml-3-1");
|
|
10
|
+
var _mediaTypes = require("@swaggerexpert/media-types");
|
|
10
11
|
var _ParserError = _interopRequireDefault(require("../../../errors/ParserError.cjs"));
|
|
11
12
|
var _Parser = _interopRequireDefault(require("../Parser.cjs"));
|
|
12
13
|
/**
|
|
@@ -33,7 +34,7 @@ class OpenAPIYAML3_1Parser extends _Parser.default {
|
|
|
33
34
|
}
|
|
34
35
|
async canParse(file) {
|
|
35
36
|
const hasSupportedFileExtension = this.fileExtensions.length === 0 ? true : this.fileExtensions.includes(file.extension);
|
|
36
|
-
const hasSupportedMediaType = this.mediaTypes
|
|
37
|
+
const hasSupportedMediaType = (0, _mediaTypes.selectBestMatch)(this.mediaTypes, file.mediaType) !== null;
|
|
37
38
|
if (!hasSupportedFileExtension) return false;
|
|
38
39
|
if (hasSupportedMediaType) return true;
|
|
39
40
|
if (!hasSupportedMediaType) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { pick } from 'ramda';
|
|
2
2
|
import { parse, mediaTypes as OpenAPIYAML3_1MediaTypes, detect } from '@speclynx/apidom-parser-adapter-openapi-yaml-3-1';
|
|
3
|
+
import { selectBestMatch } from '@swaggerexpert/media-types';
|
|
3
4
|
import ParserError from "../../../errors/ParserError.mjs";
|
|
4
5
|
import Parser from "../Parser.mjs";
|
|
5
6
|
/**
|
|
@@ -25,7 +26,7 @@ class OpenAPIYAML3_1Parser extends Parser {
|
|
|
25
26
|
}
|
|
26
27
|
async canParse(file) {
|
|
27
28
|
const hasSupportedFileExtension = this.fileExtensions.length === 0 ? true : this.fileExtensions.includes(file.extension);
|
|
28
|
-
const hasSupportedMediaType = this.mediaTypes
|
|
29
|
+
const hasSupportedMediaType = selectBestMatch(this.mediaTypes, file.mediaType) !== null;
|
|
29
30
|
if (!hasSupportedFileExtension) return false;
|
|
30
31
|
if (hasSupportedMediaType) return true;
|
|
31
32
|
if (!hasSupportedMediaType) {
|
|
@@ -13,6 +13,7 @@ Object.defineProperty(exports, "parseExtends", {
|
|
|
13
13
|
});
|
|
14
14
|
var _ramda = require("ramda");
|
|
15
15
|
var _apidomParserAdapterOverlayJson = require("@speclynx/apidom-parser-adapter-overlay-json-1");
|
|
16
|
+
var _mediaTypes = require("@swaggerexpert/media-types");
|
|
16
17
|
var _ParserError = _interopRequireDefault(require("../../../errors/ParserError.cjs"));
|
|
17
18
|
var _Parser = _interopRequireDefault(require("../Parser.cjs"));
|
|
18
19
|
var _extends = require("./extends.cjs");
|
|
@@ -43,7 +44,7 @@ class OverlayJSON1Parser extends _Parser.default {
|
|
|
43
44
|
}
|
|
44
45
|
async canParse(file) {
|
|
45
46
|
const hasSupportedFileExtension = this.fileExtensions.length === 0 ? true : this.fileExtensions.includes(file.extension);
|
|
46
|
-
const hasSupportedMediaType = this.mediaTypes
|
|
47
|
+
const hasSupportedMediaType = (0, _mediaTypes.selectBestMatch)(this.mediaTypes, file.mediaType) !== null;
|
|
47
48
|
if (!hasSupportedFileExtension) return false;
|
|
48
49
|
if (hasSupportedMediaType) return true;
|
|
49
50
|
if (!hasSupportedMediaType) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { pick } from 'ramda';
|
|
2
2
|
import { parse, mediaTypes as OverlayJSON1MediaTypes, detect } from '@speclynx/apidom-parser-adapter-overlay-json-1';
|
|
3
|
+
import { selectBestMatch } from '@swaggerexpert/media-types';
|
|
3
4
|
import ParserError from "../../../errors/ParserError.mjs";
|
|
4
5
|
import Parser from "../Parser.mjs";
|
|
5
6
|
import { parseExtends } from "./extends.mjs";
|
|
@@ -29,7 +30,7 @@ class OverlayJSON1Parser extends Parser {
|
|
|
29
30
|
}
|
|
30
31
|
async canParse(file) {
|
|
31
32
|
const hasSupportedFileExtension = this.fileExtensions.length === 0 ? true : this.fileExtensions.includes(file.extension);
|
|
32
|
-
const hasSupportedMediaType = this.mediaTypes
|
|
33
|
+
const hasSupportedMediaType = selectBestMatch(this.mediaTypes, file.mediaType) !== null;
|
|
33
34
|
if (!hasSupportedFileExtension) return false;
|
|
34
35
|
if (hasSupportedMediaType) return true;
|
|
35
36
|
if (!hasSupportedMediaType) {
|
|
@@ -13,6 +13,7 @@ Object.defineProperty(exports, "parseExtends", {
|
|
|
13
13
|
});
|
|
14
14
|
var _ramda = require("ramda");
|
|
15
15
|
var _apidomParserAdapterOverlayYaml = require("@speclynx/apidom-parser-adapter-overlay-yaml-1");
|
|
16
|
+
var _mediaTypes = require("@swaggerexpert/media-types");
|
|
16
17
|
var _ParserError = _interopRequireDefault(require("../../../errors/ParserError.cjs"));
|
|
17
18
|
var _Parser = _interopRequireDefault(require("../Parser.cjs"));
|
|
18
19
|
var _extends = require("./extends.cjs");
|
|
@@ -43,7 +44,7 @@ class OverlayYAML1Parser extends _Parser.default {
|
|
|
43
44
|
}
|
|
44
45
|
async canParse(file) {
|
|
45
46
|
const hasSupportedFileExtension = this.fileExtensions.length === 0 ? true : this.fileExtensions.includes(file.extension);
|
|
46
|
-
const hasSupportedMediaType = this.mediaTypes
|
|
47
|
+
const hasSupportedMediaType = (0, _mediaTypes.selectBestMatch)(this.mediaTypes, file.mediaType) !== null;
|
|
47
48
|
if (!hasSupportedFileExtension) return false;
|
|
48
49
|
if (hasSupportedMediaType) return true;
|
|
49
50
|
if (!hasSupportedMediaType) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { pick } from 'ramda';
|
|
2
2
|
import { parse, mediaTypes as OverlayYAML1MediaTypes, detect } from '@speclynx/apidom-parser-adapter-overlay-yaml-1';
|
|
3
|
+
import { selectBestMatch } from '@swaggerexpert/media-types';
|
|
3
4
|
import ParserError from "../../../errors/ParserError.mjs";
|
|
4
5
|
import Parser from "../Parser.mjs";
|
|
5
6
|
import { parseExtends } from "./extends.mjs";
|
|
@@ -29,7 +30,7 @@ class OverlayYAML1Parser extends Parser {
|
|
|
29
30
|
}
|
|
30
31
|
async canParse(file) {
|
|
31
32
|
const hasSupportedFileExtension = this.fileExtensions.length === 0 ? true : this.fileExtensions.includes(file.extension);
|
|
32
|
-
const hasSupportedMediaType = this.mediaTypes
|
|
33
|
+
const hasSupportedMediaType = selectBestMatch(this.mediaTypes, file.mediaType) !== null;
|
|
33
34
|
if (!hasSupportedFileExtension) return false;
|
|
34
35
|
if (hasSupportedMediaType) return true;
|
|
35
36
|
if (!hasSupportedMediaType) {
|