@abhishek2005/awesome-utils
v1.0.0
Published
A useful npm package with utility functions
Maintainers
Readme
Awesome Utils
A collection of useful utility functions for JavaScript/Node.js projects.
Installation
npm install @yourusername/awesome-utilsUsage
const { capitalize, isEmpty, debounce, deepClone, randomString } = require('@yourusername/awesome-utils');
// Capitalize a string
console.log(capitalize('hello world')); // "Hello world"
// Check if a value is empty
console.log(isEmpty('')); // true
console.log(isEmpty([])); // true
console.log(isEmpty({})); // true
console.log(isEmpty('hello')); // false
// Debounce a function
const debouncedFunction = debounce(() => {
console.log('This will run after 300ms of no calls');
}, 300);
// Deep clone an object
const original = { a: 1, b: { c: 2 } };
const cloned = deepClone(original);
// Generate a random string
console.log(randomString()); // e.g., "aB3kL9mN"
console.log(randomString(12, 'ABCDEF123456')); // e.g., "A3B6C1D4E2F5"API Reference
capitalize(str)
Capitalizes the first letter of a string.
- str (string): The string to capitalize
- Returns: (string) The capitalized string
isEmpty(value)
Checks if a value is empty (null, undefined, empty string, empty array, or empty object).
- value (any): The value to check
- Returns: (boolean) True if the value is empty, false otherwise
debounce(func, delay)
Debounces a function call.
- func (Function): The function to debounce
- delay (number): The delay in milliseconds
- Returns: (Function) The debounced function
deepClone(obj)
Deep clones an object.
- obj (any): The object to clone
- Returns: (any) The cloned object
randomString(length, charset)
Generates a random string of specified length.
- length (number, optional): The length of the random string (default: 8)
- charset (string, optional): The character set to use (default: alphanumeric)
- Returns: (string) The generated random string
Testing
npm testContributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Changelog
v1.0.0
- Initial release
- Added capitalize, isEmpty, debounce, deepClone, and randomString utilities
