Skip to main content
current (v2.x.x)

String

Helpers for manipulating and formatting strings. Includes casing conversions, masking, slugifying, truncating, reversing, counting, and more. All methods are fully typed.

API Summary​


Function Documentation & Usage Examples​

capitalize()​

Capitalizes the first character of a string.

Method Signature:

function capitalize(str: string): string;

Parameters:

  • str: The string to capitalize.

Returns:

  • The capitalized string.

Example:

import { capitalize } from '@catbee/utils/string';

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

toKebabCase()​

Converts a string to kebab-case.

Method Signature:

function toKebabCase(str: string): string;

Parameters:

  • str: The string to convert.

Returns:

  • The kebab-case string.

Example:

import { toKebabCase } from '@catbee/utils/string';

toKebabCase('FooBar test'); // "foo-bar-test"

toCamelCase()​

Converts a string to camelCase.

Method Signature:

function toCamelCase(str: string): string;

Parameters:

  • str: The string to convert.

Returns:

  • The camelCase string.

Example:

import { toCamelCase } from '@catbee/utils/string';

toCamelCase('foo-bar_test'); // "fooBarTest"

slugify()​

Converts a string to a URL-friendly slug.

Method Signature:

function slugify(str: string): string;

Parameters:

  • str: The string to convert.

Returns:

  • The URL-friendly slug.

Example:

import { slugify } from '@catbee/utils/string';

slugify('Hello World!'); // "hello-world"

truncate()​

Truncates a string to a specific length, appending '...' if truncated.

Method Signature:

function truncate(str: string, len: number): string;

Parameters:

  • str: The string to truncate.
  • len: The maximum length of the truncated string.

Returns:

  • The truncated string.

Example:

import { truncate } from '@catbee/utils/string';

truncate('This is a long sentence.', 10); // "This is a ..."

toPascalCase()​

Converts a string to PascalCase.

Method Signature:

function toPascalCase(str: string): string;

Parameters:

  • str: The string to convert.

Returns:

  • The PascalCase string.

Example:

import { toPascalCase } from '@catbee/utils/string';

toPascalCase('foo-bar'); // "FooBar"

toSnakeCase()​

Converts a string to snake_case.

Method Signature:

function toSnakeCase(str: string): string;

Parameters:

  • str: The string to convert.

Returns:

  • The snake_case string.

Example:

import { toSnakeCase } from '@catbee/utils/string';

toSnakeCase('FooBar test'); // "foo_bar_test"

mask()​

Masks a string by replacing characters with a mask character.

Method Signature:

function mask(str: string, visibleStart?: number, visibleEnd?: number, maskChar?: string): string;

Parameters:

  • str: The string to mask.
  • visibleStart: Number of characters to leave visible at the start (default: 0).
  • visibleEnd: Number of characters to leave visible at the end (default: 0).
  • maskChar: The character to use for masking (default: '*').

Returns:

  • The masked string.

Example:

import { mask } from '@catbee/utils/string';

mask('hello world', 2, 5, '*'); // "he***world"

stripHtml()​

Removes all HTML tags from a string.

Method Signature:

function stripHtml(str: string): string;

Parameters:

  • str: The string to process.

Returns:

  • The string without HTML tags.

Example:

import { stripHtml } from '@catbee/utils/string';

stripHtml('<div>Hello <b>world</b></div>'); // "Hello world"

equalsIgnoreCase()​

Performs case-insensitive string comparison.

Method Signature:

function equalsIgnoreCase(a: string, b: string): boolean;

Parameters:

  • a: The first string to compare.
  • b: The second string to compare.

Returns:

  • true if the strings are equal ignoring case, otherwise false.

Example:

import { equalsIgnoreCase } from '@catbee/utils/string';

equalsIgnoreCase('Hello', 'hello'); // true

reverse()​

Reverses a string.

Method Signature:

function reverse(str: string): string;

Parameters:

  • str: The string to reverse.

Returns:

  • The reversed string.

Example:

import { reverse } from '@catbee/utils/string';

reverse('abc'); // "cba"

countOccurrences()​

Counts occurrences of a substring within a string.

Method Signature:

function countOccurrences(str: string, substring: string, caseSensitive: boolean = true): number;

Parameters:

  • str: The string to search within.
  • substring: The substring to count.
  • caseSensitive: Whether the search should be case-sensitive (default: true).

Returns:

  • The number of occurrences of the substring.

Example:

import { countOccurrences } from '@catbee/utils/string';

countOccurrences('banana', 'an'); // 2 (case-sensitive)
countOccurrences('Banana', 'an'); // 1 (case-sensitive, only lowercase 'an')
countOccurrences('Banana', 'an', false); // 2 (case-insensitive)

toTitleCase()​

Converts a string to Title Case (each word capitalized).

Method Signature:

function toTitleCase(str: string): string;

Parameters:

  • str: The string to convert.

Returns:

  • The Title Case string.

Example:

import { toTitleCase } from '@catbee/utils/string';

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

escapeRegex()​

Escapes special regex characters in a string.

Method Signature:

function escapeRegex(str: string): string;

Parameters:

  • str: The string to escape.

Returns:

  • The string with regex characters escaped.

Example:

import { escapeRegex } from '@catbee/utils/string';

escapeRegex('Hello (world)'); // "Hello \\(world\\)"
escapeRegex('$100.00'); // "\\$100\\.00"

unescapeHtml()​

Unescapes HTML entities in a string.

Method Signature:

function unescapeHtml(str: string): string;

Parameters:

  • str: The HTML string with entities.

Returns:

  • The string with HTML entities unescaped.

Example:

import { unescapeHtml } from '@catbee/utils/string';

unescapeHtml('&lt;div&gt;Hello&lt;/div&gt;'); // "<div>Hello</div>"
unescapeHtml('&quot;Hello&quot;'); // '"Hello"'

isBlank()​

Checks if a string is blank (empty or only whitespace).

Method Signature:

function isBlank(str: string): boolean;

Parameters:

  • str: The string to check.

Returns:

  • true if the string is blank, otherwise false.

Example:

import { isBlank } from '@catbee/utils/string';

isBlank(' '); // true
isBlank(''); // true
isBlank('hello'); // false

ellipsis()​

Truncates a string with an ellipsis, ensuring word boundaries.

Method Signature:

function ellipsis(str: string, maxLength: number, suffix: string = '...'): string;

Parameters:

  • str: The string to truncate.
  • maxLength: Maximum length of the result.
  • suffix: Suffix to append when truncated (default: '...').

Returns:

  • The truncated string with suffix.

Example:

import { ellipsis } from '@catbee/utils/string';

ellipsis('The quick brown fox', 10); // "The quick..."
ellipsis('Short', 10); // "Short"
ellipsis('The quick brown fox', 15, '…'); // "The quick…"