@easy-ds-bot/utils
Advanced tools
+1
-1
@@ -17,3 +17,3 @@ { | ||
| "name": "@easy-ds-bot/utils", | ||
| "version": "1.0.2", | ||
| "version": "1.0.3", | ||
| "description": "Tiny TypeScript utils: wait(), arrayFromIterator(), chanceRandom(), formatNumber(), equal(), quickTextCompare() and more", | ||
@@ -20,0 +20,0 @@ "main": "index", |
+30
-19
@@ -13,3 +13,2 @@ <p align="center"> | ||
| # API | ||
| **Synchronous:** | ||
| - `formatNumber(x: number): string` | ||
@@ -24,5 +23,3 @@ - `reportMemory(): void` | ||
| - `arrayFromIterator(iterator: IterableIterator<any>): any[]` | ||
| **Promises:** | ||
| - `wait(time_ms: number): Promise<void>` | ||
| - *async* `wait(time_ms: number): Promise<void>` | ||
| # Requirements | ||
@@ -36,3 +33,3 @@ - [NodeJS](https://nodejs.org/en), recommended `v18` or newer | ||
| 2. Use it in your project: | ||
| 2. Use `utils`: | ||
| ```js | ||
@@ -56,17 +53,31 @@ // file.js, type: CJS | ||
| # Benchmark | ||
| # Benchmarks | ||
| ``` | ||
| formatNumber(10num): x 2,148,840 ops/sec ±2.24% (88 runs sampled) | ||
| includesAll(5elem, 5elem): x 27,266,638 ops/sec ±1.76% (93 runs sampled) | ||
| await wait(1) x 763,328 ops/sec ±3.00% (79 runs sampled) | ||
| arrayFromIterator(5elem): | ||
| random(1, 100) x 94,517,357 ops/sec ±0.92% (87 runs sampled) | ||
| arrRandom(5elem) x 95,086,408 ops/sec ±0.52% (94 runs sampled) | ||
| chanceRandom(5elem) x 2,063,074 ops/sec ±1.68% (93 runs sampled) | ||
| equal(str5char) x 198,447,672 ops/sec ±0.21% (93 runs sampled) | ||
| equal(arr5elem) x 202,415,487 ops/sec ±0.17% (95 runs sampled) | ||
| equal(obj5elem) x 6,218,884 ops/sec ±0.39% (97 runs sampled) | ||
| quickTextCompare(5word) x 1,142,553 ops/sec ±0.22% (97 runs sampled) | ||
| quickTextCompare(500word) x 26,003 ops/sec ±0.24% (95 runs sampled) | ||
| quickTextCompare(50_000word) x 224 ops/sec ±0.66% (82 runs sampled) | ||
| (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) | ||
| ``` | ||
@@ -73,0 +84,0 @@ |
| { | ||
| "compilerOptions": { | ||
| "module": "CommonJS", | ||
| "moduleResolution": "node", | ||
| "target": "ESNext", | ||
| "esModuleInterop": true, | ||
| "allowSyntheticDefaultImports": true, | ||
| "forceConsistentCasingInFileNames": true, | ||
| "strict": true, | ||
| "resolveJsonModule": true, | ||
| "allowJs": true, | ||
| "declaration": false, | ||
| "pretty": true, | ||
| "importHelpers": true, | ||
| "skipLibCheck": false, | ||
| "experimentalDecorators": true, | ||
| "emitDecoratorMetadata": true, | ||
| "lib": ["ESNext"] | ||
| } | ||
| } |
| { | ||
| "extends": "./tsconfig.json", | ||
| "compilerOptions": { | ||
| "outDir": "./dist/cjs/", | ||
| "module": "CommonJS" | ||
| } | ||
| } |
| { | ||
| "extends": "./tsconfig.json", | ||
| "compilerOptions": { | ||
| "outDir": "./dist/esm/", | ||
| "module": "ESNext" | ||
| } | ||
| } |
| { | ||
| "extends": "./tsconfig.json", | ||
| "compilerOptions": { | ||
| "outDir": "./dist/types/", | ||
| "declaration": true, | ||
| "emitDeclarationOnly": true | ||
| } | ||
| } |
83
15.28%15422
-0.51%8
-33.33%293
-11.48%