datainout
Version:
Import and reports data
74 lines (72 loc) • 2.12 kB
JavaScript
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
};