assproc/src/trim.js
flashwave afcb4ed679 Initial commit.
I have zero faith that this will work.
2024-06-09 19:43:44 +00:00

21 lines
601 B
JavaScript

const trim = (str, chars = " \n\r\t\v\0", flags = 0) => {
let start = 0;
let end = str.length;
if(flags & 0x01)
while(start < end && chars.indexOf(str[start]) >= 0)
++start;
if(flags & 0x02)
while(end > start && chars.indexOf(str[end - 1]) >= 0)
--end;
if(start > 0 || end < str.length)
return str.substring(start, end);
return str;
};
export const trimStart = (str, chars) => trim(str, chars, 0x01);
export const trimEnd = (str, chars) => trim(str, chars, 0x02);
export const trim = (str, chars) => trim(str, chars, 0x03);