1.0.3 • Published 10 months ago

list-randomizer v1.0.3

Weekly downloads
-
License
(MIT OR Apache-2....
Repository
-
Last release
10 months ago

List Randomizer

A simple package to help automating the randomization of a (or multiple) list(s) of Strings.

Install

> npm install --save list-randomizer

Options

The options object let you customise how the randomizer will manipulate the information inside the feeded lists (see advance usage)

let defaultOptions = {
  isRerollSame: false, /* In case of multiple roll on the same table, allow you to get the same value */
  reRollJoin: ", " /* In case of multiple roll on the same table, how the output will be join */
}

Basic usage

Minimal information needed to use the lib :

import ListRandomizer from 'list-randomiser';

let lstRandomizer = new ListRandomizer(null, ["list elem", "an other one", "etc..."]);
let myRandomSelectionArray = lstRandomizer.rnd(); /* output: ["one element of the list"] */

Advance usage

Multiple lists

You can feed multiple list on wich one element will output in sequence :

let lstRandomizer = new ListRandomizer(null, ["Alfred", "Marcus", "Damien"], ["Smith", "O'Connel", "Miller"]);
let myRandomSelectionArray = lstRandomizer.rnd(); /* output ex: ["Marcus", "Miller"] */

Fixed value

You can even fixe a string at a specific index of the output :

const fruit = ["blueberry", "cherry", "strawberry"];
const media = ["toast", "pastry", "croissant"];

let lstRandomizer = new ListRandomizer(null, fruit, "jam", media);
let myRandomSelectionArray = lstRandomizer.rnd(); /* output ex: ["cherry", jam, "toast"] */

Multiple roll from the same table

You may want to have a chance of getting more than one element from a specific list. To achive this behavior, simply put a number (or multiple) somwhere on the list. A value under 2 will result in no change. If a number has been randomize, every other number will be removed from the list.

const fruit = ["blueberry", "cherry", "strawberry"];
const media = ["toast", 2, "pastry", "croissant"];

let lstRandomizer = new ListRandomizer(null, fruit, "jam", media);
let myRandomSelectionArray = lstRandomizer.rnd(); /* output ex: ["strawberry, blueberry", jam, "toast"] */

Customizing the output

The options object let you manipulate the output of the result list :

const monster = ["orc", "goblin", "dragon"];
const loot = ["50 gold pieces", "15 gems", "a magic sword", 3];

const options = {
  isRerollSame: true,
  reRollJoin: " and "
}

let lstRandomizer = new ListRandomizer(options, monster, " slain award you : ", loot);
let myRandomSelectionArray = lstRandomizer.rnd(); 
/* output ex: ["dragon", " slain award you : ", "50 gold pieces and 15 gems and 15 gems"] */
1.0.3

10 months ago

1.0.2

10 months ago

1.0.1

10 months ago

1.0.0

10 months ago