1.2.2 • Published 1 year ago

@rahulv.dev/rng v1.2.2

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

@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:

MethodDescriptionParametersReturns
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.

1.2.2

1 year ago

1.2.1

1 year ago

1.2.0

1 year ago

1.1.0

1 year ago

1.0.1

1 year ago

0.0.1

1 year ago