es-number-ext
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

es-number-ext

Native number extensions for javascript and typescript.

[!IMPORTANT] This library extend the native objects Number.prototype. This may lead to collision with other libraries or the latest version of ECMAScript.



Table of Contents

  1. Installation
  2. Usage
  3. Functions
  4. Advanced Usage
  5. Test
  6. License

Installation

Under your project folder, run the follow command in the terminal.

npm i --save es-number-ext

Usage

Prototype Version

// For Number prototype
// Import at the entry point of the project, such as index.ts
import from "es-number-ext"

const number = Number.random(5,10);

Clean Version - (Non prototype pollution)

// For non-pollution
// Import at the .ts file where you are going to use
import { random, ... } from "es-number-ext/clean"

const number = random(5,10);

Functions

Number.random()

Generates a random integer within a specified range.

$${\color{gray}Parameters}$$
Param Type Desc
size number The size of the range.
$${\color{gray}Return}$$
Type Desc
number A random integer in the range from 0.

$${\color{gray}Example}$$

Number.random(3)   // might return 2 (0 ~ 2)
Number.random(-3)  // might return -2 (-3 ~ -1)

${\color{gray}Parameters}$
Param Type Desc
min number The lower bound of the range.
max number The upper bound of the range.
${\color{gray}Return}$
Type Desc
number A random integer in the range from min to max - 1.

${\color{gray}Example}$

Number.random(1, 5)    // might return 4 (1 ~ 4) 
Number.random(-5, -1)  // might return -2 (-5 ~ -2)

Number.randomND()

Generates a random number based on mean and sd (normal distribution).

${\color{gray}Parameters}$
Param Type Desc
mean number Mean for normal distribution.
sd number Standard deviation for normal distribution.
${\color{gray}Return}$
Type Desc
number A random number base on normal distribution

${\color{gray}Example}$

Number.randomND(3, 1)     // might return 3.5 
Number.randomND(3.2, 0)   // might return 3.2


Advanced Usage

Clean Import - (Non prototype pollution)

// For non-pollution
import { random, ... } from "es-number-ext/clean"

const number = random(5,10);

Specifc Function - (To avoid collision with other libraries)

import "es-number-ext/random"
import "es-number-ext/randomND"

const number = Number.random(5,10);
const numberND = Number.randomND(3,2);

Test

npm run test

License

  • MIT License

Package Sidebar

Install

npm i es-number-ext

Weekly Downloads

755

Version

1.0.0

License

MIT

Unpacked Size

12.6 kB

Total Files

17

Last publish

Collaborators

  • samuelwong