Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
MR414N-ID
GitHub Repository: MR414N-ID/botku2
Path: blob/master/node_modules/acorn-walk/dist/walk.d.ts
1126 views
1
import {Node} from 'acorn';
2
3
declare module "acorn-walk" {
4
type FullWalkerCallback<TState> = (
5
node: Node,
6
state: TState,
7
type: string
8
) => void;
9
10
type FullAncestorWalkerCallback<TState> = (
11
node: Node,
12
state: TState | Node[],
13
ancestors: Node[],
14
type: string
15
) => void;
16
type WalkerCallback<TState> = (node: Node, state: TState) => void;
17
18
type SimpleWalkerFn<TState> = (
19
node: Node,
20
state: TState
21
) => void;
22
23
type AncestorWalkerFn<TState> = (
24
node: Node,
25
state: TState| Node[],
26
ancestors: Node[]
27
) => void;
28
29
type RecursiveWalkerFn<TState> = (
30
node: Node,
31
state: TState,
32
callback: WalkerCallback<TState>
33
) => void;
34
35
type SimpleVisitors<TState> = {
36
[type: string]: SimpleWalkerFn<TState>
37
};
38
39
type AncestorVisitors<TState> = {
40
[type: string]: AncestorWalkerFn<TState>
41
};
42
43
type RecursiveVisitors<TState> = {
44
[type: string]: RecursiveWalkerFn<TState>
45
};
46
47
type FindPredicate = (type: string, node: Node) => boolean;
48
49
interface Found<TState> {
50
node: Node,
51
state: TState
52
}
53
54
export function simple<TState>(
55
node: Node,
56
visitors: SimpleVisitors<TState>,
57
base?: RecursiveVisitors<TState>,
58
state?: TState
59
): void;
60
61
export function ancestor<TState>(
62
node: Node,
63
visitors: AncestorVisitors<TState>,
64
base?: RecursiveVisitors<TState>,
65
state?: TState
66
): void;
67
68
export function recursive<TState>(
69
node: Node,
70
state: TState,
71
functions: RecursiveVisitors<TState>,
72
base?: RecursiveVisitors<TState>
73
): void;
74
75
export function full<TState>(
76
node: Node,
77
callback: FullWalkerCallback<TState>,
78
base?: RecursiveVisitors<TState>,
79
state?: TState
80
): void;
81
82
export function fullAncestor<TState>(
83
node: Node,
84
callback: FullAncestorWalkerCallback<TState>,
85
base?: RecursiveVisitors<TState>,
86
state?: TState
87
): void;
88
89
export function make<TState>(
90
functions: RecursiveVisitors<TState>,
91
base?: RecursiveVisitors<TState>
92
): RecursiveVisitors<TState>;
93
94
export function findNodeAt<TState>(
95
node: Node,
96
start: number | undefined,
97
end?: number | undefined,
98
type?: FindPredicate | string,
99
base?: RecursiveVisitors<TState>,
100
state?: TState
101
): Found<TState> | undefined;
102
103
export function findNodeAround<TState>(
104
node: Node,
105
start: number | undefined,
106
type?: FindPredicate | string,
107
base?: RecursiveVisitors<TState>,
108
state?: TState
109
): Found<TState> | undefined;
110
111
export const findNodeAfter: typeof findNodeAround;
112
}
113
114