46 lines
1.2 KiB
JavaScript
46 lines
1.2 KiB
JavaScript
// Metro module 877 (f878).
|
|
import { rejectedSyncPromise, resolvedSyncPromise } from "./SyncPromise";
|
|
Object.defineProperty(exports, Symbol.toStringTag, {
|
|
value: "Module"
|
|
});
|
|
let c719_2 = Symbol.for("SentryBufferFullError");
|
|
export { c719_2 as SENTRY_BUFFER_FULL_ERROR };
|
|
export function makePromiseBuffer(r2 = 100) {
|
|
let c12539_0 = r2;
|
|
let c12539_1 = new Set();
|
|
const r11 = {};
|
|
Object.defineProperty(r11, "$", {
|
|
get: function() {
|
|
return Array.from(c12539_1);
|
|
},
|
|
set: void 0,
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
r11.add = function add(a0) {
|
|
if (c12539_1.size < c12539_0) {
|
|
const r16 = a0();
|
|
let c23891_0 = r16;
|
|
c12539_1.add(r16);
|
|
r16.then(() => {
|
|
c12539_1.delete(c23891_0);
|
|
}, () => {
|
|
c12539_1.delete(c23891_0);
|
|
});
|
|
return r16;
|
|
}
|
|
return rejectedSyncPromise(c719_2);
|
|
};
|
|
r11.drain = function drain(a0) {
|
|
if (c12539_1.size) {
|
|
const r26 = Promise.allSettled(Array.from(c12539_1)).then(() => true);
|
|
if (a0) {
|
|
return Promise.race([r26, new Promise((c28683_0) => setTimeout(() => c28683_0(false), a0))]);
|
|
}
|
|
return r26;
|
|
}
|
|
return resolvedSyncPromise(true);
|
|
};
|
|
return r11;
|
|
}
|