sly-utils is a modular and efficient JavaScript utility library designed to simplify complex tasks.
npm install sly-utils// ES Moduleimport{chunk,camelToSnake,uuid}from'sly-utils';constarr=[1,2,3,4,5,6];console.log(chunk(arr,2));// [[1,2],[3,4],[5,6]]console.log(camelToSnake('helloWorld'));// 'hello_world'console.log(uuid());// 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'import{chunk,camelToSnake,uuid}from'sly-utils';// TypeScript will provide type checking and autocompletion- All utilities are available as named exports from the main package entry.
- TypeScript types are included automatically for all utilities.
- The package supports ES Module imports.
- Compare strings (compute the Levenshtein distance between two strings)
- Convert map to json
- Convert json to map
- Deep freeze a nested object
- Escape HTML tags as HTML entities
- Flatten a nested object
- Generate UUID & UUIDShort
- Strip HTML tags
- Transform keys
- Transform URL strings to SEO-friendly URLs
- Check if two given arrays are the same
- Chunk an array
- Find the common elements of two arrays
- Find if a given string exists in an array of objects
- Group by array of objects
- Move an element in an array from one position to another
- Pluck values from an array of objects
- Remove duplicates from an array of objects
- Shuffle an array
- Sort an array of objects
- pick(obj, keys): return a new object containing only the provided keys (safe against prototype pollution)
- omit(obj, keys): return a new object excluding the provided keys
- pickBy(obj, predicate): pick keys for which predicate(value, key) returns true
- omitBy(obj, predicate): omit keys for which predicate(value, key) returns true
Examples:
import{pick,omit,pickBy,omitBy}from'sly-utils';constuser={id: 1,name: 'Alice',secret: 's3cr3t'};console.log(pick(user,['id','name']));// { id: 1, name: 'Alice' }console.log(omit(user,['secret']));// { id: 1, name: 'Alice' }console.log(pickBy(user,v=>v!=null));// picks non-null/undefined values- Camel case to snake case
- Camel case to kebab case
- Camel case to Pascal case
- Kebab case to snake case
- Kebab case to camel case
- Kebab case to Pascal case
- Pascal case to camel case
- Pascal case to kebab case
- Pascal case to snake case
- Snake case to camel case
- Snake case to Pascal case
- Snake case to kebab case
- The package includes pre-built JavaScript bundles for both CommonJS and ES Module consumers.
- TypeScript declaration files are included for full type safety and autocompletion.
- No additional configuration is needed for most modern build tools.
Sly-utils is currently in active development and fine-tuning. If you encounter any issues, please open a GitHub issue. If you would like to contribute, please open a GitHub Pull Request.
Your support inspires & encourage us more. If you are interested to make a donation to us, please click the below PayPal button.