UNPKG

@newdash/newdash

Version:

javascript/typescript utility library

44 lines (43 loc) 1.42 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.padStart = void 0; const createPadding_1 = __importDefault(require("./.internal/createPadding")); const stringSize_1 = __importDefault(require("./.internal/stringSize")); const toInteger_1 = __importDefault(require("./toInteger")); const toString_1 = __importDefault(require("./toString")); /** * Pads `string` on the left side if it's shorter than `length`. Padding * characters are truncated if they exceed `length`. * * @since 5.12.0 * @category String * @param string The string to pad. * @param length The padding length. * @param chars The string used as padding. * @returns Returns the padded string. * @example * * ```js * padStart('abc', 6) * // => ' abc' * * padStart('abc', 6, '_-') * // => '_-_abc' * * padStart('abc', 2) * // => 'abc' * ``` */ function padStart(string = "", length = 0, chars = " ") { string = (0, toString_1.default)(string); length = (0, toInteger_1.default)(length); const strLength = length ? (0, stringSize_1.default)(string) : 0; return (length && strLength < length) ? ((0, createPadding_1.default)(length - strLength, chars) + string) : string; } exports.padStart = padStart; exports.default = padStart;