@speclynx/apidom-parser-adapter-openapi-json-3-1 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-1
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
@@ -41003,9 +41003,9 @@ const mergeVisitors = (visitors, options = {}) => {
41003
41003
  }
41004
41004
 
41005
41005
  // Handle path-based control flow
41006
+ // Note: no break here — other merged visitors must still process this node
41006
41007
  if (proxyPath.shouldStop) {
41007
41008
  skipping[i] = breakSymbol;
41008
- break;
41009
41009
  }
41010
41010
  if (proxyPath.shouldSkip) {
41011
41011
  skipping[i] = currentNode;
@@ -41036,6 +41036,11 @@ const mergeVisitors = (visitors, options = {}) => {
41036
41036
  }
41037
41037
  }
41038
41038
  }
41039
+
41040
+ // stop traversal only when all visitors have stopped
41041
+ if (skipping.every(s => s === breakSymbol)) {
41042
+ path.stop();
41043
+ }
41039
41044
  if (hasChanged) {
41040
41045
  path.replaceWith(currentNode);
41041
41046
  return currentNode;
@@ -41061,9 +41066,9 @@ const mergeVisitors = (visitors, options = {}) => {
41061
41066
  }
41062
41067
 
41063
41068
  // Handle path-based control flow
41069
+ // Note: no break here — other merged visitors must still process this node
41064
41070
  if (proxyPath.shouldStop) {
41065
41071
  skipping[i] = breakSymbol;
41066
- break;
41067
41072
  }
41068
41073
  if (proxyPath.removed) {
41069
41074
  path.remove();
@@ -41083,6 +41088,11 @@ const mergeVisitors = (visitors, options = {}) => {
41083
41088
  skipping[i] = internalSkipSymbol;
41084
41089
  }
41085
41090
  }
41091
+
41092
+ // stop traversal only when all visitors have stopped
41093
+ if (skipping.every(s => s === breakSymbol)) {
41094
+ path.stop();
41095
+ }
41086
41096
  return undefined;
41087
41097
  }
41088
41098
  };
@@ -41111,9 +41121,11 @@ const mergeVisitorsAsync = (visitors, options = {}) => {
41111
41121
  if (typeof visitFn === 'function') {
41112
41122
  const proxyPath = createPathProxy(path, currentNode);
41113
41123
  const result = await visitFn.call(visitors[i], proxyPath);
41124
+
41125
+ // Handle path-based control flow
41126
+ // Note: no break here — other merged visitors must still process this node
41114
41127
  if (proxyPath.shouldStop) {
41115
41128
  skipping[i] = breakSymbol;
41116
- break;
41117
41129
  }
41118
41130
  if (proxyPath.shouldSkip) {
41119
41131
  skipping[i] = currentNode;
@@ -41143,6 +41155,11 @@ const mergeVisitorsAsync = (visitors, options = {}) => {
41143
41155
  }
41144
41156
  }
41145
41157
  }
41158
+
41159
+ // stop traversal only when all visitors have stopped
41160
+ if (skipping.every(s => s === breakSymbol)) {
41161
+ path.stop();
41162
+ }
41146
41163
  if (hasChanged) {
41147
41164
  path.replaceWith(currentNode);
41148
41165
  return currentNode;
@@ -41157,9 +41174,11 @@ const mergeVisitorsAsync = (visitors, options = {}) => {
41157
41174
  if (typeof visitFn === 'function') {
41158
41175
  const proxyPath = createPathProxy(path, currentNode);
41159
41176
  const result = await visitFn.call(visitors[i], proxyPath);
41177
+
41178
+ // Handle path-based control flow
41179
+ // Note: no break here — other merged visitors must still process this node
41160
41180
  if (proxyPath.shouldStop) {
41161
41181
  skipping[i] = breakSymbol;
41162
- break;
41163
41182
  }
41164
41183
  if (proxyPath.removed) {
41165
41184
  path.remove();
@@ -41178,6 +41197,11 @@ const mergeVisitorsAsync = (visitors, options = {}) => {
41178
41197
  skipping[i] = internalSkipSymbol;
41179
41198
  }
41180
41199
  }
41200
+
41201
+ // stop traversal only when all visitors have stopped
41202
+ if (skipping.every(s => s === breakSymbol)) {
41203
+ path.stop();
41204
+ }
41181
41205
  return undefined;
41182
41206
  }
41183
41207
  };