Skipped 1 file(s) >100MB (GitHub limit): source/__polyfill/04xxx/module_4821.js (118.4 MB)
82 lines
2.2 KiB
JavaScript
82 lines
2.2 KiB
JavaScript
// Module ID: 12990
|
|
// Function ID: 12991
|
|
// Dependencies: [12950, 12983]
|
|
// Exports: makePromiseBuffer
|
|
|
|
// Module 12990
|
|
import _mod12950 from "module_12950" /* 12950 */;
|
|
|
|
require = arg1;
|
|
const dependencyMap = arg6;
|
|
|
|
export function makePromiseBuffer(arg0) {
|
|
closure_0 = arg0;
|
|
const items = [];
|
|
return {
|
|
$: items,
|
|
add(fn) {
|
|
let tmp2 = undefined === promise;
|
|
if (!tmp2) {
|
|
tmp2 = items.length < tmp;
|
|
}
|
|
if (tmp2) {
|
|
promise = fn();
|
|
if (-1 === items.indexOf(promise)) {
|
|
items.push(promise);
|
|
}
|
|
promise.then(() => {
|
|
let first = items.splice(items.indexOf(promise), 1)[0];
|
|
if (!first) {
|
|
first = Promise.resolve(undefined);
|
|
}
|
|
return first;
|
|
}).then(null, () => {
|
|
let first = items.splice(items.indexOf(promise), 1)[0];
|
|
if (!first) {
|
|
first = Promise.resolve(undefined);
|
|
}
|
|
return first.then(null, () => {
|
|
|
|
});
|
|
});
|
|
return promise;
|
|
} else {
|
|
const sentryError = new closure_0(items[1]).SentryError("Not adding Promise because buffer limit was reached.");
|
|
return closure_0(items[0]).rejectedSyncPromise(sentryError);
|
|
}
|
|
},
|
|
drain(arg0) {
|
|
closure_0 = arg0;
|
|
return new closure_0(items[0]).SyncPromise((fn, arg1) => {
|
|
closure_0 = fn;
|
|
closure_1 = arg1;
|
|
length = length.length;
|
|
if (length) {
|
|
const _setTimeout = setTimeout;
|
|
const timeout = setTimeout(() => {
|
|
let tmp2 = closure_0;
|
|
if (closure_0) {
|
|
tmp2 = tmp > 0;
|
|
}
|
|
if (tmp2) {
|
|
closure_0(false);
|
|
}
|
|
}, closure_0);
|
|
const item = arr.forEach((item) => {
|
|
_mod12950.resolvedSyncPromise(item).then(() => {
|
|
diff = diff - 1;
|
|
if (!diff) {
|
|
const _clearTimeout = clearTimeout;
|
|
clearTimeout(closure_1_3);
|
|
fn(true);
|
|
}
|
|
}, closure_1);
|
|
});
|
|
} else {
|
|
return fn(true);
|
|
}
|
|
arr = length;
|
|
});
|
|
}
|
|
};
|
|
}
|