voca
Version:
The ultimate JavaScript string library
45 lines (38 loc) • 1.38 kB
JavaScript
;
var is_nil = require('./internal/is_nil.js');
require('./is_string.js');
var coerce_to_string = require('./internal/coerce_to_string.js');
var to_integer = require('./internal/to_integer.js');
require('./repeat.js');
var build_padding = require('./internal/build_padding.js');
/**
* Pads `subject` from right to a new `length`.
*
* @function padRight
* @static
* @since 1.0.0
* @memberOf Manipulate
* @param {string} [subject=''] The string to pad.
* @param {int} [length=0] The length to right pad the string. No changes are made if `length` is less than `subject.length`.
* @param {string} [pad=' '] The string to be used for padding.
* @return {string} Returns the right padded string.
* @example
* v.padRight('dog', 5);
* // => 'dog '
*
* v.padRight('bird', 6, '-');
* // => 'bird--'
*
* v.padRight('cat', 6, '-=');
* // => 'cat-=-'
*/
function padRight(subject, length, pad) {
var subjectString = coerce_to_string.coerceToString(subject);
var lengthInt = is_nil.isNil(length) ? 0 : to_integer.clipNumber(to_integer.toInteger(length), 0, to_integer.MAX_SAFE_INTEGER);
var padString = coerce_to_string.coerceToString(pad, ' ');
if (lengthInt <= subjectString.length) {
return subjectString;
}
return subjectString + build_padding.buildPadding(padString, lengthInt - subjectString.length);
}
module.exports = padRight;