1 день назад
История
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 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 onlyisHexDigit(s)— single hexadecimal digitisAllHexDigits(s)— hexadecimal digits onlyisOctalDigit(s)— single octal digit (0–7)isAllOctalDigits(s)— octal digits onlyisAsciiLetter(s)— single ASCII letterisAsciiAlphanumeric(s)— single ASCII letter or digitisAsciiWhiteSpace(s)— POSIX / C whitespace (not ECMAScript\s)isBlank(s)— empty string (after trim)isNullOrBlank(s)— null, undefined, or empty
Comparisons (comparisons)
compareCodeUnits(left, right)— UTF-16 code-unit lexicographic order for storage keys
Unicode (unicode)
isUnicodeScalarValue(value)—truewhen a number is a valid scalar (for escape validation)stringFromCodePoint(value)— scalar → one-character string (RangeErrorwhen invalid)codePointCharAt(s, index)—codePointAt, but returns a string; advance by.length
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 charactersasciiWhiteSpaceCharacters— POSIX / C whitespace stringasciiWhiteSpaceSet— set view for membership checks
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
Конвейеры
5
успешных
5
с ошибкой