@speclynx/apidom-ns-openapi-3-1 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-1
|
|
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-1
|
|
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-1
|
|
@@ -37056,10 +37056,12 @@ function* traverseGenerator(root, visitor, options) {
|
|
|
37056
37056
|
nodePredicate,
|
|
37057
37057
|
nodeCloneFn,
|
|
37058
37058
|
detectCycles,
|
|
37059
|
+
skipVisited,
|
|
37059
37060
|
mutable,
|
|
37060
37061
|
mutationFn
|
|
37061
37062
|
} = options;
|
|
37062
37063
|
const keyMapIsFunction = typeof keyMap === 'function';
|
|
37064
|
+
const visitedNodes = skipVisited ? new WeakSet() : null;
|
|
37063
37065
|
let stack;
|
|
37064
37066
|
let inArray = Array.isArray(root);
|
|
37065
37067
|
let keys = [root];
|
|
@@ -37145,6 +37147,14 @@ function* traverseGenerator(root, visitor, options) {
|
|
|
37145
37147
|
continue;
|
|
37146
37148
|
}
|
|
37147
37149
|
|
|
37150
|
+
// Skip already-visited nodes (handles DAG structures from cloneShallow)
|
|
37151
|
+
if (skipVisited && !isLeaving) {
|
|
37152
|
+
if (visitedNodes.has(node)) {
|
|
37153
|
+
continue;
|
|
37154
|
+
}
|
|
37155
|
+
visitedNodes.add(node);
|
|
37156
|
+
}
|
|
37157
|
+
|
|
37148
37158
|
// Always create Path for the current node (needed for parentPath chain)
|
|
37149
37159
|
currentPath = new _Path_mjs__WEBPACK_IMPORTED_MODULE_2__.Path(node, parent, parentPath, key, inArray);
|
|
37150
37160
|
const visitFn = (0,_visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.getVisitFn)(visitor, nodeTypeGetter(node), isLeaving);
|
|
@@ -37165,11 +37175,6 @@ function* traverseGenerator(root, visitor, options) {
|
|
|
37165
37175
|
if (currentPath.shouldStop) {
|
|
37166
37176
|
break;
|
|
37167
37177
|
}
|
|
37168
|
-
if (currentPath.shouldSkip) {
|
|
37169
|
-
if (!isLeaving) {
|
|
37170
|
-
continue;
|
|
37171
|
-
}
|
|
37172
|
-
}
|
|
37173
37178
|
if (currentPath.removed) {
|
|
37174
37179
|
edits.push([key, null]);
|
|
37175
37180
|
if (!isLeaving) {
|
|
@@ -37179,12 +37184,19 @@ function* traverseGenerator(root, visitor, options) {
|
|
|
37179
37184
|
const replacement = currentPath._getReplacementNode();
|
|
37180
37185
|
edits.push([key, replacement]);
|
|
37181
37186
|
if (!isLeaving) {
|
|
37187
|
+
if (currentPath.shouldSkip) {
|
|
37188
|
+
continue;
|
|
37189
|
+
}
|
|
37182
37190
|
if (nodePredicate(replacement)) {
|
|
37183
37191
|
node = replacement;
|
|
37184
37192
|
} else {
|
|
37185
37193
|
continue;
|
|
37186
37194
|
}
|
|
37187
37195
|
}
|
|
37196
|
+
} else if (currentPath.shouldSkip) {
|
|
37197
|
+
if (!isLeaving) {
|
|
37198
|
+
continue;
|
|
37199
|
+
}
|
|
37188
37200
|
} else if (result !== undefined) {
|
|
37189
37201
|
// Support return value replacement for backwards compatibility
|
|
37190
37202
|
edits.push([key, result]);
|
|
@@ -37286,6 +37298,7 @@ const traverse = (root, visitor, options = {}) => {
|
|
|
37286
37298
|
nodePredicate: options.nodePredicate ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.isNode,
|
|
37287
37299
|
nodeCloneFn: options.nodeCloneFn ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.cloneNode,
|
|
37288
37300
|
detectCycles: options.detectCycles ?? true,
|
|
37301
|
+
skipVisited: options.skipVisited ?? false,
|
|
37289
37302
|
mutable: options.mutable ?? false,
|
|
37290
37303
|
mutationFn: options.mutationFn ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.mutateNode
|
|
37291
37304
|
};
|
|
@@ -37317,6 +37330,7 @@ const traverseAsync = async (root, visitor, options = {}) => {
|
|
|
37317
37330
|
nodePredicate: options.nodePredicate ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.isNode,
|
|
37318
37331
|
nodeCloneFn: options.nodeCloneFn ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.cloneNode,
|
|
37319
37332
|
detectCycles: options.detectCycles ?? true,
|
|
37333
|
+
skipVisited: options.skipVisited ?? false,
|
|
37320
37334
|
mutable: options.mutable ?? false,
|
|
37321
37335
|
mutationFn: options.mutationFn ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.mutateNode
|
|
37322
37336
|
};
|