decord/source/877_makePromiseBuffer.js

59 lines
1.6 KiB
JavaScript
Raw Normal View History

2026-07-29 08:29:29 +00:00
// Module ID: 877
// Function ID: 878
2026-07-20 16:05:17 +00:00
// Name: makePromiseBuffer
2026-07-29 08:29:29 +00:00
// Dependencies: [873]
2026-07-20 16:05:17 +00:00
2026-07-29 08:29:29 +00:00
// Module 877 (makePromiseBuffer)
2026-07-23 10:11:24 +00:00
const require = arg1;
const dependencyMap = arg6;
2026-07-20 16:05:17 +00:00
Object.defineProperty(arg5, Symbol.toStringTag, { value: "Module" });
const forResult = Symbol.for("SentryBufferFullError");
arg5.SENTRY_BUFFER_FULL_ERROR = forResult;
arg5.makePromiseBuffer = function makePromiseBuffer() {
2026-07-29 08:29:29 +00:00
let num = arg0;
if (arg0 === undefined) {
2026-07-20 16:05:17 +00:00
num = 100;
}
2026-07-29 08:29:29 +00:00
let set;
set = new Set();
let obj = {};
2026-07-20 16:05:17 +00:00
Object.defineProperty(obj, "$", { get: () => Array.from(set), set: undefined });
obj.add = function add(arg0) {
2026-07-23 10:11:24 +00:00
if (set.size < promise) {
promise = arg0();
2026-07-29 08:29:29 +00:00
obj.add(promise);
2026-07-20 16:05:17 +00:00
promise.then(() => {
2026-07-29 08:29:29 +00:00
outer1_1.delete(promise);
2026-07-20 16:05:17 +00:00
}, () => {
2026-07-29 08:29:29 +00:00
outer1_1.delete(promise);
2026-07-20 16:05:17 +00:00
});
return promise;
} else {
2026-07-29 08:29:29 +00:00
return num(set[0]).rejectedSyncPromise(outer1_2);
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
obj = set;
2026-07-20 16:05:17 +00:00
};
obj.drain = function drain(arg0) {
2026-07-23 10:11:24 +00:00
let closure_0 = arg0;
2026-07-20 16:05:17 +00:00
if (set.size) {
const _Array = Array;
2026-07-29 08:29:29 +00:00
const nextPromise = Promise.allSettled(Array.from(tmp)).then(() => true);
2026-07-20 16:05:17 +00:00
if (arg0) {
const items = [nextPromise, ];
2026-07-23 10:11:24 +00:00
const promise = new Promise((arg0) => {
let closure_0 = arg0;
return setTimeout(() => callback(false), closure_0);
});
2026-07-20 16:05:17 +00:00
items[1] = promise;
return Promise.race(items);
} else {
return nextPromise;
}
2026-07-29 08:29:29 +00:00
const allSettledResult = Promise.allSettled(Array.from(tmp));
2026-07-20 16:05:17 +00:00
} else {
2026-07-29 08:29:29 +00:00
return num(set[0]).resolvedSyncPromise(true);
2026-07-20 16:05:17 +00:00
}
};
return obj;
};