1.1.0 • Published 5 months ago

@easy-ds-bot/utils v1.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

API

  • formatNumber(x: number): string
  • reportMemory(): void
  • random(min: number, max: number): number
  • arrRandom(arr: any[]): any
  • chanceRandom(elements: { [key: string]: number }): string
  • equal(v1: any, v2: any): boolean
  • quickTextCompare(text1: string, text2: string): boolean
  • includesAll(arr: any[], values: any[]): boolean
  • arrayFromIterator(iterator: IterableIterator<any>): any[]
  • async wait(time_ms: number): Promise<void>

Requirements

  • NodeJS, recommended v18 or newer

Setup

  1. Install utils via npm:
npm i @easy-ds-bot/utils
  1. Use utils:
// file.js, type: CJS
const { random, arrRandom } = require("@easy-ds-bot/utils");
let colors = ["red", "green", "blue"];
console.log(`Random int: ${random(1, 100)}, random color: ${arrRandom(colors)}`);
//> Random int: 32, random color: blue
//...it is one of 300 variants

...or:

// file.js, type: ESM
import { random, arrRandom } from "@easy-ds-bot/utils";
let colors = ["red", "green", "blue"];
console.log(`Random int: ${random(1, 100)}, random color: ${arrRandom(colors)}`);
//> Random int: 32, random color: blue
//...it is one of 300 variants

Benchmarks

(cjs) formatNumber(10num): x 2,252,317 ops/sec ±0.92% (87 runs sampled)
(cjs) includesAll(5elem, 5elem): x 27,021,264 ops/sec ±1.62% (92 runs sampled)
(cjs) await wait(1) x 737,596 ops/sec ±3.04% (76 runs sampled)
(cjs) arrayFromIterator(5elem):
(cjs) random(1, 100) x 91,501,458 ops/sec ±2.01% (86 runs sampled)
(cjs) arrRandom(5elem) x 92,061,808 ops/sec ±4.58% (88 runs sampled)
(cjs) chanceRandom(5elem) x 2,197,700 ops/sec ±0.36% (95 runs sampled)
(cjs) equal(str5char) x 194,625,122 ops/sec ±1.45% (91 runs sampled)
(cjs) equal(arr5elem) x 193,778,653 ops/sec ±1.28% (91 runs sampled)
(cjs) equal(obj5elem) x 5,905,956 ops/sec ±1.90% (86 runs sampled)
(cjs) quickTextCompare(5word) x 1,099,023 ops/sec ±1.48% (94 runs sampled)
(cjs) quickTextCompare(500word) x 21,729 ops/sec ±8.20% (79 runs sampled)
(cjs) quickTextCompare(50_000word) x 208 ops/sec ±1.79% (76 runs sampled)

(esm) formatNumber(10num): x 2,181,306 ops/sec ±2.01% (92 runs sampled)
(esm) includesAll(5elem, 5elem): x 22,414,885 ops/sec ±10.02% (79 runs sampled)
(esm) await wait(1) x 757,943 ops/sec ±3.41% (71 runs sampled)
(esm) arrayFromIterator(5elem):
(esm) random(1, 100) x 91,093,429 ops/sec ±1.08% (89 runs sampled)
(esm) arrRandom(5elem) x 83,803,868 ops/sec ±3.04% (88 runs sampled)
(esm) chanceRandom(5elem) x 2,029,170 ops/sec ±1.58% (87 runs sampled)
(esm) equal(str5char) x 167,883,950 ops/sec ±5.04% (81 runs sampled)
(esm) equal(arr5elem) x 150,356,521 ops/sec ±7.22% (88 runs sampled)
(esm) equal(obj5elem) x 4,846,467 ops/sec ±6.70% (74 runs sampled)
(esm) quickTextCompare(5word) x 982,934 ops/sec ±3.75% (84 runs sampled)
(esm) quickTextCompare(500word) x 23,448 ops/sec ±3.43% (84 runs sampled)
(esm) quickTextCompare(50_000word) x 213 ops/sec ±2.49% (84 runs sampled)

Source (git)

Issues (git)

1.1.0

5 months ago

1.0.3

9 months ago

1.0.2

9 months ago

1.0.1

9 months ago

1.0.0

9 months ago