@cutticat/text
v1.0.3
Published
CuttiCat Text Processing Library
Downloads
238
Maintainers
Readme
@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/textQuick 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") // 3API
Case (cases)
toLowerCase<T>(text)— to lowercasetoUpperCase<T>(text)— to uppercasetoCamelCase<T>(text)— to camelCasetoKebabCase<T>(text)— to kebab-casetoSnakeCase<T>(text)— to snake_casetoPascalCase<T>(text)— to PascalCasecapitalize<T>(text)— capitalize first letteruncapitalize<T>(text)— lowercase first lettercapitalizeText(text)— capitalize the first letter of each word
Character classes (classes)
isDigit(s)— single digitisAllDigits(s)— digits onlyisBlank(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 onlylooksLikeMojibake(value)— looks like corrupted encodinghasReadableChars(value)— has letters, digits, or spaceshasReplacementCharacters(value)— contains replacement character U+FFFDhasSuspiciousChars(value)— suspicious characters (invisible, control characters)hasCyrillicOrCjkChars(value)— Cyrillic or CJK
Counting (counting)
countChars(s, predicate)— character count by predicatecountDigits(s)— digit countcountLines(s)— line count (by\n)
Whitespace (white-spaces)
collapseSpaces(s, toUndefined?)— collapse spaces to one, preserve line breakscollapseWhiteSpace(s, toUndefined?)— collapse all whitespace charactersremoveWhiteSpace(s, toUndefined?)— remove all whitespace characterstrim(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-zuppercaseAsciiAlphabet— A-ZnumericAsciiAlphabet— 0-9specialCharactersAsciiAlphabet— 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
