holdem-eval

:four_leaf_clover: Texas Holdem Hand Evaluator

Usage no npm install needed!

<script type="module">
  import holdemEval from 'https://cdn.skypack.dev/holdem-eval';
</script>

README

holdem-eval

:four_leaf_clover: Texas Holdem Hand Evaluator

features

  • typescript strict syntax
  • full functional syntax with ramdajs
  • jest testing

installation

$ npm install holdem-eval --save
or
$ yarn add holdem-eval

development

$ yarn
$ yarn test

usage

// in javascript

> const { Hand } = require('holdem-eval')
>
> const hand1 = Hand.make(["5s", "5c", "7s", "7c", "Ts", "Ts", "2d"])
> console.log(hand1)
{ cardPool: 
   [ { rank: 9, value: 'T', suit: 'S' },
     { rank: 9, value: 'T', suit: 'S' },
     { rank: 6, value: '7', suit: 'S' },
     { rank: 6, value: '7', suit: 'C' },
     { rank: 4, value: '5', suit: 'S' },
     { rank: 4, value: '5', suit: 'C' },
     { rank: 1, value: '2', suit: 'D' } ],
cards: 
   [ { rank: 9, value: 'T', suit: 'S' },
     { rank: 9, value: 'T', suit: 'S' },
     { rank: 6, value: '7', suit: 'S' },
     { rank: 6, value: '7', suit: 'C' },
     { rank: 4, value: '5', suit: 'S' } ],
name: 'Two Pair',
rank: 2 }
> const h1 = Hand.make(["2s", "3s", "4h", "5c", "As", "Ts", "8d"])
> const h2 = Hand.make(["5s", "Ts", "3h", "Ac", "2s", "Ts", "8d"])
> const h3 = Hand.make(["5s", "5h", "3s", "3c", "2s", "Ts", "3d"])
> const winners = Hand.pickWinners(h1, h2, h3)
> console.log(winners)
[ { cardPool: 
     [ [Object],
       [Object],
       [Object],
       [Object],
       [Object],
       [Object],
       [Object] ],
    cards: [ [Object], [Object], [Object], [Object], [Object] ],
    name: 'Full House',
    rank: 6 } ]

// in typescript

> import * as Hand from 'holdem-eval'