A seeded pseudo-random number generator that produces reproducible sequences. Based on the TC39 Seeded Random proposal.

Constructors

  • Creates a new seeded random generator

    Parameters

    • seed: number | Uint8Array<ArrayBufferLike>

      Seed value or Uint8Array (up to 32 bytes)

    Returns SeededRandom

Methods

  • Factory method that requires exact 32-byte seed

    Parameters

    • seed: Uint8Array<ArrayBufferLike>

      Exactly 32 bytes of seed data

    Returns SeededRandom

    New SeededRandom instance

  • Factory method that creates generator from state

    Parameters

    • state: number

      State data (simplified to number for this implementation)

    Returns SeededRandom

    New SeededRandom instance

  • Generate a random number between 0 and 1 (exclusive)

    Returns number

    Random number in [0,1)

  • Generate a new seed for creating child PRNGs

    Returns Uint8Array<ArrayBufferLike>

    32-byte Uint8Array suitable for seeding

  • Get current generator state

    Returns number

    Current state as number

  • Set generator state

    Parameters

    • state: number

      State to set

    Returns this

    This instance for chaining

  • Generate random number in range

    Parameters

    • lo: number

      Lower bound

    • hi: number

      Upper bound

    • Optional step: number

      Optional step size

    Returns number

    Random number in specified range

  • Generate random integer in range

    Parameters

    • lo: number

      Lower bound (inclusive)

    • hi: number

      Upper bound (inclusive)

    • Optional step: number

      Optional step size

    Returns number

    Random integer in specified range

  • Generate random BigInt in range

    Parameters

    • lo: bigint

      Lower bound (inclusive)

    • hi: bigint

      Upper bound (inclusive)

    • Optional step: bigint

      Optional step size

    Returns bigint

    Random BigInt in specified range

  • Generate random bytes

    Parameters

    • n: number

      Number of bytes to generate

    Returns Uint8Array<ArrayBufferLike>

    Uint8Array of random bytes

  • Fill buffer with random bytes

    Type Parameters

    • T extends ArrayBuffer | ArrayBufferView<ArrayBufferLike>

    Parameters

    • buffer: T

      Buffer to fill

    • Optional start: number

      Start position (optional)

    • Optional end: number

      End position (optional)

    Returns T

    The filled buffer