Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/thlorenz/prange

Parses poker hand range short notation into a range array.
https://github.com/thlorenz/prange

Last synced: 15 days ago
JSON representation

Parses poker hand range short notation into a range array.

Awesome Lists containing this project

README

        

# prange [![build status](https://secure.travis-ci.org/thlorenz/prange.png)](http://travis-ci.org/thlorenz/prange)

Parses poker hand range short notation into a range array.

```js
const prange = require('./')

const r1 = prange('AKs-ATs, QQ+')
const r2 = prange('JTs-54s')

console.log(r1)
// [ 'AA', 'AKs', 'AQs', 'AJs', 'ATs', 'KK', 'QQ' ]

console.log(r2)
// [ 'JTs', 'T9s', '98s', '87s', '76s', '65s', '54s' ]

console.log(prange.reverse(r1))
// QQ+, ATs+

console.log(prange.reverse(r2))
// JTs-54s
```

## Installation

npm install prange

## [API](https://thlorenz.github.io/prange)

### prange

Converts a short notation for poker hand ranges into an array
filled with the matching combos.

Each range specifier is separated by a comma.

The following notations are supported:

- single combos `KK, AK, ATs`
- plus notation
- `QQ+` = `[ AA, KK, QQ ]`
- `KTs+` = `[ KQs, KJs, KTs ]`
- `KTo+` = `[ KQo, KJo, KTo ]`
- `KT+` = `[ KQs, KQo, KJo, KJs, KTo, KTs ]`
- dash notation
- `KK-JJ` = `[ KK, QQ, JJ ]`
- `AKo-ATo` = `[ AK, AQ, AJ, AT ]`
- `AKs-JTs` = `[ AKs, KQs, JTs ]`

**Parameters**

- `s` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** the short notation for the range

Returns **[Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)<[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)>** all hand combos satisfying the given range

### prange.reverse

Converts a poker hand range to short notation.
It's the opposite of `prange`.

**Parameters**

- `combos` **[Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)<[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)>** hand combos to be converted to short notation
- `the` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** short notation for the range

## License

MIT