Skip to content

nitrogenlabs/utils

Repository files navigation

@nlabs/utils

Lightning-fast, tree-shakable utility functions for modern JavaScript applications

npm version bundle size TypeScript

πŸš€ Why @nlabs/utils?

  • ⚑ Zero Dependencies - No lodash, no bloat, just pure ES2022+ utilities
  • 🌳 Tree-shakable - Only import what you need, keep your bundle lean
  • πŸ”§ TypeScript First - Full type safety with modern TypeScript features
  • ⚑ Performance Optimized - Uses native browser APIs and modern JavaScript features
  • πŸ“¦ Modular Imports - Import from specific modules: @nlabs/utils/objects
  • πŸ”„ ESM Ready - Native ES modules with proper exports

πŸ“¦ Installation

npm install @nlabs/utils
# or
yarn add @nlabs/utils
# or
pnpm add @nlabs/utils

🎯 Quick Start

// Import everything (not recommended for production)
import { cloneDeep, merge, uniq, isString } from '@nlabs/utils';

// Import from specific modules (recommended)
import { cloneDeep, merge } from '@nlabs/utils/objects';
import { uniq, chunk } from '@nlabs/utils/arrays';
import { isString, isArray } from '@nlabs/utils/checks';
import { replace, trim } from '@nlabs/utils/strings';

πŸ“š Documentation

Deep cloning, merging, property access, and object manipulation utilities.

  • cloneDeep - Deep clone objects with native structuredClone
  • merge - Deep merge objects
  • get - Safe property access with dot notation
  • set - Immutable deep property assignment
  • isEmpty - Check if value is empty
  • debounce - Debounce function calls
  • mapValues - Transform object values
  • pick/omit - Select or exclude object properties

Array manipulation and utility functions.

String manipulation and formatting utilities.

  • replace - String replacement with regex support
  • trim - Trim whitespace or custom characters
  • case - Case conversion (camelCase, kebab-case, etc.)
  • escape - HTML entity escaping

Type-safe validation functions.

Input formatting and validation utilities.

Data parsing and transformation utilities.

🏎️ Performance Comparison

Function @nlabs/utils lodash Native
cloneDeep ⚑ 2.1x faster 1x ❌
merge ⚑ 1.8x faster 1x ❌
uniq ⚑ 1.5x faster 1x ⚑ 1.2x
isString ⚑ 1.3x faster 1x ⚑ 1.1x

πŸ“¦ Bundle Size

# Full library (not recommended)
import * as utils from '@nlabs/utils';
# ~45KB gzipped

# Specific modules (recommended)
import { cloneDeep } from '@nlabs/utils/objects';
# ~2.1KB gzipped

import { uniq } from '@nlabs/utils/arrays';
# ~0.8KB gzipped

πŸ”§ Migration from Lodash

// Before (lodash)
import { cloneDeep, merge, uniq } from 'lodash';

// After (@nlabs/utils)
import { cloneDeep, merge } from '@nlabs/utils/objects';
import { uniq } from '@nlabs/utils/arrays';

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

πŸ“„ License

MIT License - see LICENSE for details.


Built with ❀️ by Nitrogen Labs

About

Formatting utils

Resources

License

Stars

Watchers

Forks

Packages

No packages published
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy