UNPKG

es-number-ext

Version:

Native number extensions for javascript and typescript.

146 lines (115 loc) 3.12 kB
# es-number-ext Native number extensions for `javascript` and `typescript`.<br/> > [!IMPORTANT] > This library extend the native objects `Number.prototype`. This may lead to collision with other libraries or the latest version of ECMAScript. <br/> <br/> # Table of Contents 1. [Installation](#Installation) 2. [Usage](#Usage) 3. [Functions](#Functions) 4. [Advanced Usage](#Advanced-Usage) 5. [Test](#Test) 6. [License](#License) <br/> # Installation Under your project folder, run the follow command in the terminal. ``` npm i --save es-number-ext ``` <br/> # Usage ### Prototype Version ```ts // 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*) ```ts // 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); ``` <br/> # Functions <details> <summary> Number.random() </summary> <br/> > 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}$$ ```ts 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}$ ```ts Number.random(1, 5) // might return 4 (1 ~ 4) Number.random(-5, -1) // might return -2 (-5 ~ -2) ``` ----- </details> <details> <summary> Number.randomND()</summary> <br/> > 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}$ ```ts Number.randomND(3, 1) // might return 3.5 Number.randomND(3.2, 0) // might return 3.2 ``` ----- </details> <br/> # Advanced Usage ### Clean Import - (*Non prototype pollution*) ```ts // For non-pollution import { random, ... } from "es-number-ext/clean" const number = random(5,10); ``` ### Specifc Function - (*To avoid collision with other libraries*) ```ts import "es-number-ext/random" import "es-number-ext/randomND" const number = Number.random(5,10); const numberND = Number.randomND(3,2); ``` <br/> # Test ```ts npm run test ``` <br/> # License - MIT License <br/>