sly-utils is a modular and efficient JavaScript utility library designed to simplify complex tasks.
npm install sly-utils// ES Module
import { chunk, camelToSnake, uuid } from 'sly-utils';
const arr = [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';
const user = { 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.