@slippi/slippi-js
Version:
Official Project Slippi Javascript SDK
59 lines • 2.05 kB
TypeScript
import { EventEmitter } from "events";
import type { EnabledItemType, FrameEntryType, FramesType, GameEndType, GameStartType, GeckoListType, RollbackFrames } from "../types";
import { Command } from "../types";
export declare const MAX_ROLLBACK_FRAMES = 7;
export declare enum SlpParserEvent {
SETTINGS = "settings",
END = "end",
FRAME = "frame",// Emitted for every frame
FINALIZED_FRAME = "finalized-frame",// Emitted for only finalized frames
ROLLBACK_FRAME = "rollback-frame"
}
declare const defaultSlpParserOptions: {
strict: boolean;
};
export type SlpParserOptions = typeof defaultSlpParserOptions;
export declare class SlpParser extends EventEmitter {
private frames;
private rollbackCounter;
private settings;
private gameEnd;
private latestFrameIndex;
private settingsComplete;
private lastFinalizedFrame;
private options;
private geckoList;
constructor(options?: Partial<SlpParserOptions>);
handleCommand(command: Command, payload: any): void;
/**
* Resets the parser state to their default values.
*/
reset(): void;
getLatestFrameNumber(): number;
getPlayableFrameCount(): number;
getLatestFrame(): FrameEntryType | null;
getSettings(): GameStartType | null;
getItems(): EnabledItemType[] | null;
getGameEnd(): GameEndType | null;
getFrames(): FramesType;
getRollbackFrames(): RollbackFrames;
getFrame(num: number): FrameEntryType | null;
getGeckoList(): GeckoListType | null;
private _handleGeckoList;
private _handleGameEnd;
private _handleGameStart;
private _handleFrameStart;
private _handlePostFrameUpdate;
private _handleFrameUpdate;
private _handleItemUpdate;
private _handleFrameBookend;
private _handleStageEvent;
/**
* Fires off the FINALIZED_FRAME event for frames up until a certain number
* @param num The frame to finalize until
*/
private _finalizeFrames;
private _completeSettings;
}
export {};
//# sourceMappingURL=slpParser.d.ts.map