FoundryKit

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