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.
16 lines
744 B
16 lines
744 B
// https://github.com/tc39/proposal-string-pad-start-end |
|
var toLength = require('./_to-length'); |
|
var repeat = require('./_string-repeat'); |
|
var defined = require('./_defined'); |
|
|
|
module.exports = function (that, maxLength, fillString, left) { |
|
var S = String(defined(that)); |
|
var stringLength = S.length; |
|
var fillStr = fillString === undefined ? ' ' : String(fillString); |
|
var intMaxLength = toLength(maxLength); |
|
if (intMaxLength <= stringLength || fillStr == '') return S; |
|
var fillLen = intMaxLength - stringLength; |
|
var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length)); |
|
if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen); |
|
return left ? stringFiller + S : S + stringFiller; |
|
};
|
|
|