UNPKG

@vlad-yakovlev/poker

Version:
32 lines (31 loc) 879 B
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>; }