Как пройтись 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 не было найдено, относительно моей проблемы.


Ответы (0 шт):