diff --git a/src/client/index.ts b/src/client/index.ts index 611cd1a..83f12b8 100644 --- a/src/client/index.ts +++ b/src/client/index.ts @@ -1,5 +1,3 @@ -import BareClient from "@mercuryworkshop/bare-mux"; - import "./scope.ts"; import "./window.ts"; import "./event.ts"; @@ -23,10 +21,5 @@ declare global { interface Window { $s: any; $sImport: any; - $client: BareClient; } } - -const client = new BareClient(); - -export { client }; \ No newline at end of file diff --git a/src/client/requests/fetch.ts b/src/client/requests/fetch.ts index 48a7409..ec3e76d 100644 --- a/src/client/requests/fetch.ts +++ b/src/client/requests/fetch.ts @@ -1,19 +1,13 @@ // ts throws an error if you dont do window.fetch import { encodeUrl, rewriteHeaders } from "../shared"; -import { client } from "../index"; window.fetch = new Proxy(window.fetch, { - async apply(target, thisArg, argArray) { - // @ts-expect-error - const response = await client.fetch(...argArray); + apply(target, thisArg, argArray) { + argArray[0] = encodeUrl(argArray[0]); - return new Response(response.body, { - status: response.status, - statusText: response.statusText, - headers: response.headers - }); - } + return Reflect.apply(target, thisArg, argArray); + }, }); Headers = new Proxy(Headers, { diff --git a/src/client/requests/websocket.ts b/src/client/requests/websocket.ts index e5340e6..43fa158 100644 --- a/src/client/requests/websocket.ts +++ b/src/client/requests/websocket.ts @@ -1,5 +1,6 @@ import { decodeUrl } from "../../shared/rewriters/url"; -import { client } from "../index"; +import { BareClient } from "../shared"; +const client = new BareClient(); WebSocket = new Proxy(WebSocket, { construct(target, args) { diff --git a/src/client/window.ts b/src/client/window.ts index edb2e69..5f649c7 100644 --- a/src/client/window.ts +++ b/src/client/window.ts @@ -15,6 +15,12 @@ export const windowProxy = new Proxy(window, { return window.parent; } else if (propIsString && prop === "$scramjet") { return; + } else if (propIsString && prop === "addEventListener") { + return new Proxy(window.addEventListener, { + apply(target1, thisArg, argArray) { + window.addEventListener(argArray[0], argArray[1]); + }, + }); } const value = Reflect.get(target, prop);