Skip to content

Repository files navigation

sly-utils

sly-utils is a modular and efficient JavaScript utility library designed to simplify complex tasks.

Installation

npm install sly-utils

Usage

In JavaScript

// 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'

In TypeScript

import{chunk,camelToSnake,uuid}from'sly-utils';// TypeScript will provide type checking and autocompletion

Exports & Structure

  • 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.

List of Utility Methods

  • 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

Utility Methods for Array & Array of Objects

  • 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

Object selection utilities

  • 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

Utility Methods for String Conversion

  • 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

Build & Type Support

  • 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.

Report & Contribute

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.

Support

Your support inspires & encourage us more. If you are interested to make a donation to us, please click the below PayPal button.

PayPal.me

Author

OpenSly

License

License: MIT

About

sly-utils is a modular and efficient JavaScript utility library designed to simplify complex tasks.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Sponsor this project

Used by

Contributors

Languages