40 lines
1.0 KiB
JavaScript
40 lines
1.0 KiB
JavaScript
|
var createPadding = require('./_createPadding'),
|
||
|
stringSize = require('./_stringSize'),
|
||
|
toInteger = require('./toInteger'),
|
||
|
toString = require('./toString');
|
||
|
|
||
|
/**
|
||
|
* Pads `string` on the left side if it's shorter than `length`. Padding
|
||
|
* characters are truncated if they exceed `length`.
|
||
|
*
|
||
|
* @static
|
||
|
* @memberOf _
|
||
|
* @since 4.0.0
|
||
|
* @category String
|
||
|
* @param {string} [string=''] The string to pad.
|
||
|
* @param {number} [length=0] The padding length.
|
||
|
* @param {string} [chars=' '] The string used as padding.
|
||
|
* @returns {string} Returns the padded string.
|
||
|
* @example
|
||
|
*
|
||
|
* _.padStart('abc', 6);
|
||
|
* // => ' abc'
|
||
|
*
|
||
|
* _.padStart('abc', 6, '_-');
|
||
|
* // => '_-_abc'
|
||
|
*
|
||
|
* _.padStart('abc', 3);
|
||
|
* // => 'abc'
|
||
|
*/
|
||
|
function padStart(string, length, chars) {
|
||
|
string = toString(string);
|
||
|
length = toInteger(length);
|
||
|
|
||
|
var strLength = length ? stringSize(string) : 0;
|
||
|
return (length && strLength < length)
|
||
|
? (createPadding(length - strLength, chars) + string)
|
||
|
: string;
|
||
|
}
|
||
|
|
||
|
module.exports = padStart;
|