@speclynx/apidom-reference 2.2.3 → 2.4.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 +296 -173
- package/dist/apidom-reference.browser.min.js +1 -1
- package/package.json +25 -25
- package/src/dereference/strategies/openapi-3-1/visitor.cjs +5 -2
- package/src/dereference/strategies/openapi-3-1/visitor.mjs +6 -3
- package/src/parse/parsers/Parser.cjs +7 -0
- package/src/parse/parsers/Parser.mjs +7 -0
- package/src/parse/parsers/arazzo-json-1/index.cjs +1 -1
- package/src/parse/parsers/arazzo-json-1/index.mjs +1 -1
- package/src/parse/parsers/arazzo-yaml-1/index.cjs +1 -1
- package/src/parse/parsers/arazzo-yaml-1/index.mjs +1 -1
- package/src/parse/parsers/asyncapi-json-2/index.cjs +1 -1
- package/src/parse/parsers/asyncapi-json-2/index.mjs +1 -1
- package/src/parse/parsers/asyncapi-yaml-2/index.cjs +1 -1
- package/src/parse/parsers/asyncapi-yaml-2/index.mjs +1 -1
- package/src/parse/parsers/json/index.cjs +1 -1
- package/src/parse/parsers/json/index.mjs +1 -1
- package/src/parse/parsers/openapi-json-2/index.cjs +1 -1
- package/src/parse/parsers/openapi-json-2/index.mjs +1 -1
- package/src/parse/parsers/openapi-json-3-0/index.cjs +1 -1
- package/src/parse/parsers/openapi-json-3-0/index.mjs +1 -1
- package/src/parse/parsers/openapi-json-3-1/index.cjs +1 -1
- package/src/parse/parsers/openapi-json-3-1/index.mjs +1 -1
- package/src/parse/parsers/openapi-yaml-2/index.cjs +1 -1
- package/src/parse/parsers/openapi-yaml-2/index.mjs +1 -1
- package/src/parse/parsers/openapi-yaml-3-0/index.cjs +1 -1
- package/src/parse/parsers/openapi-yaml-3-0/index.mjs +1 -1
- package/src/parse/parsers/openapi-yaml-3-1/index.cjs +1 -1
- package/src/parse/parsers/openapi-yaml-3-1/index.mjs +1 -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 +6 -1
- package/types/parse/parsers/Parser.d.ts +6 -1
|
@@ -2351,26 +2351,27 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
2351
2351
|
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(25162);
|
|
2352
2352
|
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(12111);
|
|
2353
2353
|
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(78894);
|
|
2354
|
-
/* harmony import */ var _speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(
|
|
2355
|
-
/* harmony import */ var _speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(
|
|
2356
|
-
/* harmony import */ var
|
|
2357
|
-
/* harmony import */ var
|
|
2358
|
-
/* harmony import */ var
|
|
2359
|
-
/* harmony import */ var _speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(
|
|
2360
|
-
/* harmony import */ var
|
|
2361
|
-
/* harmony import */ var _speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(
|
|
2362
|
-
/* harmony import */ var _speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(
|
|
2363
|
-
/* harmony import */ var
|
|
2364
|
-
/* harmony import */ var
|
|
2365
|
-
/* harmony import */ var
|
|
2366
|
-
/* harmony import */ var
|
|
2367
|
-
/* harmony import */ var
|
|
2368
|
-
/* harmony import */ var
|
|
2369
|
-
/* harmony import */ var
|
|
2370
|
-
/* harmony import */ var
|
|
2371
|
-
/* harmony import */ var
|
|
2372
|
-
/* harmony import */ var _util_ts__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(
|
|
2373
|
-
/* harmony import */ var
|
|
2354
|
+
/* harmony import */ var _speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(37205);
|
|
2355
|
+
/* harmony import */ var _speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(41482);
|
|
2356
|
+
/* harmony import */ var _speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(44673);
|
|
2357
|
+
/* harmony import */ var _speclynx_apidom_error__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(16126);
|
|
2358
|
+
/* harmony import */ var _speclynx_apidom_traverse__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(80796);
|
|
2359
|
+
/* harmony import */ var _speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(12020);
|
|
2360
|
+
/* harmony import */ var _speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(61198);
|
|
2361
|
+
/* harmony import */ var _speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(21314);
|
|
2362
|
+
/* harmony import */ var _speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(24329);
|
|
2363
|
+
/* harmony import */ var _speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(76332);
|
|
2364
|
+
/* harmony import */ var _selectors_$anchor_ts__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(32054);
|
|
2365
|
+
/* harmony import */ var _selectors_uri_ts__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(56481);
|
|
2366
|
+
/* harmony import */ var _errors_MaximumDereferenceDepthError_ts__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(37757);
|
|
2367
|
+
/* harmony import */ var _errors_MaximumResolveDepthError_ts__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(51325);
|
|
2368
|
+
/* harmony import */ var _util_url_ts__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(30658);
|
|
2369
|
+
/* harmony import */ var _parse_index_ts__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(35014);
|
|
2370
|
+
/* harmony import */ var _Reference_ts__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(98979);
|
|
2371
|
+
/* harmony import */ var _File_ts__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(10682);
|
|
2372
|
+
/* harmony import */ var _util_ts__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(60888);
|
|
2373
|
+
/* harmony import */ var _util_ts__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(53429);
|
|
2374
|
+
/* harmony import */ var _errors_EvaluationJsonSchemaUriError_ts__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(44477);
|
|
2374
2375
|
|
|
2375
2376
|
|
|
2376
2377
|
|
|
@@ -2391,7 +2392,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
2391
2392
|
|
|
2392
2393
|
|
|
2393
2394
|
// initialize element identity manager
|
|
2394
|
-
const identityManager = new
|
|
2395
|
+
const identityManager = new _speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__.IdentityManager();
|
|
2395
2396
|
|
|
2396
2397
|
/**
|
|
2397
2398
|
* @public
|
|
@@ -2412,23 +2413,23 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
2412
2413
|
namespace,
|
|
2413
2414
|
options,
|
|
2414
2415
|
indirections = [],
|
|
2415
|
-
ancestors = new
|
|
2416
|
+
ancestors = new _util_ts__WEBPACK_IMPORTED_MODULE_25__.AncestorLineage(),
|
|
2416
2417
|
refractCache = new Map()
|
|
2417
2418
|
}) {
|
|
2418
2419
|
this.indirections = indirections;
|
|
2419
2420
|
this.namespace = namespace;
|
|
2420
2421
|
this.reference = reference;
|
|
2421
2422
|
this.options = options;
|
|
2422
|
-
this.ancestors = new
|
|
2423
|
+
this.ancestors = new _util_ts__WEBPACK_IMPORTED_MODULE_25__.AncestorLineage(...ancestors);
|
|
2423
2424
|
this.refractCache = refractCache;
|
|
2424
2425
|
}
|
|
2425
2426
|
toBaseURI(uri) {
|
|
2426
|
-
return
|
|
2427
|
+
return _util_url_ts__WEBPACK_IMPORTED_MODULE_20__.resolve(this.reference.uri, _util_url_ts__WEBPACK_IMPORTED_MODULE_20__.sanitize(_util_url_ts__WEBPACK_IMPORTED_MODULE_20__.stripHash(uri)));
|
|
2427
2428
|
}
|
|
2428
2429
|
async toReference(uri) {
|
|
2429
2430
|
// detect maximum depth of resolution
|
|
2430
2431
|
if (this.reference.depth >= this.options.resolve.maxDepth) {
|
|
2431
|
-
throw new
|
|
2432
|
+
throw new _errors_MaximumResolveDepthError_ts__WEBPACK_IMPORTED_MODULE_19__["default"](`Maximum resolution depth of ${this.options.resolve.maxDepth} has been exceeded by file "${this.reference.uri}"`);
|
|
2432
2433
|
}
|
|
2433
2434
|
const baseURI = this.toBaseURI(uri);
|
|
2434
2435
|
const {
|
|
@@ -2439,7 +2440,7 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
2439
2440
|
if (refSet.has(baseURI)) {
|
|
2440
2441
|
return refSet.find((0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])(baseURI, 'uri'));
|
|
2441
2442
|
}
|
|
2442
|
-
const parseResult = await (0,
|
|
2443
|
+
const parseResult = await (0,_parse_index_ts__WEBPACK_IMPORTED_MODULE_21__["default"])(_util_url_ts__WEBPACK_IMPORTED_MODULE_20__.unsanitize(baseURI), {
|
|
2443
2444
|
...this.options,
|
|
2444
2445
|
parse: {
|
|
2445
2446
|
...this.options.parse,
|
|
@@ -2448,7 +2449,7 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
2448
2449
|
});
|
|
2449
2450
|
|
|
2450
2451
|
// register new mutable reference with a refSet
|
|
2451
|
-
const mutableReference = new
|
|
2452
|
+
const mutableReference = new _Reference_ts__WEBPACK_IMPORTED_MODULE_22__["default"]({
|
|
2452
2453
|
uri: baseURI,
|
|
2453
2454
|
value: (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_4__.cloneDeep)(parseResult),
|
|
2454
2455
|
depth: this.reference.depth + 1
|
|
@@ -2456,7 +2457,7 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
2456
2457
|
refSet.add(mutableReference);
|
|
2457
2458
|
if (this.options.dereference.immutable) {
|
|
2458
2459
|
// register new immutable reference with a refSet
|
|
2459
|
-
const immutableReference = new
|
|
2460
|
+
const immutableReference = new _Reference_ts__WEBPACK_IMPORTED_MODULE_22__["default"]({
|
|
2460
2461
|
uri: `immutable://${baseURI}`,
|
|
2461
2462
|
value: parseResult,
|
|
2462
2463
|
depth: this.reference.depth + 1
|
|
@@ -2472,7 +2473,7 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
2472
2473
|
*/
|
|
2473
2474
|
const ancestorNodes = path.getAncestorNodes();
|
|
2474
2475
|
const directAncestors = new Set(ancestorNodes.filter(_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__.isElement));
|
|
2475
|
-
const ancestorsLineage = new
|
|
2476
|
+
const ancestorsLineage = new _util_ts__WEBPACK_IMPORTED_MODULE_25__.AncestorLineage(...this.ancestors, directAncestors);
|
|
2476
2477
|
return [ancestorsLineage, directAncestors];
|
|
2477
2478
|
}
|
|
2478
2479
|
async ReferenceElement(path) {
|
|
@@ -2484,8 +2485,8 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
2484
2485
|
return;
|
|
2485
2486
|
}
|
|
2486
2487
|
const [ancestorsLineage, directAncestors] = this.toAncestorLineage(path);
|
|
2487
|
-
const retrievalURI = this.toBaseURI((0,
|
|
2488
|
-
const isInternalReference =
|
|
2488
|
+
const retrievalURI = this.toBaseURI((0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(referencingElement.$ref));
|
|
2489
|
+
const isInternalReference = _util_url_ts__WEBPACK_IMPORTED_MODULE_20__.stripHash(this.reference.uri) === retrievalURI;
|
|
2489
2490
|
const isExternalReference = !isInternalReference;
|
|
2490
2491
|
|
|
2491
2492
|
// ignore resolving internal Reference Objects
|
|
@@ -2500,29 +2501,29 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
2500
2501
|
path.skip();
|
|
2501
2502
|
return;
|
|
2502
2503
|
}
|
|
2503
|
-
const reference = await this.toReference((0,
|
|
2504
|
-
const $refBaseURI =
|
|
2504
|
+
const reference = await this.toReference((0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(referencingElement.$ref));
|
|
2505
|
+
const $refBaseURI = _util_url_ts__WEBPACK_IMPORTED_MODULE_20__.resolve(retrievalURI, (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(referencingElement.$ref));
|
|
2505
2506
|
this.indirections.push(referencingElement);
|
|
2506
|
-
const jsonPointer =
|
|
2507
|
+
const jsonPointer = _speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_12__.URIFragmentIdentifier.fromURIReference($refBaseURI);
|
|
2507
2508
|
|
|
2508
2509
|
// possibly non-semantic fragment
|
|
2509
|
-
let referencedElement = (0,
|
|
2510
|
+
let referencedElement = (0,_speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_11__.evaluate)(reference.value.result, jsonPointer);
|
|
2510
2511
|
referencedElement.id = identityManager.identify(referencedElement);
|
|
2511
2512
|
|
|
2512
2513
|
// applying semantics to a fragment
|
|
2513
2514
|
if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__.isPrimitiveElement)(referencedElement)) {
|
|
2514
|
-
const referencedElementType = (0,
|
|
2515
|
-
const cacheKey = `${referencedElementType}-${(0,
|
|
2515
|
+
const referencedElementType = (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(referencingElement.meta.get('referenced-element'));
|
|
2516
|
+
const cacheKey = `${referencedElementType}-${(0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(identityManager.identify(referencedElement))}`;
|
|
2516
2517
|
if (this.refractCache.has(cacheKey)) {
|
|
2517
2518
|
referencedElement = this.refractCache.get(cacheKey);
|
|
2518
|
-
} else if ((0,
|
|
2519
|
+
} else if ((0,_speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_13__.isReferenceLikeElement)(referencedElement)) {
|
|
2519
2520
|
// handling indirect references
|
|
2520
|
-
referencedElement = (0,
|
|
2521
|
+
referencedElement = (0,_speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_14__.refractReference)(referencedElement);
|
|
2521
2522
|
referencedElement.meta.set('referenced-element', referencedElementType);
|
|
2522
2523
|
this.refractCache.set(cacheKey, referencedElement);
|
|
2523
2524
|
} else {
|
|
2524
2525
|
// handling direct references
|
|
2525
|
-
referencedElement = (0,
|
|
2526
|
+
referencedElement = (0,_speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_14__["default"])(referencedElement, {
|
|
2526
2527
|
element: referencedElementType
|
|
2527
2528
|
});
|
|
2528
2529
|
this.refractCache.set(cacheKey, referencedElement);
|
|
@@ -2531,24 +2532,24 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
2531
2532
|
|
|
2532
2533
|
// detect direct or indirect reference
|
|
2533
2534
|
if (referencingElement === referencedElement) {
|
|
2534
|
-
throw new
|
|
2535
|
+
throw new _speclynx_apidom_error__WEBPACK_IMPORTED_MODULE_9__["default"]('Recursive Reference Object detected');
|
|
2535
2536
|
}
|
|
2536
2537
|
|
|
2537
2538
|
// detect maximum depth of dereferencing
|
|
2538
2539
|
if (this.indirections.length > this.options.dereference.maxDepth) {
|
|
2539
|
-
throw new
|
|
2540
|
+
throw new _errors_MaximumDereferenceDepthError_ts__WEBPACK_IMPORTED_MODULE_18__["default"](`Maximum dereference depth of "${this.options.dereference.maxDepth}" has been exceeded in file "${this.reference.uri}"`);
|
|
2540
2541
|
}
|
|
2541
2542
|
|
|
2542
2543
|
// detect second deep dive into the same fragment and avoid it
|
|
2543
2544
|
if (ancestorsLineage.includes(referencedElement)) {
|
|
2544
2545
|
reference.refSet.circular = true;
|
|
2545
2546
|
if (this.options.dereference.circular === 'error') {
|
|
2546
|
-
throw new
|
|
2547
|
+
throw new _speclynx_apidom_error__WEBPACK_IMPORTED_MODULE_9__["default"]('Circular reference detected');
|
|
2547
2548
|
} else if (this.options.dereference.circular === 'replace') {
|
|
2548
2549
|
const refElement = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_5__["default"](referencedElement.id, {
|
|
2549
2550
|
type: 'reference',
|
|
2550
2551
|
uri: reference.uri,
|
|
2551
|
-
$ref: (0,
|
|
2552
|
+
$ref: (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(referencingElement.$ref)
|
|
2552
2553
|
});
|
|
2553
2554
|
const replacer = this.options.dereference.strategyOpts['openapi-3-1']?.circularReplacer ?? this.options.dereference.circularReplacer;
|
|
2554
2555
|
const replacement = replacer(refElement);
|
|
@@ -2567,9 +2568,9 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
2567
2568
|
* 3. Fragment is a Reference Object. We need to follow it to get the eventual value
|
|
2568
2569
|
* 4. We are dereferencing the fragment lazily/eagerly depending on circular mode
|
|
2569
2570
|
*/
|
|
2570
|
-
const isNonRootDocument =
|
|
2571
|
+
const isNonRootDocument = _util_url_ts__WEBPACK_IMPORTED_MODULE_20__.stripHash(reference.refSet.rootRef.uri) !== reference.uri;
|
|
2571
2572
|
const shouldDetectCircular = ['error', 'replace'].includes(this.options.dereference.circular);
|
|
2572
|
-
if ((isExternalReference || isNonRootDocument || (0,
|
|
2573
|
+
if ((isExternalReference || isNonRootDocument || (0,_speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_15__.isReferenceElement)(referencedElement) || shouldDetectCircular) && !ancestorsLineage.includesCycle(referencedElement)) {
|
|
2573
2574
|
// append referencing reference to ancestors lineage
|
|
2574
2575
|
directAncestors.add(referencingElement);
|
|
2575
2576
|
const visitor = new OpenAPI3_1DereferenceVisitor({
|
|
@@ -2580,7 +2581,7 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
2580
2581
|
refractCache: this.refractCache,
|
|
2581
2582
|
ancestors: ancestorsLineage
|
|
2582
2583
|
});
|
|
2583
|
-
referencedElement = await (0,
|
|
2584
|
+
referencedElement = await (0,_speclynx_apidom_traverse__WEBPACK_IMPORTED_MODULE_10__.traverseAsync)(referencedElement, visitor, {
|
|
2584
2585
|
mutable: true
|
|
2585
2586
|
});
|
|
2586
2587
|
|
|
@@ -2597,11 +2598,11 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
2597
2598
|
mergedElement.meta.set('id', identityManager.generateId());
|
|
2598
2599
|
// annotate fragment with info about original Reference element
|
|
2599
2600
|
mergedElement.meta.set('ref-fields', {
|
|
2600
|
-
$ref: (0,
|
|
2601
|
+
$ref: (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(referencingElement.$ref),
|
|
2601
2602
|
// @ts-ignore
|
|
2602
|
-
description: (0,
|
|
2603
|
+
description: (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(referencingElement.description),
|
|
2603
2604
|
// @ts-ignore
|
|
2604
|
-
summary: (0,
|
|
2605
|
+
summary: (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(referencingElement.summary)
|
|
2605
2606
|
});
|
|
2606
2607
|
// annotate fragment with info about origin
|
|
2607
2608
|
mergedElement.meta.set('ref-origin', reference.uri);
|
|
@@ -2610,11 +2611,14 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
2610
2611
|
|
|
2611
2612
|
// override description and summary (outer has higher priority then inner)
|
|
2612
2613
|
if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__.isObjectElement)(referencedElement) && (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__.isObjectElement)(mergedElement)) {
|
|
2613
|
-
|
|
2614
|
+
const fields = (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_6__.fixedFields)(referencedElement, {
|
|
2615
|
+
indexed: true
|
|
2616
|
+
});
|
|
2617
|
+
if (referencingElement.hasKey('description') && Object.hasOwn(fields, 'description')) {
|
|
2614
2618
|
mergedElement.remove('description');
|
|
2615
2619
|
mergedElement.set('description', referencingElement.get('description'));
|
|
2616
2620
|
}
|
|
2617
|
-
if (referencingElement.hasKey('summary') && 'summary'
|
|
2621
|
+
if (referencingElement.hasKey('summary') && Object.hasOwn(fields, 'summary')) {
|
|
2618
2622
|
mergedElement.remove('summary');
|
|
2619
2623
|
mergedElement.set('summary', referencingElement.get('summary'));
|
|
2620
2624
|
}
|
|
@@ -2639,8 +2643,8 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
2639
2643
|
return;
|
|
2640
2644
|
}
|
|
2641
2645
|
const [ancestorsLineage, directAncestors] = this.toAncestorLineage(path);
|
|
2642
|
-
const retrievalURI = this.toBaseURI((0,
|
|
2643
|
-
const isInternalReference =
|
|
2646
|
+
const retrievalURI = this.toBaseURI((0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(referencingElement.$ref));
|
|
2647
|
+
const isInternalReference = _util_url_ts__WEBPACK_IMPORTED_MODULE_20__.stripHash(this.reference.uri) === retrievalURI;
|
|
2644
2648
|
const isExternalReference = !isInternalReference;
|
|
2645
2649
|
|
|
2646
2650
|
// ignore resolving internal Path Item Objects
|
|
@@ -2653,48 +2657,48 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
2653
2657
|
// skip traversing this Path Item element but traverse all it's child elements
|
|
2654
2658
|
return;
|
|
2655
2659
|
}
|
|
2656
|
-
const reference = await this.toReference((0,
|
|
2657
|
-
const $refBaseURI =
|
|
2660
|
+
const reference = await this.toReference((0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(referencingElement.$ref));
|
|
2661
|
+
const $refBaseURI = _util_url_ts__WEBPACK_IMPORTED_MODULE_20__.resolve(retrievalURI, (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(referencingElement.$ref));
|
|
2658
2662
|
this.indirections.push(referencingElement);
|
|
2659
|
-
const jsonPointer =
|
|
2663
|
+
const jsonPointer = _speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_12__.URIFragmentIdentifier.fromURIReference($refBaseURI);
|
|
2660
2664
|
|
|
2661
2665
|
// possibly non-semantic referenced element
|
|
2662
|
-
let referencedElement = (0,
|
|
2666
|
+
let referencedElement = (0,_speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_11__.evaluate)(reference.value.result, jsonPointer);
|
|
2663
2667
|
referencedElement.id = identityManager.identify(referencedElement);
|
|
2664
2668
|
|
|
2665
2669
|
/**
|
|
2666
2670
|
* Applying semantics to a referenced element if semantics are missing.
|
|
2667
2671
|
*/
|
|
2668
2672
|
if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__.isPrimitiveElement)(referencedElement)) {
|
|
2669
|
-
const cacheKey = `path-item-${(0,
|
|
2673
|
+
const cacheKey = `path-item-${(0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(identityManager.identify(referencedElement))}`;
|
|
2670
2674
|
if (this.refractCache.has(cacheKey)) {
|
|
2671
2675
|
referencedElement = this.refractCache.get(cacheKey);
|
|
2672
2676
|
} else {
|
|
2673
|
-
referencedElement = (0,
|
|
2677
|
+
referencedElement = (0,_speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_14__.refractPathItem)(referencedElement);
|
|
2674
2678
|
this.refractCache.set(cacheKey, referencedElement);
|
|
2675
2679
|
}
|
|
2676
2680
|
}
|
|
2677
2681
|
|
|
2678
2682
|
// detect direct or indirect reference
|
|
2679
2683
|
if (referencingElement === referencedElement) {
|
|
2680
|
-
throw new
|
|
2684
|
+
throw new _speclynx_apidom_error__WEBPACK_IMPORTED_MODULE_9__["default"]('Recursive Path Item Object reference detected');
|
|
2681
2685
|
}
|
|
2682
2686
|
|
|
2683
2687
|
// detect maximum depth of dereferencing
|
|
2684
2688
|
if (this.indirections.length > this.options.dereference.maxDepth) {
|
|
2685
|
-
throw new
|
|
2689
|
+
throw new _errors_MaximumDereferenceDepthError_ts__WEBPACK_IMPORTED_MODULE_18__["default"](`Maximum dereference depth of "${this.options.dereference.maxDepth}" has been exceeded in file "${this.reference.uri}"`);
|
|
2686
2690
|
}
|
|
2687
2691
|
|
|
2688
2692
|
// detect second deep dive into the same fragment and avoid it
|
|
2689
2693
|
if (ancestorsLineage.includes(referencedElement)) {
|
|
2690
2694
|
reference.refSet.circular = true;
|
|
2691
2695
|
if (this.options.dereference.circular === 'error') {
|
|
2692
|
-
throw new
|
|
2696
|
+
throw new _speclynx_apidom_error__WEBPACK_IMPORTED_MODULE_9__["default"]('Circular reference detected');
|
|
2693
2697
|
} else if (this.options.dereference.circular === 'replace') {
|
|
2694
2698
|
const refElement = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_5__["default"](referencedElement.id, {
|
|
2695
2699
|
type: 'path-item',
|
|
2696
2700
|
uri: reference.uri,
|
|
2697
|
-
$ref: (0,
|
|
2701
|
+
$ref: (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(referencingElement.$ref)
|
|
2698
2702
|
});
|
|
2699
2703
|
const replacer = this.options.dereference.strategyOpts['openapi-3-1']?.circularReplacer ?? this.options.dereference.circularReplacer;
|
|
2700
2704
|
const replacement = replacer(refElement);
|
|
@@ -2713,9 +2717,9 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
2713
2717
|
* 3. Fragment is a Path Item Object with $ref field. We need to follow it to get the eventual value
|
|
2714
2718
|
* 4. We are dereferencing the fragment lazily/eagerly depending on circular mode
|
|
2715
2719
|
*/
|
|
2716
|
-
const isNonRootDocument =
|
|
2720
|
+
const isNonRootDocument = _util_url_ts__WEBPACK_IMPORTED_MODULE_20__.stripHash(reference.refSet.rootRef.uri) !== reference.uri;
|
|
2717
2721
|
const shouldDetectCircular = ['error', 'replace'].includes(this.options.dereference.circular);
|
|
2718
|
-
if ((isExternalReference || isNonRootDocument || (0,
|
|
2722
|
+
if ((isExternalReference || isNonRootDocument || (0,_speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_15__.isPathItemElement)(referencedElement) && (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__.isStringElement)(referencedElement.$ref) || shouldDetectCircular) && !ancestorsLineage.includesCycle(referencedElement)) {
|
|
2719
2723
|
// append referencing reference to ancestors lineage
|
|
2720
2724
|
directAncestors.add(referencingElement);
|
|
2721
2725
|
const visitor = new OpenAPI3_1DereferenceVisitor({
|
|
@@ -2726,7 +2730,7 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
2726
2730
|
refractCache: this.refractCache,
|
|
2727
2731
|
ancestors: ancestorsLineage
|
|
2728
2732
|
});
|
|
2729
|
-
referencedElement = await (0,
|
|
2733
|
+
referencedElement = await (0,_speclynx_apidom_traverse__WEBPACK_IMPORTED_MODULE_10__.traverseAsync)(referencedElement, visitor, {
|
|
2730
2734
|
mutable: true
|
|
2731
2735
|
});
|
|
2732
2736
|
|
|
@@ -2738,20 +2742,20 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
2738
2742
|
/**
|
|
2739
2743
|
* Creating a new version of Path Item by merging fields from referenced Path Item with referencing one.
|
|
2740
2744
|
*/
|
|
2741
|
-
if ((0,
|
|
2745
|
+
if ((0,_speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_15__.isPathItemElement)(referencedElement)) {
|
|
2742
2746
|
const mergedElement = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_4__.cloneShallow)(referencedElement);
|
|
2743
2747
|
// assign unique id to merged element
|
|
2744
2748
|
mergedElement.meta.set('id', identityManager.generateId());
|
|
2745
2749
|
// existing keywords from referencing PathItemElement overrides ones from referenced element
|
|
2746
2750
|
referencingElement.forEach((value, keyElement, item) => {
|
|
2747
|
-
mergedElement.remove((0,
|
|
2751
|
+
mergedElement.remove((0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(keyElement));
|
|
2748
2752
|
mergedElement.content.push(item);
|
|
2749
2753
|
});
|
|
2750
2754
|
mergedElement.remove('$ref');
|
|
2751
2755
|
|
|
2752
2756
|
// annotate referenced element with info about original referencing element
|
|
2753
2757
|
mergedElement.meta.set('ref-fields', {
|
|
2754
|
-
$ref: (0,
|
|
2758
|
+
$ref: (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(referencingElement.$ref)
|
|
2755
2759
|
});
|
|
2756
2760
|
// annotate referenced element with info about origin
|
|
2757
2761
|
mergedElement.meta.set('ref-origin', reference.uri);
|
|
@@ -2775,14 +2779,14 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
2775
2779
|
|
|
2776
2780
|
// operationRef and operationId fields are mutually exclusive
|
|
2777
2781
|
if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__.isStringElement)(linkElement.operationRef) && (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__.isStringElement)(linkElement.operationId)) {
|
|
2778
|
-
throw new
|
|
2782
|
+
throw new _speclynx_apidom_error__WEBPACK_IMPORTED_MODULE_9__["default"]('LinkElement operationRef and operationId fields are mutually exclusive.');
|
|
2779
2783
|
}
|
|
2780
2784
|
let operationElement;
|
|
2781
2785
|
if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__.isStringElement)(linkElement.operationRef)) {
|
|
2782
2786
|
// possibly non-semantic referenced element
|
|
2783
|
-
const jsonPointer =
|
|
2784
|
-
const retrievalURI = this.toBaseURI((0,
|
|
2785
|
-
const isInternalReference =
|
|
2787
|
+
const jsonPointer = _speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_12__.URIFragmentIdentifier.fromURIReference((0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(linkElement.operationRef));
|
|
2788
|
+
const retrievalURI = this.toBaseURI((0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(linkElement.operationRef));
|
|
2789
|
+
const isInternalReference = _util_url_ts__WEBPACK_IMPORTED_MODULE_20__.stripHash(this.reference.uri) === retrievalURI;
|
|
2786
2790
|
const isExternalReference = !isInternalReference;
|
|
2787
2791
|
|
|
2788
2792
|
// ignore resolving internal Operation Object reference
|
|
@@ -2795,15 +2799,15 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
2795
2799
|
// skip traversing this Link element but traverse all it's child elements
|
|
2796
2800
|
return;
|
|
2797
2801
|
}
|
|
2798
|
-
const reference = await this.toReference((0,
|
|
2799
|
-
operationElement = (0,
|
|
2802
|
+
const reference = await this.toReference((0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(linkElement.operationRef));
|
|
2803
|
+
operationElement = (0,_speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_11__.evaluate)(reference.value.result, jsonPointer);
|
|
2800
2804
|
// applying semantics to a referenced element
|
|
2801
2805
|
if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__.isPrimitiveElement)(operationElement)) {
|
|
2802
|
-
const cacheKey = `operation-${(0,
|
|
2806
|
+
const cacheKey = `operation-${(0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(identityManager.identify(operationElement))}`;
|
|
2803
2807
|
if (this.refractCache.has(cacheKey)) {
|
|
2804
2808
|
operationElement = this.refractCache.get(cacheKey);
|
|
2805
2809
|
} else {
|
|
2806
|
-
operationElement = (0,
|
|
2810
|
+
operationElement = (0,_speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_14__.refractOperation)(operationElement);
|
|
2807
2811
|
this.refractCache.set(cacheKey, operationElement);
|
|
2808
2812
|
}
|
|
2809
2813
|
}
|
|
@@ -2821,12 +2825,12 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
2821
2825
|
return;
|
|
2822
2826
|
}
|
|
2823
2827
|
if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__.isStringElement)(linkElement.operationId)) {
|
|
2824
|
-
const operationId = (0,
|
|
2825
|
-
const reference = await this.toReference(
|
|
2826
|
-
operationElement = (0,
|
|
2828
|
+
const operationId = (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(linkElement.operationId);
|
|
2829
|
+
const reference = await this.toReference(_util_url_ts__WEBPACK_IMPORTED_MODULE_20__.unsanitize(this.reference.uri));
|
|
2830
|
+
operationElement = (0,_speclynx_apidom_traverse__WEBPACK_IMPORTED_MODULE_10__.find)(reference.value.result, e => (0,_speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_15__.isOperationElement)(e) && (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__.isElement)(e.operationId) && e.operationId.equals(operationId));
|
|
2827
2831
|
// OperationElement not found by its operationId
|
|
2828
2832
|
if ((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_2__["default"])(operationElement)) {
|
|
2829
|
-
throw new
|
|
2833
|
+
throw new _speclynx_apidom_error__WEBPACK_IMPORTED_MODULE_9__["default"](`OperationElement(operationId=${operationId}) not found.`);
|
|
2830
2834
|
}
|
|
2831
2835
|
const linkElementCopy = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_4__.cloneShallow)(linkElement);
|
|
2832
2836
|
linkElementCopy.operationId?.meta.set('operation', operationElement);
|
|
@@ -2847,10 +2851,10 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
2847
2851
|
|
|
2848
2852
|
// value and externalValue fields are mutually exclusive
|
|
2849
2853
|
if (exampleElement.hasKey('value') && (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__.isStringElement)(exampleElement.externalValue)) {
|
|
2850
|
-
throw new
|
|
2854
|
+
throw new _speclynx_apidom_error__WEBPACK_IMPORTED_MODULE_9__["default"]('ExampleElement value and externalValue fields are mutually exclusive.');
|
|
2851
2855
|
}
|
|
2852
|
-
const retrievalURI = this.toBaseURI((0,
|
|
2853
|
-
const isInternalReference =
|
|
2856
|
+
const retrievalURI = this.toBaseURI((0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(exampleElement.externalValue));
|
|
2857
|
+
const isInternalReference = _util_url_ts__WEBPACK_IMPORTED_MODULE_20__.stripHash(this.reference.uri) === retrievalURI;
|
|
2854
2858
|
const isExternalReference = !isInternalReference;
|
|
2855
2859
|
|
|
2856
2860
|
// ignore resolving internal Example Objects
|
|
@@ -2863,7 +2867,7 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
2863
2867
|
// skip traversing this Example element but traverse all it's child elements
|
|
2864
2868
|
return;
|
|
2865
2869
|
}
|
|
2866
|
-
const reference = await this.toReference((0,
|
|
2870
|
+
const reference = await this.toReference((0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(exampleElement.externalValue));
|
|
2867
2871
|
|
|
2868
2872
|
// shallow clone of the referenced element
|
|
2869
2873
|
const valueElement = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_4__.cloneShallow)(reference.value.result);
|
|
@@ -2893,18 +2897,18 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
2893
2897
|
const [ancestorsLineage, directAncestors] = this.toAncestorLineage(path);
|
|
2894
2898
|
|
|
2895
2899
|
// compute baseURI using rules around $id and $ref keywords
|
|
2896
|
-
let reference = await this.toReference(
|
|
2900
|
+
let reference = await this.toReference(_util_url_ts__WEBPACK_IMPORTED_MODULE_20__.unsanitize(this.reference.uri));
|
|
2897
2901
|
let {
|
|
2898
2902
|
uri: retrievalURI
|
|
2899
2903
|
} = reference;
|
|
2900
|
-
const $refBaseURI = (0,
|
|
2901
|
-
const $refBaseURIStrippedHash =
|
|
2902
|
-
const file = new
|
|
2904
|
+
const $refBaseURI = (0,_util_ts__WEBPACK_IMPORTED_MODULE_24__.resolveSchema$refField)(retrievalURI, referencingElement);
|
|
2905
|
+
const $refBaseURIStrippedHash = _util_url_ts__WEBPACK_IMPORTED_MODULE_20__.stripHash($refBaseURI);
|
|
2906
|
+
const file = new _File_ts__WEBPACK_IMPORTED_MODULE_23__["default"]({
|
|
2903
2907
|
uri: $refBaseURIStrippedHash
|
|
2904
2908
|
});
|
|
2905
2909
|
const isUnknownURI = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(r => r.canRead(file), this.options.resolve.resolvers);
|
|
2906
2910
|
const isURL = !isUnknownURI;
|
|
2907
|
-
let isInternalReference =
|
|
2911
|
+
let isInternalReference = _util_url_ts__WEBPACK_IMPORTED_MODULE_20__.stripHash(this.reference.uri) === $refBaseURI;
|
|
2908
2912
|
let isExternalReference = !isInternalReference;
|
|
2909
2913
|
this.indirections.push(referencingElement);
|
|
2910
2914
|
|
|
@@ -2915,9 +2919,9 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
2915
2919
|
// we're dealing with canonical URI or URL with possible fragment
|
|
2916
2920
|
retrievalURI = this.toBaseURI($refBaseURI);
|
|
2917
2921
|
const selector = $refBaseURI;
|
|
2918
|
-
const referenceAsSchema = (0,
|
|
2919
|
-
referencedElement = (0,
|
|
2920
|
-
referencedElement = (0,
|
|
2922
|
+
const referenceAsSchema = (0,_util_ts__WEBPACK_IMPORTED_MODULE_24__.maybeRefractToSchemaElement)(reference.value.result);
|
|
2923
|
+
referencedElement = (0,_selectors_uri_ts__WEBPACK_IMPORTED_MODULE_17__.evaluate)(selector, referenceAsSchema);
|
|
2924
|
+
referencedElement = (0,_util_ts__WEBPACK_IMPORTED_MODULE_24__.maybeRefractToSchemaElement)(referencedElement);
|
|
2921
2925
|
referencedElement.id = identityManager.identify(referencedElement);
|
|
2922
2926
|
|
|
2923
2927
|
// ignore resolving internal Schema Objects
|
|
@@ -2933,7 +2937,7 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
2933
2937
|
} else {
|
|
2934
2938
|
// we're assuming here that we're dealing with JSON Pointer here
|
|
2935
2939
|
retrievalURI = this.toBaseURI($refBaseURI);
|
|
2936
|
-
isInternalReference =
|
|
2940
|
+
isInternalReference = _util_url_ts__WEBPACK_IMPORTED_MODULE_20__.stripHash(this.reference.uri) === retrievalURI;
|
|
2937
2941
|
isExternalReference = !isInternalReference;
|
|
2938
2942
|
|
|
2939
2943
|
// ignore resolving internal Schema Objects
|
|
@@ -2946,11 +2950,11 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
2946
2950
|
// skip traversing this schema element but traverse all it's child elements
|
|
2947
2951
|
return;
|
|
2948
2952
|
}
|
|
2949
|
-
reference = await this.toReference(
|
|
2950
|
-
const selector =
|
|
2951
|
-
const referenceAsSchema = (0,
|
|
2952
|
-
referencedElement = (0,
|
|
2953
|
-
referencedElement = (0,
|
|
2953
|
+
reference = await this.toReference(_util_url_ts__WEBPACK_IMPORTED_MODULE_20__.unsanitize($refBaseURI));
|
|
2954
|
+
const selector = _speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_12__.URIFragmentIdentifier.fromURIReference($refBaseURI);
|
|
2955
|
+
const referenceAsSchema = (0,_util_ts__WEBPACK_IMPORTED_MODULE_24__.maybeRefractToSchemaElement)(reference.value.result);
|
|
2956
|
+
referencedElement = (0,_speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_11__.evaluate)(referenceAsSchema, selector);
|
|
2957
|
+
referencedElement = (0,_util_ts__WEBPACK_IMPORTED_MODULE_24__.maybeRefractToSchemaElement)(referencedElement);
|
|
2954
2958
|
referencedElement.id = identityManager.identify(referencedElement);
|
|
2955
2959
|
}
|
|
2956
2960
|
} catch (error) {
|
|
@@ -2958,10 +2962,10 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
2958
2962
|
* No SchemaElement($id=URL) was not found, so we're going to try to resolve
|
|
2959
2963
|
* the URL and assume the returned response is a JSON Schema.
|
|
2960
2964
|
*/
|
|
2961
|
-
if (isURL && error instanceof
|
|
2962
|
-
if ((0,_selectors_$
|
|
2965
|
+
if (isURL && error instanceof _errors_EvaluationJsonSchemaUriError_ts__WEBPACK_IMPORTED_MODULE_26__["default"]) {
|
|
2966
|
+
if ((0,_selectors_$anchor_ts__WEBPACK_IMPORTED_MODULE_16__.isAnchor)((0,_selectors_$anchor_ts__WEBPACK_IMPORTED_MODULE_16__.uriToAnchor)($refBaseURI))) {
|
|
2963
2967
|
// we're dealing with JSON Schema $anchor here
|
|
2964
|
-
isInternalReference =
|
|
2968
|
+
isInternalReference = _util_url_ts__WEBPACK_IMPORTED_MODULE_20__.stripHash(this.reference.uri) === retrievalURI;
|
|
2965
2969
|
isExternalReference = !isInternalReference;
|
|
2966
2970
|
|
|
2967
2971
|
// ignore resolving internal Schema Objects
|
|
@@ -2974,16 +2978,16 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
2974
2978
|
// skip traversing this schema element but traverse all it's child elements
|
|
2975
2979
|
return;
|
|
2976
2980
|
}
|
|
2977
|
-
reference = await this.toReference(
|
|
2978
|
-
const selector = (0,_selectors_$
|
|
2979
|
-
const referenceAsSchema = (0,
|
|
2980
|
-
referencedElement = (0,_selectors_$
|
|
2981
|
-
referencedElement = (0,
|
|
2981
|
+
reference = await this.toReference(_util_url_ts__WEBPACK_IMPORTED_MODULE_20__.unsanitize($refBaseURI));
|
|
2982
|
+
const selector = (0,_selectors_$anchor_ts__WEBPACK_IMPORTED_MODULE_16__.uriToAnchor)($refBaseURI);
|
|
2983
|
+
const referenceAsSchema = (0,_util_ts__WEBPACK_IMPORTED_MODULE_24__.maybeRefractToSchemaElement)(reference.value.result);
|
|
2984
|
+
referencedElement = (0,_selectors_$anchor_ts__WEBPACK_IMPORTED_MODULE_16__.evaluate)(selector, referenceAsSchema);
|
|
2985
|
+
referencedElement = (0,_util_ts__WEBPACK_IMPORTED_MODULE_24__.maybeRefractToSchemaElement)(referencedElement);
|
|
2982
2986
|
referencedElement.id = identityManager.identify(referencedElement);
|
|
2983
2987
|
} else {
|
|
2984
2988
|
// we're assuming here that we're dealing with JSON Pointer here
|
|
2985
2989
|
retrievalURI = this.toBaseURI($refBaseURI);
|
|
2986
|
-
isInternalReference =
|
|
2990
|
+
isInternalReference = _util_url_ts__WEBPACK_IMPORTED_MODULE_20__.stripHash(this.reference.uri) === retrievalURI;
|
|
2987
2991
|
isExternalReference = !isInternalReference;
|
|
2988
2992
|
|
|
2989
2993
|
// ignore resolving internal Schema Objects
|
|
@@ -2996,11 +3000,11 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
2996
3000
|
// skip traversing this schema element but traverse all it's child elements
|
|
2997
3001
|
return;
|
|
2998
3002
|
}
|
|
2999
|
-
reference = await this.toReference(
|
|
3000
|
-
const selector =
|
|
3001
|
-
const referenceAsSchema = (0,
|
|
3002
|
-
referencedElement = (0,
|
|
3003
|
-
referencedElement = (0,
|
|
3003
|
+
reference = await this.toReference(_util_url_ts__WEBPACK_IMPORTED_MODULE_20__.unsanitize($refBaseURI));
|
|
3004
|
+
const selector = _speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_12__.URIFragmentIdentifier.fromURIReference($refBaseURI);
|
|
3005
|
+
const referenceAsSchema = (0,_util_ts__WEBPACK_IMPORTED_MODULE_24__.maybeRefractToSchemaElement)(reference.value.result);
|
|
3006
|
+
referencedElement = (0,_speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_11__.evaluate)(referenceAsSchema, selector);
|
|
3007
|
+
referencedElement = (0,_util_ts__WEBPACK_IMPORTED_MODULE_24__.maybeRefractToSchemaElement)(referencedElement);
|
|
3004
3008
|
referencedElement.id = identityManager.identify(referencedElement);
|
|
3005
3009
|
}
|
|
3006
3010
|
} else {
|
|
@@ -3010,24 +3014,24 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
3010
3014
|
|
|
3011
3015
|
// detect direct or indirect reference
|
|
3012
3016
|
if (referencingElement === referencedElement) {
|
|
3013
|
-
throw new
|
|
3017
|
+
throw new _speclynx_apidom_error__WEBPACK_IMPORTED_MODULE_9__["default"]('Recursive Schema Object reference detected');
|
|
3014
3018
|
}
|
|
3015
3019
|
|
|
3016
3020
|
// detect maximum depth of dereferencing
|
|
3017
3021
|
if (this.indirections.length > this.options.dereference.maxDepth) {
|
|
3018
|
-
throw new
|
|
3022
|
+
throw new _errors_MaximumDereferenceDepthError_ts__WEBPACK_IMPORTED_MODULE_18__["default"](`Maximum dereference depth of "${this.options.dereference.maxDepth}" has been exceeded in file "${this.reference.uri}"`);
|
|
3019
3023
|
}
|
|
3020
3024
|
|
|
3021
3025
|
// detect second deep dive into the same fragment and avoid it
|
|
3022
3026
|
if (ancestorsLineage.includes(referencedElement)) {
|
|
3023
3027
|
reference.refSet.circular = true;
|
|
3024
3028
|
if (this.options.dereference.circular === 'error') {
|
|
3025
|
-
throw new
|
|
3029
|
+
throw new _speclynx_apidom_error__WEBPACK_IMPORTED_MODULE_9__["default"]('Circular reference detected');
|
|
3026
3030
|
} else if (this.options.dereference.circular === 'replace') {
|
|
3027
3031
|
const refElement = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_5__["default"](referencedElement.id, {
|
|
3028
3032
|
type: 'json-schema',
|
|
3029
3033
|
uri: reference.uri,
|
|
3030
|
-
$ref: (0,
|
|
3034
|
+
$ref: (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(referencingElement.$ref)
|
|
3031
3035
|
});
|
|
3032
3036
|
const replacer = this.options.dereference.strategyOpts['openapi-3-1']?.circularReplacer ?? this.options.dereference.circularReplacer;
|
|
3033
3037
|
const replacement = replacer(refElement);
|
|
@@ -3046,9 +3050,9 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
3046
3050
|
* 3. Fragment is a Schema Object with $ref field. We need to follow it to get the eventual value
|
|
3047
3051
|
* 4. We are dereferencing the fragment lazily/eagerly depending on circular mode
|
|
3048
3052
|
*/
|
|
3049
|
-
const isNonRootDocument =
|
|
3053
|
+
const isNonRootDocument = _util_url_ts__WEBPACK_IMPORTED_MODULE_20__.stripHash(reference.refSet.rootRef.uri) !== reference.uri;
|
|
3050
3054
|
const shouldDetectCircular = ['error', 'replace'].includes(this.options.dereference.circular);
|
|
3051
|
-
if ((isExternalReference || isNonRootDocument || (0,
|
|
3055
|
+
if ((isExternalReference || isNonRootDocument || (0,_speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_15__.isSchemaElement)(referencedElement) && (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__.isStringElement)(referencedElement.$ref) || shouldDetectCircular) && !ancestorsLineage.includesCycle(referencedElement)) {
|
|
3052
3056
|
// append referencing reference to ancestors lineage
|
|
3053
3057
|
directAncestors.add(referencingElement);
|
|
3054
3058
|
const visitor = new OpenAPI3_1DereferenceVisitor({
|
|
@@ -3059,7 +3063,7 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
3059
3063
|
refractCache: this.refractCache,
|
|
3060
3064
|
ancestors: ancestorsLineage
|
|
3061
3065
|
});
|
|
3062
|
-
referencedElement = await (0,
|
|
3066
|
+
referencedElement = await (0,_speclynx_apidom_traverse__WEBPACK_IMPORTED_MODULE_10__.traverseAsync)(referencedElement, visitor, {
|
|
3063
3067
|
mutable: true
|
|
3064
3068
|
});
|
|
3065
3069
|
|
|
@@ -3069,13 +3073,13 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
3069
3073
|
this.indirections.pop();
|
|
3070
3074
|
|
|
3071
3075
|
// Boolean JSON Schemas
|
|
3072
|
-
if ((0,
|
|
3076
|
+
if ((0,_speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_15__.isBooleanJsonSchemaElement)(referencedElement)) {
|
|
3073
3077
|
const booleanJsonSchemaElement = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_4__.cloneDeep)(referencedElement);
|
|
3074
3078
|
// assign unique id to merged element
|
|
3075
3079
|
booleanJsonSchemaElement.meta.set('id', identityManager.generateId());
|
|
3076
3080
|
// annotate referenced element with info about original referencing element
|
|
3077
3081
|
booleanJsonSchemaElement.meta.set('ref-fields', {
|
|
3078
|
-
$ref: (0,
|
|
3082
|
+
$ref: (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(referencingElement.$ref)
|
|
3079
3083
|
});
|
|
3080
3084
|
// annotate referenced element with info about origin
|
|
3081
3085
|
booleanJsonSchemaElement.meta.set('ref-origin', reference.uri);
|
|
@@ -3088,19 +3092,19 @@ class OpenAPI3_1DereferenceVisitor {
|
|
|
3088
3092
|
/**
|
|
3089
3093
|
* Creating a new version of Schema Object by merging fields from referenced Schema Object with referencing one.
|
|
3090
3094
|
*/
|
|
3091
|
-
if ((0,
|
|
3095
|
+
if ((0,_speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_15__.isSchemaElement)(referencedElement)) {
|
|
3092
3096
|
const mergedElement = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_4__.cloneShallow)(referencedElement);
|
|
3093
3097
|
// assign unique id to merged element
|
|
3094
3098
|
mergedElement.meta.set('id', identityManager.generateId());
|
|
3095
3099
|
// existing keywords from referencing schema overrides ones from referenced schema
|
|
3096
3100
|
referencingElement.forEach((value, keyElement, item) => {
|
|
3097
|
-
mergedElement.remove((0,
|
|
3101
|
+
mergedElement.remove((0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(keyElement));
|
|
3098
3102
|
mergedElement.content.push(item);
|
|
3099
3103
|
});
|
|
3100
3104
|
mergedElement.remove('$ref');
|
|
3101
3105
|
// annotate referenced element with info about original referencing element
|
|
3102
3106
|
mergedElement.meta.set('ref-fields', {
|
|
3103
|
-
$ref: (0,
|
|
3107
|
+
$ref: (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(referencingElement.$ref)
|
|
3104
3108
|
});
|
|
3105
3109
|
// annotate fragment with info about origin
|
|
3106
3110
|
mergedElement.meta.set('ref-origin', reference.uri);
|
|
@@ -4058,7 +4062,11 @@ const detectionRegExp = /"arazzo"\s*:\s*"(?<version_json>1\.(?:[1-9]\d*|0)\.(?:[
|
|
|
4058
4062
|
/**
|
|
4059
4063
|
* @public
|
|
4060
4064
|
*/
|
|
4061
|
-
const detect = async source => detectionRegExp.test(source) && (await (0,_speclynx_apidom_parser_adapter_json__WEBPACK_IMPORTED_MODULE_4__.detect)(source));
|
|
4065
|
+
const detect = async (source, options = {}) => detectionRegExp.test(source) && (await (0,_speclynx_apidom_parser_adapter_json__WEBPACK_IMPORTED_MODULE_4__.detect)(source, options));
|
|
4066
|
+
|
|
4067
|
+
/**
|
|
4068
|
+
* @public
|
|
4069
|
+
*/
|
|
4062
4070
|
|
|
4063
4071
|
/**
|
|
4064
4072
|
* @public
|
|
@@ -10855,7 +10863,11 @@ const detectionRegExp = /(?<YAML>^(["']?)openapi\2\s*:\s*(["']?)(?<version_yaml>
|
|
|
10855
10863
|
/**
|
|
10856
10864
|
* @public
|
|
10857
10865
|
*/
|
|
10858
|
-
const detect = async source => detectionRegExp.test(source) && (await (0,_speclynx_apidom_parser_adapter_yaml_1_2__WEBPACK_IMPORTED_MODULE_4__.detect)(source));
|
|
10866
|
+
const detect = async (source, options = {}) => detectionRegExp.test(source) && (await (0,_speclynx_apidom_parser_adapter_yaml_1_2__WEBPACK_IMPORTED_MODULE_4__.detect)(source, options));
|
|
10867
|
+
|
|
10868
|
+
/**
|
|
10869
|
+
* @public
|
|
10870
|
+
*/
|
|
10859
10871
|
|
|
10860
10872
|
/**
|
|
10861
10873
|
* @public
|
|
@@ -14146,6 +14158,11 @@ class Parser {
|
|
|
14146
14158
|
*/
|
|
14147
14159
|
sourceMap;
|
|
14148
14160
|
|
|
14161
|
+
/**
|
|
14162
|
+
* Whether to use strict parsing (native JSON.parse/YAML instead of tree-sitter).
|
|
14163
|
+
*/
|
|
14164
|
+
strict;
|
|
14165
|
+
|
|
14149
14166
|
/**
|
|
14150
14167
|
* List of supported file extensions.
|
|
14151
14168
|
*/
|
|
@@ -14159,12 +14176,14 @@ class Parser {
|
|
|
14159
14176
|
name,
|
|
14160
14177
|
allowEmpty = true,
|
|
14161
14178
|
sourceMap = false,
|
|
14179
|
+
strict = true,
|
|
14162
14180
|
fileExtensions = [],
|
|
14163
14181
|
mediaTypes = []
|
|
14164
14182
|
}) {
|
|
14165
14183
|
this.name = name;
|
|
14166
14184
|
this.allowEmpty = allowEmpty;
|
|
14167
14185
|
this.sourceMap = sourceMap;
|
|
14186
|
+
this.strict = strict;
|
|
14168
14187
|
this.fileExtensions = fileExtensions;
|
|
14169
14188
|
this.mediaTypes = mediaTypes;
|
|
14170
14189
|
}
|
|
@@ -14962,7 +14981,7 @@ class ArazzoJSON1Parser extends _Parser_ts__WEBPACK_IMPORTED_MODULE_4__["default
|
|
|
14962
14981
|
async parse(file) {
|
|
14963
14982
|
const source = file.toString();
|
|
14964
14983
|
try {
|
|
14965
|
-
const parserOpts = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(['sourceMap', 'refractorOpts'], this);
|
|
14984
|
+
const parserOpts = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(['sourceMap', 'strict', 'refractorOpts'], this);
|
|
14966
14985
|
return await (0,_speclynx_apidom_parser_adapter_arazzo_json_1__WEBPACK_IMPORTED_MODULE_1__.parse)(source, parserOpts);
|
|
14967
14986
|
} catch (error) {
|
|
14968
14987
|
throw new _errors_ParserError_ts__WEBPACK_IMPORTED_MODULE_3__["default"](`Error parsing "${file.uri}"`, {
|
|
@@ -16478,7 +16497,11 @@ const detectionRegExp = /(?<YAML>^(["']?)arazzo\2\s*:\s*(["']?)(?<version_yaml>1
|
|
|
16478
16497
|
/**
|
|
16479
16498
|
* @public
|
|
16480
16499
|
*/
|
|
16481
|
-
const detect = async source => detectionRegExp.test(source) && (await (0,_speclynx_apidom_parser_adapter_yaml_1_2__WEBPACK_IMPORTED_MODULE_4__.detect)(source));
|
|
16500
|
+
const detect = async (source, options = {}) => detectionRegExp.test(source) && (await (0,_speclynx_apidom_parser_adapter_yaml_1_2__WEBPACK_IMPORTED_MODULE_4__.detect)(source, options));
|
|
16501
|
+
|
|
16502
|
+
/**
|
|
16503
|
+
* @public
|
|
16504
|
+
*/
|
|
16482
16505
|
|
|
16483
16506
|
/**
|
|
16484
16507
|
* @public
|
|
@@ -17995,7 +18018,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
17995
18018
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
17996
18019
|
/* harmony export */ VERSION: () => (/* binding */ VERSION)
|
|
17997
18020
|
/* harmony export */ });
|
|
17998
|
-
const VERSION = "1.13.
|
|
18021
|
+
const VERSION = "1.13.4";
|
|
17999
18022
|
|
|
18000
18023
|
/***/ },
|
|
18001
18024
|
|
|
@@ -26189,7 +26212,7 @@ class OpenAPIYAML3_0Parser extends _Parser_ts__WEBPACK_IMPORTED_MODULE_4__["defa
|
|
|
26189
26212
|
async parse(file) {
|
|
26190
26213
|
const source = file.toString();
|
|
26191
26214
|
try {
|
|
26192
|
-
const parserOpts = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(['sourceMap', 'refractorOpts'], this);
|
|
26215
|
+
const parserOpts = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(['sourceMap', 'strict', 'refractorOpts'], this);
|
|
26193
26216
|
return await (0,_speclynx_apidom_parser_adapter_openapi_yaml_3_0__WEBPACK_IMPORTED_MODULE_1__.parse)(source, parserOpts);
|
|
26194
26217
|
} catch (error) {
|
|
26195
26218
|
throw new _errors_ParserError_ts__WEBPACK_IMPORTED_MODULE_3__["default"](`Error parsing "${file.uri}"`, {
|
|
@@ -26574,7 +26597,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
26574
26597
|
/* harmony export */ syntacticAnalysis: () => (/* reexport safe */ _tree_sitter_index_mjs__WEBPACK_IMPORTED_MODULE_5__["default"])
|
|
26575
26598
|
/* harmony export */ });
|
|
26576
26599
|
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(55156);
|
|
26577
|
-
/* harmony import */ var _speclynx_apidom_error__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
26600
|
+
/* harmony import */ var _speclynx_apidom_error__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20746);
|
|
26578
26601
|
/* harmony import */ var _native_index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(38600);
|
|
26579
26602
|
/* harmony import */ var _tree_sitter_index_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(34885);
|
|
26580
26603
|
/* harmony import */ var _tree_sitter_index_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(19305);
|
|
@@ -26619,10 +26642,6 @@ const detect = async (source, {
|
|
|
26619
26642
|
* @public
|
|
26620
26643
|
*/
|
|
26621
26644
|
|
|
26622
|
-
/**
|
|
26623
|
-
* @public
|
|
26624
|
-
*/
|
|
26625
|
-
|
|
26626
26645
|
/**
|
|
26627
26646
|
* @public
|
|
26628
26647
|
*/
|
|
@@ -32248,7 +32267,7 @@ class OpenAPIYAML3_1Parser extends _Parser_ts__WEBPACK_IMPORTED_MODULE_4__["defa
|
|
|
32248
32267
|
async parse(file) {
|
|
32249
32268
|
const source = file.toString();
|
|
32250
32269
|
try {
|
|
32251
|
-
const parserOpts = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(['sourceMap', 'refractorOpts'], this);
|
|
32270
|
+
const parserOpts = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(['sourceMap', 'strict', 'refractorOpts'], this);
|
|
32252
32271
|
return await (0,_speclynx_apidom_parser_adapter_openapi_yaml_3_1__WEBPACK_IMPORTED_MODULE_1__.parse)(source, parserOpts);
|
|
32253
32272
|
} catch (error) {
|
|
32254
32273
|
throw new _errors_ParserError_ts__WEBPACK_IMPORTED_MODULE_3__["default"](`Error parsing "${file.uri}"`, {
|
|
@@ -33170,7 +33189,11 @@ const detectionRegExp = /(?<YAML>^(["']?)asyncapi\2\s*:\s*(["']?)(?<version_yaml
|
|
|
33170
33189
|
/**
|
|
33171
33190
|
* @public
|
|
33172
33191
|
*/
|
|
33173
|
-
const detect = async source => detectionRegExp.test(source) && (await (0,_speclynx_apidom_parser_adapter_yaml_1_2__WEBPACK_IMPORTED_MODULE_4__.detect)(source));
|
|
33192
|
+
const detect = async (source, options = {}) => detectionRegExp.test(source) && (await (0,_speclynx_apidom_parser_adapter_yaml_1_2__WEBPACK_IMPORTED_MODULE_4__.detect)(source, options));
|
|
33193
|
+
|
|
33194
|
+
/**
|
|
33195
|
+
* @public
|
|
33196
|
+
*/
|
|
33174
33197
|
|
|
33175
33198
|
/**
|
|
33176
33199
|
* @public
|
|
@@ -35528,7 +35551,7 @@ class AsyncAPIJSON2Parser extends _Parser_ts__WEBPACK_IMPORTED_MODULE_4__["defau
|
|
|
35528
35551
|
async parse(file) {
|
|
35529
35552
|
const source = file.toString();
|
|
35530
35553
|
try {
|
|
35531
|
-
const parserOpts = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(['sourceMap', 'refractorOpts'], this);
|
|
35554
|
+
const parserOpts = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(['sourceMap', 'strict', 'refractorOpts'], this);
|
|
35532
35555
|
return await (0,_speclynx_apidom_parser_adapter_asyncapi_json_2__WEBPACK_IMPORTED_MODULE_1__.parse)(source, parserOpts);
|
|
35533
35556
|
} catch (error) {
|
|
35534
35557
|
throw new _errors_ParserError_ts__WEBPACK_IMPORTED_MODULE_3__["default"](`Error parsing "${file.uri}"`, {
|
|
@@ -36412,6 +36435,58 @@ var and = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["defa
|
|
|
36412
36435
|
|
|
36413
36436
|
/***/ },
|
|
36414
36437
|
|
|
36438
|
+
/***/ 37205
|
|
36439
|
+
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
36440
|
+
|
|
36441
|
+
"use strict";
|
|
36442
|
+
__webpack_require__.r(__webpack_exports__);
|
|
36443
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
36444
|
+
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
|
|
36445
|
+
/* harmony export */ fixedFields: () => (/* binding */ fixedFields)
|
|
36446
|
+
/* harmony export */ });
|
|
36447
|
+
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(60728);
|
|
36448
|
+
|
|
36449
|
+
|
|
36450
|
+
/**
|
|
36451
|
+
* Represents a fixed field definition.
|
|
36452
|
+
* @public
|
|
36453
|
+
*/
|
|
36454
|
+
|
|
36455
|
+
/**
|
|
36456
|
+
* Returns the fixed fields for an Element class or instance.
|
|
36457
|
+
*
|
|
36458
|
+
* @param elementOrClass - Element instance or class
|
|
36459
|
+
* @param options - Options for return format
|
|
36460
|
+
* @returns Array of fixed fields, or object indexed by name if options.indexed is true
|
|
36461
|
+
*
|
|
36462
|
+
* @example
|
|
36463
|
+
* ```ts
|
|
36464
|
+
* import { fixedFields } from '@speclynx/apidom-core';
|
|
36465
|
+
*
|
|
36466
|
+
* // Get fixed fields as array
|
|
36467
|
+
* const fields = fixedFields(ParameterElement);
|
|
36468
|
+
*
|
|
36469
|
+
* // Get fixed fields as indexed object for O(1) lookups
|
|
36470
|
+
* const fieldsIndex = fixedFields(ParameterElement, { indexed: true });
|
|
36471
|
+
* if (Object.hasOwn(fieldsIndex, 'description')) {
|
|
36472
|
+
* // field exists
|
|
36473
|
+
* }
|
|
36474
|
+
* ```
|
|
36475
|
+
*
|
|
36476
|
+
* @public
|
|
36477
|
+
*/
|
|
36478
|
+
function fixedFields(elementOrClass, options) {
|
|
36479
|
+
const constructor = elementOrClass instanceof _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__["default"] ? elementOrClass.constructor : elementOrClass;
|
|
36480
|
+
const fields = constructor.fixedFields ?? [];
|
|
36481
|
+
if (options?.indexed) {
|
|
36482
|
+
return Object.fromEntries(fields.map(f => [f.name, f]));
|
|
36483
|
+
}
|
|
36484
|
+
return fields;
|
|
36485
|
+
}
|
|
36486
|
+
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (fixedFields);
|
|
36487
|
+
|
|
36488
|
+
/***/ },
|
|
36489
|
+
|
|
36415
36490
|
/***/ 37297
|
|
36416
36491
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
36417
36492
|
|
|
@@ -37378,6 +37453,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
37378
37453
|
* @public
|
|
37379
37454
|
*/
|
|
37380
37455
|
const detect = async source => {
|
|
37456
|
+
if (source.trim().length === 0) {
|
|
37457
|
+
return false;
|
|
37458
|
+
}
|
|
37381
37459
|
try {
|
|
37382
37460
|
JSON.parse(source);
|
|
37383
37461
|
return true;
|
|
@@ -37390,9 +37468,12 @@ const detect = async source => {
|
|
|
37390
37468
|
* @public
|
|
37391
37469
|
*/
|
|
37392
37470
|
const parse = async source => {
|
|
37471
|
+
const parseResult = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__["default"]();
|
|
37472
|
+
if (source.trim().length === 0) {
|
|
37473
|
+
return parseResult;
|
|
37474
|
+
}
|
|
37393
37475
|
const pojo = JSON.parse(source);
|
|
37394
37476
|
const element = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.refract)(pojo);
|
|
37395
|
-
const parseResult = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__["default"]();
|
|
37396
37477
|
element.classes.push('result');
|
|
37397
37478
|
parseResult.push(element);
|
|
37398
37479
|
return parseResult;
|
|
@@ -41297,7 +41378,7 @@ class AsyncAPIYAML2Parser extends _Parser_ts__WEBPACK_IMPORTED_MODULE_4__["defau
|
|
|
41297
41378
|
async parse(file) {
|
|
41298
41379
|
const source = file.toString();
|
|
41299
41380
|
try {
|
|
41300
|
-
const parserOpts = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(['sourceMap', 'refractorOpts'], this);
|
|
41381
|
+
const parserOpts = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(['sourceMap', 'strict', 'refractorOpts'], this);
|
|
41301
41382
|
return await (0,_speclynx_apidom_parser_adapter_asyncapi_yaml_2__WEBPACK_IMPORTED_MODULE_1__.parse)(source, parserOpts);
|
|
41302
41383
|
} catch (error) {
|
|
41303
41384
|
throw new _errors_ParserError_ts__WEBPACK_IMPORTED_MODULE_3__["default"](`Error parsing "${file.uri}"`, {
|
|
@@ -44236,7 +44317,7 @@ class OpenAPIYAML2Parser extends _Parser_ts__WEBPACK_IMPORTED_MODULE_4__["defaul
|
|
|
44236
44317
|
async parse(file) {
|
|
44237
44318
|
const source = file.toString();
|
|
44238
44319
|
try {
|
|
44239
|
-
const parserOpts = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(['sourceMap', 'refractorOpts'], this);
|
|
44320
|
+
const parserOpts = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(['sourceMap', 'strict', 'refractorOpts'], this);
|
|
44240
44321
|
return await (0,_speclynx_apidom_parser_adapter_openapi_yaml_2__WEBPACK_IMPORTED_MODULE_1__.parse)(source, parserOpts);
|
|
44241
44322
|
} catch (error) {
|
|
44242
44323
|
throw new _errors_ParserError_ts__WEBPACK_IMPORTED_MODULE_3__["default"](`Error parsing "${file.uri}"`, {
|
|
@@ -44569,7 +44650,11 @@ const detectionRegExp = /"openapi"\s*:\s*"(?<version_json>3\.0\.(?:[1-9]\d*|0))"
|
|
|
44569
44650
|
/**
|
|
44570
44651
|
* @public
|
|
44571
44652
|
*/
|
|
44572
|
-
const detect = async source => detectionRegExp.test(source) && (await (0,_speclynx_apidom_parser_adapter_json__WEBPACK_IMPORTED_MODULE_4__.detect)(source));
|
|
44653
|
+
const detect = async (source, options = {}) => detectionRegExp.test(source) && (await (0,_speclynx_apidom_parser_adapter_json__WEBPACK_IMPORTED_MODULE_4__.detect)(source, options));
|
|
44654
|
+
|
|
44655
|
+
/**
|
|
44656
|
+
* @public
|
|
44657
|
+
*/
|
|
44573
44658
|
|
|
44574
44659
|
/**
|
|
44575
44660
|
* @public
|
|
@@ -55185,7 +55270,7 @@ class JSONParser extends _Parser_ts__WEBPACK_IMPORTED_MODULE_4__["default"] {
|
|
|
55185
55270
|
async parse(file) {
|
|
55186
55271
|
const source = file.toString();
|
|
55187
55272
|
try {
|
|
55188
|
-
const parserOpts = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(['sourceMap'], this);
|
|
55273
|
+
const parserOpts = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(['sourceMap', 'strict'], this);
|
|
55189
55274
|
return await (0,_speclynx_apidom_parser_adapter_json__WEBPACK_IMPORTED_MODULE_1__.parse)(source, parserOpts);
|
|
55190
55275
|
} catch (error) {
|
|
55191
55276
|
throw new _errors_ParserError_ts__WEBPACK_IMPORTED_MODULE_3__["default"](`Error parsing "${file.uri}"`, {
|
|
@@ -62058,7 +62143,7 @@ class ArazzoYAML1Parser extends _Parser_ts__WEBPACK_IMPORTED_MODULE_4__["default
|
|
|
62058
62143
|
async parse(file) {
|
|
62059
62144
|
const source = file.toString();
|
|
62060
62145
|
try {
|
|
62061
|
-
const parserOpts = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(['sourceMap', 'refractorOpts'], this);
|
|
62146
|
+
const parserOpts = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(['sourceMap', 'strict', 'refractorOpts'], this);
|
|
62062
62147
|
return await (0,_speclynx_apidom_parser_adapter_arazzo_yaml_1__WEBPACK_IMPORTED_MODULE_1__.parse)(source, parserOpts);
|
|
62063
62148
|
} catch (error) {
|
|
62064
62149
|
throw new _errors_ParserError_ts__WEBPACK_IMPORTED_MODULE_3__["default"](`Error parsing "${file.uri}"`, {
|
|
@@ -64160,13 +64245,8 @@ class Axios {
|
|
|
64160
64245
|
|
|
64161
64246
|
promise = Promise.resolve(config);
|
|
64162
64247
|
|
|
64163
|
-
let prevResult = config;
|
|
64164
64248
|
while (i < len) {
|
|
64165
|
-
promise = promise
|
|
64166
|
-
.then(chain[i++])
|
|
64167
|
-
.then(result => { prevResult = result !== undefined ? result : prevResult })
|
|
64168
|
-
.catch(chain[i++])
|
|
64169
|
-
.then(() => prevResult);
|
|
64249
|
+
promise = promise.then(chain[i++], chain[i++]);
|
|
64170
64250
|
}
|
|
64171
64251
|
|
|
64172
64252
|
return promise;
|
|
@@ -64197,7 +64277,7 @@ class Axios {
|
|
|
64197
64277
|
len = responseInterceptorChain.length;
|
|
64198
64278
|
|
|
64199
64279
|
while (i < len) {
|
|
64200
|
-
promise = promise.then(responseInterceptorChain[i++]
|
|
64280
|
+
promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);
|
|
64201
64281
|
}
|
|
64202
64282
|
|
|
64203
64283
|
return promise;
|
|
@@ -66950,7 +67030,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
66950
67030
|
/* harmony export */ });
|
|
66951
67031
|
/* harmony import */ var yaml__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(53291);
|
|
66952
67032
|
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10404);
|
|
66953
|
-
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
|
|
67033
|
+
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(84660);
|
|
67034
|
+
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4823);
|
|
66954
67035
|
|
|
66955
67036
|
|
|
66956
67037
|
|
|
@@ -66958,9 +67039,15 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
66958
67039
|
* @public
|
|
66959
67040
|
*/
|
|
66960
67041
|
const detect = async source => {
|
|
67042
|
+
if (source.trim().length === 0) {
|
|
67043
|
+
return false;
|
|
67044
|
+
}
|
|
66961
67045
|
try {
|
|
66962
|
-
(0,yaml__WEBPACK_IMPORTED_MODULE_0__.
|
|
66963
|
-
|
|
67046
|
+
const document = (0,yaml__WEBPACK_IMPORTED_MODULE_0__.parseDocument)(source, {
|
|
67047
|
+
version: '1.2'
|
|
67048
|
+
});
|
|
67049
|
+
// Filter out MULTIPLE_DOCS errors (handled as warning in parse)
|
|
67050
|
+
return document.errors.filter(e => e.code !== 'MULTIPLE_DOCS').length === 0;
|
|
66964
67051
|
} catch {
|
|
66965
67052
|
return false;
|
|
66966
67053
|
}
|
|
@@ -66970,9 +67057,28 @@ const detect = async source => {
|
|
|
66970
67057
|
* @public
|
|
66971
67058
|
*/
|
|
66972
67059
|
const parse = async source => {
|
|
66973
|
-
const
|
|
66974
|
-
|
|
66975
|
-
|
|
67060
|
+
const parseResult = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__["default"]();
|
|
67061
|
+
if (source.trim().length === 0) {
|
|
67062
|
+
return parseResult;
|
|
67063
|
+
}
|
|
67064
|
+
const document = (0,yaml__WEBPACK_IMPORTED_MODULE_0__.parseDocument)(source, {
|
|
67065
|
+
version: '1.2'
|
|
67066
|
+
});
|
|
67067
|
+
|
|
67068
|
+
// Handle document errors
|
|
67069
|
+
for (const error of document.errors) {
|
|
67070
|
+
if (error.code === 'MULTIPLE_DOCS') {
|
|
67071
|
+
// Multiple documents warning (align with tree-sitter behavior)
|
|
67072
|
+
const message = 'Only first document within YAML stream will be used. Rest will be discarded.';
|
|
67073
|
+
const annotation = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__["default"](message);
|
|
67074
|
+
annotation.classes.push('warning');
|
|
67075
|
+
parseResult.push(annotation);
|
|
67076
|
+
} else {
|
|
67077
|
+
// Fatal error - throw
|
|
67078
|
+
throw error;
|
|
67079
|
+
}
|
|
67080
|
+
}
|
|
67081
|
+
const element = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.refract)(document.toJS());
|
|
66976
67082
|
element.classes.push('result');
|
|
66977
67083
|
parseResult.push(element);
|
|
66978
67084
|
return parseResult;
|
|
@@ -68631,7 +68737,7 @@ class OpenAPIJSON2Parser extends _Parser_ts__WEBPACK_IMPORTED_MODULE_4__["defaul
|
|
|
68631
68737
|
async parse(file) {
|
|
68632
68738
|
const source = file.toString();
|
|
68633
68739
|
try {
|
|
68634
|
-
const parserOpts = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(['sourceMap', 'refractorOpts'], this);
|
|
68740
|
+
const parserOpts = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(['sourceMap', 'strict', 'refractorOpts'], this);
|
|
68635
68741
|
return await (0,_speclynx_apidom_parser_adapter_openapi_json_2__WEBPACK_IMPORTED_MODULE_1__.parse)(source, parserOpts);
|
|
68636
68742
|
} catch (error) {
|
|
68637
68743
|
throw new _errors_ParserError_ts__WEBPACK_IMPORTED_MODULE_3__["default"](`Error parsing "${file.uri}"`, {
|
|
@@ -72059,7 +72165,11 @@ const detectionRegExp = /(?<YAML>^(["']?)openapi\2\s*:\s*(["']?)(?<version_yaml>
|
|
|
72059
72165
|
/**
|
|
72060
72166
|
* @public
|
|
72061
72167
|
*/
|
|
72062
|
-
const detect = async source => detectionRegExp.test(source) && (await (0,_speclynx_apidom_parser_adapter_yaml_1_2__WEBPACK_IMPORTED_MODULE_4__.detect)(source));
|
|
72168
|
+
const detect = async (source, options = {}) => detectionRegExp.test(source) && (await (0,_speclynx_apidom_parser_adapter_yaml_1_2__WEBPACK_IMPORTED_MODULE_4__.detect)(source, options));
|
|
72169
|
+
|
|
72170
|
+
/**
|
|
72171
|
+
* @public
|
|
72172
|
+
*/
|
|
72063
72173
|
|
|
72064
72174
|
/**
|
|
72065
72175
|
* @public
|
|
@@ -72145,7 +72255,11 @@ const detectionRegExp = /"asyncapi"\s*:\s*"(?<version_json>2\.(?:[1-9]\d*|0)\.(?
|
|
|
72145
72255
|
/**
|
|
72146
72256
|
* @public
|
|
72147
72257
|
*/
|
|
72148
|
-
const detect = async source => detectionRegExp.test(source) && (await (0,_speclynx_apidom_parser_adapter_json__WEBPACK_IMPORTED_MODULE_4__.detect)(source));
|
|
72258
|
+
const detect = async (source, options = {}) => detectionRegExp.test(source) && (await (0,_speclynx_apidom_parser_adapter_json__WEBPACK_IMPORTED_MODULE_4__.detect)(source, options));
|
|
72259
|
+
|
|
72260
|
+
/**
|
|
72261
|
+
* @public
|
|
72262
|
+
*/
|
|
72149
72263
|
|
|
72150
72264
|
/**
|
|
72151
72265
|
* @public
|
|
@@ -75567,7 +75681,11 @@ const detectionRegExp = /"swagger"\s*:\s*"(?<version_json>2\.0)"/;
|
|
|
75567
75681
|
/**
|
|
75568
75682
|
* @public
|
|
75569
75683
|
*/
|
|
75570
|
-
const detect = async source => detectionRegExp.test(source) && (await (0,_speclynx_apidom_parser_adapter_json__WEBPACK_IMPORTED_MODULE_4__.detect)(source));
|
|
75684
|
+
const detect = async (source, options = {}) => detectionRegExp.test(source) && (await (0,_speclynx_apidom_parser_adapter_json__WEBPACK_IMPORTED_MODULE_4__.detect)(source, options));
|
|
75685
|
+
|
|
75686
|
+
/**
|
|
75687
|
+
* @public
|
|
75688
|
+
*/
|
|
75571
75689
|
|
|
75572
75690
|
/**
|
|
75573
75691
|
* @public
|
|
@@ -78615,7 +78733,7 @@ class OpenAPIJSON3_1Parser extends _Parser_ts__WEBPACK_IMPORTED_MODULE_4__["defa
|
|
|
78615
78733
|
async parse(file) {
|
|
78616
78734
|
const source = file.toString();
|
|
78617
78735
|
try {
|
|
78618
|
-
const parserOpts = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(['sourceMap', 'refractorOpts'], this);
|
|
78736
|
+
const parserOpts = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(['sourceMap', 'strict', 'refractorOpts'], this);
|
|
78619
78737
|
return await (0,_speclynx_apidom_parser_adapter_openapi_json_3_1__WEBPACK_IMPORTED_MODULE_1__.parse)(source, parserOpts);
|
|
78620
78738
|
} catch (error) {
|
|
78621
78739
|
throw new _errors_ParserError_ts__WEBPACK_IMPORTED_MODULE_3__["default"](`Error parsing "${file.uri}"`, {
|
|
@@ -80539,7 +80657,11 @@ const detectionRegExp = /"openapi"\s*:\s*"(?<version_json>3\.1\.(?:[1-9]\d*|0))"
|
|
|
80539
80657
|
/**
|
|
80540
80658
|
* @public
|
|
80541
80659
|
*/
|
|
80542
|
-
const detect = async source => detectionRegExp.test(source) && (await (0,_speclynx_apidom_parser_adapter_json__WEBPACK_IMPORTED_MODULE_4__.detect)(source));
|
|
80660
|
+
const detect = async (source, options = {}) => detectionRegExp.test(source) && (await (0,_speclynx_apidom_parser_adapter_json__WEBPACK_IMPORTED_MODULE_4__.detect)(source, options));
|
|
80661
|
+
|
|
80662
|
+
/**
|
|
80663
|
+
* @public
|
|
80664
|
+
*/
|
|
80543
80665
|
|
|
80544
80666
|
/**
|
|
80545
80667
|
* @public
|
|
@@ -80785,7 +80907,11 @@ const detectionRegExp = /(?<YAML>^(["']?)swagger\2\s*:\s*(["'])(?<version_yaml>2
|
|
|
80785
80907
|
/**
|
|
80786
80908
|
* @public
|
|
80787
80909
|
*/
|
|
80788
|
-
const detect = async source => detectionRegExp.test(source) && (await (0,_speclynx_apidom_parser_adapter_yaml_1_2__WEBPACK_IMPORTED_MODULE_4__.detect)(source));
|
|
80910
|
+
const detect = async (source, options = {}) => detectionRegExp.test(source) && (await (0,_speclynx_apidom_parser_adapter_yaml_1_2__WEBPACK_IMPORTED_MODULE_4__.detect)(source, options));
|
|
80911
|
+
|
|
80912
|
+
/**
|
|
80913
|
+
* @public
|
|
80914
|
+
*/
|
|
80789
80915
|
|
|
80790
80916
|
/**
|
|
80791
80917
|
* @public
|
|
@@ -84964,7 +85090,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
84964
85090
|
/* harmony export */ syntacticAnalysis: () => (/* reexport safe */ _tree_sitter_index_mjs__WEBPACK_IMPORTED_MODULE_5__["default"])
|
|
84965
85091
|
/* harmony export */ });
|
|
84966
85092
|
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(55156);
|
|
84967
|
-
/* harmony import */ var _speclynx_apidom_error__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
85093
|
+
/* harmony import */ var _speclynx_apidom_error__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20746);
|
|
84968
85094
|
/* harmony import */ var _yaml_index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(69124);
|
|
84969
85095
|
/* harmony import */ var _tree_sitter_index_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(10405);
|
|
84970
85096
|
/* harmony import */ var _tree_sitter_index_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(47657);
|
|
@@ -85004,10 +85130,6 @@ const detect = async (source, {
|
|
|
85004
85130
|
* @public
|
|
85005
85131
|
*/
|
|
85006
85132
|
|
|
85007
|
-
/**
|
|
85008
|
-
* @public
|
|
85009
|
-
*/
|
|
85010
|
-
|
|
85011
85133
|
/**
|
|
85012
85134
|
* @public
|
|
85013
85135
|
*/
|
|
@@ -86175,7 +86297,8 @@ class YAML1Parser extends _Parser_ts__WEBPACK_IMPORTED_MODULE_3__["default"] {
|
|
|
86175
86297
|
const source = file.toString();
|
|
86176
86298
|
try {
|
|
86177
86299
|
return await (0,_speclynx_apidom_parser_adapter_yaml_1_2__WEBPACK_IMPORTED_MODULE_0__.parse)(source, {
|
|
86178
|
-
sourceMap: this.sourceMap
|
|
86300
|
+
sourceMap: this.sourceMap,
|
|
86301
|
+
strict: this.strict
|
|
86179
86302
|
});
|
|
86180
86303
|
} catch (error) {
|
|
86181
86304
|
throw new _errors_ParserError_ts__WEBPACK_IMPORTED_MODULE_2__["default"](`Error parsing "${file.uri}"`, {
|
|
@@ -88922,7 +89045,7 @@ class OpenAPIJSON3_0Parser extends _Parser_ts__WEBPACK_IMPORTED_MODULE_4__["defa
|
|
|
88922
89045
|
async parse(file) {
|
|
88923
89046
|
const source = file.toString();
|
|
88924
89047
|
try {
|
|
88925
|
-
const parserOpts = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(['sourceMap', 'refractorOpts'], this);
|
|
89048
|
+
const parserOpts = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(['sourceMap', 'strict', 'refractorOpts'], this);
|
|
88926
89049
|
return await (0,_speclynx_apidom_parser_adapter_openapi_json_3_0__WEBPACK_IMPORTED_MODULE_1__.parse)(source, parserOpts);
|
|
88927
89050
|
} catch (error) {
|
|
88928
89051
|
throw new _errors_ParserError_ts__WEBPACK_IMPORTED_MODULE_3__["default"](`Error parsing "${file.uri}"`, {
|