-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtypings.d.ts
65 lines (60 loc) · 1.39 KB
/
typings.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
declare module 'espree' {
export interface Options {
range?: boolean;
loc?: boolean;
comment?: boolean;
tokens?: boolean;
ecmaVersion?:
| 3
| 5
| 6
| 7
| 8
| 9
| 10
| 11
| 12
| 2015
| 2016
| 2017
| 2018
| 2019
| 2021
| 2022
| 'latest';
sourceType?: 'script' | 'module';
ecmaFeatures?: {
jsx?: boolean;
globalReturn?: boolean;
impliedStrict?: boolean;
};
}
export interface Program {
body: any;
end: number;
start: number;
range: number[];
sourceType: 'script' | 'module';
type: 'Program';
tokens: Token[];
loc: SourceLocation;
}
export type TokenType = 'Identifier' | 'Punctuator' | 'String' | 'Keyword';
export interface Token {
type: TokenType;
loc: SourceLocation;
start: number;
end: number;
range: number[];
value: string;
}
export interface SourceLocation {
start: Position;
end: Position;
}
export interface Position {
line: number;
column: number;
}
export function parse(code: string, options?: Options): Program;
}