@developaul/string-utils
TypeScript icon, indicating that this package has built-in type declarations

0.2.1 • Public • Published

@developaul/string-utils

A comprehensive string manipulation utility library built with TypeScript for modern JavaScript applications.

Features

  • 🚀 Modern ESM support with full TypeScript types
  • 📦 Multiple entry points for tree-shaking optimization
  • 🔧 Comprehensive utilities for string formatting and validation
  • 💪 Fully typed with excellent IDE support
  • 🎯 Zero dependencies - lightweight and fast

Installation

npm install @developaul/string-utils
# or
pnpm add @developaul/string-utils
# or
yarn add @developaul/string-utils

Usage

Basic Import

import { kebabCase, capitalize, isEmail } from '@developaul/string-utils';

// Format strings
const slug = kebabCase('Hello World'); // 'hello-world'
const title = capitalize('hello world'); // 'Hello world'

// Validate strings
const valid = isEmail('test@example.com'); // true

Namespace Imports

import { formatters, validators } from '@developaul/string-utils';

// Use formatters
const slug = formatters.slugify('Hello World!'); // 'hello-world'
const camel = formatters.camelCase('hello-world'); // 'helloWorld'

// Use validators
const isValidEmail = validators.isEmail('test@example.com'); // true
const hasLength = validators.hasMinLength('hello', 3); // true

Submodule Imports

// Import only formatters
import { kebabCase, titleCase } from '@developaul/string-utils/formatters';

// Import only validators
import { isEmail, isUrl } from '@developaul/string-utils/validators';

API Reference

Formatters

kebabCase(str: string): string

Convert a string to kebab-case.

kebabCase('Hello World') // 'hello-world'
kebabCase('camelCase') // 'camel-case'

camelCase(str: string): string

Convert a string to camelCase.

camelCase('hello-world') // 'helloWorld'
camelCase('snake_case') // 'snakeCase'

capitalize(str: string): string

Capitalize the first letter of a string.

capitalize('hello world') // 'Hello world'

titleCase(str: string): string

Convert a string to Title Case.

titleCase('hello world') // 'Hello World'
titleCase('the quick brown fox') // 'The Quick Brown Fox'

slugify(str: string): string

Create a URL-friendly slug from a string.

slugify('Hello World!') // 'hello-world'
slugify('The Quick Brown Fox') // 'the-quick-brown-fox'

truncate(str: string, length: number, suffix?: string): string

Truncate a string to a specified length.

truncate('Hello World', 5) // 'Hello...'
truncate('Hello World', 5, '!') // 'Hello!'

Validators

isEmail(str: string): boolean

Check if a string is a valid email address.

isEmail('test@example.com') // true
isEmail('invalid-email') // false

isUrl(str: string): boolean

Check if a string is a valid URL.

isUrl('https://example.com') // true
isUrl('not-a-url') // false

isAlphanumeric(str: string): boolean

Check if a string contains only alphanumeric characters.

isAlphanumeric('abc123') // true
isAlphanumeric('abc-123') // false

isEmpty(str: string): boolean

Check if a string is empty or contains only whitespace.

isEmpty('') // true
isEmpty('   ') // true
isEmpty('hello') // false

hasMinLength(str: string, minLength: number): boolean

Check if a string has a minimum length.

hasMinLength('hello', 3) // true
hasMinLength('hi', 3) // false

matchesPattern(str: string, pattern: RegExp): boolean

Check if a string matches a pattern.

matchesPattern('123', /^\d+$/) // true
matchesPattern('abc', /^\d+$/) // false

Version History

This package follows Semantic Versioning.

Current version: 0.1.0-alpha.0

Contributing

This package is part of the @breaking monorepo for learning package publishing workflows.

License

MIT License - see LICENSE file for details.

Package Sidebar

Install

npm i @developaul/string-utils

Weekly Downloads

386

Version

0.2.1

License

MIT

Unpacked Size

22.6 kB

Total Files

11

Last publish

Collaborators

  • developaul