@speclynx/apidom-parser-adapter-openapi-json-3-0 4.0.4 → 4.0.5

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 CHANGED
@@ -3,6 +3,10 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [4.0.5](https://github.com/speclynx/apidom/compare/v4.0.4...v4.0.5) (2026-03-13)
7
+
8
+ **Note:** Version bump only for package @speclynx/apidom-parser-adapter-openapi-json-3-0
9
+
6
10
  ## [4.0.4](https://github.com/speclynx/apidom/compare/v4.0.3...v4.0.4) (2026-03-12)
7
11
 
8
12
  ### Bug Fixes
@@ -35394,9 +35394,9 @@ const mergeVisitors = (visitors, options = {}) => {
35394
35394
  }
35395
35395
 
35396
35396
  // Handle path-based control flow
35397
+ // Note: no break here — other merged visitors must still process this node
35397
35398
  if (proxyPath.shouldStop) {
35398
35399
  skipping[i] = breakSymbol;
35399
- break;
35400
35400
  }
35401
35401
  if (proxyPath.shouldSkip) {
35402
35402
  skipping[i] = currentNode;
@@ -35427,6 +35427,11 @@ const mergeVisitors = (visitors, options = {}) => {
35427
35427
  }
35428
35428
  }
35429
35429
  }
35430
+
35431
+ // stop traversal only when all visitors have stopped
35432
+ if (skipping.every(s => s === breakSymbol)) {
35433
+ path.stop();
35434
+ }
35430
35435
  if (hasChanged) {
35431
35436
  path.replaceWith(currentNode);
35432
35437
  return currentNode;
@@ -35452,9 +35457,9 @@ const mergeVisitors = (visitors, options = {}) => {
35452
35457
  }
35453
35458
 
35454
35459
  // Handle path-based control flow
35460
+ // Note: no break here — other merged visitors must still process this node
35455
35461
  if (proxyPath.shouldStop) {
35456
35462
  skipping[i] = breakSymbol;
35457
- break;
35458
35463
  }
35459
35464
  if (proxyPath.removed) {
35460
35465
  path.remove();
@@ -35474,6 +35479,11 @@ const mergeVisitors = (visitors, options = {}) => {
35474
35479
  skipping[i] = internalSkipSymbol;
35475
35480
  }
35476
35481
  }
35482
+
35483
+ // stop traversal only when all visitors have stopped
35484
+ if (skipping.every(s => s === breakSymbol)) {
35485
+ path.stop();
35486
+ }
35477
35487
  return undefined;
35478
35488
  }
35479
35489
  };
@@ -35502,9 +35512,11 @@ const mergeVisitorsAsync = (visitors, options = {}) => {
35502
35512
  if (typeof visitFn === 'function') {
35503
35513
  const proxyPath = createPathProxy(path, currentNode);
35504
35514
  const result = await visitFn.call(visitors[i], proxyPath);
35515
+
35516
+ // Handle path-based control flow
35517
+ // Note: no break here — other merged visitors must still process this node
35505
35518
  if (proxyPath.shouldStop) {
35506
35519
  skipping[i] = breakSymbol;
35507
- break;
35508
35520
  }
35509
35521
  if (proxyPath.shouldSkip) {
35510
35522
  skipping[i] = currentNode;
@@ -35534,6 +35546,11 @@ const mergeVisitorsAsync = (visitors, options = {}) => {
35534
35546
  }
35535
35547
  }
35536
35548
  }
35549
+
35550
+ // stop traversal only when all visitors have stopped
35551
+ if (skipping.every(s => s === breakSymbol)) {
35552
+ path.stop();
35553
+ }
35537
35554
  if (hasChanged) {
35538
35555
  path.replaceWith(currentNode);
35539
35556
  return currentNode;
@@ -35548,9 +35565,11 @@ const mergeVisitorsAsync = (visitors, options = {}) => {
35548
35565
  if (typeof visitFn === 'function') {
35549
35566
  const proxyPath = createPathProxy(path, currentNode);
35550
35567
  const result = await visitFn.call(visitors[i], proxyPath);
35568
+
35569
+ // Handle path-based control flow
35570
+ // Note: no break here — other merged visitors must still process this node
35551
35571
  if (proxyPath.shouldStop) {
35552
35572
  skipping[i] = breakSymbol;
35553
- break;
35554
35573
  }
35555
35574
  if (proxyPath.removed) {
35556
35575
  path.remove();
@@ -35569,6 +35588,11 @@ const mergeVisitorsAsync = (visitors, options = {}) => {
35569
35588
  skipping[i] = internalSkipSymbol;
35570
35589
  }
35571
35590
  }
35591
+
35592
+ // stop traversal only when all visitors have stopped
35593
+ if (skipping.every(s => s === breakSymbol)) {
35594
+ path.stop();
35595
+ }
35572
35596
  return undefined;
35573
35597
  }
35574
35598
  };