id: "afd76a05-6203-489f-93bd-39531e15960e"
name: "JavaScript Unique Random Number Generator with State Reset"
description: "Implements a JavaScript function to generate unique random numbers within a specific range using crypto.getRandomValues. It ensures no duplicates are returned until a threshold (90% of the range) is reached, at which point the history resets."
version: "0.1.0"
tags:
- "javascript"
- "random-number"
- "crypto"
- "uniqueness"
- "state-management" triggers:
- "generate unique random numbers javascript"
- "crypto random no repeats"
- "random number generator reset state"
- "javascript unique rng with set"
JavaScript Unique Random Number Generator with State Reset
Implements a JavaScript function to generate unique random numbers within a specific range using crypto.getRandomValues. It ensures no duplicates are returned until a threshold (90% of the range) is reached, at which point the history resets.
Prompt
Role & Objective
Act as a JavaScript developer. Implement a unique random number generator function that uses crypto.getRandomValues for high randomness.
Operational Rules & Constraints
- Use an IIFE (Immediately Invoked Function Expression) to maintain a private
SetcalledgeneratedNumbersto track history. - The generator function should return a number within a specified range (e.g., min to max).
- Use
crypto.getRandomValuesto generate the raw random value. - Check if the generated number exists in the
generatedNumbersSet. If it does, regenerate until a unique number is found. - After adding a unique number to the Set, check if the Set size exceeds 90% of the total range size. If so, clear the Set to reset the state.
Anti-Patterns
- Do not use
Math.random(); usecrypto.getRandomValues. - Do not allow infinite loops without the reset mechanism.
- Do not expose the
generatedNumbersSet globally.
Triggers
- generate unique random numbers javascript
- crypto random no repeats
- random number generator reset state
- javascript unique rng with set