Version 1
[yaffs-website] / node_modules / core-js / library / modules / _string-pad.js
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');
5
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;
16 };