@speclynx/apidom-parser-adapter-openapi-json-3-0 4.0.4 → 4.0.5
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.0.5](https://github.com/speclynx/apidom/compare/v4.0.4...v4.0.5) (2026-03-13)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @speclynx/apidom-parser-adapter-openapi-json-3-0
|
|
9
|
+
|
|
6
10
|
## [4.0.4](https://github.com/speclynx/apidom/compare/v4.0.3...v4.0.4) (2026-03-12)
|
|
7
11
|
|
|
8
12
|
### Bug Fixes
|
|
@@ -35394,9 +35394,9 @@ const mergeVisitors = (visitors, options = {}) => {
|
|
|
35394
35394
|
}
|
|
35395
35395
|
|
|
35396
35396
|
// Handle path-based control flow
|
|
35397
|
+
// Note: no break here — other merged visitors must still process this node
|
|
35397
35398
|
if (proxyPath.shouldStop) {
|
|
35398
35399
|
skipping[i] = breakSymbol;
|
|
35399
|
-
break;
|
|
35400
35400
|
}
|
|
35401
35401
|
if (proxyPath.shouldSkip) {
|
|
35402
35402
|
skipping[i] = currentNode;
|
|
@@ -35427,6 +35427,11 @@ const mergeVisitors = (visitors, options = {}) => {
|
|
|
35427
35427
|
}
|
|
35428
35428
|
}
|
|
35429
35429
|
}
|
|
35430
|
+
|
|
35431
|
+
// stop traversal only when all visitors have stopped
|
|
35432
|
+
if (skipping.every(s => s === breakSymbol)) {
|
|
35433
|
+
path.stop();
|
|
35434
|
+
}
|
|
35430
35435
|
if (hasChanged) {
|
|
35431
35436
|
path.replaceWith(currentNode);
|
|
35432
35437
|
return currentNode;
|
|
@@ -35452,9 +35457,9 @@ const mergeVisitors = (visitors, options = {}) => {
|
|
|
35452
35457
|
}
|
|
35453
35458
|
|
|
35454
35459
|
// Handle path-based control flow
|
|
35460
|
+
// Note: no break here — other merged visitors must still process this node
|
|
35455
35461
|
if (proxyPath.shouldStop) {
|
|
35456
35462
|
skipping[i] = breakSymbol;
|
|
35457
|
-
break;
|
|
35458
35463
|
}
|
|
35459
35464
|
if (proxyPath.removed) {
|
|
35460
35465
|
path.remove();
|
|
@@ -35474,6 +35479,11 @@ const mergeVisitors = (visitors, options = {}) => {
|
|
|
35474
35479
|
skipping[i] = internalSkipSymbol;
|
|
35475
35480
|
}
|
|
35476
35481
|
}
|
|
35482
|
+
|
|
35483
|
+
// stop traversal only when all visitors have stopped
|
|
35484
|
+
if (skipping.every(s => s === breakSymbol)) {
|
|
35485
|
+
path.stop();
|
|
35486
|
+
}
|
|
35477
35487
|
return undefined;
|
|
35478
35488
|
}
|
|
35479
35489
|
};
|
|
@@ -35502,9 +35512,11 @@ const mergeVisitorsAsync = (visitors, options = {}) => {
|
|
|
35502
35512
|
if (typeof visitFn === 'function') {
|
|
35503
35513
|
const proxyPath = createPathProxy(path, currentNode);
|
|
35504
35514
|
const result = await visitFn.call(visitors[i], proxyPath);
|
|
35515
|
+
|
|
35516
|
+
// Handle path-based control flow
|
|
35517
|
+
// Note: no break here — other merged visitors must still process this node
|
|
35505
35518
|
if (proxyPath.shouldStop) {
|
|
35506
35519
|
skipping[i] = breakSymbol;
|
|
35507
|
-
break;
|
|
35508
35520
|
}
|
|
35509
35521
|
if (proxyPath.shouldSkip) {
|
|
35510
35522
|
skipping[i] = currentNode;
|
|
@@ -35534,6 +35546,11 @@ const mergeVisitorsAsync = (visitors, options = {}) => {
|
|
|
35534
35546
|
}
|
|
35535
35547
|
}
|
|
35536
35548
|
}
|
|
35549
|
+
|
|
35550
|
+
// stop traversal only when all visitors have stopped
|
|
35551
|
+
if (skipping.every(s => s === breakSymbol)) {
|
|
35552
|
+
path.stop();
|
|
35553
|
+
}
|
|
35537
35554
|
if (hasChanged) {
|
|
35538
35555
|
path.replaceWith(currentNode);
|
|
35539
35556
|
return currentNode;
|
|
@@ -35548,9 +35565,11 @@ const mergeVisitorsAsync = (visitors, options = {}) => {
|
|
|
35548
35565
|
if (typeof visitFn === 'function') {
|
|
35549
35566
|
const proxyPath = createPathProxy(path, currentNode);
|
|
35550
35567
|
const result = await visitFn.call(visitors[i], proxyPath);
|
|
35568
|
+
|
|
35569
|
+
// Handle path-based control flow
|
|
35570
|
+
// Note: no break here — other merged visitors must still process this node
|
|
35551
35571
|
if (proxyPath.shouldStop) {
|
|
35552
35572
|
skipping[i] = breakSymbol;
|
|
35553
|
-
break;
|
|
35554
35573
|
}
|
|
35555
35574
|
if (proxyPath.removed) {
|
|
35556
35575
|
path.remove();
|
|
@@ -35569,6 +35588,11 @@ const mergeVisitorsAsync = (visitors, options = {}) => {
|
|
|
35569
35588
|
skipping[i] = internalSkipSymbol;
|
|
35570
35589
|
}
|
|
35571
35590
|
}
|
|
35591
|
+
|
|
35592
|
+
// stop traversal only when all visitors have stopped
|
|
35593
|
+
if (skipping.every(s => s === breakSymbol)) {
|
|
35594
|
+
path.stop();
|
|
35595
|
+
}
|
|
35572
35596
|
return undefined;
|
|
35573
35597
|
}
|
|
35574
35598
|
};
|