Как пройтись traverse по конкретному SwitchCase из SwitchStatement?
Столкнулся с проблемой при попытке поиска AssignmentExpression из уже найденного SwitchCase.
Код который нужно разобрать:
window.point = 0;
switch (window.point){
case 9999:
window.point = 9999999;
console.log(9999);
break
}
Мой вариант:
import traverse from "@babel/traverse";
import { parse } from "@babel/parser";
import * as t from "@babel/types";
import fs from "fs";
const version = 1;
const code = fs.readFileSync(`case${version}.js`, { encoding: "utf-8" });
const ast = parse(code);
traverse.default(ast, {
SwitchStatement: path => {
var currentСase = path.node.cases[0];
path.scope.traverse(currentСase, {
AssignmentExpression: newPath => {
console.log(newPath)
}
});
}
});
По идее должен был появиться AssignmentExpression, который относится к
window.point = 9999999;, но выводится
<ref *1> NodePath {
contexts: [
TraversalContext {
queue: [Array],
priorityQueue: [],
parentPath: [NodePath],
scope: [Scope],
state: undefined,
opts: [Object]
}
],
.....
Ничего ценного в документации по babel/traverse не было найдено, относительно моей проблемы.