@speclynx/apidom-ns-arazzo-1 4.10.0 → 4.11.1
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,18 @@
|
|
|
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.11.1](https://github.com/speclynx/apidom/compare/v4.11.0...v4.11.1) (2026-06-10)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @speclynx/apidom-ns-arazzo-1
|
|
9
|
+
|
|
10
|
+
# [4.11.0](https://github.com/speclynx/apidom/compare/v4.10.1...v4.11.0) (2026-06-10)
|
|
11
|
+
|
|
12
|
+
**Note:** Version bump only for package @speclynx/apidom-ns-arazzo-1
|
|
13
|
+
|
|
14
|
+
## [4.10.1](https://github.com/speclynx/apidom/compare/v4.10.0...v4.10.1) (2026-05-20)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @speclynx/apidom-ns-arazzo-1
|
|
17
|
+
|
|
6
18
|
# [4.10.0](https://github.com/speclynx/apidom/compare/v4.9.1...v4.10.0) (2026-05-12)
|
|
7
19
|
|
|
8
20
|
**Note:** Version bump only for package @speclynx/apidom-ns-arazzo-1
|
|
@@ -27620,6 +27620,14 @@ class Path {
|
|
|
27620
27620
|
*/
|
|
27621
27621
|
inList;
|
|
27622
27622
|
|
|
27623
|
+
/**
|
|
27624
|
+
* True when this node is a non-descending revisit of an already-visited node
|
|
27625
|
+
* (only under skipVisited: 'enter-only'). Children are not traversed.
|
|
27626
|
+
* Set on both the enter and the matching leave phase, so it is meaningful
|
|
27627
|
+
* in either phase.
|
|
27628
|
+
*/
|
|
27629
|
+
revisited = false;
|
|
27630
|
+
|
|
27623
27631
|
/**
|
|
27624
27632
|
* Internal state for traversal control.
|
|
27625
27633
|
*/
|
|
@@ -28204,6 +28212,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
28204
28212
|
|
|
28205
28213
|
|
|
28206
28214
|
|
|
28215
|
+
/**
|
|
28216
|
+
* Controls handling of already-visited nodes during traversal.
|
|
28217
|
+
* @public
|
|
28218
|
+
*/
|
|
28207
28219
|
/**
|
|
28208
28220
|
* Options for the traverse function.
|
|
28209
28221
|
* @public
|
|
@@ -28211,6 +28223,12 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
28211
28223
|
// =============================================================================
|
|
28212
28224
|
// Internal types for generator
|
|
28213
28225
|
// =============================================================================
|
|
28226
|
+
|
|
28227
|
+
const normalizeSkipVisited = v => {
|
|
28228
|
+
if (v === true) return 'skip';
|
|
28229
|
+
if (v === false || v === undefined) return 'never';
|
|
28230
|
+
return v;
|
|
28231
|
+
};
|
|
28214
28232
|
// =============================================================================
|
|
28215
28233
|
// Core generator
|
|
28216
28234
|
// =============================================================================
|
|
@@ -28228,7 +28246,7 @@ function* traverseGenerator(root, visitor, options) {
|
|
|
28228
28246
|
mutationFn
|
|
28229
28247
|
} = options;
|
|
28230
28248
|
const keyMapIsFunction = typeof keyMap === 'function';
|
|
28231
|
-
const visitedNodes = skipVisited ? new WeakSet() : null;
|
|
28249
|
+
const visitedNodes = skipVisited !== 'never' ? new WeakSet() : null;
|
|
28232
28250
|
let stack;
|
|
28233
28251
|
let inArray = Array.isArray(root);
|
|
28234
28252
|
let keys = [root];
|
|
@@ -28243,6 +28261,7 @@ function* traverseGenerator(root, visitor, options) {
|
|
|
28243
28261
|
index += 1;
|
|
28244
28262
|
const isLeaving = index === keys.length;
|
|
28245
28263
|
let key;
|
|
28264
|
+
let revisitNoDescend = false;
|
|
28246
28265
|
const isEdited = isLeaving && edits.length !== 0;
|
|
28247
28266
|
if (isLeaving) {
|
|
28248
28267
|
key = ancestors.length === 0 ? undefined : currentPath?.key;
|
|
@@ -28284,6 +28303,7 @@ function* traverseGenerator(root, visitor, options) {
|
|
|
28284
28303
|
edits = stack.edits;
|
|
28285
28304
|
const parentInArray = stack.inArray;
|
|
28286
28305
|
parentPath = stack.parentPath;
|
|
28306
|
+
revisitNoDescend = stack.revisitNoDescend;
|
|
28287
28307
|
stack = stack.prev;
|
|
28288
28308
|
|
|
28289
28309
|
// Push the edited node to parent's edits for propagation up the tree
|
|
@@ -28315,15 +28335,22 @@ function* traverseGenerator(root, visitor, options) {
|
|
|
28315
28335
|
}
|
|
28316
28336
|
|
|
28317
28337
|
// Skip already-visited nodes (handles DAG structures from cloneShallow)
|
|
28318
|
-
if (skipVisited && !isLeaving) {
|
|
28338
|
+
if (skipVisited !== 'never' && !isLeaving) {
|
|
28319
28339
|
if (visitedNodes.has(node)) {
|
|
28320
|
-
|
|
28340
|
+
if (skipVisited === 'enter-only') {
|
|
28341
|
+
// fire enter/leave for this occurrence, but don't re-descend
|
|
28342
|
+
revisitNoDescend = true;
|
|
28343
|
+
} else {
|
|
28344
|
+
continue;
|
|
28345
|
+
}
|
|
28346
|
+
} else {
|
|
28347
|
+
visitedNodes.add(node);
|
|
28321
28348
|
}
|
|
28322
|
-
visitedNodes.add(node);
|
|
28323
28349
|
}
|
|
28324
28350
|
|
|
28325
28351
|
// Always create Path for the current node (needed for parentPath chain)
|
|
28326
28352
|
currentPath = new _Path_mjs__WEBPACK_IMPORTED_MODULE_2__.Path(node, parent, parentPath, key, inArray);
|
|
28353
|
+
currentPath.revisited = revisitNoDescend;
|
|
28327
28354
|
const visitFn = (0,_visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.getVisitFn)(visitor, nodeTypeGetter(node), isLeaving);
|
|
28328
28355
|
if (visitFn) {
|
|
28329
28356
|
// Assign state to visitor
|
|
@@ -28387,10 +28414,13 @@ function* traverseGenerator(root, visitor, options) {
|
|
|
28387
28414
|
keys,
|
|
28388
28415
|
edits,
|
|
28389
28416
|
parentPath,
|
|
28417
|
+
revisitNoDescend,
|
|
28390
28418
|
prev: stack
|
|
28391
28419
|
};
|
|
28392
28420
|
inArray = Array.isArray(node);
|
|
28393
|
-
if (
|
|
28421
|
+
if (revisitNoDescend) {
|
|
28422
|
+
keys = [];
|
|
28423
|
+
} else if (inArray) {
|
|
28394
28424
|
keys = node;
|
|
28395
28425
|
} else if (keyMapIsFunction) {
|
|
28396
28426
|
keys = keyMap(node);
|
|
@@ -28465,7 +28495,7 @@ const traverse = (root, visitor, options = {}) => {
|
|
|
28465
28495
|
nodePredicate: options.nodePredicate ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.isNode,
|
|
28466
28496
|
nodeCloneFn: options.nodeCloneFn ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.cloneNode,
|
|
28467
28497
|
detectCycles: options.detectCycles ?? true,
|
|
28468
|
-
skipVisited: options.skipVisited
|
|
28498
|
+
skipVisited: normalizeSkipVisited(options.skipVisited),
|
|
28469
28499
|
mutable: options.mutable ?? false,
|
|
28470
28500
|
mutationFn: options.mutationFn ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.mutateNode
|
|
28471
28501
|
};
|
|
@@ -28497,7 +28527,7 @@ const traverseAsync = async (root, visitor, options = {}) => {
|
|
|
28497
28527
|
nodePredicate: options.nodePredicate ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.isNode,
|
|
28498
28528
|
nodeCloneFn: options.nodeCloneFn ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.cloneNode,
|
|
28499
28529
|
detectCycles: options.detectCycles ?? true,
|
|
28500
|
-
skipVisited: options.skipVisited
|
|
28530
|
+
skipVisited: normalizeSkipVisited(options.skipVisited),
|
|
28501
28531
|
mutable: options.mutable ?? false,
|
|
28502
28532
|
mutationFn: options.mutationFn ?? _visitors_mjs__WEBPACK_IMPORTED_MODULE_3__.mutateNode
|
|
28503
28533
|
};
|
|
@@ -28965,7 +28995,9 @@ mergeVisitors[Symbol.for('nodejs.util.promisify.custom')] = mergeVisitorsAsync;
|
|
|
28965
28995
|
* @internal
|
|
28966
28996
|
*/
|
|
28967
28997
|
function createPathProxy(originalPath, currentNode) {
|
|
28968
|
-
|
|
28998
|
+
const proxy = new _Path_mjs__WEBPACK_IMPORTED_MODULE_4__.Path(currentNode, originalPath.parent, originalPath.parentPath, originalPath.key, originalPath.inList);
|
|
28999
|
+
proxy.revisited = originalPath.revisited;
|
|
29000
|
+
return proxy;
|
|
28969
29001
|
}
|
|
28970
29002
|
|
|
28971
29003
|
/***/ }
|