keksAccountGUI/node_modulesOLD/string.prototype.padstart/implementation.js

33 lines
975 B
JavaScript

'use strict';
var bind = require('function-bind');
var ES = require('es-abstract/es7');
var slice = bind.call(Function.call, String.prototype.slice);
module.exports = function padStart(maxLength) {
var O = ES.RequireObjectCoercible(this);
var S = ES.ToString(O);
var stringLength = ES.ToLength(S.length);
var fillString;
if (arguments.length > 1) {
fillString = arguments[1];
}
var filler = typeof fillString === 'undefined' ? '' : ES.ToString(fillString);
if (filler === '') {
filler = ' ';
}
var intMaxLength = ES.ToLength(maxLength);
if (intMaxLength <= stringLength) {
return S;
}
var fillLen = intMaxLength - stringLength;
while (filler.length < fillLen) {
var fLen = filler.length;
var remainingCodeUnits = fillLen - fLen;
filler += fLen > remainingCodeUnits ? slice(filler, 0, remainingCodeUnits) : filler;
}
var truncatedStringFiller = filler.length > fillLen ? slice(filler, 0, fillLen) : filler;
return truncatedStringFiller + S;
};