1 // https://github.com/tc39/proposal-string-pad-start-end
2 var toLength = require('./_to-length')
3 , repeat = require('./_string-repeat')
4 , defined = require('./_defined');
6 module.exports = function(that, maxLength, fillString, left){
7 var S = String(defined(that))
8 , stringLength = S.length
9 , fillStr = fillString === undefined ? ' ' : String(fillString)
10 , intMaxLength = toLength(maxLength);
11 if(intMaxLength <= stringLength || fillStr == '')return S;
12 var fillLen = intMaxLength - stringLength
13 , stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));
14 if(stringFiller.length > fillLen)stringFiller = stringFiller.slice(0, fillLen);
15 return left ? stringFiller + S : S + stringFiller;