1 | var createPadding = require('./_createPadding'),
|
2 | stringSize = require('./_stringSize'),
|
3 | toInteger = require('./toInteger'),
|
4 | toString = require('./toString');
|
5 |
|
6 | /**
|
7 | * Pads `string` on the right side if it's shorter than `length`. Padding
|
8 | * characters are truncated if they exceed `length`.
|
9 | *
|
10 | * @static
|
11 | * @memberOf _
|
12 | * @since 4.0.0
|
13 | * @category String
|
14 | * @param {string} [string=''] The string to pad.
|
15 | * @param {number} [length=0] The padding length.
|
16 | * @param {string} [chars=' '] The string used as padding.
|
17 | * @returns {string} Returns the padded string.
|
18 | * @example
|
19 | *
|
20 | * _.padEnd('abc', 6);
|
21 | * // => 'abc '
|
22 | *
|
23 | * _.padEnd('abc', 6, '_-');
|
24 | * // => 'abc_-_'
|
25 | *
|
26 | * _.padEnd('abc', 3);
|
27 | * // => 'abc'
|
28 | */
|
29 | function padEnd(string, length, chars) {
|
30 | string = toString(string);
|
31 | length = toInteger(length);
|
32 |
|
33 | var strLength = length ? stringSize(string) : 0;
|
34 | return (length && strLength < length)
|
35 | ? (string + createPadding(length - strLength, chars))
|
36 | : string;
|
37 | }
|
38 |
|
39 | module.exports = padEnd;
|