Skip to content

Commit 298704b

Browse files
committed
fix: Transform causing infinite loop when walking
1 parent 7286d8e commit 298704b

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

src/base/Executor.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -458,12 +458,15 @@ export default class Executor implements Interface {
458458
}
459459

460460
private async walk(
461-
node: Node,
461+
root: Node,
462462
transformer: (node: Node) => Promise<Node>
463463
): Promise<Node> {
464-
return walk(node)
464+
return walk(root)
465465
async function walk(node: Node): Promise<Node> {
466466
const transformed = await transformer(node)
467+
468+
if (transformed !== node) return transformed
469+
467470
if (transformed === undefined || isPrimitive(transformed))
468471
return transformed
469472
if (Array.isArray(transformed)) return Promise.all(transformed.map(walk))

0 commit comments

Comments
 (0)