time-to-botec

Benchmark sampling in different programming languages
Log | Files | Refs | README

repeat.js (893B)


      1 var baseRepeat = require('./_baseRepeat'),
      2     isIterateeCall = require('./_isIterateeCall'),
      3     toInteger = require('./toInteger'),
      4     toString = require('./toString');
      5 
      6 /**
      7  * Repeats the given string `n` times.
      8  *
      9  * @static
     10  * @memberOf _
     11  * @since 3.0.0
     12  * @category String
     13  * @param {string} [string=''] The string to repeat.
     14  * @param {number} [n=1] The number of times to repeat the string.
     15  * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
     16  * @returns {string} Returns the repeated string.
     17  * @example
     18  *
     19  * _.repeat('*', 3);
     20  * // => '***'
     21  *
     22  * _.repeat('abc', 2);
     23  * // => 'abcabc'
     24  *
     25  * _.repeat('abc', 0);
     26  * // => ''
     27  */
     28 function repeat(string, n, guard) {
     29   if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) {
     30     n = 1;
     31   } else {
     32     n = toInteger(n);
     33   }
     34   return baseRepeat(toString(string), n);
     35 }
     36 
     37 module.exports = repeat;