UNPKG

@chess-fu/pgn-parser

Version:

Chess PGN parser for 8x8 chess games for import or export standards

57 lines (56 loc) 1.64 kB
import { HeaderEntry, MoveHistory } from './pgnTypes'; export declare enum PgnTokenType { EndOfFile = "", Newline = "\n", Whitespace = " ", CommentStart = "{", CommentEnd = "}", TagPairStart = "[", TagPairEnd = "]", RavStart = "(", RavEnd = ")", ExpansionStart = "<", ExpansionEnd = ">", LineEscape = "%", Quote = "\"", CommentToEOL = ";", FullStop = ".", Asterisks = "*", NAG = "$", SymbolExt = "-extra", SymbolChar = "alpha-num", Unknown = "unknown" } export declare class PgnDataCursor { private readonly _data; private readonly _validLength; private _lineOffset; private _line; private _offset; constructor(data: string, index?: number, length?: number); throwError(text: string): any; position(): number; save(): any; restore(saveData: any): void; peek(): string; peekExact(match: string): string | null; peekToken(): PgnTokenType; isEOF(): boolean; seek(relativeOffset: number): void; read(): string; readFromPrevious(position: number): string; readWhile(test: () => boolean): string; private readonly Readers; readSymbol(): any; readAll(char: string, limit?: number): number; readNumber(): number | null; readString(): string; skipCommentsFrom(comments?: string[]): boolean; skipWhitespace(skipNewline?: boolean, comments?: string[]): void; readTagPair(): HeaderEntry | null; private readonly pieceSAN; readMoveText(): MoveHistory | null; private _readMoveText; isMoveStop(token: PgnTokenType): boolean; } export default PgnDataCursor;