You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							253 lines
						
					
					
						
							6.1 KiB
						
					
					
				
			
		
		
	
	
							253 lines
						
					
					
						
							6.1 KiB
						
					
					
				| export as namespace acorn
 | |
| export = acorn
 | |
| 
 | |
| declare namespace acorn {
 | |
|   function parse(input: string, options: Options): Node
 | |
| 
 | |
|   function parseExpressionAt(input: string, pos: number, options: Options): Node
 | |
| 
 | |
|   function tokenizer(input: string, options: Options): {
 | |
|     getToken(): Token
 | |
|     [Symbol.iterator](): Iterator<Token>
 | |
|   }
 | |
| 
 | |
|   type ecmaVersion = 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 'latest'
 | |
| 
 | |
|   interface Options {
 | |
|     ecmaVersion: ecmaVersion
 | |
|     sourceType?: 'script' | 'module'
 | |
|     onInsertedSemicolon?: (lastTokEnd: number, lastTokEndLoc?: Position) => void
 | |
|     onTrailingComma?: (lastTokEnd: number, lastTokEndLoc?: Position) => void
 | |
|     allowReserved?: boolean | 'never'
 | |
|     allowReturnOutsideFunction?: boolean
 | |
|     allowImportExportEverywhere?: boolean
 | |
|     allowAwaitOutsideFunction?: boolean
 | |
|     allowSuperOutsideMethod?: boolean
 | |
|     allowHashBang?: boolean
 | |
|     locations?: boolean
 | |
|     onToken?: ((token: Token) => any) | Token[]
 | |
|     onComment?: ((
 | |
|       isBlock: boolean, text: string, start: number, end: number, startLoc?: Position,
 | |
|       endLoc?: Position
 | |
|     ) => void) | Comment[]
 | |
|     ranges?: boolean
 | |
|     program?: Node
 | |
|     sourceFile?: string
 | |
|     directSourceFile?: string
 | |
|     preserveParens?: boolean
 | |
|   }
 | |
| 
 | |
|   class Parser {
 | |
|     // state.js
 | |
|     lineStart: number;
 | |
|     options: Options;
 | |
|     curLine: number;
 | |
|     start: number;
 | |
|     end: number;
 | |
|     input: string;
 | |
|     type: TokenType;
 | |
| 
 | |
|     // state.js
 | |
|     constructor(options: Options, input: string, startPos?: number)
 | |
|     parse(this: Parser): Node
 | |
| 
 | |
|     // tokenize.js
 | |
|     next(): void;
 | |
|     nextToken(): void;
 | |
| 
 | |
|     // statement.js
 | |
|     parseTopLevel(node: Node): Node;
 | |
| 
 | |
|     // node.js
 | |
|     finishNode(node: Node, type: string): Node;
 | |
|     finishNodeAt(node: Node, type: string, pos: number, loc: Position): Node;
 | |
| 
 | |
|     // location.js
 | |
|     raise(pos: number, message: string) : void;
 | |
|     raiseRecoverable?(pos: number, message: string) : void;
 | |
| 
 | |
|     // parseutils.js
 | |
|     unexpected(pos: number) : void;
 | |
| 
 | |
|     // index.js
 | |
|     static acorn: typeof acorn;
 | |
| 
 | |
|     // state.js
 | |
|     static parse(this: typeof Parser, input: string, options: Options): Node
 | |
|     static parseExpressionAt(this: typeof Parser, input: string, pos: number, options: Options): Node
 | |
|     static tokenizer(this: typeof Parser, input: string, options: Options): {
 | |
|       getToken(): Token
 | |
|       [Symbol.iterator](): Iterator<Token>
 | |
|     }
 | |
|     static extend(this: typeof Parser, ...plugins: ((BaseParser: typeof Parser) => typeof Parser)[]): typeof Parser
 | |
|   }
 | |
| 
 | |
|   interface Position { line: number; column: number; offset: number }
 | |
| 
 | |
|   const defaultOptions: Options
 | |
| 
 | |
|   function getLineInfo(input: string, offset: number): Position
 | |
| 
 | |
|   class SourceLocation {
 | |
|     start: Position
 | |
|     end: Position
 | |
|     source?: string | null
 | |
|     constructor(p: Parser, start: Position, end: Position)
 | |
|   }
 | |
| 
 | |
|   class Node {
 | |
|     type: string
 | |
|     start: number
 | |
|     end: number
 | |
|     loc?: SourceLocation
 | |
|     sourceFile?: string
 | |
|     range?: [number, number]
 | |
|     constructor(parser: Parser, pos: number, loc?: SourceLocation)
 | |
|   }
 | |
| 
 | |
|   class TokenType {
 | |
|     label: string
 | |
|     keyword: string
 | |
|     beforeExpr: boolean
 | |
|     startsExpr: boolean
 | |
|     isLoop: boolean
 | |
|     isAssign: boolean
 | |
|     prefix: boolean
 | |
|     postfix: boolean
 | |
|     binop: number
 | |
|     updateContext?: (prevType: TokenType) => void
 | |
|     constructor(label: string, conf?: any)
 | |
|   }
 | |
| 
 | |
|   const tokTypes: {
 | |
|     num: TokenType
 | |
|     regexp: TokenType
 | |
|     string: TokenType
 | |
|     name: TokenType
 | |
|     privateId: TokenType
 | |
|     eof: TokenType
 | |
|     bracketL: TokenType
 | |
|     bracketR: TokenType
 | |
|     braceL: TokenType
 | |
|     braceR: TokenType
 | |
|     parenL: TokenType
 | |
|     parenR: TokenType
 | |
|     comma: TokenType
 | |
|     semi: TokenType
 | |
|     colon: TokenType
 | |
|     dot: TokenType
 | |
|     question: TokenType
 | |
|     questionDot: TokenType
 | |
|     arrow: TokenType
 | |
|     template: TokenType
 | |
|     invalidTemplate: TokenType
 | |
|     ellipsis: TokenType
 | |
|     backQuote: TokenType
 | |
|     dollarBraceL: TokenType
 | |
|     eq: TokenType
 | |
|     assign: TokenType
 | |
|     incDec: TokenType
 | |
|     prefix: TokenType
 | |
|     logicalOR: TokenType
 | |
|     logicalAND: TokenType
 | |
|     bitwiseOR: TokenType
 | |
|     bitwiseXOR: TokenType
 | |
|     bitwiseAND: TokenType
 | |
|     equality: TokenType
 | |
|     relational: TokenType
 | |
|     bitShift: TokenType
 | |
|     plusMin: TokenType
 | |
|     modulo: TokenType
 | |
|     star: TokenType
 | |
|     slash: TokenType
 | |
|     starstar: TokenType
 | |
|     coalesce: TokenType
 | |
|     _break: TokenType
 | |
|     _case: TokenType
 | |
|     _catch: TokenType
 | |
|     _continue: TokenType
 | |
|     _debugger: TokenType
 | |
|     _default: TokenType
 | |
|     _do: TokenType
 | |
|     _else: TokenType
 | |
|     _finally: TokenType
 | |
|     _for: TokenType
 | |
|     _function: TokenType
 | |
|     _if: TokenType
 | |
|     _return: TokenType
 | |
|     _switch: TokenType
 | |
|     _throw: TokenType
 | |
|     _try: TokenType
 | |
|     _var: TokenType
 | |
|     _const: TokenType
 | |
|     _while: TokenType
 | |
|     _with: TokenType
 | |
|     _new: TokenType
 | |
|     _this: TokenType
 | |
|     _super: TokenType
 | |
|     _class: TokenType
 | |
|     _extends: TokenType
 | |
|     _export: TokenType
 | |
|     _import: TokenType
 | |
|     _null: TokenType
 | |
|     _true: TokenType
 | |
|     _false: TokenType
 | |
|     _in: TokenType
 | |
|     _instanceof: TokenType
 | |
|     _typeof: TokenType
 | |
|     _void: TokenType
 | |
|     _delete: TokenType
 | |
|   }
 | |
| 
 | |
|   class TokContext {
 | |
|     constructor(token: string, isExpr: boolean, preserveSpace: boolean, override?: (p: Parser) => void)
 | |
|   }
 | |
| 
 | |
|   const tokContexts: {
 | |
|     b_stat: TokContext
 | |
|     b_expr: TokContext
 | |
|     b_tmpl: TokContext
 | |
|     p_stat: TokContext
 | |
|     p_expr: TokContext
 | |
|     q_tmpl: TokContext
 | |
|     f_expr: TokContext
 | |
|     f_stat: TokContext
 | |
|     f_expr_gen: TokContext
 | |
|     f_gen: TokContext
 | |
|   }
 | |
| 
 | |
|   function isIdentifierStart(code: number, astral?: boolean): boolean
 | |
| 
 | |
|   function isIdentifierChar(code: number, astral?: boolean): boolean
 | |
| 
 | |
|   interface AbstractToken {
 | |
|   }
 | |
| 
 | |
|   interface Comment extends AbstractToken {
 | |
|     type: 'Line' | 'Block'
 | |
|     value: string
 | |
|     start: number
 | |
|     end: number
 | |
|     loc?: SourceLocation
 | |
|     range?: [number, number]
 | |
|   }
 | |
| 
 | |
|   class Token {
 | |
|     type: TokenType
 | |
|     value: any
 | |
|     start: number
 | |
|     end: number
 | |
|     loc?: SourceLocation
 | |
|     range?: [number, number]
 | |
|     constructor(p: Parser)
 | |
|   }
 | |
| 
 | |
|   function isNewLine(code: number): boolean
 | |
| 
 | |
|   const lineBreak: RegExp
 | |
| 
 | |
|   const lineBreakG: RegExp
 | |
| 
 | |
|   const version: string
 | |
| }
 |