Dice notation, e.g. '2d6+3' or '4d6kh3'
RNG or seed, plus the shared EvaluationOptions
Complete RollResult with total, per-die results and the
structured parts tree
INVALID_EVALUATION_LIMIT when a supplied limit is
not an integer in range — raised before any die is rolled
INVALID_NOTATION_TYPE when notation is not a
string, so isRollParserError still filters untrusted input completely
Parses and evaluates a dice notation string in one call — the main entry point of the library.
Equivalent to
evaluate(parse(notation), rng, { notation }). Each call builds a freshSeededRNGunlessoptions.rngis supplied, so reuse parse + evaluate directly when rolling the same notation in a loop.