UNPKG

@technobuddha/library

Version:
28 lines 2.38 kB
import { isRegExp } from "./is-reg-exp.js"; import { isString } from "./is-string.js"; import { trimEquivalent } from "./regexp.js"; import { splitChars } from "./split-chars.js"; import { empty } from "./unicode.js"; /** * Remove all occurrences of characters from the end of the string * @param input - The string * @param characters - the characters(s) to remove * @group String * @category Operations */ export function cleanEnd(input, characters = trimEquivalent) { const re = isString(characters) ? splitChars(characters) .map((ch) => RegExp.escape(ch)) .join('|') : isRegExp(characters) ? characters.source : characters .map((c) => isRegExp(c) ? c.source : splitChars(c) .map((ch) => RegExp.escape(ch)) .join('|')) .join('|'); return input.replace(new RegExp(`(${re})+$`, 'u'), empty); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW4tZW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NsZWFuLWVuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFckM7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLFFBQVEsQ0FDdEIsS0FBYSxFQUNiLGFBQW9ELGNBQWM7SUFFbEUsTUFBTSxFQUFFLEdBQ04sUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDcEIsVUFBVSxDQUFDLFVBQVUsQ0FBQzthQUNuQixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDOUIsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUNkLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNO1lBQzFDLENBQUMsQ0FBQyxVQUFVO2lCQUNQLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ1QsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ1gsQ0FBQyxDQUFDLE1BQU07Z0JBQ1YsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7cUJBQ1YsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO3FCQUM5QixJQUFJLENBQUMsR0FBRyxDQUFDLENBQ2Y7aUJBQ0EsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRWpCLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzVELENBQUMifQ==