decord/source/6375_makePromiseBuffer.js
2026-07-25 08:10:48 +00:00

80 lines
2.2 KiB
JavaScript

// Module ID: 6375
// Function ID: 57379
// Name: makePromiseBuffer
// Dependencies: [6335, 6368]
// Module 6375 (makePromiseBuffer)
const require = arg1;
const dependencyMap = arg6;
arg5.makePromiseBuffer = function makePromiseBuffer(arg0) {
let closure_0 = arg0;
function remove(arg0) {
let first = items.splice(items.indexOf(arg0), 1)[0];
if (!first) {
first = Promise.resolve(undefined);
}
return first;
}
const items = [];
return {
$: items,
add(arg0) {
let tmp = undefined === promise;
if (!tmp) {
tmp = items.length < promise;
}
if (tmp) {
promise = arg0();
if (-1 === items.indexOf(promise)) {
items.push(promise);
}
promise.then(() => outer1_2(promise)).then(null, () => {
promise = outer1_2(promise);
return promise.then(null, () => {
});
});
return promise;
} else {
const SentryError = callback(items[1]).SentryError;
const prototype = SentryError.prototype;
const sentryError = new SentryError("Not adding Promise because buffer limit was reached.");
return callback(items[0]).rejectedSyncPromise(sentryError);
}
},
drain(arg0) {
const callback = arg0;
return new callback(items[0]).SyncPromise((arg0, arg1) => {
let closure_0 = arg0;
let closure_1 = arg1;
const length = outer1_1.length;
if (length) {
const _setTimeout = setTimeout;
const timeout = setTimeout(() => {
let tmp = callback;
if (callback) {
tmp = callback > 0;
}
if (tmp) {
callback(false);
}
}, closure_0);
const item = outer1_1.forEach((arg0) => {
const obj = callback(items[0]);
callback(items[0]).resolvedSyncPromise(arg0).then(() => {
const diff = outer1_2 - 1;
outer1_2 = diff;
if (!diff) {
const _clearTimeout = clearTimeout;
clearTimeout(outer1_3);
outer1_0(true);
}
}, closure_1);
});
} else {
return arg0(true);
}
});
}
};
};