@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
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@speclynx/apidom-reference",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "7.0.0",
|
|
4
4
|
"description": "Advanced algorithms for semantic ApiDOM manipulations like dereferencing or resolution.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"apidom",
|
|
@@ -300,33 +300,34 @@
|
|
|
300
300
|
"license": "Apache-2.0",
|
|
301
301
|
"dependencies": {
|
|
302
302
|
"@babel/runtime-corejs3": "^8.1.0",
|
|
303
|
-
"@speclynx/apidom-core": "
|
|
304
|
-
"@speclynx/apidom-datamodel": "
|
|
305
|
-
"@speclynx/apidom-error": "
|
|
306
|
-
"@speclynx/apidom-json-pointer": "
|
|
307
|
-
"@speclynx/apidom-ns-arazzo-1": "
|
|
308
|
-
"@speclynx/apidom-ns-asyncapi-2": "
|
|
309
|
-
"@speclynx/apidom-ns-json-schema-2020-12": "
|
|
310
|
-
"@speclynx/apidom-ns-openapi-2": "
|
|
311
|
-
"@speclynx/apidom-ns-openapi-3-0": "
|
|
312
|
-
"@speclynx/apidom-ns-openapi-3-1": "
|
|
313
|
-
"@speclynx/apidom-ns-overlay-1": "
|
|
314
|
-
"@speclynx/apidom-parser-adapter-arazzo-json-1": "
|
|
315
|
-
"@speclynx/apidom-parser-adapter-arazzo-yaml-1": "
|
|
316
|
-
"@speclynx/apidom-parser-adapter-asyncapi-json-2": "
|
|
317
|
-
"@speclynx/apidom-parser-adapter-asyncapi-yaml-2": "
|
|
318
|
-
"@speclynx/apidom-parser-adapter-json": "
|
|
319
|
-
"@speclynx/apidom-parser-adapter-openapi-json-2": "
|
|
320
|
-
"@speclynx/apidom-parser-adapter-openapi-json-3-0": "
|
|
321
|
-
"@speclynx/apidom-parser-adapter-openapi-json-3-1": "
|
|
322
|
-
"@speclynx/apidom-parser-adapter-openapi-yaml-2": "
|
|
323
|
-
"@speclynx/apidom-parser-adapter-openapi-yaml-3-0": "
|
|
324
|
-
"@speclynx/apidom-parser-adapter-openapi-yaml-3-1": "
|
|
325
|
-
"@speclynx/apidom-parser-adapter-overlay-json-1": "
|
|
326
|
-
"@speclynx/apidom-parser-adapter-overlay-yaml-1": "
|
|
327
|
-
"@speclynx/apidom-parser-adapter-yaml-1-2": "
|
|
328
|
-
"@speclynx/apidom-traverse": "
|
|
303
|
+
"@speclynx/apidom-core": "7.0.0",
|
|
304
|
+
"@speclynx/apidom-datamodel": "7.0.0",
|
|
305
|
+
"@speclynx/apidom-error": "7.0.0",
|
|
306
|
+
"@speclynx/apidom-json-pointer": "7.0.0",
|
|
307
|
+
"@speclynx/apidom-ns-arazzo-1": "7.0.0",
|
|
308
|
+
"@speclynx/apidom-ns-asyncapi-2": "7.0.0",
|
|
309
|
+
"@speclynx/apidom-ns-json-schema-2020-12": "7.0.0",
|
|
310
|
+
"@speclynx/apidom-ns-openapi-2": "7.0.0",
|
|
311
|
+
"@speclynx/apidom-ns-openapi-3-0": "7.0.0",
|
|
312
|
+
"@speclynx/apidom-ns-openapi-3-1": "7.0.0",
|
|
313
|
+
"@speclynx/apidom-ns-overlay-1": "7.0.0",
|
|
314
|
+
"@speclynx/apidom-parser-adapter-arazzo-json-1": "7.0.0",
|
|
315
|
+
"@speclynx/apidom-parser-adapter-arazzo-yaml-1": "7.0.0",
|
|
316
|
+
"@speclynx/apidom-parser-adapter-asyncapi-json-2": "7.0.0",
|
|
317
|
+
"@speclynx/apidom-parser-adapter-asyncapi-yaml-2": "7.0.0",
|
|
318
|
+
"@speclynx/apidom-parser-adapter-json": "7.0.0",
|
|
319
|
+
"@speclynx/apidom-parser-adapter-openapi-json-2": "7.0.0",
|
|
320
|
+
"@speclynx/apidom-parser-adapter-openapi-json-3-0": "7.0.0",
|
|
321
|
+
"@speclynx/apidom-parser-adapter-openapi-json-3-1": "7.0.0",
|
|
322
|
+
"@speclynx/apidom-parser-adapter-openapi-yaml-2": "7.0.0",
|
|
323
|
+
"@speclynx/apidom-parser-adapter-openapi-yaml-3-0": "7.0.0",
|
|
324
|
+
"@speclynx/apidom-parser-adapter-openapi-yaml-3-1": "7.0.0",
|
|
325
|
+
"@speclynx/apidom-parser-adapter-overlay-json-1": "7.0.0",
|
|
326
|
+
"@speclynx/apidom-parser-adapter-overlay-yaml-1": "7.0.0",
|
|
327
|
+
"@speclynx/apidom-parser-adapter-yaml-1-2": "7.0.0",
|
|
328
|
+
"@speclynx/apidom-traverse": "7.0.0",
|
|
329
329
|
"@swaggerexpert/arazzo-runtime-expression": "^3.2.0",
|
|
330
|
+
"@swaggerexpert/media-types": "^1.0.3",
|
|
330
331
|
"axios": "^1.21.0",
|
|
331
332
|
"picomatch": "^4.0.7",
|
|
332
333
|
"ramda": "~0.32.0",
|
|
@@ -346,5 +347,5 @@
|
|
|
346
347
|
"README.md",
|
|
347
348
|
"CHANGELOG.md"
|
|
348
349
|
],
|
|
349
|
-
"gitHead": "
|
|
350
|
+
"gitHead": "40c7c9837e4fb303453cec3d633bc06ee6be1e8b"
|
|
350
351
|
}
|
package/src/File.cjs
CHANGED
|
@@ -23,12 +23,15 @@ class File {
|
|
|
23
23
|
parseResult;
|
|
24
24
|
constructor({
|
|
25
25
|
uri,
|
|
26
|
-
mediaType
|
|
26
|
+
mediaType,
|
|
27
27
|
data,
|
|
28
28
|
parseResult
|
|
29
29
|
}) {
|
|
30
30
|
this.uri = uri;
|
|
31
|
-
|
|
31
|
+
// media types are compared as Content-Type field values, which exclude surrounding whitespace;
|
|
32
|
+
// a missing or blank media type means none was given
|
|
33
|
+
const trimmedMediaType = (0, _ramdaAdjunct.isString)(mediaType) ? mediaType.trim() : '';
|
|
34
|
+
this.mediaType = trimmedMediaType === '' ? 'text/plain' : trimmedMediaType;
|
|
32
35
|
this.data = data;
|
|
33
36
|
this.parseResult = parseResult;
|
|
34
37
|
}
|
package/src/File.mjs
CHANGED
|
@@ -15,12 +15,15 @@ class File {
|
|
|
15
15
|
parseResult;
|
|
16
16
|
constructor({
|
|
17
17
|
uri,
|
|
18
|
-
mediaType
|
|
18
|
+
mediaType,
|
|
19
19
|
data,
|
|
20
20
|
parseResult
|
|
21
21
|
}) {
|
|
22
22
|
this.uri = uri;
|
|
23
|
-
|
|
23
|
+
// media types are compared as Content-Type field values, which exclude surrounding whitespace;
|
|
24
|
+
// a missing or blank media type means none was given
|
|
25
|
+
const trimmedMediaType = isString(mediaType) ? mediaType.trim() : '';
|
|
26
|
+
this.mediaType = trimmedMediaType === '' ? 'text/plain' : trimmedMediaType;
|
|
24
27
|
this.data = data;
|
|
25
28
|
this.parseResult = parseResult;
|
|
26
29
|
}
|
|
@@ -14,6 +14,7 @@ exports.default = void 0;
|
|
|
14
14
|
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
15
15
|
var _apidomTraverse = require("@speclynx/apidom-traverse");
|
|
16
16
|
var _apidomNsArazzo = require("@speclynx/apidom-ns-arazzo-1");
|
|
17
|
+
var _mediaTypes = require("@swaggerexpert/media-types");
|
|
17
18
|
var _Reference = _interopRequireDefault(require("../../../Reference.cjs"));
|
|
18
19
|
var _ReferenceSet = _interopRequireDefault(require("../../../ReferenceSet.cjs"));
|
|
19
20
|
var _BundleStrategy = _interopRequireDefault(require("../BundleStrategy.cjs"));
|
|
@@ -34,8 +35,8 @@ class Arazzo1BundleStrategy extends _BundleStrategy.default {
|
|
|
34
35
|
}
|
|
35
36
|
canBundle(file) {
|
|
36
37
|
// assert by media type
|
|
37
|
-
if (
|
|
38
|
-
return _apidomNsArazzo.mediaTypes
|
|
38
|
+
if (!(0, _mediaTypes.matches)('text/plain', file.mediaType)) {
|
|
39
|
+
return (0, _mediaTypes.selectBestMatch)(_apidomNsArazzo.mediaTypes, file.mediaType) !== null;
|
|
39
40
|
}
|
|
40
41
|
|
|
41
42
|
// assert by inspecting ApiDOM
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { cloneDeep } from '@speclynx/apidom-datamodel';
|
|
2
2
|
import { traverseAsync } from '@speclynx/apidom-traverse';
|
|
3
3
|
import { mediaTypes, isArazzoSpecification1Element } from '@speclynx/apidom-ns-arazzo-1';
|
|
4
|
+
import { matches, selectBestMatch } from '@swaggerexpert/media-types';
|
|
4
5
|
import Reference from "../../../Reference.mjs";
|
|
5
6
|
import ReferenceSet from "../../../ReferenceSet.mjs";
|
|
6
7
|
import BundleStrategy from "../BundleStrategy.mjs";
|
|
@@ -20,8 +21,8 @@ class Arazzo1BundleStrategy extends BundleStrategy {
|
|
|
20
21
|
}
|
|
21
22
|
canBundle(file) {
|
|
22
23
|
// assert by media type
|
|
23
|
-
if (
|
|
24
|
-
return mediaTypes
|
|
24
|
+
if (!matches('text/plain', file.mediaType)) {
|
|
25
|
+
return selectBestMatch(mediaTypes, file.mediaType) !== null;
|
|
25
26
|
}
|
|
26
27
|
|
|
27
28
|
// assert by inspecting ApiDOM
|
|
@@ -14,6 +14,7 @@ exports.default = void 0;
|
|
|
14
14
|
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
15
15
|
var _apidomTraverse = require("@speclynx/apidom-traverse");
|
|
16
16
|
var _apidomNsAsyncapi = require("@speclynx/apidom-ns-asyncapi-2");
|
|
17
|
+
var _mediaTypes = require("@swaggerexpert/media-types");
|
|
17
18
|
var _Reference = _interopRequireDefault(require("../../../Reference.cjs"));
|
|
18
19
|
var _ReferenceSet = _interopRequireDefault(require("../../../ReferenceSet.cjs"));
|
|
19
20
|
var _BundleStrategy = _interopRequireDefault(require("../BundleStrategy.cjs"));
|
|
@@ -34,8 +35,8 @@ class AsyncAPI2BundleStrategy extends _BundleStrategy.default {
|
|
|
34
35
|
}
|
|
35
36
|
canBundle(file) {
|
|
36
37
|
// assert by media type
|
|
37
|
-
if (
|
|
38
|
-
return _apidomNsAsyncapi.mediaTypes
|
|
38
|
+
if (!(0, _mediaTypes.matches)('text/plain', file.mediaType)) {
|
|
39
|
+
return (0, _mediaTypes.selectBestMatch)(_apidomNsAsyncapi.mediaTypes, file.mediaType) !== null;
|
|
39
40
|
}
|
|
40
41
|
|
|
41
42
|
// assert by inspecting ApiDOM
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { cloneDeep } from '@speclynx/apidom-datamodel';
|
|
2
2
|
import { traverseAsync } from '@speclynx/apidom-traverse';
|
|
3
3
|
import { mediaTypes, isAsyncApi2Element } from '@speclynx/apidom-ns-asyncapi-2';
|
|
4
|
+
import { matches, selectBestMatch } from '@swaggerexpert/media-types';
|
|
4
5
|
import Reference from "../../../Reference.mjs";
|
|
5
6
|
import ReferenceSet from "../../../ReferenceSet.mjs";
|
|
6
7
|
import BundleStrategy from "../BundleStrategy.mjs";
|
|
@@ -20,8 +21,8 @@ class AsyncAPI2BundleStrategy extends BundleStrategy {
|
|
|
20
21
|
}
|
|
21
22
|
canBundle(file) {
|
|
22
23
|
// assert by media type
|
|
23
|
-
if (
|
|
24
|
-
return mediaTypes
|
|
24
|
+
if (!matches('text/plain', file.mediaType)) {
|
|
25
|
+
return selectBestMatch(mediaTypes, file.mediaType) !== null;
|
|
25
26
|
}
|
|
26
27
|
|
|
27
28
|
// assert by inspecting ApiDOM
|
|
@@ -14,6 +14,7 @@ exports.default = void 0;
|
|
|
14
14
|
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
15
15
|
var _apidomTraverse = require("@speclynx/apidom-traverse");
|
|
16
16
|
var _apidomNsOpenapi = require("@speclynx/apidom-ns-openapi-2");
|
|
17
|
+
var _mediaTypes = require("@swaggerexpert/media-types");
|
|
17
18
|
var _Reference = _interopRequireDefault(require("../../../Reference.cjs"));
|
|
18
19
|
var _ReferenceSet = _interopRequireDefault(require("../../../ReferenceSet.cjs"));
|
|
19
20
|
var _BundleStrategy = _interopRequireDefault(require("../BundleStrategy.cjs"));
|
|
@@ -34,8 +35,8 @@ class OpenAPI2BundleStrategy extends _BundleStrategy.default {
|
|
|
34
35
|
}
|
|
35
36
|
canBundle(file) {
|
|
36
37
|
// assert by media type
|
|
37
|
-
if (
|
|
38
|
-
return _apidomNsOpenapi.mediaTypes
|
|
38
|
+
if (!(0, _mediaTypes.matches)('text/plain', file.mediaType)) {
|
|
39
|
+
return (0, _mediaTypes.selectBestMatch)(_apidomNsOpenapi.mediaTypes, file.mediaType) !== null;
|
|
39
40
|
}
|
|
40
41
|
|
|
41
42
|
// assert by inspecting ApiDOM
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { cloneDeep } from '@speclynx/apidom-datamodel';
|
|
2
2
|
import { traverseAsync } from '@speclynx/apidom-traverse';
|
|
3
3
|
import { mediaTypes, isSwaggerElement } from '@speclynx/apidom-ns-openapi-2';
|
|
4
|
+
import { matches, selectBestMatch } from '@swaggerexpert/media-types';
|
|
4
5
|
import Reference from "../../../Reference.mjs";
|
|
5
6
|
import ReferenceSet from "../../../ReferenceSet.mjs";
|
|
6
7
|
import BundleStrategy from "../BundleStrategy.mjs";
|
|
@@ -20,8 +21,8 @@ class OpenAPI2BundleStrategy extends BundleStrategy {
|
|
|
20
21
|
}
|
|
21
22
|
canBundle(file) {
|
|
22
23
|
// assert by media type
|
|
23
|
-
if (
|
|
24
|
-
return mediaTypes
|
|
24
|
+
if (!matches('text/plain', file.mediaType)) {
|
|
25
|
+
return selectBestMatch(mediaTypes, file.mediaType) !== null;
|
|
25
26
|
}
|
|
26
27
|
|
|
27
28
|
// assert by inspecting ApiDOM
|
|
@@ -14,6 +14,7 @@ exports.default = void 0;
|
|
|
14
14
|
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
15
15
|
var _apidomTraverse = require("@speclynx/apidom-traverse");
|
|
16
16
|
var _apidomNsOpenapi = require("@speclynx/apidom-ns-openapi-3-0");
|
|
17
|
+
var _mediaTypes = require("@swaggerexpert/media-types");
|
|
17
18
|
var _Reference = _interopRequireDefault(require("../../../Reference.cjs"));
|
|
18
19
|
var _ReferenceSet = _interopRequireDefault(require("../../../ReferenceSet.cjs"));
|
|
19
20
|
var _BundleStrategy = _interopRequireDefault(require("../BundleStrategy.cjs"));
|
|
@@ -34,8 +35,8 @@ class OpenAPI3_0BundleStrategy extends _BundleStrategy.default {
|
|
|
34
35
|
}
|
|
35
36
|
canBundle(file) {
|
|
36
37
|
// assert by media type
|
|
37
|
-
if (
|
|
38
|
-
return _apidomNsOpenapi.mediaTypes
|
|
38
|
+
if (!(0, _mediaTypes.matches)('text/plain', file.mediaType)) {
|
|
39
|
+
return (0, _mediaTypes.selectBestMatch)(_apidomNsOpenapi.mediaTypes, file.mediaType) !== null;
|
|
39
40
|
}
|
|
40
41
|
|
|
41
42
|
// assert by inspecting ApiDOM
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { cloneDeep } from '@speclynx/apidom-datamodel';
|
|
2
2
|
import { traverseAsync } from '@speclynx/apidom-traverse';
|
|
3
3
|
import { mediaTypes, isOpenApi3_0Element } from '@speclynx/apidom-ns-openapi-3-0';
|
|
4
|
+
import { matches, selectBestMatch } from '@swaggerexpert/media-types';
|
|
4
5
|
import Reference from "../../../Reference.mjs";
|
|
5
6
|
import ReferenceSet from "../../../ReferenceSet.mjs";
|
|
6
7
|
import BundleStrategy from "../BundleStrategy.mjs";
|
|
@@ -20,8 +21,8 @@ class OpenAPI3_0BundleStrategy extends BundleStrategy {
|
|
|
20
21
|
}
|
|
21
22
|
canBundle(file) {
|
|
22
23
|
// assert by media type
|
|
23
|
-
if (
|
|
24
|
-
return mediaTypes
|
|
24
|
+
if (!matches('text/plain', file.mediaType)) {
|
|
25
|
+
return selectBestMatch(mediaTypes, file.mediaType) !== null;
|
|
25
26
|
}
|
|
26
27
|
|
|
27
28
|
// assert by inspecting ApiDOM
|
|
@@ -14,6 +14,7 @@ exports.default = void 0;
|
|
|
14
14
|
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
15
15
|
var _apidomTraverse = require("@speclynx/apidom-traverse");
|
|
16
16
|
var _apidomNsOpenapi = require("@speclynx/apidom-ns-openapi-3-1");
|
|
17
|
+
var _mediaTypes = require("@swaggerexpert/media-types");
|
|
17
18
|
var _Reference = _interopRequireDefault(require("../../../Reference.cjs"));
|
|
18
19
|
var _ReferenceSet = _interopRequireDefault(require("../../../ReferenceSet.cjs"));
|
|
19
20
|
var _BundleStrategy = _interopRequireDefault(require("../BundleStrategy.cjs"));
|
|
@@ -34,8 +35,8 @@ class OpenAPI3_1BundleStrategy extends _BundleStrategy.default {
|
|
|
34
35
|
}
|
|
35
36
|
canBundle(file) {
|
|
36
37
|
// assert by media type
|
|
37
|
-
if (
|
|
38
|
-
return _apidomNsOpenapi.mediaTypes
|
|
38
|
+
if (!(0, _mediaTypes.matches)('text/plain', file.mediaType)) {
|
|
39
|
+
return (0, _mediaTypes.selectBestMatch)(_apidomNsOpenapi.mediaTypes, file.mediaType) !== null;
|
|
39
40
|
}
|
|
40
41
|
|
|
41
42
|
// assert by inspecting ApiDOM
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { cloneDeep } from '@speclynx/apidom-datamodel';
|
|
2
2
|
import { traverseAsync } from '@speclynx/apidom-traverse';
|
|
3
3
|
import { mediaTypes, isOpenApi3_1Element } from '@speclynx/apidom-ns-openapi-3-1';
|
|
4
|
+
import { matches, selectBestMatch } from '@swaggerexpert/media-types';
|
|
4
5
|
import Reference from "../../../Reference.mjs";
|
|
5
6
|
import ReferenceSet from "../../../ReferenceSet.mjs";
|
|
6
7
|
import BundleStrategy from "../BundleStrategy.mjs";
|
|
@@ -20,8 +21,8 @@ class OpenAPI3_1BundleStrategy extends BundleStrategy {
|
|
|
20
21
|
}
|
|
21
22
|
canBundle(file) {
|
|
22
23
|
// assert by media type
|
|
23
|
-
if (
|
|
24
|
-
return mediaTypes
|
|
24
|
+
if (!matches('text/plain', file.mediaType)) {
|
|
25
|
+
return selectBestMatch(mediaTypes, file.mediaType) !== null;
|
|
25
26
|
}
|
|
26
27
|
|
|
27
28
|
// assert by inspecting ApiDOM
|