mirror of
https://github.com/Sevichecc/Urara-Blog.git
synced 2025-05-04 14:19:29 +08:00
35 lines
1.1 KiB
Text
35 lines
1.1 KiB
Text
'use strict';
|
|
|
|
var ToLength = require('es-abstract/2021/ToLength');
|
|
var ToString = require('es-abstract/2021/ToString');
|
|
var RequireObjectCoercible = require('es-abstract/2021/RequireObjectCoercible');
|
|
var callBound = require('call-bind/callBound');
|
|
|
|
var $slice = callBound('String.prototype.slice');
|
|
|
|
module.exports = function padEnd(maxLength) {
|
|
var O = RequireObjectCoercible(this);
|
|
var S = ToString(O);
|
|
var stringLength = ToLength(S.length);
|
|
var fillString;
|
|
if (arguments.length > 1) {
|
|
fillString = arguments[1];
|
|
}
|
|
var filler = typeof fillString === 'undefined' ? '' : ToString(fillString);
|
|
if (filler === '') {
|
|
filler = ' ';
|
|
}
|
|
var intMaxLength = 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 S + truncatedStringFiller;
|
|
};
|