Skip to content

ngagne/safe-strings

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

safe-strings

A collection of unicode-safe string functions inspired by other programming languages.

Installation

Install using NPM:

$ npm i safe-strings

Usage

Import specific functions:

const { center, capwords } = require('safe-strings');

center('my string', 20);
capwords('this is a test');

Import the entire library:

const stringUtil = require('safe-strings');

stringUtil.center('my string', 20);
stringUtil.capwords('this is a test');

Cross-language helpers

Includes aliases and helpers inspired by Go/Python/Rust naming: len, trim, trimStart, trimEnd, hasPrefix, hasSuffix, title, capitalize, contains, startsWith, endsWith, reverse, slice, repeat, join, count, replace, partition, rpartition, cut, removePrefix, removeSuffix, stripPrefix, stripSuffix, trimPrefix, trimSuffix, take, drop, and isEmpty.

Functions

length(string)number

Get string length with unicode support

split(string, [separator])Array.<string>

Return an array of strings split by the separator.

ljust(string, width, [fillChar])string

Left-justify a string in a field of given width.

rjust(string, width, [fillChar])string

Right-justify a string in a field of given width.

center(string, width, [fillChar])string

Center a string in a field of given width.

strip(string, [trimChar])string

Return a copy of the string with leading and trailing characters removed.

lstrip(string, [trimChar])string

Return a copy of the string with leading characters removed.

rstrip(string, [trimChar])string

Return a copy of the string with trailing characters removed.

swapcase(string)string

Return a copy of the string with lower case letters converted to upper case and vice versa.

capwords(string, [separator])string

Return a copy of the string with the first char of each separated word converted to upper case.

ucfirst(string)string

Return a copy of the string with the first char converted to upper case.

lcfirst(string)string

Return a copy of the string with the first char converted to lower case.

nl2br(string, [breakElement])string

Return a copy of the string with HTML line breaks (
) inserted before all newlines.

expandtabs(string, [tabsize])string

Return a copy of the string with tab chars (\t) replaced by spaces.

isEmpty(string)boolean

Return true if the string is empty.

contains(string, substring)boolean

Return true if string contains the given substring.

startsWith(string, prefix)boolean

Return true if string starts with the given prefix.

endsWith(string, suffix)boolean

Return true if string ends with the given suffix.

reverse(string)string

Return a new string with chars in reverse order.

slice(string, [start], [end])string

Return a unicode-safe string slice.

repeat(string, count)string

Return a string repeated count times.

join(strings, [separator])string

Join an array of strings with a separator.

count(string, substring)number

Count non-overlapping substring occurrences.

replace(string, oldSubstring, newSubstring, [replaceCount])string

Replace at most count occurrences of a substring.

partition(string, separator)Array.<string>

Partition the string at the first occurrence of separator.

rpartition(string, separator)Array.<string>

Partition the string at the last occurrence of separator.

cut(string, separator)Array.<(string|boolean)>

Cut the string around the first occurrence of separator.

removePrefix(string, prefix)string

Remove a leading prefix from the string if present.

removeSuffix(string, suffix)string

Remove a trailing suffix from the string if present.

take(string, count)string

Return the first count unicode characters.

drop(string, count)string

Drop the first count unicode characters.

length(string) ⇒ number

Get string length with unicode support

Kind: global function
Returns: number - The length of the string.

Param Description
string The input string.

split(string, [separator]) ⇒ Array.<string>

Return an array of strings split by the separator.

Kind: global function
Returns: Array.<string> - An array of split strings.

Param Type Default Description
string string The input string.
[separator] string "" The separator char.

ljust(string, width, [fillChar]) ⇒ string

Left-justify a string in a field of given width.

Kind: global function
Returns: string - The padded string.

Param Type Default Description
string string The input string.
width number The length of the resulting string once.
[fillChar] string " " The character used to pad the string.

rjust(string, width, [fillChar]) ⇒ string

Right-justify a string in a field of given width.

Kind: global function
Returns: string - The padded string.

Param Type Default Description
string string The input string.
width number The length of the resulting string once.
[fillChar] string " " The character used to pad the string.

center(string, width, [fillChar]) ⇒ string

Center a string in a field of given width.

Kind: global function
Returns: string - The padded string.

Param Type Default Description
string string The input string.
width number The length of the resulting string once.
[fillChar] string " " The character used to pad the string.

strip(string, [trimChar]) ⇒ string

Return a copy of the string with leading and trailing characters removed.

Kind: global function
Returns: string - The string with characters removed.

Param Type Default Description
string string The input string.
[trimChar] string " " The character to be removed.

lstrip(string, [trimChar]) ⇒ string

Return a copy of the string with leading characters removed.

Kind: global function
Returns: string - The string with characters removed.

Param Type Default Description
string string The input string.
[trimChar] string " " The character to be removed.

rstrip(string, [trimChar]) ⇒ string

Return a copy of the string with trailing characters removed.

Kind: global function
Returns: string - The string with characters removed.

