@ende/random
ende add jsr:@ende/randomVersion 2026.10.15 on JSR.
Utilities for generating random numbers.
Example of generating a random integer with fixed seed number:
import { randomIntegerBetween } from "@ende/random";
import { randomSeeded } from "@ende/random";
import { assertEquals } from "@ende/assert";
const prng = randomSeeded(1n);
assertEquals(randomIntegerBetween(1, 10, { prng }), 3);
Example of generating a random integer between two values:
import { randomIntegerBetween } from "@ende/random";
import { randomSeeded } from "@ende/random";
const prng = randomSeeded(BigInt(crypto.getRandomValues(new Uint32Array(1))[0]!));
const randomInteger = randomIntegerBetween(1, 10, { prng });
Modules
Exports
getRandomValuesSeeded— Creates a pseudo-random value generator that populates typed arrays, based on the given seed. The algorithm used for generation is PCG32.IntegerTypedArray— An integer typed arraynextFloat64— Get a float64 in the range `[0, 1)` from a random value generator.Prng— A pseudo-random number generator implementing the same contract as `Math.random`, i.e. taking zero arguments and returning a random number in the range `[0, 1)`. The behavior of a function that accepts a `Prng` an option may be customized by passing a `Prng` with different behavior from `Math.random`, for example it may be seeded.randomBetween— Generates a random number between the provided minimum and maximum values.randomIntegerBetween— Generates a random integer between the provided minimum and maximum values.RandomOptions— Options for random number generation.randomSeeded— Creates a pseudo-random number generator that generates random numbers in the range `[0, 1)`, based on the given seed, with 32 bits of entropy. The algorithm used for generation is PCG32.RandomValueGenerator— A pseudo-random number generator implementing the same contract as `crypto.getRandomValues`, i.e. taking a typed array and mutating it by filling it with random bytes, returning the mutated typed array instance.sample— Returns a random element from the given array.SampleOptions— Options for sample.shuffle— Shuffles the provided array, returning a copy and without modifying the original array.