Plato on Github
Report Home
node_modules/es5-ext/string/#/repeat/shim.js
Maintainability
55.31
Lines of code
20
Difficulty
16.61
Estimated Errors
0.14
Function weight
By Complexity
By SLOC
// Thanks: http://www.2ality.com/2014/01/efficient-string-repeat.html '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 = ''; if (!count) return result; while (true) { if (count & 1) result += str; count >>>= 1; if (count <= 0) break; str += str; } return result; };