// 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;