UNPKG

@newdash/newdash

Version:

javascript/typescript utility library

44 lines (43 loc) 1.55 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.trimStart = void 0; const baseToString_1 = __importDefault(require("./.internal/baseToString")); const castSlice_1 = __importDefault(require("./.internal/castSlice")); const charsStartIndex_1 = __importDefault(require("./.internal/charsStartIndex")); const stringToArray_1 = __importDefault(require("./.internal/stringToArray")); const toString_1 = __importDefault(require("./toString")); /** * Removes leading whitespace or specified characters from `string`. * * @since 5.6.0 * @category String * @param str The string to trim. * @param chars The characters to trim. * @returns Returns the trimmed string. * @see [[trim]],[[trimEnd]] * @example * * ```js * trimStart(' abc ') * // => 'abc ' * * trimStart('-_-abc-_-', '_-') * // => 'abc-_-' * ``` */ function trimStart(str, chars, guard) { const string = (0, toString_1.default)(str); if (string && (guard || chars === undefined)) { return string.trimStart(); } if (!string || !(chars = (0, baseToString_1.default)(chars))) { return string; } const strSymbols = (0, stringToArray_1.default)(string), start = (0, charsStartIndex_1.default)(strSymbols, (0, stringToArray_1.default)(chars)); return (0, castSlice_1.default)(strSymbols, start).join(""); } exports.trimStart = trimStart; exports.default = trimStart;