subtitle
Version:
Stream-based library for parsing and manipulating subtitles
30 lines (29 loc) • 748 B
TypeScript
import { Node } from '.';
export declare type Pusher = (node: Node) => void;
export interface ParseState {
expect: 'header' | 'id' | 'timestamp' | 'text' | 'vtt_comment';
row: number;
hasContentStarted: boolean;
isWebVTT: boolean;
node: Partial<Node>;
buffer: string[];
}
export declare class Parser {
private push;
private state;
constructor({ push }: {
push: Pusher;
});
private isIndex;
private isTimestamp;
private isVttComment;
private getError;
parseLine(line: string): void;
flush(): void;
private parseHeader;
private parseId;
private parseVttComment;
private parseTimestamp;
private parseText;
private pushNode;
}