Примитивы
Функции для работы со строками, форматирования, генерации случайных значений и других базовых операций.
Список методов
Проверка строк
| Функция | Сигнатура | Описание |
|---|---|---|
isEmptyString | (string: string | null | undefined): boolean | Проверяет, является ли строка пустой, null, undefined или содержит только невидимые символы. |
isNullOrEmpty | (string: string | null | undefined): boolean | Проверяет, является ли строка пустой, null или undefined. |
isWhitespace | (string: string): boolean | Проверяет, содержит ли строка только пробельные символы. |
Преобразование строк
| Функция | Сигнатура | Описание |
|---|---|---|
upperFirst | (string: string): string | Преобразует первый символ строки в верхний регистр. |
lowerFirst | (string: string): string | Преобразует первый символ строки в нижний регистр. |
upper | (string: string): string | Преобразует всю строку в верхний регистр. |
lower | (string: string): string | Преобразует всю строку в нижний регистр. |
replaceAll | (find: string, replace: string, string: string): string | Заменяет все вхождения подстроки в строке. |
truncate | (string: string, maxLength: number, suffix?: string, cutFromStart?: boolean): string | Обрезает строку до указанной длины и добавляет суффикс, если строка была обрезана. |
toCamelCase | (string: string): string | Преобразует строку в camelCase. |
toKebabCase | (string: string): string | Преобразует строку в kebab-case. |
toSnakeCase | (string: string): string | Преобразует строку в snake_case. |
reverse | (string: string): string | Переворачивает строку. |
Форматирование данных
| Функция | Сигнатура | Описание |
|---|---|---|
formatBytes | (bytes: number, decimals?: number, forcedLocale?: string): string | Преобразует байты в читаемый формат (например, "1.5 KB"). |
pluralize | (number: number, forms: [string, string, string], showNumber?: boolean): string | Возвращает правильную форму слова в зависимости от числа. |
Генерация случайных значений
| Функция | Сигнатура | Описание |
|---|---|---|
randString | `(length: number, charset?: 'alphanumeric' | 'alpha' |
Маскирование данных
| Функция | Сигнатура | Описание |
|---|---|---|
mask | (string: string, startVisible?: number, endVisible?: number, maskChar?: string): string | Маскирует часть строки символом (полезно для скрытия конфиденциальных данных). |
Примеры использования
Проверка строк
1. isEmptyString
typescript
import { isEmptyString } from 'snappykit';
console.log(isEmptyString(' ')); // true
console.log(isEmptyString('\u200B\uFEFF')); // true
console.log(isEmptyString('Hello')); // false2. isNullOrEmpty
typescript
import { isNullOrEmpty } from 'snappykit';
console.log(isNullOrEmpty(null)); // true
console.log(isNullOrEmpty('')); // true
console.log(isNullOrEmpty('Hello')); // false3. isWhitespace
typescript
import { isWhitespace } from 'snappykit';
console.log(isWhitespace(' ')); // true
console.log(isWhitespace(' Hello ')); // falseПреобразование строк
4. upperFirst
typescript
import { upperFirst } from 'snappykit';
console.log(upperFirst('hello')); // 'Hello'
console.log(upperFirst('')); // ''5. lowerFirst
typescript
import { lowerFirst } from 'snappykit';
console.log(lowerFirst('Hello')); // 'hello'
console.log(lowerFirst('')); // ''6. upper
typescript
import { upper } from 'snappykit';
console.log(upper('hello')); // 'HELLO'7. lower
typescript
import { lower } from 'snappykit';
console.log(lower('HELLO')); // 'hello'8. replaceAll
typescript
import { replaceAll } from 'snappykit';
console.log(replaceAll('a', 'o', 'banana')); // 'bonono'9. truncate
typescript
import { truncate } from 'snappykit';
console.log(truncate('Hello, World!', 5)); // 'Hello...'
console.log(truncate('Hello, World!', 5, '---', true)); // '---World!'10. toCamelCase
typescript
import { toCamelCase } from 'snappykit';
console.log(toCamelCase('hello-world')); // 'helloWorld'
console.log(toCamelCase('Hello World')); // 'helloWorld'
console.log(toCamelCase('snake_case')); // 'snakeCase'11. toKebabCase
typescript
import { toKebabCase } from 'snappykit';
console.log(toKebabCase('helloWorld')); // 'hello-world'
console.log(toKebabCase('Hello World')); // 'hello-world'
console.log(toKebabCase('snake_case')); // 'snake-case'12. toSnakeCase
typescript
import { toSnakeCase } from 'snappykit';
console.log(toSnakeCase('helloWorld')); // 'hello_world'
console.log(toSnakeCase('Hello World')); // 'hello_world'
console.log(toSnakeCase('kebab-case')); // 'kebab_case'13. reverse
typescript
import { reverse } from 'snappykit';
console.log(reverse('hello')); // 'olleh'Форматирование данных
14. formatBytes
typescript
import { formatBytes } from 'snappykit';
console.log(formatBytes(1024)); // "1.00 KB" (зависит от локали браузера)
console.log(formatBytes(1500, 1, 'ru')); // "1.5 КБ"
console.log(formatBytes(1048576, 0, 'en')); // "1 MB"15. pluralize
typescript
import { pluralize } from 'snappykit';
console.log(pluralize(1, ['яблоко', 'яблока', 'яблок'])); // "1 яблоко"
console.log(pluralize(2, ['яблоко', 'яблока', 'яблок'])); // "2 яблока"
console.log(pluralize(5, ['яблоко', 'яблока', 'яблок'])); // "5 яблок"
console.log(pluralize(10, ['яблоко', 'яблока', 'яблок'], false)); // "яблок"Генерация случайных значений
16. randString
typescript
import { randString } from 'snappykit';
console.log(randString(10)); // "aB3xY7pL9K" (случайная строка)
console.log(randString(5, 'numeric')); // "12345" (только цифры)
console.log(randString(8, 'hex')); // "a1b2c3d4" (шестнадцатеричная строка)Маскирование данных
17. mask
typescript
import { mask } from 'snappykit';
console.log(mask('1234567890')); // "1234****90"
console.log(mask('1234567890', 2, 2)); // "12******90"
console.log(mask('1234567890', 3, 3, '-')); // "123-----890"