@speclynx/apidom-reference 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-reference
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
@@ -97811,9 +97811,9 @@ const mergeVisitors = (visitors, options = {}) => {
97811
97811
  }
97812
97812
 
97813
97813
  // Handle path-based control flow
97814
+ // Note: no break here — other merged visitors must still process this node
97814
97815
  if (proxyPath.shouldStop) {
97815
97816
  skipping[i] = breakSymbol;
97816
- break;
97817
97817
  }
97818
97818
  if (proxyPath.shouldSkip) {
97819
97819
  skipping[i] = currentNode;
@@ -97844,6 +97844,11 @@ const mergeVisitors = (visitors, options = {}) => {
97844
97844
  }
97845
97845
  }
97846
97846
  }
97847
+
97848
+ // stop traversal only when all visitors have stopped
97849
+ if (skipping.every(s => s === breakSymbol)) {
97850
+ path.stop();
97851
+ }
97847
97852
  if (hasChanged) {
97848
97853
  path.replaceWith(currentNode);
97849
97854
  return currentNode;
@@ -97869,9 +97874,9 @@ const mergeVisitors = (visitors, options = {}) => {
97869
97874
  }
97870
97875
 
97871
97876
  // Handle path-based control flow
97877
+ // Note: no break here — other merged visitors must still process this node
97872
97878
  if (proxyPath.shouldStop) {
97873
97879
  skipping[i] = breakSymbol;
97874
- break;
97875
97880
  }
97876
97881
  if (proxyPath.removed) {
97877
97882
  path.remove();
@@ -97891,6 +97896,11 @@ const mergeVisitors = (visitors, options = {}) => {
97891
97896
  skipping[i] = internalSkipSymbol;
97892
97897
  }
97893
97898
  }
97899
+
97900
+ // stop traversal only when all visitors have stopped
97901
+ if (skipping.every(s => s === breakSymbol)) {
97902
+ path.stop();
97903
+ }
97894
97904
  return undefined;
97895
97905
  }
97896
97906
  };
@@ -97919,9 +97929,11 @@ const mergeVisitorsAsync = (visitors, options = {}) => {
97919
97929
  if (typeof visitFn === 'function') {
97920
97930
  const proxyPath = createPathProxy(path, currentNode);
97921
97931
  const result = await visitFn.call(visitors[i], proxyPath);
97932
+
97933
+ // Handle path-based control flow
97934
+ // Note: no break here — other merged visitors must still process this node
97922
97935
  if (proxyPath.shouldStop) {
97923
97936
  skipping[i] = breakSymbol;
97924
- break;
97925
97937
  }
97926
97938
  if (proxyPath.shouldSkip) {
97927
97939
  skipping[i] = currentNode;
@@ -97951,6 +97963,11 @@ const mergeVisitorsAsync = (visitors, options = {}) => {
97951
97963
  }
97952
97964
  }
97953
97965
  }
97966
+
97967
+ // stop traversal only when all visitors have stopped
97968
+ if (skipping.every(s => s === breakSymbol)) {
97969
+ path.stop();
97970
+ }
97954
97971
  if (hasChanged) {
97955
97972
  path.replaceWith(currentNode);
97956
97973
  return currentNode;
@@ -97965,9 +97982,11 @@ const mergeVisitorsAsync = (visitors, options = {}) => {
97965
97982
  if (typeof visitFn === 'function') {
97966
97983
  const proxyPath = createPathProxy(path, currentNode);
97967
97984
  const result = await visitFn.call(visitors[i], proxyPath);
97985
+
97986
+ // Handle path-based control flow
97987
+ // Note: no break here — other merged visitors must still process this node
97968
97988
  if (proxyPath.shouldStop) {
97969
97989
  skipping[i] = breakSymbol;
97970
- break;
97971
97990
  }
97972
97991
  if (proxyPath.removed) {
97973
97992
  path.remove();
@@ -97986,6 +98005,11 @@ const mergeVisitorsAsync = (visitors, options = {}) => {
97986
98005
  skipping[i] = internalSkipSymbol;
97987
98006
  }
97988
98007
  }
98008
+
98009
+ // stop traversal only when all visitors have stopped
98010
+ if (skipping.every(s => s === breakSymbol)) {
98011
+ path.stop();
98012
+ }
97989
98013
  return undefined;
97990
98014
  }
97991
98015
  };