import { t } from "./index-6137f488.js"; import { s, m } from "./storage-a8ac7bd3.js"; import { n } from "./connectRuntime-a699491c.js"; class o extends t { constructor() { super(); this.fetch = async (t, e) => { const s = Math.random().toString(); return ( this.port.postMessage({ nonce: s, path: t, body: e, }), new Promise((t) => { const e = (a) => { a.meta.nonce === s && (this.port.onMessage.removeListener(e), t(a)); }; this.port.onMessage.addListener(e); }) ); }; this.extensionId = s.runtime.id; this.port = this.connectToBackground(); this.port.onMessage.addListener(this.onMessage); window.addEventListener("message", async (t) => { var e, a, o; if ( t.source !== window || (null === (e = t.data) || void 0 === e ? void 0 : e.id) !== this.extensionId || "response" === (null === (a = t.data) || void 0 === a ? void 0 : a.type) ) return; let n; switch (null === (o = t.data) || void 0 === o ? void 0 : o.type) { case "fetch": n = await this.fetch(t.data.data[0], t.data.data[1]); break; case "storage.get": { const [e, a] = t.data.data.split("."); n = await m[e].get(a); break; } case "storage.set": { const [e, a] = t.data.data[0].split("."); n = await m[e].set(a, t.data.data[1]); break; } } window.postMessage({ id: this.extensionId, nonce: t.data.nonce, type: "response", data: n, }); }); } connectToBackground() { return n(); } async onMessage(t) { window.postMessage(t); } } export { o };