90 lines
2.4 KiB
TypeScript
90 lines
2.4 KiB
TypeScript
// Metro module 6152 (f6153).
|
|
import Logger from "../../modules/debug/Logger";
|
|
let c3894_1 = new Logger("UploaderQueue.tsx");
|
|
class UploaderQueue {
|
|
constructor() {
|
|
return {
|
|
__proto__: new.target.prototype,
|
|
queue: [],
|
|
drainingQueue: false
|
|
};
|
|
}
|
|
enqueue(a0) {
|
|
this.queue.unshift(a0);
|
|
c3894_1.log("enqueue() - alreadying draining? " + (this.drainingQueue ? "yes" : "no"));
|
|
if (!this.drainingQueue) {
|
|
this.drainQueue();
|
|
}
|
|
}
|
|
async drainQueue() {
|
|
const _this = this;
|
|
let c25724_0, c25724_1, c25724_2;
|
|
let c25724_3 = 0;
|
|
const r20 = "drainQueue() - No uploads left, setting drainingQueue to false";
|
|
const r15 = void 0;
|
|
L13: {
|
|
L12: {
|
|
try {
|
|
let env29676;
|
|
c25724_1 = r15;
|
|
const r36 = env29676 = {};
|
|
c25724_0 = r36;
|
|
env29676[0] = void 0;
|
|
_this.drainingQueue = true;
|
|
c3894_1.log(`drainQueue() - starting, queue length: ${_this.queue.length}`);
|
|
const r46 = _this.queue.pop();
|
|
if (r46 == null) {
|
|
c3894_1.log(r20);
|
|
_this.drainingQueue = false;
|
|
break L13;
|
|
}
|
|
c25724_3 = 1;
|
|
c3894_1.log("drainQueue() - start uploader");
|
|
env29676[0] = r46();
|
|
await new Promise((resolve) => {
|
|
const r4 = env29676[0];
|
|
if (r4._aborted || r4._errored) {
|
|
resolve();
|
|
}
|
|
r4.addListener("complete", () => resolve());
|
|
r4.addListener("error", () => resolve());
|
|
});
|
|
c3894_1.log(`drainQueue() Uploader complete - ${env29676[0].id}`);
|
|
c25724_3 = 0;
|
|
_this.drainQueue();
|
|
} catch ($e) {
|
|
const r34 = $e;
|
|
let r8 = r34;
|
|
c25724_2 = r34;
|
|
if (c25724_3 !== 0) {
|
|
while (true) {
|
|
try {
|
|
const r107 = c25724_2;
|
|
c25724_3 = 0;
|
|
env29676[1] = r107;
|
|
c3894_1.error(env29676[1]);
|
|
_this.drainQueue();
|
|
break L12;
|
|
} catch (r103) {
|
|
r8 = r103;
|
|
c25724_2 = r103;
|
|
if (c25724_3 === 0) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
throw r8;
|
|
}
|
|
}
|
|
return void 0;
|
|
}
|
|
}
|
|
}
|
|
const r31 = {
|
|
__proto__: UploaderQueue.prototype,
|
|
queue: [],
|
|
drainingQueue: false
|
|
};
|
|
export default r31;
|