UNPKG

sucrase

Version:

Super-fast alternative to Babel for when you can target modern JS runtimes

77 lines (76 loc) 2.54 kB
import { Options } from "../options"; import BaseParser from "../parser/base"; import { TokContext } from "./context"; import State from "./state"; import { TokenType } from "./types"; export declare enum IdentifierRole { Access = 0, ExportAccess = 1, FunctionScopedDeclaration = 2, BlockScopedDeclaration = 3, ObjectShorthand = 4, ObjectKey = 5, } export declare class Token { constructor(state: State); type: TokenType; value: any; start: number; end: number; isType: boolean; identifierRole?: IdentifierRole; shadowsGlobal?: boolean; contextId?: number; rhsEndIndex?: number; isExpression?: boolean; } export default abstract class Tokenizer extends BaseParser { abstract unexpected(pos?: number | null, messageOrType?: string | TokenType): never; isLookahead: boolean; state: State; input: string; nextContextId: number; constructor(options: Options, input: string); next(): void; runInTypeContext<T>(existingTokensInType: number, func: () => T): T; eat(type: TokenType): boolean; match(type: TokenType): boolean; isKeyword(word: string): boolean; lookaheadType(): TokenType; lookaheadTypeAndValue(): { type: TokenType; value: any; }; curContext(): TokContext; nextToken(): void; readToken(code: number): void; fullCharCodeAtPos(): number; skipBlockComment(): void; skipLineComment(startSkip: number): void; skipSpace(): void; finishToken(type: TokenType, val?: any): void; readToken_dot(): void; readToken_slash(): void; readToken_mult_modulo(code: number): void; readToken_pipe_amp(code: number): void; readToken_caret(): void; readToken_plus_min(code: number): void; readToken_lt_gt(code: number): void; readToken_eq_excl(code: number): void; readToken_question(): void; getTokenFromCode(code: number): void; finishOp(type: TokenType, size: number): void; readRegexp(): void; readInt(radix: number, len?: number): number | null; readRadixNumber(radix: number): void; readNumber(startsWithDot: boolean): void; readCodePoint(throwOnInvalid: boolean): number | null; readString(quote: number): void; readTmplToken(): void; readEscapedChar(inTemplate: boolean): string | null; readHexChar(len: number, throwOnInvalid: boolean): number | null; readWord1(): string; readWord(): void; braceIsBlock(prevType: TokenType): boolean; updateContext(prevType: TokenType): void; }