exactHeroRunoutVulnerabilityAsync
Non-blocking version of exactHeroRunoutVulnerability — same p(nuts) / p(dominated) enumeration with optional cancellation.
exactHeroRunoutVulnerabilityAsync(heroHoleCards: CardInput, boardCards: CardInput, knownDead?: CardInput, options?: AsyncOptions): Promise<HeroRunoutVulnerabilityResult>
See Packed card input and AsyncOptions.
Import
const poker = require('poker-calculations');
ESM (Node):
import { createRequire } from 'module';
const require = createRequire(import.meta.url);
const poker = require('poker-calculations');
When to use
Same as the sync export, but you need a Promise and optional AbortSignal so long enumerations do not block the Node event loop.
How to use
const poker = require('poker-calculations');
const { pNuts, pDominated, runoutCount } = await poker.exactHeroRunoutVulnerabilityAsync(
['Ah', 'Kh'],
['Qh', 'Jh', '2c'],
);
console.log({ pNuts, pDominated, runoutCount });
Pass AsyncOptions as the fourth argument to cancel mid-enumeration.
Return type
HeroRunoutVulnerabilityResult — same shape as sync.
See also
exactHeroRunoutVulnerability · AsyncOptions · HeroRunoutVulnerabilityResult