Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@rahulv.dev/rng

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@rahulv.dev/rng

A secure random number generator.

  • 1.1.0
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

@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

import { RNG } from "@rahulv.dev/rng";

Initializing the RNG

Before using the RNG, you need to initialize it:

async function setupRng() {
    const rng = await RNG.init();
    return rng;
}

Generating a Random Number

To generate a random number within a specified range:

async function generateRandom() {
    const rng = await setupRng();
    const randomNumber = await 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:

async function generateMultipleRandoms() {
    const rng = await setupRng();
    const randomNumbers = await 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
RNG.init()Static method to initialize the RNG. Returns an instance of RNG.NonePromise<RNG>: An initialized RNG
next(upperLimit)Generates a secure random number between 0 and upperLimit - 1.upperLimit: number: The upper limit for the random number (exclusive)Promise<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.Promise<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";

async function main() {
    const rng = await RNG.init();

    // Generating a single random number
    const randomNumber = await rng.next(100);
    console.log(`Random Number: ${randomNumber}`);

    // Generating multiple random numbers
    const randomNumbers = await rng.nextRange([10, 100, 1000]);
    console.log(`Random Numbers: ${randomNumbers.join(", ")}`);
}

main();

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.

Keywords

FAQs

Package last updated on 03 Aug 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc