@speclynx/apidom-ns-openapi-3-0 4.7.0 → 4.8.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.8.0](https://github.com/speclynx/apidom/compare/v4.7.1...v4.8.0) (2026-04-17)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @speclynx/apidom-ns-openapi-3-0
|
|
9
|
+
|
|
10
|
+
## [4.7.1](https://github.com/speclynx/apidom/compare/v4.7.0...v4.7.1) (2026-04-16)
|
|
11
|
+
|
|
12
|
+
**Note:** Version bump only for package @speclynx/apidom-ns-openapi-3-0
|
|
13
|
+
|
|
6
14
|
# [4.7.0](https://github.com/speclynx/apidom/compare/v4.6.0...v4.7.0) (2026-04-12)
|
|
7
15
|
|
|
8
16
|
**Note:** Version bump only for package @speclynx/apidom-ns-openapi-3-0
|
|
@@ -31023,10 +31023,12 @@ function* traverseGenerator(root, visitor, options) {
|
|
|
31023
31023
|
nodePredicate,
|
|
31024
31024
|
nodeCloneFn,
|
|
31025
31025
|
detectCycles,
|
|
31026
|
+
skipVisited,
|
|
31026
31027
|
mutable,
|
|
31027
31028
|
mutationFn
|
|
31028
31029
|
} = options;
|
|
31029
31030
|
const keyMapIsFunction = typeof keyMap === 'function';
|
|
31031
|
+
const visitedNodes = skipVisited ? new WeakSet() : null;
|
|
31030
31032
|
let stack;
|
|
31031
31033
|
let inArray = Array.isArray(root);
|
|
31032
31034
|
let keys = [root];
|
|
@@ -31112,6 +31114,14 @@ function* traverseGenerator(root, visitor, options) {
|
|
|
31112
31114
|
continue;
|
|
31113
31115
|
}
|
|
31114
31116
|
|
|
31117
|
+
// Skip already-visited nodes (handles DAG structures from cloneShallow)
|
|
31118
|
+
if (skipVisited && !isLeaving) {
|
|
31119
|
+
if (visitedNodes.has(node)) {
|
|
31120
|
+
continue;
|
|
31121
|
+
}
|
|
31122
|
+
visitedNodes.add(node);
|
|
31123
|
+
}
|
|
31124
|
+
|
|
31115
31125
|
// Always create Path for the current node (needed for parentPath chain)
|
|
31116
31126
|
currentPath = new _Path_mjs__WEBPACK_IMPORTED_MODULE_2__.Path(node, parent, parentPath, key, inArray);
|
|
31117
31127
|
const visitFn = (0,_visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.getVisitFn)(visitor, nodeTypeGetter(node), isLeaving);
|
|
@@ -31132,11 +31142,6 @@ function* traverseGenerator(root, visitor, options) {
|
|
|
31132
31142
|
if (currentPath.shouldStop) {
|
|
31133
31143
|
break;
|
|
31134
31144
|
}
|
|
31135
|
-
if (currentPath.shouldSkip) {
|
|
31136
|
-
if (!isLeaving) {
|
|
31137
|
-
continue;
|
|
31138
|
-
}
|
|
31139
|
-
}
|
|
31140
31145
|
if (currentPath.removed) {
|
|
31141
31146
|
edits.push([key, null]);
|
|
31142
31147
|
if (!isLeaving) {
|
|
@@ -31146,12 +31151,19 @@ function* traverseGenerator(root, visitor, options) {
|
|
|
31146
31151
|
const replacement = currentPath._getReplacementNode();
|
|
31147
31152
|
edits.push([key, replacement]);
|
|
31148
31153
|
if (!isLeaving) {
|
|
31154
|
+
if (currentPath.shouldSkip) {
|
|
31155
|
+
continue;
|
|
31156
|
+
}
|
|
31149
31157
|
if (nodePredicate(replacement)) {
|
|
31150
31158
|
node = replacement;
|
|
31151
31159
|
} else {
|
|
31152
31160
|
continue;
|
|
31153
31161
|
}
|
|
31154
31162
|
}
|
|
31163
|
+
} else if (currentPath.shouldSkip) {
|
|
31164
|
+
if (!isLeaving) {
|
|
31165
|
+
continue;
|
|
31166
|
+
}
|
|
31155
31167
|
} else if (result !== undefined) {
|
|
31156
31168
|
// Support return value replacement for backwards compatibility
|
|
31157
31169
|
edits.push([key, result]);
|
|
@@ -31253,6 +31265,7 @@ const traverse = (root, visitor, options = {}) => {
|
|
|
31253
31265
|
nodePredicate: options.nodePredicate ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.isNode,
|
|
31254
31266
|
nodeCloneFn: options.nodeCloneFn ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.cloneNode,
|
|
31255
31267
|
detectCycles: options.detectCycles ?? true,
|
|
31268
|
+
skipVisited: options.skipVisited ?? false,
|
|
31256
31269
|
mutable: options.mutable ?? false,
|
|
31257
31270
|
mutationFn: options.mutationFn ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.mutateNode
|
|
31258
31271
|
};
|
|
@@ -31284,6 +31297,7 @@ const traverseAsync = async (root, visitor, options = {}) => {
|
|
|
31284
31297
|
nodePredicate: options.nodePredicate ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.isNode,
|
|
31285
31298
|
nodeCloneFn: options.nodeCloneFn ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.cloneNode,
|
|
31286
31299
|
detectCycles: options.detectCycles ?? true,
|
|
31300
|
+
skipVisited: options.skipVisited ?? false,
|
|
31287
31301
|
mutable: options.mutable ?? false,
|
|
31288
31302
|
mutationFn: options.mutationFn ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.mutateNode
|
|
31289
31303
|
};
|