frontend/.pnpm-store/v3/files/a9/51d573187622538e8a49e030db769a1204dbcaa52628351e109caed005e704669839892aeb6664f9e4166f89a44aeab03c5f199079337fa89928fabcaa4213

25 lines
711 B
Plaintext

// Thanks
// @rauchma http://www.2ality.com/2014/01/efficient-string-repeat.html
// @mathiasbynens https://github.com/mathiasbynens/String.prototype.repeat/blob/4a4b567def/repeat.js
"use strict";
var value = require("../../../object/valid-value")
, toInteger = require("../../../number/to-integer");
module.exports = function (count) {
var str = String(value(this)), result;
count = toInteger(count);
if (count < 0) throw new RangeError("Count must be >= 0");
if (!isFinite(count)) throw new RangeError("Count must be < ∞");
result = "";
while (count) {
if (count % 2) result += str;
if (count > 1) str += str;
// eslint-disable-next-line no-bitwise
count >>= 1;
}
return result;
};