@xpressit/winning-poker-hand-rank
Version:
Determine winning poker hand rank
74 lines (73 loc) • 2.2 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.toCombination = void 0;
const cardRank_1 = require("./cardRank");
const toCombination = (gameType, rank) => {
if (gameType === 'short_deck') {
const fixedRank = (0, cardRank_1.toFixedSixPlusRank)(rank);
if (fixedRank === cardRank_1.ROYAL_FLUSH) {
return 'RoyalFlush';
}
if (fixedRank === cardRank_1.STRAIGHT_FLUSH) {
return 'StraightFlush';
}
if (fixedRank === cardRank_1.FOUR_OF_A_KIND) {
return 'FourOfAKind';
}
if (fixedRank === cardRank_1.SIXPLUS_FLUSH) {
return 'Flush';
}
if (fixedRank === cardRank_1.SIXPLUS_FULL_HOUSE) {
return 'FullHouse';
}
if (fixedRank === cardRank_1.STRAIGHT) {
return 'Straight';
}
if (fixedRank === cardRank_1.THREE_OF_A_KIND) {
return 'ThreeOfAKind';
}
if (fixedRank === cardRank_1.TWO_PAIR) {
return 'TwoPair';
}
if (fixedRank === cardRank_1.PAIR) {
return 'Pair';
}
if (fixedRank === cardRank_1.HIGH_CARD) {
return 'HighCard';
}
return 'Invalid';
}
const fixedRank = (0, cardRank_1.toFixedTexasRank)(rank);
if (fixedRank === cardRank_1.ROYAL_FLUSH) {
return 'RoyalFlush';
}
if (fixedRank === cardRank_1.STRAIGHT_FLUSH) {
return 'StraightFlush';
}
if (fixedRank === cardRank_1.FOUR_OF_A_KIND) {
return 'FourOfAKind';
}
if (fixedRank === cardRank_1.FULL_HOUSE) {
return 'FullHouse';
}
if (fixedRank === cardRank_1.FLUSH) {
return 'Flush';
}
if (fixedRank === cardRank_1.STRAIGHT) {
return 'Straight';
}
if (fixedRank === cardRank_1.THREE_OF_A_KIND) {
return 'ThreeOfAKind';
}
if (fixedRank === cardRank_1.TWO_PAIR) {
return 'TwoPair';
}
if (fixedRank === cardRank_1.PAIR) {
return 'Pair';
}
if (fixedRank === cardRank_1.HIGH_CARD) {
return 'HighCard';
}
return 'Invalid';
};
exports.toCombination = toCombination;