Détail du package

@botpoker/hand

brunoscopelliti46MIT1.0.0

Evaluate poker hold'em hands

poker, texas hold'em, evaluate poker hands, hold'em poker

readme

@botpoker/hand

You can install @botpoker/hand via npm:

npm i @botpoker/hand --save

About @botpoker/hand

@botpoker/hand does just one thing: it tries to guess the strength of a given poker combination. It exports only one method:

const whatIs = require("@botpoker/hand");

The whatIs function expects to be called with an array of five cards. A card is an object with properties rank, and type, like the one used by poker-deck.

whatIs([
  { rank: "6", type: "H" },
  { rank: "7", type: "D" },
  { rank: "9", type: "S" },
  { rank: "8", type: "C" },
  { rank: "5", type: "C" },
]);

This is a straight of 9... however @botpoker/hand know this is a combination with a strength of 4 compared to the other possible poker combinations.

whatIs([
  { rank: "2", type: "D" },
  { rank: "3", type: "D" },
  { rank: "J", type: "D" },
  { rank: "5", type: "D" },
  { rank: "6", type: "D" },
]);

This is a flush, and the highest card is Jack; so this combination has a strength of 5. In this case the expected result is:

{ 
  name: "Flush",
  strength: 5,
  rank: "J",
  kickers: ["6", "5", "3", "2"],
}

changelog

Changelog

02/05/2021 v1.0.0

Renamed to @botpoker/hand.

14/01/2019 v4.0.2

  • Restore "use strict" pragma in each file.

12/01/2019 v4.0.1

  • Improved README.md

12/01/2019 v4.0.0

  • [Breaking?] Removed dependency from ramda.

  • ramda-less rewrite... public methods, and return types are not affected by this rewrite.

23/03/2018 v3.0.0

  • [Breaking] Changed combination strength levels, and added the combination name.

    // Before (non sense):
    ... double-pair: 2, three-of-a-kind: 4, straight: 8 ...
    
    // Now
    ... double-pair: 2, three-of-a-kind: 3, straight: 4 ...
  • ramda based rewrite.

  • Split unit tests for easier readability.

  • Removed grunt. Added eslint, and pre-commit.