You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
774 B
JavaScript
34 lines
774 B
JavaScript
/** Returns a regular expression quantifier with an upper and lower limit. */
|
|
export function limit(lower, upper)
|
|
{
|
|
if ((lower < 0) || (upper <= 0) || (upper < lower)) {
|
|
throw new TypeError()
|
|
}
|
|
return `{${lower},${upper}}`
|
|
}
|
|
|
|
/**
|
|
* Trims away any characters after the first match of {@code pattern} in {@code candidate},
|
|
* returning the trimmed version.
|
|
*/
|
|
export function trimAfterFirstMatch(regexp, string)
|
|
{
|
|
const index = string.search(regexp)
|
|
|
|
if (index >= 0) {
|
|
return string.slice(0, index)
|
|
}
|
|
|
|
return string
|
|
}
|
|
|
|
export function startsWith(string, substring)
|
|
{
|
|
return string.indexOf(substring) === 0
|
|
}
|
|
|
|
export function endsWith(string, substring)
|
|
{
|
|
return string.indexOf(substring, string.length - substring.length) === string.length - substring.length
|
|
}
|