0
0
mirror of https://github.com/Doodle3D/Doodle3D-API synced 2024-12-23 14:13:47 +01:00
Doodle3D-API/jspm_packages/npm/core-js@0.9.18/modules/$.string-pad.js
2015-07-15 15:06:18 +02:00

19 lines
780 B
JavaScript

/* */
var $ = require("./$"),
repeat = require("./$.string-repeat");
module.exports = function(that, minLength, fillChar, left) {
var S = String($.assertDefined(that));
if (minLength === undefined)
return S;
var intMinLength = $.toInteger(minLength);
var fillLen = intMinLength - S.length;
if (fillLen < 0 || fillLen === Infinity) {
throw new RangeError('Cannot satisfy string length ' + minLength + ' for string: ' + S);
}
var sFillStr = fillChar === undefined ? ' ' : String(fillChar);
var sFillVal = repeat.call(sFillStr, Math.ceil(fillLen / sFillStr.length));
if (sFillVal.length > fillLen)
sFillVal = left ? sFillVal.slice(sFillVal.length - fillLen) : sFillVal.slice(0, fillLen);
return left ? sFillVal.concat(S) : S.concat(sFillVal);
};