Skip to content
Snippets Groups Projects
Commit cc1f1c05 authored by Alexander Rose's avatar Alexander Rose
Browse files

added trimChar methods

parent f8e715fa
No related branches found
No related tags found
No related merge requests found
......@@ -52,4 +52,25 @@ export function interpolate(str: string, params: { [k: string]: any }) {
const names = Object.keys(params);
const values = Object.values(params);
return new Function(...names, `return \`${str}\`;`)(...values);
}
export function trimChar(str: string, char: string) {
let start = 0;
let end = str.length;
while (start < end && str[start] === char) ++start;
while (end > start && str[end - 1] === char) --end;
return (start > 0 || end < str.length) ? str.substring(start, end) : str;
}
export function trimCharStart(str: string, char: string) {
let start = 0;
const end = str.length;
while (start < end && str[start] === char) ++start;
return (start > 0) ? str.substring(start, end) : str;
}
export function trimCharEnd(str: string, char: string) {
let end = str.length;
while (end > 0 && str[end - 1] === char) --end;
return (end < str.length) ? str.substring(0, end) : str;
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment