UNPKG

dora

Version:

A fully pluggable server for development.

32 lines (28 loc) 654 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = reduceAsync; function reduceAsync(arr, memo, iterator, callback) { var _memo = memo; var index = 0; function next() { index = index + 1; if (arr[index]) { return run(arr[index]); // eslint-disable-line no-use-before-define } if (callback) callback(null, _memo); return _memo; } function run(item) { iterator(_memo, item, function (err, result) { if (err) { throw new Error(err); } _memo = result; next(); }); } return run(arr[index]); } module.exports = exports['default'];