@rahulv.dev/rng
v1.2.2
Published
A secure random number generator.
Downloads
5
Maintainers
Readme
@rahulv.dev/rng
Secure, cryptographic random number generation for Node.js and browsers. This package provides an easy-to-use interface for generating random numbers within specified ranges, leveraging the native Crypto API.
Features
- Generate a secure random number up to a specified upper limit.
- Generate secure random numbers for an array of upper limits.
Installation
Install @rahulv.dev/rng
using npm:
npm install @rahulv.dev/rng
or using yarn:
yarn add @rahulv.dev/rng
or using pnpm:
pnpm install @rahulv.dev/rng
Usage
Importing the module
// For Node environment
import { RNG } from "@rahulv.dev/rng";
Initializing the RNG
Before using the RNG, you need to initialize it:
function setupRng() {
const rng = new RNG();
return rng;
}
Generating a Random Number
To generate a random number within a specified range:
function generateRandom() {
const rng = setupRng();
const randomNumber = rng.next(100); // Generates a random number between 0 and 99
console.log(randomNumber);
}
generateRandom();
Generating Multiple Random Number
To generate a random number within a specified range:
function generateMultipleRandoms() {
const rng = setupRng();
const randomNumbers = rng.nextRange([10, 100, 1000]);
console.log(randomNumbers); // e.g., [2, 59, 874]
}
generateMultipleRandoms();
API Reference
Here’s a detailed look at the API methods provided by @rahulv.dev/rng
:
| Method | Description | Parameters | Returns |
| ------------------- | ------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| next(upperLimit)
| Generates a secure random number between 0
and upperLimit - 1
. | upperLimit: number
: The upper limit for the random number (exclusive) | number
: A random number within the specified range. |
| nextRange(ranges)
| Generates random numbers for an array of upper limits. | ranges: number[]
: An array of upper limits. Each element specifies the exclusive upper limit for the corresponding random number. | number[]
: An array of random numbers, each within the range specified by the corresponding element in the input array. |
Usage Examples
Here is a complete usage examples of how to use the methods provided by @rahulv.dev/rng
:
import { RNG } from "@rahulv.dev/rng";
function main() {
const rng = new RNG();
// Generating a single random number
const randomNumber = rng.next(100);
console.log(`Random Number: ${randomNumber}`);
// Generating multiple random numbers
const randomNumbers = rng.nextRange([10, 100, 1000]);
console.log(`Random Numbers: ${randomNumbers.join(", ")}`);
}
main();
NOTE: If you are unable to use package with vite, install Vite Pollyfills.
Contributing
Contributions are always welcome! Create an issue or raise a PR for contributing.
License
This project is licensed under the MIT License - see the LICENSE file for details.