sucrase
Version:
Super-fast alternative to Babel for when you can target modern JS runtimes
50 lines (49 loc) • 1.26 kB
TypeScript
import { Options } from "../options";
import { TokContext } from "./context";
import { Token } from "./index";
import { TokenType } from "./types";
export declare type Scope = {
isFunctionScope: boolean;
startTokenIndex: number;
endTokenIndex: number;
};
export declare type StateSnapshot = {
potentialArrowAt: number;
inGenerator: boolean;
inType: boolean;
noAnonFunctionType: boolean;
inPropertyName: boolean;
tokensLength: number;
scopesLength: number;
pos: number;
type: TokenType;
value: any;
start: number;
end: number;
isType: boolean;
lastTokEnd: number;
context: Array<TokContext>;
exprAllowed: boolean;
};
export default class State {
init(options: Options, input: string): void;
input: string;
potentialArrowAt: number;
inGenerator: boolean;
inType: boolean;
noAnonFunctionType: boolean;
inPropertyName: boolean;
tokens: Array<Token>;
scopes: Array<Scope>;
pos: number;
type: TokenType;
value: any;
start: number;
end: number;
isType: boolean;
lastTokEnd: number;
context: Array<TokContext>;
exprAllowed: boolean;
snapshot(): StateSnapshot;
restoreFromSnapshot(snapshot: StateSnapshot): void;
}