Param Type Default Description
string string The input string.
[trimChar] string " " The character to be removed.

swapcase(string) ⇒ string

Return a copy of the string with lower case letters converted to upper case and vice versa.

Kind: global function
Returns: string - The swapped string

Param Type Description
string string The input string.

capwords(string, [separator]) ⇒ string

Return a copy of the string with the first char of each separated word converted to upper case.

Kind: global function
Returns: string - The converted string

Param Type Default Description
string string The input string.
[separator] string " " The separator char.

ucfirst(string) ⇒ string

Return a copy of the string with the first char converted to upper case.

Kind: global function
Returns: string - The converted string

Param Type Description
string string The input string.

lcfirst(string) ⇒ string

Return a copy of the string with the first char converted to lower case.

Kind: global function
Returns: string - The converted string

Param Type Description
string string The input string.

nl2br(string, [breakElement]) ⇒ string

Return a copy of the string with HTML line breaks (
) inserted before all newlines.

Kind: global function
Returns: string - The converted string

Param Type Default Description
string string The input string.
[breakElement] string "<br>" The HTML line break string.

expandtabs(string, [tabsize]) ⇒ string

Return a copy of the string with tab chars (\t) replaced by spaces.

Kind: global function
Returns: string - The swapped string

Param Type Default Description
string string The input string.
[tabsize] number 8 The input string.

isEmpty(string) ⇒ boolean

Return true if the string is empty.

Kind: global function
Returns: boolean - True if the string is empty.

Param Type Description
string string The input string.

contains(string, substring) ⇒ boolean

Return true if string contains the given substring.

Kind: global function
Returns: boolean - True if substring is found.

Param Type Description
string string The input string.
substring string The substring to search for.

startsWith(string, prefix) ⇒ boolean

Return true if string starts with the given prefix.

Kind: global function
Returns: boolean - True if string starts with prefix.

Param Type Description
string string The input string.
prefix string The prefix to check.

endsWith(string, suffix) ⇒ boolean

Return true if string ends with the given suffix.

Kind: global function
Returns: boolean - True if string ends with suffix.

Param Type Description
string string The input string.
suffix string The suffix to check.

reverse(string) ⇒ string

Return a new string with chars in reverse order.

Kind: global function
Returns: string - The reversed string.

Param Type Description
string string The input string.

slice(string, [start], [end]) ⇒ string

Return a unicode-safe string slice.

Kind: global function
Returns: string - The sliced string.

Param Type Default Description
string string The input string.
[start] number 0 The start index.
[end] number The end index.

repeat(string, count) ⇒ string

Return a string repeated count times.

Kind: global function
Returns: string - The repeated string.

Param Type Description
string string The input string.
count number Number of repetitions.

join(strings, [separator]) ⇒ string

Join an array of strings with a separator.

Kind: global function
Returns: string - The joined string.

Param Type Default Description
strings Array.<string> Strings to join.
[separator] string "&quot;&quot;" Separator string.

count(string, substring) ⇒ number

Count non-overlapping substring occurrences.

Kind: global function
Returns: number - Number of occurrences.

Param Type Description
string string The input string.
substring string The substring to count.

replace(string, oldSubstring, newSubstring, [replaceCount]) ⇒ string

Replace at most count occurrences of a substring.

Kind: global function
Returns: string - The replaced string.

Param Type Default Description
string string The input string.
oldSubstring string Substring to replace.
newSubstring string Replacement substring.
[replaceCount] number -1 Max replacements, -1 for all.

partition(string, separator) ⇒ Array.<string>

Partition the string at the first occurrence of separator.

Kind: global function
Returns: Array.<string> - [before, separator, after]

Param Type Description
string string The input string.
separator string The separator to search for.

rpartition(string, separator) ⇒ Array.<string>

Partition the string at the last occurrence of separator.

Kind: global function
Returns: Array.<string> - [before, separator, after]

Param Type Description
string string The input string.
separator string The separator to search for.

cut(string, separator) ⇒ Array.<(string|boolean)>

Cut the string around the first occurrence of separator.

Kind: global function
Returns: Array.<(string|boolean)> - [before, after, found]

Param Type Description
string string The input string.
separator string The separator to search for.

removePrefix(string, prefix) ⇒ string

Remove a leading prefix from the string if present.

Kind: global function
Returns: string - The string without prefix.

Param Type Description
string string The input string.
prefix string The prefix to remove.

removeSuffix(string, suffix) ⇒ string

Remove a trailing suffix from the string if present.

Kind: global function
Returns: string - The string without suffix.

Param Type Description
string string The input string.
suffix string The suffix to remove.

take(string, count) ⇒ string

Return the first count unicode characters.

Kind: global function
Returns: string - The resulting string.

Param Type Description
string string The input string.
count number Number of chars to keep.

drop(string, count) ⇒ string

Drop the first count unicode characters.

Kind: global function
Returns: string - The resulting string.

Param Type Description
string string The input string.
count number Number of chars to skip.

About

A collection of unicode-safe, pure, string functions inspired by other programming languages.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors