@speclynx/apidom-parser-adapter-openapi-json-2 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-2
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
@@ -33088,9 +33088,9 @@ const mergeVisitors = (visitors, options = {}) => {
33088
33088
  }
33089
33089
 
33090
33090
  // Handle path-based control flow
33091
+ // Note: no break here — other merged visitors must still process this node
33091
33092
  if (proxyPath.shouldStop) {
33092
33093
  skipping[i] = breakSymbol;
33093
- break;
33094
33094
  }
33095
33095
  if (proxyPath.shouldSkip) {
33096
33096
  skipping[i] = currentNode;
@@ -33121,6 +33121,11 @@ const mergeVisitors = (visitors, options = {}) => {
33121
33121
  }
33122
33122
  }
33123
33123
  }
33124
+
33125
+ // stop traversal only when all visitors have stopped
33126
+ if (skipping.every(s => s === breakSymbol)) {
33127
+ path.stop();
33128
+ }
33124
33129
  if (hasChanged) {
33125
33130
  path.replaceWith(currentNode);
33126
33131
  return currentNode;
@@ -33146,9 +33151,9 @@ const mergeVisitors = (visitors, options = {}) => {
33146
33151
  }
33147
33152
 
33148
33153
  // Handle path-based control flow
33154
+ // Note: no break here — other merged visitors must still process this node
33149
33155
  if (proxyPath.shouldStop) {
33150
33156
  skipping[i] = breakSymbol;
33151
- break;
33152
33157
  }
33153
33158
  if (proxyPath.removed) {
33154
33159
  path.remove();
@@ -33168,6 +33173,11 @@ const mergeVisitors = (visitors, options = {}) => {
33168
33173
  skipping[i] = internalSkipSymbol;
33169
33174
  }
33170
33175
  }
33176
+
33177
+ // stop traversal only when all visitors have stopped
33178
+ if (skipping.every(s => s === breakSymbol)) {
33179
+ path.stop();
33180
+ }
33171
33181
  return undefined;
33172
33182
  }
33173
33183
  };
@@ -33196,9 +33206,11 @@ const mergeVisitorsAsync = (visitors, options = {}) => {
33196
33206
  if (typeof visitFn === 'function') {
33197
33207
  const proxyPath = createPathProxy(path, currentNode);
33198
33208
  const result = await visitFn.call(visitors[i], proxyPath);
33209
+
33210
+ // Handle path-based control flow
33211
+ // Note: no break here — other merged visitors must still process this node
33199
33212
  if (proxyPath.shouldStop) {
33200
33213
  skipping[i] = breakSymbol;
33201
- break;
33202
33214
  }
33203
33215
  if (proxyPath.shouldSkip) {
33204
33216
  skipping[i] = currentNode;
@@ -33228,6 +33240,11 @@ const mergeVisitorsAsync = (visitors, options = {}) => {
33228
33240
  }
33229
33241
  }
33230
33242
  }
33243
+
33244
+ // stop traversal only when all visitors have stopped
33245
+ if (skipping.every(s => s === breakSymbol)) {
33246
+ path.stop();
33247
+ }
33231
33248
  if (hasChanged) {
33232
33249
  path.replaceWith(currentNode);
33233
33250
  return currentNode;
@@ -33242,9 +33259,11 @@ const mergeVisitorsAsync = (visitors, options = {}) => {
33242
33259
  if (typeof visitFn === 'function') {
33243
33260
  const proxyPath = createPathProxy(path, currentNode);
33244
33261
  const result = await visitFn.call(visitors[i], proxyPath);
33262
+
33263
+ // Handle path-based control flow
33264
+ // Note: no break here — other merged visitors must still process this node
33245
33265
  if (proxyPath.shouldStop) {
33246
33266
  skipping[i] = breakSymbol;
33247
- break;
33248
33267
  }
33249
33268
  if (proxyPath.removed) {
33250
33269
  path.remove();
@@ -33263,6 +33282,11 @@ const mergeVisitorsAsync = (visitors, options = {}) => {
33263
33282
  skipping[i] = internalSkipSymbol;
33264
33283
  }
33265
33284
  }
33285
+
33286
+ // stop traversal only when all visitors have stopped
33287
+ if (skipping.every(s => s === breakSymbol)) {
33288
+ path.stop();
33289
+ }
33266
33290
  return undefined;
33267
33291
  }
33268
33292
  };