New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

@locustjs/random

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@locustjs/random

This library helps in producing random sequence of characters.

latest
Source
npmnpm
Version
2.0.0
Version published
Weekly downloads
2
100%
Maintainers
1
Weekly downloads
 
Created
Source

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:

PropertyTypeDescriptionDefault
typestring, number, RandomTypespecifies type of random sequence based on different values RandomType enum provides (listed in next table).'num'
minLennumberminimum sequence length. Used when generating a random sequence of characters with random length between minLen and maxLen5
maxLennumbermaximum sequence length.7
lennumberexplicit fixed sequence length.undefined
fromnumberstarting number. Used when generating random numbers (when type is num).
tonumberending random number. Used when generating random numbers (when type is num).
charsarrayList of characters to be used to produce random characters.[ ]
excludeslist of characters that should be excluded when generating random sequence.[ ]

RandomType enum values

typedescriptionvalue
numnumeric0
alphaenglish alphabet letters, uppercase and lowercase1
alphaNumalphabet letters and numeric2
upperonly uppercase letters3
loweronly lowercase letters4
upperNumuppercase letters and numbers5
lowerNumlowercase letters and numbers6
customcustom 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' }))

Keywords

locustjs

FAQs

Package last updated on 31 May 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts