I needed to roll some "2d10 + 3"-like expressions in TypeScript, but found that there was no TypeScript dice library for some reason. There you go, then. Rolls both at compile time and at runtime.
TLDR
```ts
const r = evaluate("d20", initializedState); // r knows it rolled "12" on type-level
const v = valueOf(r); // value of v is 12, type is literal 12
```
The code is controlled slop; tokens were burnt with mindfulness.
Firfi•51m ago
TLDR
```ts const r = evaluate("d20", initializedState); // r knows it rolled "12" on type-level const v = valueOf(r); // value of v is 12, type is literal 12 ```
The code is controlled slop; tokens were burnt with mindfulness.