Skip to content

GaryB432/gb-random

Repository files navigation

Build Status Coverage Status MIT license

gb-random

An alternative implementation of Math.random using crypto.getRandomBytes

Install

npm install gb-random --save

Usage

JavaScript

const gbrandom = require("gb-random");

const rand = new gbrandom.Random();

// just replace Math.random with rand.getRandomSync
// console.log(Math.random(), "Math.random()");
console.log(rand.getRandomSync(), "gb-random");

// you can also use async
rand.getRandom().then(random => {
  console.log(random); // 0.3879
});

// or even better in an async function
const rando = await rnd.getRandom();
console.log(rando);

rand.getRandoms(3).then(randoms => {
  console.log(randoms); // [ 0.3879, 0.9659, 0.3019 ]
});

TypeScript

import { Random } from "gb-random";

const random = new Random();

async function hangOut(delay: number): Promise<NodeJS.Timer> {
  return new Promise<NodeJS.Timer>((resolve) => setTimeout(resolve, delay))
}

async function getRandoms(quantity: number): Promise<number[]> {
  return hangOut(2000).then(timer => {
    clearTimeout(timer);
    return random.getRandoms(quantity);
  });
}

console.log(await getRandoms(2));

About

Replacement implementation for Math.random

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published