1 | /** @typedef { import('estree').BaseNode} BaseNode */
|
---|
2 | /** @typedef { import('./walker').WalkerContext} WalkerContext */
|
---|
3 | /** @typedef {(
|
---|
4 | * this: WalkerContext,
|
---|
5 | * node: BaseNode,
|
---|
6 | * parent: BaseNode,
|
---|
7 | * key: string,
|
---|
8 | * index: number
|
---|
9 | * ) => Promise<void>} AsyncHandler */
|
---|
10 | export class AsyncWalker extends WalkerBase {
|
---|
11 | /**
|
---|
12 | *
|
---|
13 | * @param {AsyncHandler} enter
|
---|
14 | * @param {AsyncHandler} leave
|
---|
15 | */
|
---|
16 | constructor(enter: (this: {
|
---|
17 | skip: () => void;
|
---|
18 | remove: () => void;
|
---|
19 | replace: (node: import("estree").BaseNode) => void;
|
---|
20 | }, node: import("estree").BaseNode, parent: import("estree").BaseNode, key: string, index: number) => Promise<void>, leave: (this: {
|
---|
21 | skip: () => void;
|
---|
22 | remove: () => void;
|
---|
23 | replace: (node: import("estree").BaseNode) => void;
|
---|
24 | }, node: import("estree").BaseNode, parent: import("estree").BaseNode, key: string, index: number) => Promise<void>);
|
---|
25 | /** @type {AsyncHandler} */
|
---|
26 | enter: AsyncHandler;
|
---|
27 | /** @type {AsyncHandler} */
|
---|
28 | leave: AsyncHandler;
|
---|
29 | /**
|
---|
30 | *
|
---|
31 | * @param {BaseNode} node
|
---|
32 | * @param {BaseNode} parent
|
---|
33 | * @param {string} [prop]
|
---|
34 | * @param {number} [index]
|
---|
35 | * @returns {Promise<BaseNode>}
|
---|
36 | */
|
---|
37 | visit(node: import("estree").BaseNode, parent: import("estree").BaseNode, prop?: string, index?: number): Promise<import("estree").BaseNode>;
|
---|
38 | should_skip: any;
|
---|
39 | should_remove: any;
|
---|
40 | replacement: any;
|
---|
41 | }
|
---|
42 | export type BaseNode = import("estree").BaseNode;
|
---|
43 | export type WalkerContext = {
|
---|
44 | skip: () => void;
|
---|
45 | remove: () => void;
|
---|
46 | replace: (node: import("estree").BaseNode) => void;
|
---|
47 | };
|
---|
48 | export type AsyncHandler = (this: {
|
---|
49 | skip: () => void;
|
---|
50 | remove: () => void;
|
---|
51 | replace: (node: import("estree").BaseNode) => void;
|
---|
52 | }, node: import("estree").BaseNode, parent: import("estree").BaseNode, key: string, index: number) => Promise<void>;
|
---|
53 | import { WalkerBase } from "./walker.js";
|
---|