@speclynx/apidom-ns-arazzo-1 4.7.1 → 4.9.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.9.0](https://github.com/speclynx/apidom/compare/v4.8.0...v4.9.0) (2026-04-17)
7
+
8
+ **Note:** Version bump only for package @speclynx/apidom-ns-arazzo-1
9
+
10
+ # [4.8.0](https://github.com/speclynx/apidom/compare/v4.7.1...v4.8.0) (2026-04-17)
11
+
12
+ **Note:** Version bump only for package @speclynx/apidom-ns-arazzo-1
13
+
6
14
  ## [4.7.1](https://github.com/speclynx/apidom/compare/v4.7.0...v4.7.1) (2026-04-16)
7
15
 
8
16
  **Note:** Version bump only for package @speclynx/apidom-ns-arazzo-1
@@ -20161,13 +20161,14 @@ const dispatchPluginsSync = (element, plugins, options = {}) => {
20161
20161
  const mergedOptions = (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])(defaultDispatchPluginsOptions, options);
20162
20162
  const {
20163
20163
  toolboxCreator,
20164
- visitorOptions
20164
+ visitorOptions,
20165
+ traverseOptions
20165
20166
  } = mergedOptions;
20166
20167
  const toolbox = toolboxCreator();
20167
20168
  const pluginsSpecs = plugins.map(plugin => plugin(toolbox));
20168
20169
  const mergedPluginsVisitor = (0,_speclynx_apidom_traverse__WEBPACK_IMPORTED_MODULE_0__.mergeVisitors)(pluginsSpecs.map((0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])({}, 'visitor')), visitorOptions);
20169
20170
  pluginsSpecs.forEach((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_3__["default"])(['pre'], []));
20170
- const newElement = (0,_speclynx_apidom_traverse__WEBPACK_IMPORTED_MODULE_0__.traverse)(element, mergedPluginsVisitor);
20171
+ const newElement = (0,_speclynx_apidom_traverse__WEBPACK_IMPORTED_MODULE_0__.traverse)(element, mergedPluginsVisitor, traverseOptions);
20171
20172
  pluginsSpecs.forEach((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_3__["default"])(['post'], []));
20172
20173
  return newElement;
20173
20174
  };
@@ -20176,13 +20177,14 @@ const dispatchPluginsAsync = async (element, plugins, options = {}) => {
20176
20177
  const mergedOptions = (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])(defaultDispatchPluginsOptions, options);
20177
20178
  const {
20178
20179
  toolboxCreator,
20179
- visitorOptions
20180
+ visitorOptions,
20181
+ traverseOptions
20180
20182
  } = mergedOptions;
20181
20183
  const toolbox = toolboxCreator();
20182
20184
  const pluginsSpecs = plugins.map(plugin => plugin(toolbox));
20183
20185
  const mergedPluginsVisitor = (0,_speclynx_apidom_traverse__WEBPACK_IMPORTED_MODULE_0__.mergeVisitorsAsync)(pluginsSpecs.map((0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])({}, 'visitor')), visitorOptions);
20184
20186
  await Promise.allSettled(pluginsSpecs.map((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_3__["default"])(['pre'], [])));
20185
- const newElement = await (0,_speclynx_apidom_traverse__WEBPACK_IMPORTED_MODULE_0__.traverseAsync)(element, mergedPluginsVisitor);
20187
+ const newElement = await (0,_speclynx_apidom_traverse__WEBPACK_IMPORTED_MODULE_0__.traverseAsync)(element, mergedPluginsVisitor, traverseOptions);
20186
20188
  await Promise.allSettled(pluginsSpecs.map((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_3__["default"])(['post'], [])));
20187
20189
  return newElement;
20188
20190
  };
@@ -28221,10 +28223,12 @@ function* traverseGenerator(root, visitor, options) {
28221
28223
  nodePredicate,
28222
28224
  nodeCloneFn,
28223
28225
  detectCycles,
28226
+ skipVisited,
28224
28227
  mutable,
28225
28228
  mutationFn
28226
28229
  } = options;
28227
28230
  const keyMapIsFunction = typeof keyMap === 'function';
28231
+ const visitedNodes = skipVisited ? new WeakSet() : null;
28228
28232
  let stack;
28229
28233
  let inArray = Array.isArray(root);
28230
28234
  let keys = [root];
@@ -28310,6 +28314,14 @@ function* traverseGenerator(root, visitor, options) {
28310
28314
  continue;
28311
28315
  }
28312
28316
 
28317
+ // Skip already-visited nodes (handles DAG structures from cloneShallow)
28318
+ if (skipVisited && !isLeaving) {
28319
+ if (visitedNodes.has(node)) {
28320
+ continue;
28321
+ }
28322
+ visitedNodes.add(node);
28323
+ }
28324
+
28313
28325
  // Always create Path for the current node (needed for parentPath chain)
28314
28326
  currentPath = new _Path_mjs__WEBPACK_IMPORTED_MODULE_2__.Path(node, parent, parentPath, key, inArray);
28315
28327
  const visitFn = (0,_visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.getVisitFn)(visitor, nodeTypeGetter(node), isLeaving);
@@ -28453,6 +28465,7 @@ const traverse = (root, visitor, options = {}) => {
28453
28465
  nodePredicate: options.nodePredicate ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.isNode,
28454
28466
  nodeCloneFn: options.nodeCloneFn ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.cloneNode,
28455
28467
  detectCycles: options.detectCycles ?? true,
28468
+ skipVisited: options.skipVisited ?? false,
28456
28469
  mutable: options.mutable ?? false,
28457
28470
  mutationFn: options.mutationFn ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.mutateNode
28458
28471
  };
@@ -28484,6 +28497,7 @@ const traverseAsync = async (root, visitor, options = {}) => {
28484
28497
  nodePredicate: options.nodePredicate ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.isNode,
28485
28498
  nodeCloneFn: options.nodeCloneFn ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.cloneNode,
28486
28499
  detectCycles: options.detectCycles ?? true,
28500
+ skipVisited: options.skipVisited ?? false,
28487
28501
  mutable: options.mutable ?? false,
28488
28502
  mutationFn: options.mutationFn ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.mutateNode
28489
28503
  };