@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.
Files changed (34) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/apidom-reference.browser.js +296 -173
  3. package/dist/apidom-reference.browser.min.js +1 -1
  4. package/package.json +25 -25
  5. package/src/dereference/strategies/openapi-3-1/visitor.cjs +5 -2
  6. package/src/dereference/strategies/openapi-3-1/visitor.mjs +6 -3
  7. package/src/parse/parsers/Parser.cjs +7 -0
  8. package/src/parse/parsers/Parser.mjs +7 -0
  9. package/src/parse/parsers/arazzo-json-1/index.cjs +1 -1
  10. package/src/parse/parsers/arazzo-json-1/index.mjs +1 -1
  11. package/src/parse/parsers/arazzo-yaml-1/index.cjs +1 -1
  12. package/src/parse/parsers/arazzo-yaml-1/index.mjs +1 -1
  13. package/src/parse/parsers/asyncapi-json-2/index.cjs +1 -1
  14. package/src/parse/parsers/asyncapi-json-2/index.mjs +1 -1
  15. package/src/parse/parsers/asyncapi-yaml-2/index.cjs +1 -1
  16. package/src/parse/parsers/asyncapi-yaml-2/index.mjs +1 -1
  17. package/src/parse/parsers/json/index.cjs +1 -1
  18. package/src/parse/parsers/json/index.mjs +1 -1
  19. package/src/parse/parsers/openapi-json-2/index.cjs +1 -1
  20. package/src/parse/parsers/openapi-json-2/index.mjs +1 -1
  21. package/src/parse/parsers/openapi-json-3-0/index.cjs +1 -1
  22. package/src/parse/parsers/openapi-json-3-0/index.mjs +1 -1
  23. package/src/parse/parsers/openapi-json-3-1/index.cjs +1 -1
  24. package/src/parse/parsers/openapi-json-3-1/index.mjs +1 -1
  25. package/src/parse/parsers/openapi-yaml-2/index.cjs +1 -1
  26. package/src/parse/parsers/openapi-yaml-2/index.mjs +1 -1
  27. package/src/parse/parsers/openapi-yaml-3-0/index.cjs +1 -1
  28. package/src/parse/parsers/openapi-yaml-3-0/index.mjs +1 -1
  29. package/src/parse/parsers/openapi-yaml-3-1/index.cjs +1 -1
  30. package/src/parse/parsers/openapi-yaml-3-1/index.mjs +1 -1
  31. package/src/parse/parsers/yaml-1-2/index.cjs +2 -1
  32. package/src/parse/parsers/yaml-1-2/index.mjs +2 -1
  33. package/types/apidom-reference.d.ts +6 -1
  34. 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__(41482);
