f-utility
Version:
functional utilities
33 lines (30 loc) • 876 B
JavaScript
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);
;