utility-kit
An easy to use library that provides miscellaneous but very useful functions that are commonly used in most javascript projects.
Features
- Generate random number
- Pick random element from array
- Generate random name
- Generate OTP
- Probability
- Minimum/Maximum element of an array
- Wait/Sleep function
- Retry wrapper with incremental delay
Installation
To install utility-kit
npm install utility-kit --save
yarn add utility-kit
pnpm add utility-kit
bun add utility-kit
Usage
utility-kit
can be used in almost any javascript project to achieve the above mentioned features with no extra effort. The functions provided by utility-kit
may be categorised into 4 categories:
Random
import { random, randomNumber, randomElement, randomAdjective, randomAnimal, randomName, generateOTP } from "utility-kit";
console.log(random());
console.log(random(16));
console.log(randomNumber(10, 20));
console.log(randomElement([3, 2, 10, 7, 8]));
console.log(randomAdjective());
console.log(randomAnimal());
console.log(randomName("-"));
console.log(generateOTP(6));
Math
import { probability, minimumNumber, maximumNumber } from "utility-kit";
if (probability(0.5)) console.log(true);
const array = [89, 6, 99, 2, 50, 10];
console.log(minimumNumber(array));
console.log(maximumNumber(array));
Time
import { wait } from "utility-kit";
async function test(time) {
const ref = Date.now();
await wait(time);
return Date.now() - ref;
}
test(1000).then((time) => console.log(time));
Utility
import { probability, retry, retryAsync } from "utility-kit";
function errorProne() {
if (probability(0.5)) {
console.log("fail");
throw new Error("Something went wrong");
}
console.log("success");
return "hurray";
}
retry(errorProne);
retry(errorProne, { retries: 8 });
retry(errorProne, {
onSuccess: (result) => console.log(result),
onError: (error) => console.log(error),
});
function readChunk(file, chunkNumber);
const chunk = retry(() => readChunk(file, 2));
console.log(chunk);
async function uploadFile(file);
const link = await retryAsync(async () => await uploadFile(file), { retries: 4 });
console.log(link);
await retryAsync(async () => await uploadFile(file), {
initialDelay: 1000,
delayIncement: 500,
onSuccess: console.log,
onError: console.log,
});
Author
Sahil Aggarwal