2355
- /* harmony import */ var _speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(44673);
2356
- /* harmony import */ var _speclynx_apidom_error__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(16126);
2357
- /* harmony import */ var _speclynx_apidom_traverse__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(80796);
2358
- /* harmony import */ var _speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(12020);
2359
- /* harmony import */ var _speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(61198);
2360
- /* harmony import */ var _speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(21314);
2361
- /* harmony import */ var _speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(24329);
2362
- /* harmony import */ var _speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(76332);
2363
- /* harmony import */ var _selectors_$anchor_ts__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(32054);
2364
- /* harmony import */ var _selectors_uri_ts__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(56481);
2365
- /* harmony import */ var _errors_MaximumDereferenceDepthError_ts__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(37757);
2366
- /* harmony import */ var _errors_MaximumResolveDepthError_ts__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(51325);
2367
- /* harmony import */ var _util_url_ts__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(30658);
2368
- /* harmony import */ var _parse_index_ts__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(35014);
2369
- /* harmony import */ var _Reference_ts__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(98979);
2370
- /* harmony import */ var _File_ts__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(10682);
2371
- /* harmony import */ var _util_ts__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(60888);
2372
- /* harmony import */ var _util_ts__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(53429);
2373
- /* harmony import */ var _errors_EvaluationJsonSchemaUriError_ts__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(44477);
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 _speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_6__.IdentityManager();
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 _util_ts__WEBPACK_IMPORTED_MODULE_24__.AncestorLineage(),
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 _util_ts__WEBPACK_IMPORTED_MODULE_24__.AncestorLineage(...ancestors);
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 _util_url_ts__WEBPACK_IMPORTED_MODULE_19__.resolve(this.reference.uri, _util_url_ts__WEBPACK_IMPORTED_MODULE_19__.sanitize(_util_url_ts__WEBPACK_IMPORTED_MODULE_19__.stripHash(uri)));
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 _errors_MaximumResolveDepthError_ts__WEBPACK_IMPORTED_MODULE_18__["default"](`Maximum resolution depth of ${this.options.resolve.maxDepth} has been exceeded by file "${this.reference.uri}"`);
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,_parse_index_ts__WEBPACK_IMPORTED_MODULE_20__["default"])(_util_url_ts__WEBPACK_IMPORTED_MODULE_19__.unsanitize(baseURI), {
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 _Reference_ts__WEBPACK_IMPORTED_MODULE_21__["default"]({
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 _Reference_ts__WEBPACK_IMPORTED_MODULE_21__["default"]({
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 _util_ts__WEBPACK_IMPORTED_MODULE_24__.AncestorLineage(...this.ancestors, directAncestors);
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,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(referencingElement.$ref));
2488
- const isInternalReference = _util_url_ts__WEBPACK_IMPORTED_MODULE_19__.stripHash(this.reference.uri) === retrievalURI;
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,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(referencingElement.$ref));
2504
- const $refBaseURI = _util_url_ts__WEBPACK_IMPORTED_MODULE_19__.resolve(retrievalURI, (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(referencingElement.$ref));
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 = _speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_11__.URIFragmentIdentifier.fromURIReference($refBaseURI);
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,_speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_10__.evaluate)(reference.value.result, jsonPointer);
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,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(referencingElement.meta.get('referenced-element'));
2515
- const cacheKey = `${referencedElementType}-${(0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(identityManager.identify(referencedElement))}`;
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,_speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_12__.isReferenceLikeElement)(referencedElement)) {
2519
+ } else if ((0,_speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_13__.isReferenceLikeElement)(referencedElement)) {
2519
2520
  // handling indirect references
2520
- referencedElement = (0,_speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_13__.refractReference)(referencedElement);
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,_speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_13__["default"])(referencedElement, {
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 _speclynx_apidom_error__WEBPACK_IMPORTED_MODULE_8__["default"]('Recursive Reference Object detected');
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 _errors_MaximumDereferenceDepthError_ts__WEBPACK_IMPORTED_MODULE_17__["default"](`Maximum dereference depth of "${this.options.dereference.maxDepth}" has been exceeded in file "${this.reference.uri}"`);
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 _speclynx_apidom_error__WEBPACK_IMPORTED_MODULE_8__["default"]('Circular reference detected');
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,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(referencingElement.$ref)
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 = _util_url_ts__WEBPACK_IMPORTED_MODULE_19__.stripHash(reference.refSet.rootRef.uri) !== reference.uri;
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,_speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_14__.isReferenceElement)(referencedElement) || shouldDetectCircular) && !ancestorsLineage.includesCycle(referencedElement)) {
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,_speclynx_apidom_traverse__WEBPACK_IMPORTED_MODULE_9__.traverseAsync)(referencedElement, visitor, {
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,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(referencingElement.$ref),
2601
+ $ref: (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(referencingElement.$ref),
2601
2602
  // @ts-ignore
2602
- description: (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(referencingElement.description),
2603
+ description: (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_8__["default"])(referencingElement.description),
2603
2604
  // @ts-ignore
2604
- summary: (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(referencingElement.summary)
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
- if (referencingElement.hasKey('description') && 'description' in referencedElement) {
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' in referencedElement) {
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,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(referencingElement.$ref));
2643
- const isInternalReference = _util_url_ts__WEBPACK_IMPORTED_MODULE_19__.stripHash(this.reference.uri) === retrievalURI;
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,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(referencingElement.$ref));
2657
- const $refBaseURI = _util_url_ts__WEBPACK_IMPORTED_MODULE_19__.resolve(retrievalURI, (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(referencingElement.$ref));
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 = _speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_11__.URIFragmentIdentifier.fromURIReference($refBaseURI);
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,_speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_10__.evaluate)(reference.value.result, jsonPointer);
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,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(identityManager.identify(referencedElement))}`;
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,_speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_13__.refractPathItem)(referencedElement);
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 _speclynx_apidom_error__WEBPACK_IMPORTED_MODULE_8__["default"]('Recursive Path Item Object reference detected');
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 _errors_MaximumDereferenceDepthError_ts__WEBPACK_IMPORTED_MODULE_17__["default"](`Maximum dereference depth of "${this.options.dereference.maxDepth}" has been exceeded in file "${this.reference.uri}"`);
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 _speclynx_apidom_error__WEBPACK_IMPORTED_MODULE_8__["default"]('Circular reference detected');
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,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(referencingElement.$ref)
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 = _util_url_ts__WEBPACK_IMPORTED_MODULE_19__.stripHash(reference.refSet.rootRef.uri) !== reference.uri;
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,_speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_14__.isPathItemElement)(referencedElement) && (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__.isStringElement)(referencedElement.$ref) || shouldDetectCircular) && !ancestorsLineage.includesCycle(referencedElement)) {
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,_speclynx_apidom_traverse__WEBPACK_IMPORTED_MODULE_9__.traverseAsync)(referencedElement, visitor, {
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,_speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_14__.isPathItemElement)(referencedElement)) {
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,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(keyElement));
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,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(referencingElement.$ref)
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 _speclynx_apidom_error__WEBPACK_IMPORTED_MODULE_8__["default"]('LinkElement operationRef and operationId fields are mutually exclusive.');
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 = _speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_11__.URIFragmentIdentifier.fromURIReference((0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(linkElement.operationRef));
2784
- const retrievalURI = this.toBaseURI((0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(linkElement.operationRef));
2785
- const isInternalReference = _util_url_ts__WEBPACK_IMPORTED_MODULE_19__.stripHash(this.reference.uri) === retrievalURI;
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,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(linkElement.operationRef));
2799
- operationElement = (0,_speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_10__.evaluate)(reference.value.result, jsonPointer);
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,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(identityManager.identify(operationElement))}`;
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,_speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_13__.refractOperation)(operationElement);
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,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(linkElement.operationId);
2825
- const reference = await this.toReference(_util_url_ts__WEBPACK_IMPORTED_MODULE_19__.unsanitize(this.reference.uri));
2826
- operationElement = (0,_speclynx_apidom_traverse__WEBPACK_IMPORTED_MODULE_9__.find)(reference.value.result, e => (0,_speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_14__.isOperationElement)(e) && (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__.isElement)(e.operationId) && e.operationId.equals(operationId));
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 _speclynx_apidom_error__WEBPACK_IMPORTED_MODULE_8__["default"](`OperationElement(operationId=${operationId}) not found.`);
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 _speclynx_apidom_error__WEBPACK_IMPORTED_MODULE_8__["default"]('ExampleElement value and externalValue fields are mutually exclusive.');
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,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(exampleElement.externalValue));
2853
- const isInternalReference = _util_url_ts__WEBPACK_IMPORTED_MODULE_19__.stripHash(this.reference.uri) === retrievalURI;
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,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(exampleElement.externalValue));
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(_util_url_ts__WEBPACK_IMPORTED_MODULE_19__.unsanitize(this.reference.uri));
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,_util_ts__WEBPACK_IMPORTED_MODULE_23__.resolveSchema$refField)(retrievalURI, referencingElement);
2901
- const $refBaseURIStrippedHash = _util_url_ts__WEBPACK_IMPORTED_MODULE_19__.stripHash($refBaseURI);
2902
- const file = new _File_ts__WEBPACK_IMPORTED_MODULE_22__["default"]({
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 = _util_url_ts__WEBPACK_IMPORTED_MODULE_19__.stripHash(this.reference.uri) === $refBaseURI;
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,_util_ts__WEBPACK_IMPORTED_MODULE_23__.maybeRefractToSchemaElement)(reference.value.result);
2919
- referencedElement = (0,_selectors_uri_ts__WEBPACK_IMPORTED_MODULE_16__.evaluate)(selector, referenceAsSchema);
2920
- referencedElement = (0,_util_ts__WEBPACK_IMPORTED_MODULE_23__.maybeRefractToSchemaElement)(referencedElement);
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 = _util_url_ts__WEBPACK_IMPORTED_MODULE_19__.stripHash(this.reference.uri) === retrievalURI;
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(_util_url_ts__WEBPACK_IMPORTED_MODULE_19__.unsanitize($refBaseURI));
2950
- const selector = _speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_11__.URIFragmentIdentifier.fromURIReference($refBaseURI);
2951
- const referenceAsSchema = (0,_util_ts__WEBPACK_IMPORTED_MODULE_23__.maybeRefractToSchemaElement)(reference.value.result);
2952
- referencedElement = (0,_speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_10__.evaluate)(referenceAsSchema, selector);
2953
- referencedElement = (0,_util_ts__WEBPACK_IMPORTED_MODULE_23__.maybeRefractToSchemaElement)(referencedElement);
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 _errors_EvaluationJsonSchemaUriError_ts__WEBPACK_IMPORTED_MODULE_25__["default"]) {
2962
- if ((0,_selectors_$anchor_ts__WEBPACK_IMPORTED_MODULE_15__.isAnchor)((0,_selectors_$anchor_ts__WEBPACK_IMPORTED_MODULE_15__.uriToAnchor)($refBaseURI))) {
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 = _util_url_ts__WEBPACK_IMPORTED_MODULE_19__.stripHash(this.reference.uri) === retrievalURI;
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(_util_url_ts__WEBPACK_IMPORTED_MODULE_19__.unsanitize($refBaseURI));
2978
- const selector = (0,_selectors_$anchor_ts__WEBPACK_IMPORTED_MODULE_15__.uriToAnchor)($refBaseURI);
2979
- const referenceAsSchema = (0,_util_ts__WEBPACK_IMPORTED_MODULE_23__.maybeRefractToSchemaElement)(reference.value.result);
2980
- referencedElement = (0,_selectors_$anchor_ts__WEBPACK_IMPORTED_MODULE_15__.evaluate)(selector, referenceAsSchema);
2981
- referencedElement = (0,_util_ts__WEBPACK_IMPORTED_MODULE_23__.maybeRefractToSchemaElement)(referencedElement);
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 = _util_url_ts__WEBPACK_IMPORTED_MODULE_19__.stripHash(this.reference.uri) === retrievalURI;
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(_util_url_ts__WEBPACK_IMPORTED_MODULE_19__.unsanitize($refBaseURI));
3000
- const selector = _speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_11__.URIFragmentIdentifier.fromURIReference($refBaseURI);
3001
- const referenceAsSchema = (0,_util_ts__WEBPACK_IMPORTED_MODULE_23__.maybeRefractToSchemaElement)(reference.value.result);
3002
- referencedElement = (0,_speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_10__.evaluate)(referenceAsSchema, selector);
3003
- referencedElement = (0,_util_ts__WEBPACK_IMPORTED_MODULE_23__.maybeRefractToSchemaElement)(referencedElement);
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 _speclynx_apidom_error__WEBPACK_IMPORTED_MODULE_8__["default"]('Recursive Schema Object reference detected');
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 _errors_MaximumDereferenceDepthError_ts__WEBPACK_IMPORTED_MODULE_17__["default"](`Maximum dereference depth of "${this.options.dereference.maxDepth}" has been exceeded in file "${this.reference.uri}"`);
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 _speclynx_apidom_error__WEBPACK_IMPORTED_MODULE_8__["default"]('Circular reference detected');
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,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(referencingElement.$ref)
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 = _util_url_ts__WEBPACK_IMPORTED_MODULE_19__.stripHash(reference.refSet.rootRef.uri) !== reference.uri;
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,_speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_14__.isSchemaElement)(referencedElement) && (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__.isStringElement)(referencedElement.$ref) || shouldDetectCircular) && !ancestorsLineage.includesCycle(referencedElement)) {
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,_speclynx_apidom_traverse__WEBPACK_IMPORTED_MODULE_9__.traverseAsync)(referencedElement, visitor, {
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,_speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_14__.isBooleanJsonSchemaElement)(referencedElement)) {
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,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(referencingElement.$ref)
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,_speclynx_apidom_ns_openapi_3_1__WEBPACK_IMPORTED_MODULE_14__.isSchemaElement)(referencedElement)) {
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,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(keyElement));
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,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(referencingElement.$ref)
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.3";
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__(16126);
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++]).catch(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__(4823);
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__.parse)(source);
66963
- return true;
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 pojo = (0,yaml__WEBPACK_IMPORTED_MODULE_0__.parse)(source);
66974
- const element = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.refract)(pojo);
66975
- const parseResult = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__["default"]();
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__(16126);
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}"`, {