// Metro module 1098 (f1099). import { serializeEnvelope, parseEnvelope, makeOfflineTransport } from "./Module817"; import { WINDOW } from "./ignoreNextOnError"; import { makeFetchTransport } from "./Module1032"; function $mk68062($env) { return (a0, a1) => { let env24191 = { $parent: $env }; env24191[0] = a0; env24191[1] = a1; const r6 = $env[0]; const onsuccess = () => (0, env24191[0])(env24191.$parent[0].result); r6.onsuccess = onsuccess; r6.oncomplete = onsuccess; const onerror = () => (0, env24191[1])(env24191.$parent[0].error); r6.onerror = onerror; r6.onabort = onerror; }; } function $mk68063($env) { return () => { const r0 = $env; return r0[1].result.createObjectStore(r0[0]); }; } function $mk68064($env) { return (a0) => { let env24192 = { $parent: $env }; env24192[0] = a0; return $env[2].then((result) => { const r2 = env24192[0]; const transaction = result.transaction; const r4 = env24192.$parent[0]; return r2(transaction.call(result, r4, "readwrite").objectStore(r4)); }); }; } let _unshift, _shift, createIndexedDbStore; const _push = function _push(a0, c12794_0, c12794_1) { return a0((a0) => { let env24194; const allKeys = a0.getAllKeys(); const r7 = env24194 = {}; env24194[0] = allKeys; return new Promise($mk68062(r7)).then((result) => { if (result.length >= c12794_1) { return void 0; } let env28809; const r9 = Math; a0.put(c12794_0, r9.max.apply(r9, [...result, 0]) + 1); const transaction = a0.transaction; const r27 = env28809 = {}; env28809[0] = transaction; return new Promise($mk68062(r27)); }); }); }; _unshift = function _unshift(a0, c12795_0, c12795_1) { return a0((a0) => { let env24196; const allKeys = a0.getAllKeys(); const r7 = env24196 = {}; env24196[0] = allKeys; return new Promise($mk68062(r7)).then((result) => { if (result.length >= c12795_1) { return void 0; } let env28810; const r9 = Math; a0.put(c12795_0, r9.min.apply(r9, [...result, 0]) - 1); const transaction = a0.transaction; const r27 = env28810 = {}; env28810[0] = transaction; return new Promise($mk68062(r27)); }); }); }; _shift = function _shift(a0) { return a0((a0) => { let env24198; const allKeys = a0.getAllKeys(); const r7 = env24198 = {}; env24198[0] = allKeys; return new Promise($mk68062(r7)).then((result) => { const r4 = result[0]; let c28811_0 = r4; if (r4 != null) { let env28812; const r10 = a0.get(r4); const r11 = env28812 = {}; env28812[0] = r10; return new Promise($mk68062(r11)).then((c31211_0) => { let env31212; a0.delete(c28811_0); const transaction = a0.transaction; const r11 = env31212 = {}; env31212[0] = transaction; return new Promise($mk68062(r11)).then(() => c31211_0); }); } }); }); }; createIndexedDbStore = function createIndexedDbStore(c12796_0) { let c12796_1, c12796_2, c12796_3, c12796_4; const getStore2 = function getStore() { if (c12796_1 == null) { const r6 = c12796_0.dbName || "sentry-offline"; const r3 = c12796_0.storeName || "queue"; let env24199; let env24200; const r10 = env24199 = {}; env24199[0] = r3; const r12 = indexedDB.open(r6); env24199[1] = r12; r12.onupgradeneeded = $mk68063(r10); const r14 = env24200 = {}; env24200[0] = r12; env24199[2] = new Promise($mk68062(r14)); c12796_1 = $mk68064(r10); } return c12796_1; }; c12796_4 = async (c24201_0) => { let c24201_3 = 0; let c28813_0; L15: { try { c28813_0 = void 0; c24201_3 = 1; c28813_0 = await serializeEnvelope(c24201_0); const r56 = (0, getStore2)(); const r57 = c28813_0; const maxQueueSize = c12796_0.maxQueueSize; await (maxQueueSize ? _push(r56, r57, maxQueueSize) : _push(r56, r57, 30)); c24201_3 = 0; } catch ($e) { let r27 = $e; if (c24201_3 !== 0) { while (true) { try { c24201_3 = 0; break L15; } catch ($e) { r27 = $e; if (c24201_3 === 0) { break; } } } } throw r27; } } }; c12796_3 = async (c24202_0) => { let c24202_3 = 0; let c28814_0; L15: { try { c28814_0 = void 0; c24202_3 = 1; c28814_0 = await serializeEnvelope(c24202_0); const r56 = (0, getStore2)(); const r57 = c28814_0; const maxQueueSize = c12796_0.maxQueueSize; await (maxQueueSize ? _unshift(r56, r57, maxQueueSize) : _unshift(r56, r57, 30)); c24202_3 = 0; } catch ($e) { let r27 = $e; if (c24202_3 !== 0) { while (true) { try { c24202_3 = 0; break L15; } catch ($e) { r27 = $e; if (c24202_3 === 0) { break; } } } } throw r27; } } }; c12796_2 = async () => { let r52; let c24203_2 = 0; let c28815_0; L13: { L12: { try { c28815_0 = void 0; c24203_2 = 1; c28815_0 = await _shift(getStore2()); if (c28815_0) { r52 = parseEnvelope(c28815_0); c24203_2 = 0; break L13; } c24203_2 = 0; } catch ($e) { let r21 = $e; if (c24203_2 !== 0) { while (true) { try { c24203_2 = 0; break L12; } catch ($e) { r21 = $e; if (c24203_2 === 0) { break; } } } } throw r21; } } return void 0; } return r52; }; return { push: function push(a0) { return c12796_4.apply(this, arguments); }, unshift: function unshift(a0) { return c12796_3.apply(this, arguments); }, shift: function shift() { return c12796_2.apply(this, arguments); } }; }; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); export function createStore(a0, a1) { let env12792; let env12793; const r0 = env12792 = {}; env12792[0] = a1; const r8 = indexedDB.open(a0); env12792[1] = r8; r8.onupgradeneeded = $mk68063(r0); const r10 = env12793 = {}; env12793[0] = r8; env12792[2] = new Promise($mk68062(r10)); return $mk68064(r0); } export function makeBrowserOfflineTransport(r3 = makeFetchTransport) { let c12797_0 = makeOfflineTransport(r3); return (a0) => { let env28816 = {}; const r11 = c12797_0({ ...a0, createStore: createIndexedDbStore }); env28816[0] = r11; let c28817_0 = async (a0) => { await env28816[0].flush(); }; WINDOW.addEventListener("online", function(a0) { return c28817_0.apply(this, arguments); }); return r11; }; } export { _push as push }; export { _shift as shift }; export { _unshift as unshift };