nehan
Version:
Html layout engine for paged-media written in Typescript
32 lines (31 loc) • 1.02 kB
TypeScript
import { TokenMapper } from "./public-api";
export interface ILexer<T> {
tokens: T[];
src: string;
hasNext: () => boolean;
getNext: () => T;
peek: (offset: number) => T | undefined;
pushBack: (count: number) => void;
acceptTokenMapper: (visitor: TokenMapper<T>) => void;
}
export declare class Lexer<T> implements ILexer<T> {
tokens: T[];
src: string;
protected pos: number;
protected buff: string;
constructor(src: string, args?: {});
acceptTokenMapper(visitor: TokenMapper<T>): void;
protected normalize(src: string, args?: {}): string;
protected stepBuff(count: number): void;
protected getChar(): string;
protected peekChar(): string;
get progress(): number;
hasNext(): boolean;
getNext(): T;
protected setupTokens(args: any): T[];
protected addToken(token: T): void;
protected createToken(args: any): T;
protected hasNextBuff(): boolean;
peek(offset?: number): T | undefined;
pushBack(count: number): void;
}