UNPKG

@ima/core

Version:

IMA.js framework for isomorphic javascript application

25 lines (24 loc) 813 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "SerialBatch", { enumerable: true, get: function() { return SerialBatch; } }); const _AbstractExecution = require("./AbstractExecution"); class SerialBatch extends _AbstractExecution.AbstractExecution { /** * @inheritDoc */ execute(...args) { const zeroStage = Promise.resolve([]); return this._jobs.reduce((lastStage, currentStage)=>lastStage.then((results)=>this._executeJob(currentStage, args).then(Array.prototype.concat.bind(results))), zeroStage); } _executeJob(stage, args) { const result = stage(...args); return result instanceof Promise ? result : Promise.resolve(result); } } //# sourceMappingURL=SerialBatch.js.map