holdem-poker
Version:
Javascript Holdem Poker Engine
78 lines (77 loc) • 1.86 kB
TypeScript
import { Card } from "./Card";
export declare const DESC: (a: any, b: any) => number;
export interface HandValue {
name: string;
value: number;
}
/**
* Result of compareHands
*
* @property type win or draw
* @property index winner index(if win)
* @property name winning hand
* @property suit suit name if won with high card
* @property value card value if won with high card
*/
export interface Result {
type: 'win' | 'draw';
index?: number;
name?: string;
suit?: string;
value?: number;
tieBreak?: number;
}
interface TestCache {
high_card: {
suit: string;
value: number;
kicker: {
suit: string;
value: number;
};
};
pair: {
value: number;
index: number;
};
two_pairs: {
all_indices: Array<number>;
pair_indices: Array<number>;
};
three_of_a_kind: {
value: number;
indices: Array<number>;
};
four_of_a_kind: number;
straight: {
start?: number;
result: boolean;
};
flush: any;
straight_flush: boolean;
}
export interface Rank {
index: number;
cache: TestCache;
hand: Card[];
name: string;
value: number;
}
export declare class Holdem {
private test_cache;
private test_summary;
private TestSeries;
private TestHighCard;
private TestPair;
private TestTwoPairs;
private TestThreeOfAKind;
private TestStraight;
private TestFlush;
private TestFullHouse;
private TestFourOfAKind;
private TestStraightFlush;
private TestRoyalFlush;
computeHand(allcards: Array<Card>, mainCards: Array<Card>): HandValue;
compareHands(hands: Array<Array<Card>>, community: Array<Card>): Result;
}
export {};