Package Exports
- my-utils-kit
- my-utils-kit/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (my-utils-kit) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
๐ฆ my-utils-kit
A lightweight utility toolkit built with TypeScript, offering a collection of string, object, and array helper methods for everyday JavaScript/TypeScript development.
โจ Features
- โ TypeScript support with full type safety
- ๐ง Useful string, object, and array manipulation utilities
- ๐ Deep clone, deep merge, flatten/unflatten, and more
- ๐ Tiny, modular, and easy to use
- ๐งช Easy to test and extend
๐ฆ Installation
npm install my-utils-kit
# or
yarn add my-utils-kit
๐ Usage
import { camelCase, deepCloneObj, groupBy } from 'my-utils-kit';
console.log(camelCase('hello world')); // โ helloWorld
console.log(deepCloneObj({ a: 1 })); // โ { a: 1 }
console.log(groupBy([{ type: 'fruit', name: 'apple' }], 'type'));
๐ API Overview
โ String Utilities
camelCase(str)
kebabCase(str)
snakeCase(str)
capitalize(str)
truncate(str, length)
reverseString(str)
capitalize(str)
uncapitalize(str)
padStart(str, length, char)
padEnd(str, length, char)
repeatString(str, times)
isPalindrome(str)
countOccurrences(str, char)
removeSpaces(str)
removeSpecialChars(str)
escapeHTML(str)
unescapeHTML(str)
slugify(str)
maskString(str, visibleChars, maskChar='*')
stripTags(htmlStr)
toAscii(str)
toHex(str)
toBase64(str)
fromBase64(str)
toBinary(str)
fromBinary(str)
randomString(length, chars?)
swapCase(str)
countWords(str)
removeDuplicates(str)
toTitleCase(str)
isAnagram(str1, str2)
findLongestWord(str)
โ Object Utilities
deepCloneObj(obj)
deepMerge(obj1, obj2)
flattenObject(obj)
unflattenObject(flatObj)
getNestedValue(obj, path)
setNestedValue(obj, path, value)
omit(obj, keys)
pick(obj, keys)
invertObj(obj)
isEmpty(obj)
hasKey(obj, key)
hasDeepKey(obj, path)
isPlainObject(val)
getObjectSize(obj)
freeze(obj)
seal(obj)
isFrozen(obj)
isSealed(obj)
objectIntersection(obj1, obj2)
objectDifference(obj1, obj2)
transformObjectKeys(obj, fn)
transformObjectValues(obj, fn)
queryStringToObject(str)
objectToQueryString(obj)
isSubset(obj1, obj2)
deleteKey(obj, key)
getTypeOfValue(val)
โ Array Utilities
unique(arr)
flatten(arr, depth=1)
chunk(arr, size)
shuffle(arr)
randomElement(arr)
difference(arr1, arr2)
intersection(arr1, arr2)
union(arr1, arr2)
zip(arr1, arr2)
unzip(arr)
partition(arr, fn)
sortBy(arr, key, order='asc')
moveElement(arr, fromIndex, toIndex)
reverseArray(arr))
rotateArray(arr, positions)
deepFlatten(arr)
first(arr, n=1)
last(arr, n=1)
compact(arr)
sortNumbers(arr, order='asc')
arrayToObject(arr, key)
objectToArray(obj)
range(start, end, step=1)
sum(arr)
average(arr)
median(arr)
mode(arr)
isSorted(arr)
everyNth(arr, n)
findDuplicates(arr)
uniqueObjects(arr, key)
๐ Project Structure
my-utils-kit/
โโโ src/
โ โโโ arrayUtils.ts
โ โโโ objectUtils.ts
โ โโโ stringUtils.ts
โโโ dist/
โ โโโ compiled JS files
โโโ index.ts
โโโ package.json
๐ง Build
npm run build
Uses TypeScript to compile code to the dist/
directory.
๐งช Test Locally
To test your package before publishing:
# From your package folder
npm link
# From your test project
npm link my-utils-kit
Then use it like a normal module:
import { camelCase } from 'my-utils-kit';
๐ License
MIT โ feel free to use and contribute.
๐ก Author
Made with โค๏ธ by Vinoth Madhavan