@vlad-yakovlev/poker
Version:
Texas Hold'em poker library
32 lines (31 loc) • 879 B
TypeScript
export declare enum ROUND {
PREFLOP = "PREFLOP",
FLOP = "FLOP",
TURN = "TURN",
RIVER = "RIVER"
}
export type PlayerData<Payload = any> = {
id: string;
cards: number[];
balance: number;
betAmount: number;
hasFolded: boolean;
hasLost: boolean;
hasTurned: boolean;
payload: Payload;
};
export type RoomData<RoomPayload = any, PlayerPayload = any> = {
id: string;
cards: number[];
round: ROUND;
dealsCount: number;
dealerIndex: number;
currentPlayerIndex: number;
players: PlayerData<PlayerPayload>[];
payload: RoomPayload;
};
export interface RoomStorage<RoomPayload = any, PlayerPayload = any> {
get(id: string): Promise<RoomData<RoomPayload, PlayerPayload> | undefined>;
set(id: string, roomData: RoomData<RoomPayload, PlayerPayload>): Promise<void>;
delete(id: string): Promise<void>;
}