1234567891011121314151617 |
- // https://github.com/ljharb/proposal-string-pad-left-right
- var toLength = require('./$.to-length')
- , repeat = require('./$.string-repeat')
- , defined = require('./$.defined');
- module.exports = function(that, maxLength, fillString, left){
- var S = String(defined(that))
- , stringLength = S.length
- , fillStr = fillString === undefined ? ' ' : String(fillString)
- , intMaxLength = toLength(maxLength);
- if(intMaxLength <= stringLength)return S;
- if(fillStr == '')fillStr = ' ';
- var fillLen = intMaxLength - stringLength
- , stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));
- if(stringFiller.length > fillLen)stringFiller = stringFiller.slice(0, fillLen);
- return left ? stringFiller + S : S + stringFiller;
- };
|