@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
|
};
|