aboutsummaryrefslogtreecommitdiffstats
path: root/vanilla/node_modules/estree-walker/src/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'vanilla/node_modules/estree-walker/src/index.js')
-rw-r--r--vanilla/node_modules/estree-walker/src/index.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/vanilla/node_modules/estree-walker/src/index.js b/vanilla/node_modules/estree-walker/src/index.js
new file mode 100644
index 0000000..933ea4f
--- /dev/null
+++ b/vanilla/node_modules/estree-walker/src/index.js
@@ -0,0 +1,34 @@
+import { SyncWalker } from './sync.js';
+import { AsyncWalker } from './async.js';
+
+/**
+ * @typedef {import('estree').Node} Node
+ * @typedef {import('./sync.js').SyncHandler} SyncHandler
+ * @typedef {import('./async.js').AsyncHandler} AsyncHandler
+ */
+
+/**
+ * @param {Node} ast
+ * @param {{
+ * enter?: SyncHandler
+ * leave?: SyncHandler
+ * }} walker
+ * @returns {Node | null}
+ */
+export function walk(ast, { enter, leave }) {
+ const instance = new SyncWalker(enter, leave);
+ return instance.visit(ast, null);
+}
+
+/**
+ * @param {Node} ast
+ * @param {{
+ * enter?: AsyncHandler
+ * leave?: AsyncHandler
+ * }} walker
+ * @returns {Promise<Node | null>}
+ */
+export async function asyncWalk(ast, { enter, leave }) {
+ const instance = new AsyncWalker(enter, leave);
+ return await instance.visit(ast, null);
+}