@speclynx/apidom-parser-adapter-openapi-json-3-1 4.7.1 → 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,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.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-parser-adapter-openapi-json-3-1
|
|
9
|
+
|
|
6
10
|
## [4.7.1](https://github.com/speclynx/apidom/compare/v4.7.0...v4.7.1) (2026-04-16)
|
|
7
11
|
|
|
8
12
|
**Note:** Version bump only for package @speclynx/apidom-parser-adapter-openapi-json-3-1
|
|
@@ -40457,10 +40457,12 @@ function* traverseGenerator(root, visitor, options) {
|
|
|
40457
40457
|
nodePredicate,
|
|
40458
40458
|
nodeCloneFn,
|
|
40459
40459
|
detectCycles,
|
|
40460
|
+
skipVisited,
|
|
40460
40461
|
mutable,
|
|
40461
40462
|
mutationFn
|
|
40462
40463
|
} = options;
|
|
40463
40464
|
const keyMapIsFunction = typeof keyMap === 'function';
|
|
40465
|
+
const visitedNodes = skipVisited ? new WeakSet() : null;
|
|
40464
40466
|
let stack;
|
|
40465
40467
|
let inArray = Array.isArray(root);
|
|
40466
40468
|
let keys = [root];
|
|
@@ -40546,6 +40548,14 @@ function* traverseGenerator(root, visitor, options) {
|
|
|
40546
40548
|
continue;
|
|
40547
40549
|
}
|
|
40548
40550
|
|
|
40551
|
+
// Skip already-visited nodes (handles DAG structures from cloneShallow)
|
|
40552
|
+
if (skipVisited && !isLeaving) {
|
|
40553
|
+
if (visitedNodes.has(node)) {
|
|
40554
|
+
continue;
|
|
40555
|
+
}
|
|
40556
|
+
visitedNodes.add(node);
|
|
40557
|
+
}
|
|
40558
|
+
|
|
40549
40559
|
// Always create Path for the current node (needed for parentPath chain)
|
|
40550
40560
|
currentPath = new _Path_mjs__WEBPACK_IMPORTED_MODULE_2__.Path(node, parent, parentPath, key, inArray);
|
|
40551
40561
|
const visitFn = (0,_visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.getVisitFn)(visitor, nodeTypeGetter(node), isLeaving);
|
|
@@ -40689,6 +40699,7 @@ const traverse = (root, visitor, options = {}) => {
|
|
|
40689
40699
|
nodePredicate: options.nodePredicate ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.isNode,
|
|
40690
40700
|
nodeCloneFn: options.nodeCloneFn ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.cloneNode,
|
|
40691
40701
|
detectCycles: options.detectCycles ?? true,
|
|
40702
|
+
skipVisited: options.skipVisited ?? false,
|
|
40692
40703
|
mutable: options.mutable ?? false,
|
|
40693
40704
|
mutationFn: options.mutationFn ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.mutateNode
|
|
40694
40705
|
};
|
|
@@ -40720,6 +40731,7 @@ const traverseAsync = async (root, visitor, options = {}) => {
|
|
|
40720
40731
|
nodePredicate: options.nodePredicate ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.isNode,
|
|
40721
40732
|
nodeCloneFn: options.nodeCloneFn ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.cloneNode,
|
|
40722
40733
|
detectCycles: options.detectCycles ?? true,
|
|
40734
|
+
skipVisited: options.skipVisited ?? false,
|
|
40723
40735
|
mutable: options.mutable ?? false,
|
|
40724
40736
|
mutationFn: options.mutationFn ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.mutateNode
|
|
40725
40737
|
};
|