UNPKG

f-utility

Version:

functional utilities

33 lines (30 loc) 876 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.iterate = exports.__iterate = undefined; var _katsuCurry = require("katsu-curry"); var __iterate = exports.__iterate = function __iterate(total, fn) { var count = total; var agg = []; if (typeof fn !== "function" || typeof count !== "number") { return agg; } while (count > 0) { count--; agg.push(fn()); } return agg; }; /** * call a function x times and aggregate the result * @method iterate * @param {number} total - a total number of iterations * @param {function} fn - a function to invoke x times * @returns {Array} aggregated values from invoking a given function * @public * @example * import {iterate} from 'f-utility' * iterate(5, () => `x`) // [`x`, `x`, `x`, `x`, `x`] */ var iterate = exports.iterate = (0, _katsuCurry.curry)(__iterate);