utils-sutv
v1.0.7
Published
Utility functions for sutv projects
Maintainers
Readme
utils-sutv
A comprehensive collection of utility functions for common JavaScript/TypeScript operations including string manipulation, object/array handling, URL processing, and more.
Opinionated collection of common TypeScript utils by @sutv
Installation
# npm
npm install utils-sutv
# or yarn
yarn add utils-sutvFeatures
| Category | Function | Description |
| -------------- | -------------------------- | ----------------------------------------------------- |
| DOM | scrollToTop() | Smoothly scrolls to the top of the page |
| | getSearchParams() | Extracts selected parameters from URL |
| | downloadUrl() | Download binary resources based on URL |
| | download() | Download binary resources in the browser |
| Formatting | kFormatter() | Formats numbers to compact form (e.g. 1500 → "1.5k") |
| | bytesToSize() | Converts bytes to human-readable size (e.g. "1.5 MB") |
| | slugify() | Converts string to URL-friendly slug |
| | truncate() | Truncates text with ellipsis (...) |
| | toCamelCase() | Converts string to camelCase format |
| URL | isValidUrl() | Validates URL strings |
| Object | removeUndefinedAndNull() | Removes null/undefined properties from object |
| | pickObj() | Picks specific properties from object |
| | omitObj() | Omits specific properties from object |
| | isObject() | Checks if value is a non-null object |
| | getNestedValueObj() | Safely gets nested object property |
| | removeUndefinedObj() | Removes undefined properties (shallow) |
| Array | removeDuplicateItems() | Removes duplicate items by key |
| | groupByArr() | Groups array items by specified key |
| | sortBy() | Sorts array of objects by key |
| | keyBy() | Creates object from array using key selector |
| General | uuidv4() | Generates UUID v4 string |
| | isNil() | Checks if value is null or undefined |
| | isBlank() | Checks if a string is empty |
| | isEmail() | Checks if a string is a valid email address |
Usage
import { scrollToTop, kFormatter, slugify, groupByArr, getSearchParams } from 'utils-sutv';
// Scroll to top smoothly
scrollToTop();
// Format numbers
kFormatter(1500); // "1.5k"
// Create URL slugs
slugify('Hello World!'); // "hello-world"
// Group array items
const people = [
{ name: 'Alice', age: 25 },
{ name: 'Bob', age: 25 },
];
groupByArr(people, 'age'); // {25: [...]}
// Get URL params
getSearchParams(['id', 'page']); // {id: '123', page: '1'}License
MIT © sutv
