onetime-rnd
TypeScript icon, indicating that this package has built-in type declarations

1.0.2 • Public • Published

onetime-rnd

Generate unique random number

Installation

$ npm i onetime-rnd

or

<script src="https://unpkg.com/onetime-rnd@1.0.2/dist/index.js"></script>

Example

By default if you don't pass any arguments it will generate number between 0 and 100 inclusive.

const OneTimeRnd = require("onetime-rnd");

const rnd = new OneTimeRnd({ from: 1, to: 3 });

console.log(rnd.next()); //1
console.log(rnd.next()); //3
console.log(rnd.next()); //2
console.log(rnd.next()); //undefined

How to use ?

float

Generate float number. Here in this case you will generate 3 float for each number so you have 3 numbers * 3 floats = 9 numbers

const rnd = new OneTimeRnd({ from: 1, to: 3, float: 3 });

console.log(rnd.next()); //1.156449849
console.log(rnd.next()); //3.416419571
console.log(rnd.next()); //2.711771777
console.log(rnd.next()); //2.525252524
console.log(rnd.next()); //3.272727227
console.log(rnd.next()); //2.525228282

autoRefresh

Will generate new numbers at the end of the first iteration (exclusive will not generate float numbers for 1).

const rnd = new OneTimeRnd({
  from: 0,
  to: 1,
  float: 2,
  exclusive: true,
  autoRefresh: true,
});

console.log(rnd.next()); //0.1564498495
console.log(rnd.next()); //0.4481797174
console.log(rnd.next()); //0.5252772721
console.log(rnd.next()); //0.7971117657
console.log(rnd.next()); //0.7171617261
console.log(rnd.next()); //0.7167197129

Repeat

When all the number are done it will return the same sequence in the same order.

const rnd = new OneTimeRnd({ from: 1, to: 3, repeat: true });

console.log(rnd.next()); //1
console.log(rnd.next()); //3
console.log(rnd.next()); //2
console.log(rnd.next()); //1
console.log(rnd.next()); //3
console.log(rnd.next()); //2

shuffleOnRepeat

Will display the same numbers but in a different order.

const rnd = new OneTimeRnd({
  from: 1,
  to: 3,
  repeat: true,
  shuffleOnRepeat: true,
});

console.log(rnd.next()); //1
console.log(rnd.next()); //3
console.log(rnd.next()); //2
console.log(rnd.next()); //2
console.log(rnd.next()); //1
console.log(rnd.next()); //3

refresh()

Refresh the list by generating new numbers (for float) and making a new shuffle.

const rnd = new OneTimeRnd({
  from: 1,
  to: 3,
});

console.log(rnd.next()); //1
console.log(rnd.next()); //3
console.log(rnd.next()); //2
rnd.refresh();
console.log(rnd.next()); //2
console.log(rnd.next()); //1
console.log(rnd.next()); //3

shuffle()

Shuffle the numbers.

const rnd = new OneTimeRnd({
  from: 1,
  to: 3,
});

rnd.shuffle();

console.log(rnd.next()); //1
console.log(rnd.next()); //3
console.log(rnd.next()); //2

onEnd(fn: Function)

Start the function passed as argument when all the numbers are done.

const rnd = new OneTimeRnd({
  from: 1,
  to: 3,
});

rnd.onEnd(function () {
  console.log("Done !");
});

console.log(rnd.next()); //1
console.log(rnd.next()); //3
console.log(rnd.next()); //2
rnd.next(); // Done !

Package Sidebar

Install

npm i onetime-rnd

Weekly Downloads

1

Version

1.0.2

License

MIT

Unpacked Size

16.3 kB

Total Files

10

Last publish

Collaborators

  • yoannchb