Skip to main content

@rtorcato/js-common / strings

strings

Other​

snakeCase()​

snakeCase(str): string

Defined in: strings/index.ts:91

Converts a string to snake_case.

Parameters​

str​

string

The string to convert.

Returns​

string

The snake_cased string.


truncate()​

truncate(str, maxLength): string

Defined in: strings/index.ts:111

Truncates a string to a maximum length, adding ellipsis if needed. Length is counted in graphemes, so emoji and combining marks are never split.

Parameters​

str​

string

The string to truncate.

maxLength​

number

The maximum length in graphemes, ellipsis included. <= 0 returns ''.

Returns​

string

The truncated string.


reverse()​

reverse(str): string

Defined in: strings/index.ts:129

Reverses a string by grapheme, so emoji sequences, flags and combining marks stay intact.

Example​

reverse('hello') // 'olleh'
reverse('abc123') // '321cba'

Parameters​

str​

string

The string to reverse

Returns​

string

The reversed string


slugify()​

slugify(str): string

Defined in: strings/index.ts:147

Converts a string to a URL-friendly slug. Handles unicode, accents, and special characters.

Example​

slugify('Hello World!') // 'hello-world'
slugify('Café & Résumé') // 'cafe-resume'
slugify(' Multiple Spaces ') // 'multiple-spaces'

Parameters​

str​

string

The string to slugify

Returns​

string

The slugified string


words()​

words(str): string[]

Defined in: strings/index.ts:172

Splits a string into an array of words.

Example​

words('hello world') // ['hello', 'world']
words('camelCaseString') // ['camel', 'Case', 'String']
words('hello-world_test') // ['hello', 'world', 'test']

Parameters​

str​

string

The string to split

Returns​

string[]

Array of words


wordCount()​

wordCount(str): number

Defined in: strings/index.ts:194

Counts the number of words in a string.

Example​

wordCount('hello world') // 2
wordCount(' one two three ') // 3
wordCount('') // 0

Parameters​

str​

string

The string to count words in

Returns​

number

The word count


pluralize()​

pluralize(word, count, plural?): string

Defined in: strings/index.ts:216

Returns the plural form of a word based on count.

Example​

pluralize('item', 0) // 'items'
pluralize('item', 1) // 'item'
pluralize('item', 5) // 'items'
pluralize('box', 2, 'boxes') // 'boxes'

Parameters​

word​

string

The singular word

count​

number

The count

plural?​

string

Optional custom plural form

Returns​

string

The pluralized word


ordinalize()​

ordinalize(num): string

Defined in: strings/index.ts:237

Converts a number to its ordinal form.

Example​

ordinalize(1) // '1st'
ordinalize(2) // '2nd'
ordinalize(3) // '3rd'
ordinalize(4) // '4th'
ordinalize(11) // '11th'
ordinalize(21) // '21st'

Parameters​

num​

number

The number to ordinalize

Returns​

string

The ordinal string


isBlank()​

isBlank(str): boolean

Defined in: strings/index.ts:273

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

Example​

isBlank('') // true
isBlank(' ') // true
isBlank('\t\n') // true
isBlank('hello') // false
isBlank(' a ') // false

Parameters​

str​

string

The string to check

Returns​

boolean

True if blank, false otherwise


mask()​

mask(str, start, end, char?): string

Defined in: strings/index.ts:294

Masks part of a string with a specified character.

Example​

mask('1234567890', 0, 4) // '******7890'
mask('1234567890', 6, 10) // '123456****'
mask('secret', 0, 3, 'X') // 'XXXret'
mask('4111111111111111', 0, 12) // '************1111'

Parameters​

str​

string

The string to mask

start​

number

Start index of masking

end​

number

End index of masking

char?​

string = '*'

The masking character (default: '*')

Returns​

string

The masked string


template()​

template(str, data): string

Defined in: strings/index.ts:317

Simple template interpolation using ${key} syntax.

Example​

template('Hello, ${name}!', { name: 'World' }) // 'Hello, World!'
template('${a} + ${b} = ${c}', { a: 1, b: 2, c: 3 }) // '1 + 2 = 3'
template('Missing ${key}', {}) // 'Missing ${key}'

String Utilities​

Parameters​

str​

string

The template string

data​

Record<string, unknown>

The data object with values

Returns​

string

The interpolated string

titleCase()​

titleCase(str): string

Defined in: strings/index.ts:16

Converts a string to Title Case (capitalizes the first letter of each word).

Example​

titleCase('hello world') // 'Hello World'
titleCase('javaScript is awesome') // 'Javascript Is Awesome'
titleCase('UPPER CASE TEXT') // 'Upper Case Text'
titleCase('mixed-case_string') // 'Mixed-case_string'

Parameters​

str​

string

The string to convert to title case

Returns​

string

The title-cased string


capitalize()​

capitalize(str): string

Defined in: strings/index.ts:35

Capitalizes the first letter of a string.

Example​

capitalize('hello') // 'Hello'
capitalize('WORLD') // 'WORLD'
capitalize('') // ''
capitalize('a') // 'A'

Parameters​

str​

string

The string to capitalize

Returns​

string

The capitalized string


camelCase()​

camelCase(str): string

Defined in: strings/index.ts:56

Converts a string to camelCase. Removes hyphens, underscores, and spaces while capitalizing following letters.

Example​

camelCase('hello world') // 'helloWorld'
camelCase('hello-world') // 'helloWorld'
camelCase('hello_world') // 'helloWorld'
camelCase('Hello World') // 'helloWorld'
camelCase('API_KEY_NAME') // 'aPIKEYNAME'

Parameters​

str​

string

The string to convert to camelCase

Returns​

string

The camelCased string


kebabCase()​

kebabCase(str): string

Defined in: strings/index.ts:79

Converts a string to kebab-case. Converts camelCase and spaces/underscores to hyphen-separated lowercase.

Example​

kebabCase('helloWorld') // 'hello-world'
kebabCase('Hello World') // 'hello-world'
kebabCase('hello_world') // 'hello-world'
kebabCase('APIKeyName') // 'a-p-i-key-name'
kebabCase('camelCaseString') // 'camel-case-string'

Parameters​

str​

string

The string to convert to kebab-case

Returns​

string

The kebab-cased string