@haelp/teto
Version:
A typescript-based controllable TETR.IO client.
28 lines (27 loc) • 798 B
TypeScript
import { BagType, RngInnerFunction } from "./rng";
import { Mino } from "./types";
export interface QueueInitializeParams {
seed: number;
type: BagType;
minLength: number;
}
export declare class Queue {
seed: number;
type: BagType;
genFunction: RngInnerFunction;
value: Mino[];
_minLength: number;
index: number;
repopulateListener: ((pieces: Mino[]) => void) | null;
constructor(options: QueueInitializeParams);
reset(index?: number): void;
onRepopulate(listener: NonNullable<typeof this.repopulateListener>): void;
get minLength(): number;
set minLength(val: number);
get next(): Mino;
at(index: number): Mino | undefined;
shift(): Mino | undefined;
private repopulate;
}
export * from "./rng";
export * from "./types";