npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@rahulv.dev/rng

v1.2.2

Published

A secure random number generator.

Downloads

9

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.