UNPKG

@akala/core

Version:
58 lines 1.78 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const helpers_1 = require("./helpers"); function array(array, body, complete) { var loop = function (i) { if (i == array.length) complete(); else try { var promise = body(array[i], i, function (error) { if (error) complete(error); else setImmediate(loop, i + 1); }); if (promise && helpers_1.isPromiseLike(promise)) { promise.then(() => setImmediate(loop, i + 1), complete); } } catch (e) { complete(e); } }; loop(0); } exports.array = array; function object(o, body, complete) { array(Object.keys(o), function (key, i, next) { body(o[key], key, next); }, complete); } exports.object = object; function each(it, body, complete) { if (complete) { if (Array.isArray(it) || typeof (it['length']) != 'undefined') return array(it, body, complete); return object(it, body, complete); } else { return new Promise((resolve, reject) => { if (Array.isArray(it) || typeof (it['length']) != 'undefined') return array(it, body, function (err) { if (err) reject(err); else resolve(); }); return object(it, body, function (err) { if (err) reject(err); else resolve(); }); }); } } exports.each = each; //# sourceMappingURL=eachAsync.js.map