README.md

@cutticat/text

String utilities library.

Table of Contents

Overview

The library provides functions for case conversion, string checks, whitespace handling, character counting, encoding validation, and other text operations. It uses types from @cutticat/types for type safety.

Installation

pnpm i @cutticat/text

Quick Start

import {
  toCamelCase,
  toSnakeCase,
  capitalize,
  collapseSpaces,
  isBlank,
  countLines,
} from "@cutticat/text"

// Case conversion
toCamelCase("hello-world") // "helloWorld"
toSnakeCase("helloWorld")  // "hello_world"
capitalize("hello")        // "Hello"

// Whitespace handling
collapseSpaces("  hello    world  ") // "hello world"

// Checks
isBlank("   ") // true

// Counting
countLines("line1\nline2\nline3") // 3

API

Case (cases)

  • toLowerCase<T>(text) — to lowercase
  • toUpperCase<T>(text) — to uppercase
  • toCamelCase<T>(text) — to camelCase
  • toKebabCase<T>(text) — to kebab-case
  • toSnakeCase<T>(text) — to snake_case
  • toPascalCase<T>(text) — to PascalCase
  • capitalize<T>(text) — capitalize first letter
  • uncapitalize<T>(text) — lowercase first letter
  • capitalizeText(text) — capitalize the first letter of each word

Character classes (classes)

  • isDigit(s) — single digit
  • isAllDigits(s) — digits only
  • isBlank(s) — empty string (after trim)
  • isNullOrBlank(s) — null, undefined, or empty

Codecs (codecs)

  • isValidString(value) — valid string (no replacement characters, has readable characters)
  • isAsciiOnly(value) — ASCII only
  • looksLikeMojibake(value) — looks like corrupted encoding
  • hasReadableChars(value) — has letters, digits, or spaces
  • hasReplacementCharacters(value) — contains replacement character U+FFFD
  • hasSuspiciousChars(value) — suspicious characters (invisible, control characters)
  • hasCyrillicOrCjkChars(value) — Cyrillic or CJK

Counting (counting)

  • countChars(s, predicate) — character count by predicate
  • countDigits(s) — digit count
  • countLines(s) — line count (by \n)

Whitespace (white-spaces)

  • collapseSpaces(s, toUndefined?) — collapse spaces to one, preserve line breaks
  • collapseWhiteSpace(s, toUndefined?) — collapse all whitespace characters
  • removeWhiteSpace(s, toUndefined?) — remove all whitespace characters
  • trim(s, toUndefined?) — trim leading and trailing whitespace

Replacements (replacements)

  • replaceMiddle(str, replacement, from, to) — replace the middle part of a string

Preview (preview)

  • preview(obj, maxLength?) — string representation of an object (truncated to maxLength)

Constants (constants)

  • lowercaseAsciiAlphabet — a-z
  • uppercaseAsciiAlphabet — A-Z
  • numericAsciiAlphabet — 0-9
  • specialCharactersAsciiAlphabet — special characters

Documentation

Detailed documentation:

Full API documentation is available in JSDoc comments. Use IDE autocomplete to browse it.

Requirements

  • Node.js >= 22.0.0
  • pnpm >= 10.17.0
  • TypeScript >= 5.9.0
Описание
A library with various utilities for working with text
Конвейеры
4 успешных
6 с ошибкой
Разработчики