You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
401 B
JavaScript
25 lines
401 B
JavaScript
'use strict';
|
|
var isFinite = require('is-finite');
|
|
|
|
module.exports = function (str, n) {
|
|
if (typeof str !== 'string') {
|
|
throw new TypeError('Expected `input` to be a string');
|
|
}
|
|
|
|
if (n < 0 || !isFinite(n)) {
|
|
throw new TypeError('Expected `count` to be a positive finite number');
|
|
}
|
|
|
|
var ret = '';
|
|
|
|
do {
|
|
if (n & 1) {
|
|
ret += str;
|
|
}
|
|
|
|
str += str;
|
|
} while ((n >>= 1));
|
|
|
|
return ret;
|
|
};
|