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

random-number

v0.0.9

Published

Generate pseudo-randum numbers

Downloads

40,268

Readme

random-number

generate a (pseudo-)random number

install

npm install random-number

usage

var rn = require('random-number');
rn(); // sample output → 0.704848874360323 # yes, this is just Math.random(), but it has some options

default options

the exported function takes an option object with 3 meaningful properties

  • min : smallest possible value to return. defaults to 0 or max - 1 if max is defined
  • max : largest possible value to return. defaults to 1 or min + 1 if min is defined
  • integer : do you want whole numbers to be returned, or not. defaults to false

Examples

  • all three
// this is the functionality i like the most
var rn = require('random-number');
var options = {
  min:  -1000
, max:  1000
, integer: true
}
rn(options) // example outputs → -187, 636

If you need the same (or almost the same settings many time) you can create a generator instead of passing the options over and over again

var rn = require('random-number');
var gen = rn.generator({
  min:  -1000
, max:  1000
, integer: true
})
gen() // example outputs → -350

What is neat about generators, that you can overwrite any of the settings

generator( min, max, integer) - all arguments are optional:

var rn = require('random-number');
var gen = rn.generator({
  min:  -1000
, max:  1000
, integer: true
})
gen(500) // example outputs → 735
gen(500, null, false) // example outputs → 828.6001032683998
  • only min
var rn = require('random-number');
var options = {
  min: 9874316514 // example input
}
rn(options) // example output → 9874316514.958157
  • only max
var rn = require('random-number');
var options = {
  max: -9874316514 // example input , yes negative values do work
}
rn(options) // example output → -9874316514.075052
  • only integer
var rn = require('random-number');
var options = {
  integer: true
}
// this is basically a true/false random generator, with 50% chance to return true
rn(options) // example output → 1
  • min and max
var rn = require('random-number');
var options = {
  // example input , yes negative values do work
  min:  -10
, max: -1
}
rn(options) // example output → -2.47377512534149
  • min and integer or max and integer
// completely pointless, but whatever
var rn = require('random-number');
var options = {
  min:  1000
, integer: true
}
rn(options) // example output → 1001
options = {
  max:  1000
, integer: true
}
rn(options) // example output → 999