| Leo Repp | 58b9f11 | 2021-11-22 11:57:47 +0100 | [diff] [blame^] | 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; |