@speclynx/apidom-parser-adapter-arazzo-json-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-arazzo-json-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-arazzo-json-1
@@ -33182,10 +33182,12 @@ function* traverseGenerator(root, visitor, options) {
33182
33182
  nodePredicate,
33183
33183
  nodeCloneFn,
33184
33184
  detectCycles,
33185
+ skipVisited,
33185
33186
  mutable,
33186
33187
  mutationFn
33187
33188
  } = options;
33188
33189
  const keyMapIsFunction = typeof keyMap === 'function';
33190
+ const visitedNodes = skipVisited ? new WeakSet() : null;
33189
33191
  let stack;
33190
33192
  let inArray = Array.isArray(root);
33191
33193
  let keys = [root];
@@ -33271,6 +33273,14 @@ function* traverseGenerator(root, visitor, options) {
33271
33273
  continue;
33272
33274
  }
33273
33275
 
33276
+ // Skip already-visited nodes (handles DAG structures from cloneShallow)
33277
+ if (skipVisited && !isLeaving) {
33278
+ if (visitedNodes.has(node)) {
33279
+ continue;
33280
+ }
33281
+ visitedNodes.add(node);
33282
+ }
33283
+
33274
33284
  // Always create Path for the current node (needed for parentPath chain)
33275
33285
  currentPath = new _Path_mjs__WEBPACK_IMPORTED_MODULE_2__.Path(node, parent, parentPath, key, inArray);
33276
33286
  const visitFn = (0,_visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.getVisitFn)(visitor, nodeTypeGetter(node), isLeaving);
@@ -33414,6 +33424,7 @@ const traverse = (root, visitor, options = {}) => {
33414
33424
  nodePredicate: options.nodePredicate ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.isNode,
33415
33425
  nodeCloneFn: options.nodeCloneFn ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.cloneNode,
33416
33426
  detectCycles: options.detectCycles ?? true,
33427
+ skipVisited: options.skipVisited ?? false,
33417
33428
  mutable: options.mutable ?? false,
33418
33429
  mutationFn: options.mutationFn ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.mutateNode
33419
33430
  };
@@ -33445,6 +33456,7 @@ const traverseAsync = async (root, visitor, options = {}) => {
33445
33456
  nodePredicate: options.nodePredicate ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.isNode,
33446
33457
  nodeCloneFn: options.nodeCloneFn ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.cloneNode,
33447
33458
  detectCycles: options.detectCycles ?? true,
33459
+ skipVisited: options.skipVisited ?? false,
33448
33460
  mutable: options.mutable ?? false,
33449
33461
  mutationFn: options.mutationFn ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.mutateNode
33450
33462
  };