@newdash/newdash
Version:
javascript/typescript utility library
44 lines (43 loc) • 1.42 kB
JavaScript
;
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;