Skip to main content

Str module

📖 Description​

The Str module contains helper functions related to strings.

Rationale

The functions in this module are primitive and probably widely available in many other open-source packages on npm. So why are they included in the Tripetto Runner library? That's because the Tripetto Runner library doesn't have any dependency on other npm packages. So all the code needed to run a Tripetto form is included and these functions are simply required. Since they are part of the package, they are exported so you can use them too. For example when building custom blocks.

▶️ Functions​


🔧 capitalize​

Capitalizes the first character of a string or the first character of each word.

Signature​

capitalize(
s: string,
mode?: "first-character" | "each-word" | "each-sentence",
lowercase?: boolean
): string

Parameters​

NameTypeOptionalDescription
sstringNoSpecifies the input string.
mode"first-character" | "each-word" | "each-sentence"YesSpecifies the mode (default is "first-character").
lowercasebooleanYesConverts the string to lowercase before capitalizing it (default is false).

Return value​

Returns the capitalized string.

Example​

import { Str } from "@tripetto/runner";

Str.capitalize("lorem ipsum. dolor"); // Returns `Lorem ipsum. dolor`
Str.capitalize("lorem ipsum. dolor", "each-word"); // Returns `Lorem Ipsum. Dolor`
Str.capitalize("lorem ipsum. dolor", "each-sentence"); // Returns `Lorem ipsum. Dolor`

🔧 CRLFToHTML​

Converts carriage returns and/or newlines to HTML breaks.

Signature​

CRLFToHTML(s: string): string

Parameters​

NameTypeOptionalDescription
sstringNoSpecifies the string to be converted.

Return value​

Returns the converted string.

Example​

import { Str } from "@tripetto/runner";

Str.CRLFToHTML("Row 1\r\nRow 2"); // Returns `Row 1<br />Row 2`

🔧 djb2Hash​

Creates a simple hash for the supplied string using the djb2-algorithm written by Dan Bernstein. This hash function is similar to a linear congruential generator and is absolutely not collision resistant.

Signature​

djb2Hash(s: string, prefix?: string): string

Parameters​

NameTypeOptionalDescription
sstringNoSpecifies the input string.
prefixstringYesSpecifies a prefix for the hash result.

Return value​

Returns the hash string.

Example​

import { Str } from "@tripetto/runner";

Str.djb2Hash("Abc"); // Returns `ABCAA`
Str.djb2Hash("Abc", "prefix-"); // Returns `prefix-ABCAA`

🔧 extract​

Extracts the part of the string between the first occurrence of left and the optional occurrence of right.

Signature​

extract<T>(
s: string,
options: {
left: string;
right?: string;
fromEnd?: boolean;
ignoreCase?: boolean;
}
): string

Parameters​

NameTypeOptionalDescription
sstringNoSpecifies the string to be extracted (variable will cast to a string if necessary).
optionsobjectNoSpecifies the extract options. Supports the following options:
- left: Left string selector:
- right: Right string selector:
- fromEnd: Specifies the search direction of the right string selector. If false is specified, the function searches for the first occurrence of Right directly after the position of Left.
- ignoreCase: Specifies if a case insensitive check should be performed.

Return value​

Returns the string between left and right or an empty string if an error occurs.

Example​

import { Str } from "@tripetto/runner";

Str.extract("Lorem ipsum dolor", { left: "Lo", right: "m" }); // Returns `re`
Str.extract("Lorem ipsum dolor", { left: "Lo", right: "m", fromEnd: true }); // Returns `rem ipsu`

🔧 fill​

Fills a string for the specified times with the specified string or characters.

Signature​

fill(s: string, count: number): string

Parameters​

NameTypeOptionalDescription
sstringNoSpecifies the input string.
countnumberNoSpecifies the number of copies to insert.

Return value​

Returns the filled string.

Example​

import { Str } from "@tripetto/runner";

Str.fill("A", 5); // Returns `AAAAA`

🔧 iterateToString​

Converts an array or object list to a concatenated string.

Signature​

