UNPKG

@feugene/mu

Version:

Helpful TS utilities without dependencies

37 lines (28 loc) 800 B
import toString from '~/to/toString' import { reTrim } from '~/core/vars' /** * This function trim string * * @param {*} string * @returns {string} */ export default function trim(string: any): string { string = toString(string) if (!string) { return string } return string.replace(reTrim, '') } /** * Trim any characters * @param {string} str * @param {string|string[]} chars */ export function trimAny(str: string, chars: string | string[]) { let start = 0, end = str.length const charsArray: string[] = typeof chars === 'string' ? [chars] : chars while (start < end && charsArray.indexOf(str[start]) >= 0) ++start while (end > start && charsArray.indexOf(str[end - 1]) >= 0) --end return start > 0 || end < str.length ? str.substring(start, end) : str }