diff --git a/extension/injected.js b/extension/injected.js index f89e977..c366adb 100644 --- a/extension/injected.js +++ b/extension/injected.js @@ -1,6 +1,8 @@ (() => { if (window.inscriboor) return; + const pending = new Map(); + window.addEventListener("message", event => { if (event.data?.source !== "inscriboor-extension") return; const request = pending.get(event.data.id); @@ -8,10 +10,14 @@ pending.delete(event.data.id); event.data.error ? request.reject(new Error(event.data.error)) : request.resolve(event.data.result); }); + const provider = Object.freeze({ - isInscriboor: true,n version: "0.2.2", + isInscriboor: true, + version: "0.2.3", request({ method, params = {} } = {}) { - if (typeof method !== "string" || !method) return Promise.reject(new Error("A provider method is required.")); + if (typeof method !== "string" || !method) { + return Promise.reject(new Error("A provider method is required.")); + } const id = crypto.randomUUID(); return new Promise((resolve, reject) => { pending.set(id, { resolve, reject }); @@ -25,6 +31,11 @@ }); } }); - Object.defineProperty(window, "inscriboor", { value: provider, configurable: false, writable: false }); + + Object.defineProperty(window, "inscriboor", { + value: provider, + configurable: false, + writable: false + }); window.dispatchEvent(new Event("inscriboor#initialized")); })();