@speclynx/apidom-ns-openapi-3-0 4.0.4 → 4.1.0

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,14 @@
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.1.0](https://github.com/speclynx/apidom/compare/v4.0.5...v4.1.0) (2026-03-16)
7
+
8
+ **Note:** Version bump only for package @speclynx/apidom-ns-openapi-3-0
9
+
10
+ ## [4.0.5](https://github.com/speclynx/apidom/compare/v4.0.4...v4.0.5) (2026-03-13)
11
+
12
+ **Note:** Version bump only for package @speclynx/apidom-ns-openapi-3-0
13
+
6
14
  ## [4.0.4](https://github.com/speclynx/apidom/compare/v4.0.3...v4.0.4) (2026-03-12)
7
15
 
8
16
  ### Bug Fixes
@@ -31013,9 +31013,9 @@ const mergeVisitors = (visitors, options = {}) => {
31013
31013
  }
31014
31014
 
31015
31015
  // Handle path-based control flow
31016
+ // Note: no break here — other merged visitors must still process this node
31016
31017
  if (proxyPath.shouldStop) {
31017
31018
  skipping[i] = breakSymbol;
31018
- break;
31019
31019
  }
31020
31020
  if (proxyPath.shouldSkip) {
31021
31021
  skipping[i] = currentNode;
@@ -31046,6 +31046,11 @@ const mergeVisitors = (visitors, options = {}) => {
31046
31046
  }
31047
31047
  }
31048
31048
  }
31049
+
31050
+ // stop traversal only when all visitors have stopped
31051
+ if (skipping.every(s => s === breakSymbol)) {
31052
+ path.stop();
31053
+ }
31049
31054
  if (hasChanged) {
31050
31055
  path.replaceWith(currentNode);
31051
31056
  return currentNode;
@@ -31071,9 +31076,9 @@ const mergeVisitors = (visitors, options = {}) => {
31071
31076
  }
31072
31077
 
31073
31078
  // Handle path-based control flow
31079
+ // Note: no break here — other merged visitors must still process this node
31074
31080
  if (proxyPath.shouldStop) {
31075
31081
  skipping[i] = breakSymbol;
31076
- break;
31077
31082
  }
31078
31083
  if (proxyPath.removed) {
31079
31084
  path.remove();
@@ -31093,6 +31098,11 @@ const mergeVisitors = (visitors, options = {}) => {
31093
31098
  skipping[i] = internalSkipSymbol;
31094
31099
  }
31095
31100
  }
31101
+
31102
+ // stop traversal only when all visitors have stopped
31103
+ if (skipping.every(s => s === breakSymbol)) {
31104
+ path.stop();
31105
+ }
31096
31106
  return undefined;
31097
31107
  }
31098
31108
  };
@@ -31121,9 +31131,11 @@ const mergeVisitorsAsync = (visitors, options = {}) => {
31121
31131
  if (typeof visitFn === 'function') {
31122
31132
  const proxyPath = createPathProxy(path, currentNode);
31123
31133
  const result = await visitFn.call(visitors[i], proxyPath);
31134
+
31135
+ // Handle path-based control flow
31136
+ // Note: no break here — other merged visitors must still process this node
31124
31137
  if (proxyPath.shouldStop) {
31125
31138
  skipping[i] = breakSymbol;
31126
- break;
31127
31139
  }
31128
31140
  if (proxyPath.shouldSkip) {
31129
31141
  skipping[i] = currentNode;
@@ -31153,6 +31165,11 @@ const mergeVisitorsAsync = (visitors, options = {}) => {
31153
31165
  }
31154
31166
  }
31155
31167
  }
31168
+
31169
+ // stop traversal only when all visitors have stopped
31170
+ if (skipping.every(s => s === breakSymbol)) {
31171
+ path.stop();
31172
+ }
31156
31173
  if (hasChanged) {
31157
31174
  path.replaceWith(currentNode);
31158
31175
  return currentNode;
@@ -31167,9 +31184,11 @@ const mergeVisitorsAsync = (visitors, options = {}) => {
31167
31184
  if (typeof visitFn === 'function') {
31168
31185
  const proxyPath = createPathProxy(path, currentNode);
31169
31186
  const result = await visitFn.call(visitors[i], proxyPath);
31187
+
31188
+ // Handle path-based control flow
31189
+ // Note: no break here — other merged visitors must still process this node
31170
31190
  if (proxyPath.shouldStop) {
31171
31191
  skipping[i] = breakSymbol;
31172
- break;
31173
31192
  }
31174
31193
  if (proxyPath.removed) {
31175
31194
  path.remove();
@@ -31188,6 +31207,11 @@ const mergeVisitorsAsync = (visitors, options = {}) => {
31188
31207
  skipping[i] = internalSkipSymbol;
31189
31208
  }
31190
31209
  }
31210
+
31211
+ // stop traversal only when all visitors have stopped
31212
+ if (skipping.every(s => s === breakSymbol)) {
31213
+ path.stop();
31214
+ }
31191
31215
  return undefined;
31192
31216
  }
31193
31217
  };