@speclynx/apidom-parser-adapter-json-schema-json-2020-12 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-json-schema-json-2020-12
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
@@ -29483,9 +29483,9 @@ const mergeVisitors = (visitors, options = {}) => {
29483
29483
  }
29484
29484
 
29485
29485
  // Handle path-based control flow
29486
+ // Note: no break here — other merged visitors must still process this node
29486
29487
  if (proxyPath.shouldStop) {
29487
29488
  skipping[i] = breakSymbol;
29488
- break;
29489
29489
  }
29490
29490
  if (proxyPath.shouldSkip) {
29491
29491
  skipping[i] = currentNode;
@@ -29516,6 +29516,11 @@ const mergeVisitors = (visitors, options = {}) => {
29516
29516
  }
29517
29517
  }
29518
29518
  }
29519
+
29520
+ // stop traversal only when all visitors have stopped
29521
+ if (skipping.every(s => s === breakSymbol)) {
29522
+ path.stop();
29523
+ }
29519
29524
  if (hasChanged) {
29520
29525
  path.replaceWith(currentNode);
29521
29526
  return currentNode;
@@ -29541,9 +29546,9 @@ const mergeVisitors = (visitors, options = {}) => {
29541
29546
  }
29542
29547
 
29543
29548
  // Handle path-based control flow
29549
+ // Note: no break here — other merged visitors must still process this node
29544
29550
  if (proxyPath.shouldStop) {
29545
29551
  skipping[i] = breakSymbol;
29546
- break;
29547
29552
  }
29548
29553
  if (proxyPath.removed) {
29549
29554
  path.remove();
@@ -29563,6 +29568,11 @@ const mergeVisitors = (visitors, options = {}) => {
29563
29568
  skipping[i] = internalSkipSymbol;
29564
29569
  }
29565
29570
  }
29571
+
29572
+ // stop traversal only when all visitors have stopped
29573
+ if (skipping.every(s => s === breakSymbol)) {
29574
+ path.stop();
29575
+ }
29566
29576
  return undefined;
29567
29577
  }
29568
29578
  };
@@ -29591,9 +29601,11 @@ const mergeVisitorsAsync = (visitors, options = {}) => {
29591
29601
  if (typeof visitFn === 'function') {
29592
29602
  const proxyPath = createPathProxy(path, currentNode);
29593
29603
  const result = await visitFn.call(visitors[i], proxyPath);
29604
+
29605
+ // Handle path-based control flow
29606
+ // Note: no break here — other merged visitors must still process this node
29594
29607
  if (proxyPath.shouldStop) {
29595
29608
  skipping[i] = breakSymbol;
29596
- break;
29597
29609
  }
29598
29610
  if (proxyPath.shouldSkip) {
29599
29611
  skipping[i] = currentNode;
@@ -29623,6 +29635,11 @@ const mergeVisitorsAsync = (visitors, options = {}) => {
29623
29635
  }
29624
29636
  }
29625
29637
  }
29638
+
29639
+ // stop traversal only when all visitors have stopped
29640
+ if (skipping.every(s => s === breakSymbol)) {
29641
+ path.stop();
29642
+ }
29626
29643
  if (hasChanged) {
29627
29644
  path.replaceWith(currentNode);
29628
29645
  return currentNode;
@@ -29637,9 +29654,11 @@ const mergeVisitorsAsync = (visitors, options = {}) => {
29637
29654
  if (typeof visitFn === 'function') {
29638
29655
  const proxyPath = createPathProxy(path, currentNode);
29639
29656
  const result = await visitFn.call(visitors[i], proxyPath);
29657
+
29658
+ // Handle path-based control flow
29659
+ // Note: no break here — other merged visitors must still process this node
29640
29660
  if (proxyPath.shouldStop) {
29641
29661
  skipping[i] = breakSymbol;
29642
- break;
29643
29662
  }
29644
29663
  if (proxyPath.removed) {
29645
29664
  path.remove();
@@ -29658,6 +29677,11 @@ const mergeVisitorsAsync = (visitors, options = {}) => {
29658
29677
  skipping[i] = internalSkipSymbol;
29659
29678
  }
29660
29679
  }
29680
+
29681
+ // stop traversal only when all visitors have stopped
29682
+ if (skipping.every(s => s === breakSymbol)) {
29683
+ path.stop();
29684
+ }
29661
29685
  return undefined;
29662
29686
  }
29663
29687
  };