27 lines
705 B
JavaScript
27 lines
705 B
JavaScript
![]() |
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;
|
||
|
}
|
||
|
};
|