@locustjs/random v2.0.0
locustjs-random
This library helps in producing random sequence of characters.
Installation
npm i @locustjs/random
Types
RandomGeneratorBase
It is an abstract class that defines structure of random classes. It currently has a default RandomGeneratorDefault
implementation.
Methods
next(min, max)
Generates a new random number between min
(inclusive) and max
(exclusive).
const random = new RandomGeneratorDefault();
for (let i = 0; i < 10; i++) {
const s = random.next(10, 100);
console.log(s);
}
/*
12
25
67
34
19
81
44
73
25
31
*/
generate(options)
Generates a new random sequence based on the given options
.
options
is an object with the properties described below:
RandomType
enum values
type | description | value |
---|---|---|
num | numeric | 0 |
alpha | english alphabet letters, uppercase and lowercase | 1 |
alphaNum | alphabet letters and numeric | 2 |
upper | only uppercase letters | 3 |
lower | only lowercase letters | 4 |
upperNum | uppercase letters and numbers | 5 |
lowerNum | lowercase letters and numbers | 6 |
custom | custom characters. requires settings 'chars'. | 7 |
Example:
import { RandomGeneratorDefault, RandomType } from '@locustjs/random';
const random = new RandomGeneratorDefault();
for (let i = 0; i < 10; i++) {
const s = random.generate({
type: RandomType.alphaNum,
len: 10
});
console.log(s);
}
Result:
f0ivY4eJwH
nzLkl5s80k
9G5RjUK96j
9ppD91iehG
ze1a10M3l7
xyN00yi1YV
oENcb7w85E
P72zCw361S
50tJcr1m9c
N262uQBZJ9
Random
static class
There is a static helper class named Random
that simplifies generating random sequences.
var s1 = Random.generate({ type: 'alpha', len: 10 });
var s2 = Random.generate({ type: 'num', from: 1000, to: 9999 });
var s3 = Random.generate({ type: 'custom', chars: ['a', 'b', 'c', 'x', 'y', 'z', '1', '2', '3' ], len: 5 });
Random
has a static instance
property that is used internally by static generate
and next
methods.
By default Random.instance
is set with an instance of RandomGeneratorDefault
, however, it is a setter
property and can be set with an instance of any subclass of RandomGeneratorBase
, enabling developer to use his own implementation of random sequence generator.
class MyRandomGenerator extends RandomGeneratorBase {
...
}
Random.instance = new MyRandomGenerator()
console.log(Random.generate({ type: 'alpha' }))
1 year ago