69 lines
1.8 KiB
JavaScript
69 lines
1.8 KiB
JavaScript
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 };
|