@js-slayer/utils
v1.0.2
Published
A lightweight JavaScript utility library with helper functions for arrays, strings, numbers, dates, objects, and general utilities.
Readme
@js-slayer/utils ⚔️
A lightweight JavaScript utility library with helper functions for arrays, strings, numbers, dates, objects, and general utilities.
Installation
npm install @js-slayer/utilsUsage
import {
uniqueArray, chunkArray, shuffleArray, flattenArray, differenceArray, intersectionArray,
capitalize, reverseString, truncateString, isPalindrome, randomString, countOccurrences, removeWhitespace,
randomNumber, clamp, factorial, isPrime, gcd, lcm,
formatDate, daysBetween, isLeapYear, addDays, subtractDays,
deepClone, mergeObjects, isEmptyObject, getObjectKeys, getObjectValues, invertObject,
debounce, throttle, sleep, generateUUID, isEmail
} from "@js-slayer/utils";API Reference
📦 Array Utilities
- uniqueArray(arr) → Returns unique values from an array\
uniqueArray([1,1,2,3]); // [1,2,3]- chunkArray(arr, size) → Splits array into chunks\
chunkArray([1,2,3,4,5], 2); // [[1,2],[3,4],[5]]- shuffleArray(arr) → Randomly shuffles array\
shuffleArray([1,2,3,4]); // [3,1,4,2]- flattenArray(arr) → Flattens nested arrays\
flattenArray([1,[2,[3,4]],5]); // [1,2,3,4,5]- differenceArray(arr1, arr2) → Elements in arr1 but not arr2\
differenceArray([1,2,3], [2,3,4]); // [1]- intersectionArray(arr1, arr2) → Common elements between arrays\
intersectionArray([1,2,3], [2,3,4]); // [2,3]🔤 String Utilities
- capitalize(str) → Capitalizes first letter\
capitalize("hello"); // "Hello"- reverseString(str) → Reverses a string\
reverseString("abc"); // "cba"- truncateString(str, len) → Truncates string with ellipsis\
truncateString("Hello World", 5); // "Hello..."- isPalindrome(str) → Checks palindrome\
isPalindrome("madam"); // true- randomString(len) → Generates random string\
randomString(5); // "aZx9B"- countOccurrences(str, char) → Counts occurrences of a char\
countOccurrences("banana", "a"); // 3- removeWhitespace(str) → Removes all whitespaces\
removeWhitespace(" h e l l o "); // "hello"🔢 Number Utilities
- randomNumber(min, max) → Random number in range\
randomNumber(1, 10); // e.g. 7- clamp(num, min, max) → Clamps a number within range\
clamp(15, 0, 10); // 10- factorial(n) → Factorial of a number\
factorial(5); // 120- isPrime(n) → Checks prime\
isPrime(7); // true- gcd(a, b) → Greatest common divisor\
gcd(12, 18); // 6- lcm(a, b) → Least common multiple\
lcm(4, 6); // 12📅 Date Utilities
- formatDate(date) → Formats date as YYYY-MM-DD\
formatDate(new Date("2025-09-03")); // "2025-09-03"- daysBetween(date1, date2) → Difference in days\
daysBetween("2025-01-01", "2025-01-10"); // 9- isLeapYear(year) → Checks leap year\
isLeapYear(2024); // true- addDays(date, days) → Adds days to a date\
addDays(new Date("2025-01-01"), 5); // "2025-01-06"- subtractDays(date, days) → Subtracts days from a date\
subtractDays(new Date("2025-01-10"), 5); // "2025-01-05"🧩 Object Utilities
- deepClone(obj) → Deep clones object\
deepClone({a:1, b:{c:2}}); // {a:1, b:{c:2}}- mergeObjects(obj1, obj2) → Merges objects\
mergeObjects({a:1}, {b:2}); // {a:1,b:2}- isEmptyObject(obj) → Checks if object is empty\
isEmptyObject({}); // true- getObjectKeys(obj) → Gets object keys\
getObjectKeys({a:1,b:2}); // ["a","b"]- getObjectValues(obj) → Gets object values\
getObjectValues({a:1,b:2}); // [1,2]- invertObject(obj) → Swaps keys and values\
invertObject({a:1, b:2}); // {1:"a", 2:"b"}⚡ General Utilities
- debounce(fn, delay) → Debounces function\
const debounced = debounce(()=>console.log("Hi"), 500);
debounced();- throttle(fn, delay) → Throttles function\
const throttled = throttle(()=>console.log("Hi"), 500);
throttled();- sleep(ms) → Delays execution\
await sleep(1000); // waits 1s- generateUUID() → Generates UUID\
generateUUID(); // "3b12f1df-5232-4e3a-8bf2-3f6f4c8b9d3a"- isEmail(str) → Validates email format\
isEmail("[email protected]"); // trueLicense
MIT
