decord/source/lib/uploader/UploaderQueue.tsx

132 lines
3.7 KiB
TypeScript
Raw Normal View History

2026-09-02 09:53:35 +00:00
// Module ID: 7595
// Function ID: 7596
2026-07-29 08:29:29 +00:00
// Name: enqueue
// Dependencies: [5, 3, 2]
2026-07-23 10:11:24 +00:00
2026-09-02 09:53:35 +00:00
// Module 7595 (enqueue)
2026-08-24 06:08:38 +00:00
import timestampDefault from "timestamp" /* 3 */;
import closure_0 from "asyncGeneratorStep" /* 5 */;
import set from "set" /* 2 */;
2026-07-20 16:05:17 +00:00
2026-08-24 06:08:38 +00:00
let closure_1 = new timestampDefault("UploaderQueue.tsx");
2026-07-29 08:29:29 +00:00
class UploaderQueue {
constructor() {
obj = Object.create(new.target.prototype);
obj[0] = [];
return obj;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
}
const prototype = UploaderQueue.prototype;
prototype["enqueue"] = function enqueue(props) {
const self = this;
const queue = this.queue;
queue.unshift(props);
let str = "no";
if (this.drainingQueue) {
str = "yes";
}
2026-08-24 06:08:38 +00:00
logger.log(`enqueue() - alreadying draining? ${str}`);
2026-07-29 08:29:29 +00:00
if (!self.drainingQueue) {
self.drainQueue();
}
};
prototype["drainQueue"] = function drainQueue() {
const self = this;
return self(function*() {
if (c5 === 2) {
c5 = 3;
HermesBuiltin.throwTypeError();
} else if (tmp6 === 3) {
if (arg0 === 1) {
throw arg1;
} else if (arg0 === 2) {
let obj = { value: null, done: true };
obj[0] = arg1;
return obj;
} else {
2026-09-01 10:26:29 +00:00
return { value: "HermesInternal", done: null };
2026-07-20 16:05:17 +00:00
}
} else {
2026-07-29 08:29:29 +00:00
try {
c5 = 2;
if (0 === c4) {
if (arg0 === 1) {
c5 = 3;
throw arg1;
} else if (arg0 === 2) {
c5 = 3;
obj = { value: null, done: true };
obj[0] = arg1;
return obj;
} else {
2026-08-24 06:08:38 +00:00
closure_1 = tmp3;
closure_0 = tmp7;
closure_0 = undefined;
closure_1_0.drainingQueue = true;
2026-07-29 08:29:29 +00:00
const _HermesInternal2 = HermesInternal;
2026-08-24 06:08:38 +00:00
closure_1_1.log("drainQueue() - starting, queue length: " + closure_1_0.queue.length);
const queue = closure_1_0.queue;
2026-07-29 08:29:29 +00:00
const arr = queue.pop();
if (null == arr) {
2026-08-24 06:08:38 +00:00
closure_1_1.log("drainQueue() - No uploads left, setting drainingQueue to false");
closure_1_0.drainingQueue = false;
2026-07-29 08:29:29 +00:00
c5 = 3;
2026-09-01 10:26:29 +00:00
return { value: "HermesInternal", done: null };
2026-07-29 08:29:29 +00:00
} else {
2026-08-24 06:08:38 +00:00
c3 = 1;
closure_1_1.log("drainQueue() - start uploader");
closure_0 = arr();
2026-07-29 08:29:29 +00:00
const promise = new Promise((arg0) => {
const _aborted = arg0;
if (tmp) {
arg0();
}
_aborted.addListener("complete", () => callback());
_aborted.addListener("error", () => callback());
});
c4 = 2;
c5 = 1;
2026-08-24 06:08:38 +00:00
obj1 = { value: null, done: false };
2026-07-29 08:29:29 +00:00
obj1[0] = promise;
return obj1;
}
}
} else {
if (1 === tmp7) {
c3 = 0;
closure_1 = closure_2;
2026-08-24 06:08:38 +00:00
closure_1_1.error(closure_1);
closure_0.drainQueue();
2026-07-29 08:29:29 +00:00
c5 = 3;
} else if (arg0 === 1) {
c5 = 3;
throw arg1;
} else if (arg0 !== 2) {
const _HermesInternal = HermesInternal;
2026-08-24 06:08:38 +00:00
closure_1_1.log("drainQueue() Uploader complete - " + closure_0.id);
2026-07-29 08:29:29 +00:00
c3 = 0;
}
c3 = 0;
c5 = 3;
obj = { value: null, done: true };
obj[0] = arg1;
return obj;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
} catch (tmp32) {
closure_2 = tmp32;
if (tmp4 === c3) {
c5 = tmp2;
throw tmp32;
} else {
c4 = tmp;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
}
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
})();
};
let set = Object.create(UploaderQueue.prototype);
set[0] = [];
const result = set.fileFinishedImporting("lib/uploader/UploaderQueue.tsx");
2026-07-20 16:05:17 +00:00
2026-07-29 08:29:29 +00:00
export default set;