iterateToString<T>(
list: TList<T>,
separator?: string,
fn?: (item: T, ...arguments: any[]) => string,
...arguments: any[]
): string

Parameters​

NameTypeOptionalDescription
listT[] | undefinedNoSpecifies the array, collection or enumerable object to iterate through.
separatorstringYesOptional parameter which specifies the separator string or char.
fn(item: T, ...arguments: any[]) => stringYesOptional function to be invoked for each element (instead of automatic casting to strings). The element value will be exposed to the function as the first argument of the argument list. Additional arguments can be specified and will be pushed to the function.
argumentsany[]YesOptional arguments which should be passed to the callee.

Return value​

Returns the concatenated string.

Example​

import { Str } from "@tripetto/runner";

Str.iterateToString(["a", "b", "c"]); // Returns `abc`
Str.iterateToString(["a", "b", "c"], "-"); // Returns `a-b-c`
Str.iterateToString(["a", "b", "c"], "/", (sValue: string) => sValue + sValue); // Returns `aa/bb/cc`

🔧 limit​

Limits a string that is greater than the specified number of characters and appends an optional string. If an append string is specified any trailing spaces in the trimmed string are removed.

Signature​

limit(s: string, max: number, append?: string): string

Parameters​

NameTypeOptionalDescription
sstringNoSpecifies the input string.
maxnumberNoMaximum string length.
appendstringYesOptional string which is appended to a limited string.

Return value​

Returns the limited string.

Example​

import { Str } from "@tripetto/runner";

Str.limit("Lorem ipsum", 5, "..."); // Returns `Lorem...`
Str.limit("Lorem ipsum", 6, "..."); // Returns `Lorem...`
Str.limit("Lorem ipsum", 6); // Returns `Lorem `

🔧 lowercase​

Converts a string to lowercase.

Signature​

lowercase(s: string): string

Parameters​

NameTypeOptionalDescription
sstringNoSpecifies the input string.

Return value​

Returns the converted string.

Example​

import { Str } from "@tripetto/runner";

Str.lowercase("HELLO"); // Returns `hello`

🔧 makeHTMLSafe​

Converts HTML brackets to HTML entities so it is safe to display without HTML parsing.

caution

Careful, only the brackets (< and >) are converted to HTML entities.

Signature​

makeHTMLSafe(s: string): string

Parameters​

NameTypeOptionalDescription
sstringNoSpecifies the string to be converted.

Return value​

Returns the converted string.

Example​

import { Str } from "@tripetto/runner";

Str.makeHTMLSafe("<b>Hello</b>"); // Returns `&lt;b&gt;Hello&lt;b&gt;`

🔧 padLeft​

Converts source variable to a string and pads the string on the left with the supplied number of characters.

Signature​

padLeft(
value: string | number,
fill: string,
length: number,
crop?: boolean,
treatAsNumber?: boolean
): string

Parameters​

NameTypeOptionalDescription
valuestring | numberNoSpecifies the input string or number.
fillstringNoContains the string which will be used as fill string.
lengthnumberNoSpecifies the desired string length.
cropbooleanYesOptional boolean value which enables string cropping if the source string length is larger than the desired string length.
treatAsNumberbooleanYesOptional boolean value which specifies the input string should be treated as a number.

Return value​

Returns the padded string.

Example​

import { Str } from "@tripetto/runner";

Str.padLeft("ABC", "A", 5); // Returns `AAABC`

🔧 padRight​

Converts source variable to a string and pads the string on the right with the supplied number of characters.

Signature​

padRight(value: string | number, fill: string, length: number, crop?: boolean): string

Parameters​

NameTypeOptionalDescription
valuestring | numberNoSpecifies the input string or number.
fillstringNoContains the string which will be used as fill string.
lengthnumberNoSpecifies the desired string length.
cropbooleanYesOptional boolean value which enables string cropping if the source string length is larger than the desired string length.

Return value​

Returns the padded string.

Example​

import { Str } from "@tripetto/runner";

Str.padRight("ABC", "A", 5); // Returns `ABCAA`

🔧 removeWhitespaces​

