12345678910111213141516171819202122 |
- // 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;
- };
|