UNPKG

@rs-box/ez-flow

Version:
54 lines (53 loc) 1.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ParallelWorkReport = void 0; const work_context_1 = require("./work-context"); const work_status_1 = require("./work-status"); class ParallelWorkReport { constructor(workReportList) { this.workReportList = workReportList; } getError() { const errors = []; for (const workReport of this.workReportList) { const error = workReport.getError(); if (error != null) { errors.push(error); } } return errors; } getWorkContext() { const workContext = new work_context_1.WorkContext(); const multiResult = []; for (const workReport of this.workReportList) { const tmpWorkContext = workReport.getWorkContext(); tmpWorkContext.forEach((value, key) => { if (key === work_context_1.WorkContext.CTX_RESULT) { multiResult.push(value); } else { workContext.set(key, value); } }); } if (multiResult.length > 0) { workContext.set(work_context_1.WorkContext.CTX_RESULT_LIST, multiResult); } return workContext; } getWorkStatus() { for (const workReport of this.workReportList) { const workStatus = workReport.getWorkStatus(); if (workStatus === work_status_1.WorkStatus.FAILED || workStatus === work_status_1.WorkStatus.BROKEN) { return workStatus; } } return work_status_1.WorkStatus.COMPLETED; } getWorkList() { return this.workReportList; } } exports.ParallelWorkReport = ParallelWorkReport;