Removes all white spaces from the specified string (_ab__cd_ -> abcd).

Signature​

removeWhitespaces(s: string): string

Parameters​

NameTypeOptionalDescription
sstringNoSpecifies the input string.

Return value​

Returns the sanitized string.

Example​

import { Str } from "@tripetto/runner";

Str.removeWhitespaces(" ab cd "); // Returns `abcd`

🔧 replace​

Replaces all occurrences of what with with in the specified string.

Signature​

replace(s: string, what: string, with?: string, ignoreCase?: boolean): string

Parameters​

NameTypeOptionalDescription
sstringNoSpecifies the input string (haystack).
whatstringNoSpecifies the string to search for (needle).
withstringYesSpecifies the replace string. If omitted an empty string will be used.
ignoreCasebooleanYesSpecifies if the string replace should be case insensitive (default is false).

Return value​

Returns the replaced string.

Example​

import { Str } from "@tripetto/runner";

Str.replace("Hello", "l", "-"); // Returns `He--o`

🔧 replaceMultiple​

Replaces all occurrences of strings in what with with in the specified string.

Signature​

replaceMultiple(s: string, what: string[], with?: string, ignoreCase?: boolean): string

Parameters​

NameTypeOptionalDescription
sstringNoSpecifies the input string (haystack).
whatstring[]NoSpecifies the strings to search for (needles).
withstringYesSpecifies the replace string. If omitted an empty string will be used.
ignoreCasebooleanYesSpecifies if the string replace should be case insensitive (default is false).

Return value​

Returns the replaced string.

Example​

import { Str } from "@tripetto/runner";

Str.replaceMultiple("Hello", ["ll", "o"], "-"); // Returns `He---`

🔧 sanitize​

Sanitize a string by removing all leading, trailing and multiple whitespaces (_ab__cd_ -> ab_cd).

Signature​

sanitize(s: string): string

Parameters​

NameTypeOptionalDescription
sstringNoSpecifies the input string.

Return value​

Returns the sanitized string.

Example​

import { Str } from "@tripetto/runner";

Str.sanitize(" ab cd "); // Returns `ab cd`

🔧 trim​

Trims a string by removing all leading and trailing whitespaces (_ab__cd_ -> ab__cd).

Signature​

trim(s: string): string

Parameters​

NameTypeOptionalDescription
sstringNoSpecifies the input string.

Return value​

Returns the trimmed string.

Example​

import { Str } from "@tripetto/runner";

Str.trim(" ab cd "); // Returns `ab cd`

🔧 trimLeft​

Trims a string at the left side by removing all leading whitespaces (_ab__cd_ -> ab__cd_).

Signature​

trimLeft(s: string): string

Parameters​

NameTypeOptionalDescription
sstringNoSpecifies the input string.

Return value​

Returns the trimmed string.

Example​

import { Str } from "@tripetto/runner";

Str.trimLeft(" ab cd "); // Returns `ab cd `

🔧 trimMultiple​

Trims a string by removing all multiple whitespaces (_ab__cd_ -> _ab_cd_).

Signature​

trimMultiple(s: string): string

Parameters​

NameTypeOptionalDescription
sstringNoSpecifies the input string.

Return value​

Returns the trimmed string.

Example​

import { Str } from "@tripetto/runner";

Str.trimMultiple(" ab cd "); // Returns ` ab cd `

🔧 trimRight​

Trims a string at the right by removing all trailing whitespaces (_ab__cd_ -> _ab__cd).

Signature​

trimRight(s: string): string

Parameters​

NameTypeOptionalDescription
sstringNoSpecifies the input string.

Return value​

Returns the trimmed string.

Example​

import { Str } from "@tripetto/runner";

Str.trimRight(" ab cd "); // Returns ` ab cd`

🔧 uppercase​

Converts a string to uppercase.

Signature​

uppercase(s: string): string

Parameters​

NameTypeOptionalDescription
sstringNoSpecifies the input string.

Return value​

Returns the converted string.

Example​

import { Str } from "@tripetto/runner";

Str.uppercase("Hello"); // Returns `HELLO`