1 export as namespace acorn
4 declare namespace acorn {
5 function parse(input: string, options?: Options): Node
7 function parseExpressionAt(input: string, pos?: number, options?: Options): Node
9 function tokenizer(input: string, options?: Options): {
11 [Symbol.iterator](): Iterator<Token>
15 ecmaVersion?: 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020
16 sourceType?: 'script' | 'module'
17 onInsertedSemicolon?: (lastTokEnd: number, lastTokEndLoc?: Position) => void
18 onTrailingComma?: (lastTokEnd: number, lastTokEndLoc?: Position) => void
19 allowReserved?: boolean | 'never'
20 allowReturnOutsideFunction?: boolean
21 allowImportExportEverywhere?: boolean
22 allowAwaitOutsideFunction?: boolean
23 allowHashBang?: boolean
25 onToken?: ((token: Token) => any) | Token[]
27 isBlock: boolean, text: string, start: number, end: number, startLoc?: Position,
29 ) => void) | Comment[]
33 directSourceFile?: string
34 preserveParens?: boolean
38 constructor(options: Options, input: string, startPos?: number)
39 parse(this: Parser): Node
40 static parse(this: typeof Parser, input: string, options?: Options): Node
41 static parseExpressionAt(this: typeof Parser, input: string, pos: number, options?: Options): Node
42 static tokenizer(this: typeof Parser, input: string, options?: Options): {
44 [Symbol.iterator](): Iterator<Token>
46 static extend(this: typeof Parser, ...plugins: ((BaseParser: typeof Parser) => typeof Parser)[]): typeof Parser
49 interface Position { line: number; column: number; offset: number }
51 const defaultOptions: Options
53 function getLineInfo(input: string, offset: number): Position
55 class SourceLocation {
58 source?: string | null
59 constructor(p: Parser, start: Position, end: Position)
68 range?: [number, number]
69 constructor(parser: Parser, pos: number, loc?: SourceLocation)
82 updateContext?: (prevType: TokenType) => void
83 constructor(label: string, conf?: any)
107 dollarBraceL: TokenType
113 logicalAND: TokenType
115 bitwiseXOR: TokenType
116 bitwiseAND: TokenType
118 relational: TokenType
156 _instanceof: TokenType
163 constructor(token: string, isExpr: boolean, preserveSpace: boolean, override?: (p: Parser) => void)
176 function isIdentifierStart(code: number, astral?: boolean): boolean
178 function isIdentifierChar(code: number, astral?: boolean): boolean
180 interface AbstractToken {
183 interface Comment extends AbstractToken {
189 range?: [number, number]
198 range?: [number, number]
199 constructor(p: Parser)
202 function isNewLine(code: number): boolean
204 const lineBreak: RegExp
206 const lineBreakG: RegExp
208 const version: string