UNPKG

@monstermann/fn

Version:

A utility library for TypeScript.

28 lines (26 loc) 846 B
import { dfdlT } from "@monstermann/dfdl"; //#region src/number/randomInt.ts /** * `randomInt(start, end)` * * Returns a random integer within the range between `start` and `end` (inclusive). The order of `start` and `end` does not matter. * * ```ts * randomInt(1, 10); // random integer between 1 and 10 * randomInt(10, 1); // random integer between 1 and 10 * randomInt(0, 5); // random integer between 0 and 5 * ``` * * ```ts * pipe(1, randomInt(10)); // random integer between 1 and 10 * pipe(10, randomInt(1)); // random integer between 1 and 10 * pipe(0, randomInt(5)); // random integer between 0 and 5 * ``` */ const randomInt = dfdlT((start, end) => { const a = Math.ceil(Math.min(start, end)); const b = Math.floor(Math.max(start, end)); return Math.floor(Math.random() * (b - a + 1) + a); }, 2); //#endregion export { randomInt };