@technobuddha/library
Version: 
A large library of useful functions
28 lines • 2.39 kB
JavaScript
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 start of the string
 * @param input - The string
 * @param characters - The characters(s) to remove
 * @group String
 * @category Operations
 */
export function cleanStart(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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW4tc3RhcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2xlYW4tc3RhcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXJDOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQ3hCLEtBQWEsRUFDYixhQUFvRCxjQUFjO0lBRWxFLE1BQU0sRUFBRSxHQUNOLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3BCLFVBQVUsQ0FBQyxVQUFVLENBQUM7YUFDbkIsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQzlCLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDZCxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTTtZQUMxQyxDQUFDLENBQUMsVUFBVTtpQkFDUCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNULFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNYLENBQUMsQ0FBQyxNQUFNO2dCQUNWLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO3FCQUNWLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztxQkFDOUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUNmO2lCQUNBLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUVqQixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUM1RCxDQUFDIn0=