You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
687 B
27 lines
687 B
var makeString = require('./helper/makeString');
|
|
var strRepeat = require('./helper/strRepeat');
|
|
|
|
module.exports = function pad(str, length, padStr, type) {
|
|
str = makeString(str);
|
|
length = ~~length;
|
|
|
|
var padlen = 0;
|
|
|
|
if (!padStr)
|
|
padStr = ' ';
|
|
else if (padStr.length > 1)
|
|
padStr = padStr.charAt(0);
|
|
|
|
switch (type) {
|
|
case 'right':
|
|
padlen = length - str.length;
|
|
return str + strRepeat(padStr, padlen);
|
|
case 'both':
|
|
padlen = length - str.length;
|
|
return strRepeat(padStr, Math.ceil(padlen / 2)) + str + strRepeat(padStr, Math.floor(padlen / 2));
|
|
default: // 'left'
|
|
padlen = length - str.length;
|
|
return strRepeat(padStr, padlen) + str;
|
|
}
|
|
};
|