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