Utils
Utility functions and helpers for common operations
Utils
The @foundrykit/utils
package provides a collection of utility functions and helpers that simplify common operations across your applications.
Features
- Lightweight: Minimal dependencies, focused on essential utilities
- TypeScript support: Full TypeScript support with proper type definitions
- Tree-shakable: Only import what you need to keep bundle size small
- Well tested: All utilities are thoroughly tested and documented
Installation
pnpm add @foundrykit/utils
Usage
import { cn } from '@foundrykit/utils'
function MyComponent({ className, ...props }) {
return (
<div
className={cn(
'base-styles',
'conditional-styles',
className
)}
{...props}
/>
)
}
Available Utilities
Class Name Utilities
- cn - Combine class names with conditional logic
- clsx - Lightweight utility for constructing className strings
- twMerge - Merge Tailwind CSS classes intelligently
String Utilities
- capitalize - Capitalize the first letter of a string
- camelCase - Convert string to camelCase
- kebabCase - Convert string to kebab-case
- pascalCase - Convert string to PascalCase
- snakeCase - Convert string to snake_case
Array Utilities
- chunk - Split array into chunks of specified size
- unique - Remove duplicates from array
- flatten - Flatten nested arrays
- groupBy - Group array items by key
Object Utilities
- pick - Pick specific properties from an object
- omit - Omit specific properties from an object
- deepMerge - Deep merge objects
- isEmpty - Check if object is empty
Validation Utilities
- isEmail - Validate email format
- isUrl - Validate URL format
- isPhone - Validate phone number format
- isStrongPassword - Validate password strength
Formatting Utilities
- formatCurrency - Format numbers as currency
- formatDate - Format dates consistently
- formatFileSize - Format file sizes with appropriate units
- formatDuration - Format time durations
Utility Categories
String Manipulation
Utilities for working with strings and text formatting.
Array Operations
Utilities for common array operations and transformations.
Object Helpers
Utilities for object manipulation and validation.
Validation
Utilities for validating common data formats.
Formatting
Utilities for formatting data for display.
Best Practices
- Import specific utilities: Import only the utilities you need to keep bundle size small
- Combine utilities: Utilities are designed to work together
- Type safety: All utilities maintain TypeScript type safety
- Performance: Utilities are optimized for performance
Dependencies
- clsx - For class name utilities
- tailwind-merge - For Tailwind CSS class merging
- No other external dependencies