@speclynx/apidom-ns-asyncapi-2 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-asyncapi-2
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-asyncapi-2
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-asyncapi-2
@@ -39287,10 +39287,12 @@ function* traverseGenerator(root, visitor, options) {
39287
39287
  nodePredicate,
39288
39288
  nodeCloneFn,
39289
39289
  detectCycles,
39290
+ skipVisited,
39290
39291
  mutable,
39291
39292
  mutationFn
39292
39293
  } = options;
39293
39294
  const keyMapIsFunction = typeof keyMap === 'function';
39295
+ const visitedNodes = skipVisited ? new WeakSet() : null;
39294
39296
  let stack;
39295
39297
  let inArray = Array.isArray(root);
39296
39298
  let keys = [root];
@@ -39376,6 +39378,14 @@ function* traverseGenerator(root, visitor, options) {
39376
39378
  continue;
39377
39379
  }
39378
39380
 
39381
+ // Skip already-visited nodes (handles DAG structures from cloneShallow)
39382
+ if (skipVisited && !isLeaving) {
39383
+ if (visitedNodes.has(node)) {
39384
+ continue;
39385
+ }
39386
+ visitedNodes.add(node);
39387
+ }
39388
+
39379
39389
  // Always create Path for the current node (needed for parentPath chain)
39380
39390
  currentPath = new _Path_mjs__WEBPACK_IMPORTED_MODULE_2__.Path(node, parent, parentPath, key, inArray);
39381
39391
  const visitFn = (0,_visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.getVisitFn)(visitor, nodeTypeGetter(node), isLeaving);
@@ -39396,11 +39406,6 @@ function* traverseGenerator(root, visitor, options) {
39396
39406
  if (currentPath.shouldStop) {
39397
39407
  break;
39398
39408
  }
39399
- if (currentPath.shouldSkip) {
39400
- if (!isLeaving) {
39401
- continue;
39402
- }
39403
- }
39404
39409
  if (currentPath.removed) {
39405
39410
  edits.push([key, null]);
39406
39411
  if (!isLeaving) {
@@ -39410,12 +39415,19 @@ function* traverseGenerator(root, visitor, options) {
39410
39415
  const replacement = currentPath._getReplacementNode();
39411
39416
  edits.push([key, replacement]);
39412
39417
  if (!isLeaving) {
39418
+ if (currentPath.shouldSkip) {
39419
+ continue;
39420
+ }
39413
39421
  if (nodePredicate(replacement)) {
39414
39422
  node = replacement;
39415
39423
  } else {
39416
39424
  continue;
39417
39425
  }
39418
39426
  }
39427
+ } else if (currentPath.shouldSkip) {
39428
+ if (!isLeaving) {
39429
+ continue;
39430
+ }
39419
39431
  } else if (result !== undefined) {
39420
39432
  // Support return value replacement for backwards compatibility
39421
39433
  edits.push([key, result]);
@@ -39517,6 +39529,7 @@ const traverse = (root, visitor, options = {}) => {
39517
39529
  nodePredicate: options.nodePredicate ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.isNode,
39518
39530
  nodeCloneFn: options.nodeCloneFn ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.cloneNode,
39519
39531
  detectCycles: options.detectCycles ?? true,
39532
+ skipVisited: options.skipVisited ?? false,
39520
39533
  mutable: options.mutable ?? false,
39521
39534
  mutationFn: options.mutationFn ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.mutateNode
39522
39535
  };
@@ -39548,6 +39561,7 @@ const traverseAsync = async (root, visitor, options = {}) => {
39548
39561
  nodePredicate: options.nodePredicate ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.isNode,
39549
39562
  nodeCloneFn: options.nodeCloneFn ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.cloneNode,
39550
39563
  detectCycles: options.detectCycles ?? true,
39564
+ skipVisited: options.skipVisited ?? false,
39551
39565
  mutable: options.mutable ?? false,
39552
39566
  mutationFn: options.mutationFn ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.mutateNode
39553
39567
  };