| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 | /*! * repeat-string <https://github.com/jonschlinkert/repeat-string> * * Copyright (c) 2014-2015, Jon Schlinkert. * Licensed under the MIT License. */'use strict';/** * Results cache */var res = '';var cache;/** * Expose `repeat` */module.exports = repeat;/** * Repeat the given `string` the specified `number` * of times. * * **Example:** * * ```js * var repeat = require('repeat-string'); * repeat('A', 5); * //=> AAAAA * ``` * * @param {String} `string` The string to repeat * @param {Number} `number` The number of times to repeat the string * @return {String} Repeated string * @api public */function repeat(str, num) {  if (typeof str !== 'string') {    throw new TypeError('expected a string');  }  // cover common, quick use cases  if (num === 1) return str;  if (num === 2) return str + str;  var max = str.length * num;  if (cache !== str || typeof cache === 'undefined') {    cache = str;    res = '';  } else if (res.length >= max) {    return res.substr(0, max);  }  while (max > res.length && num > 1) {    if (num & 1) {      res += str;    }    num >>= 1;    str += str;  }  res += str;  res = res.substr(0, max);  return res;}
 |