UNPKG

datainout

Version:

Import and reports data

74 lines (72 loc) 2.12 kB
var __async = (__this, __arguments, generator) => { return new Promise((resolve, reject) => { var fulfilled = (value) => { try { step(generator.next(value)); } catch (e) { reject(e); } }; var rejected = (value) => { try { step(generator.throw(value)); } catch (e) { reject(e); } }; var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected); step((generator = generator.apply(__this, __arguments)).next()); }); }; // src/reporters/IPartialDataHandler.ts import { Writable } from "stream"; var PartialDataHandler = class { constructor(originalSheetName, task) { this.done = () => __async(this, null, function* () { }); this.task = task; this.originalSheetName = originalSheetName; } set SheetMeta(value) { this.sheetMeta = value; } do(args) { return __async(this, null, function* () { var _a; let sheetName = this.originalSheetName; let sheetCompleted = false; let isCompleted = args.items === null; if (this.sheetMeta) { this.sheetMeta.updateRowCount(isCompleted, (_a = args.items) == null ? void 0 : _a.length); sheetName = this.sheetMeta.getSheetName(args.jobIndex); sheetCompleted = this.sheetMeta.getSheetStatus(sheetName); isCompleted = this.sheetMeta.IsCompleted; if (args.jobIndex && args.items === null) this.sheetMeta.completeJob(args.jobIndex); } yield this.task({ items: args.items, jobIndex: args.jobIndex, isCompleted, sheetCompleted, sheetName }); if (isCompleted) yield this.done(null); return isCompleted; }); } stream() { const that = this; return new Writable({ objectMode: true, write(arg, _encoding, callback) { return __async(this, null, function* () { try { yield that.do({ items: arg }); } catch (err) { return callback(err); } callback(); }); } }); } }; export { PartialDataHandler };