@speclynx/apidom-ns-arazzo-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-arazzo-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-arazzo-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-arazzo-1
@@ -28221,10 +28221,12 @@ function* traverseGenerator(root, visitor, options) {
28221
28221
  nodePredicate,
28222
28222
  nodeCloneFn,
28223
28223
  detectCycles,
28224
+ skipVisited,
28224
28225
  mutable,
28225
28226
  mutationFn
28226
28227
  } = options;
28227
28228
  const keyMapIsFunction = typeof keyMap === 'function';
28229
+ const visitedNodes = skipVisited ? new WeakSet() : null;
28228
28230
  let stack;
28229
28231
  let inArray = Array.isArray(root);
28230
28232
  let keys = [root];
@@ -28310,6 +28312,14 @@ function* traverseGenerator(root, visitor, options) {
28310
28312
  continue;
28311
28313
  }
28312
28314
 
28315
+ // Skip already-visited nodes (handles DAG structures from cloneShallow)
28316
+ if (skipVisited && !isLeaving) {
28317
+ if (visitedNodes.has(node)) {
28318
+ continue;
28319
+ }
28320
+ visitedNodes.add(node);
28321
+ }
28322
+
28313
28323
  // Always create Path for the current node (needed for parentPath chain)
28314
28324
  currentPath = new _Path_mjs__WEBPACK_IMPORTED_MODULE_2__.Path(node, parent, parentPath, key, inArray);
28315
28325
  const visitFn = (0,_visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.getVisitFn)(visitor, nodeTypeGetter(node), isLeaving);
@@ -28330,11 +28340,6 @@ function* traverseGenerator(root, visitor, options) {
28330
28340
  if (currentPath.shouldStop) {
28331
28341
  break;
28332
28342
  }
28333
- if (currentPath.shouldSkip) {
28334
- if (!isLeaving) {
28335
- continue;
28336
- }
28337
- }
28338
28343
  if (currentPath.removed) {
28339
28344
  edits.push([key, null]);
28340
28345
  if (!isLeaving) {
@@ -28344,12 +28349,19 @@ function* traverseGenerator(root, visitor, options) {
28344
28349
  const replacement = currentPath._getReplacementNode();
28345
28350
  edits.push([key, replacement]);
28346
28351
  if (!isLeaving) {
28352
+ if (currentPath.shouldSkip) {
28353
+ continue;
28354
+ }
28347
28355
  if (nodePredicate(replacement)) {
28348
28356
  node = replacement;
28349
28357
  } else {
28350
28358
  continue;
28351
28359
  }
28352
28360
  }
28361
+ } else if (currentPath.shouldSkip) {
28362
+ if (!isLeaving) {
28363
+ continue;
28364
+ }
28353
28365
  } else if (result !== undefined) {
28354
28366
  // Support return value replacement for backwards compatibility
28355
28367
  edits.push([key, result]);
@@ -28451,6 +28463,7 @@ const traverse = (root, visitor, options = {}) => {
28451
28463
  nodePredicate: options.nodePredicate ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.isNode,
28452
28464
  nodeCloneFn: options.nodeCloneFn ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.cloneNode,
28453
28465
  detectCycles: options.detectCycles ?? true,
28466
+ skipVisited: options.skipVisited ?? false,
28454
28467
  mutable: options.mutable ?? false,
28455
28468
  mutationFn: options.mutationFn ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.mutateNode
28456
28469
  };
@@ -28482,6 +28495,7 @@ const traverseAsync = async (root, visitor, options = {}) => {
28482
28495
  nodePredicate: options.nodePredicate ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.isNode,
28483
28496
  nodeCloneFn: options.nodeCloneFn ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.cloneNode,
28484
28497
  detectCycles: options.detectCycles ?? true,
28498
+ skipVisited: options.skipVisited ?? false,
28485
28499
  mutable: options.mutable ?? false,
28486
28500
  mutationFn: options.mutationFn ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.mutateNode
28487
28501
  };