From d864c0061a9502abebec28a2508ed6fbb834d3ce Mon Sep 17 00:00:00 2001 From: velzie Date: Tue, 3 Sep 2024 10:44:07 -0400 Subject: [PATCH] proxy self.event --- src/client/shared/event.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/client/shared/event.ts b/src/client/shared/event.ts index a1a7ebf..cbf52fd 100644 --- a/src/client/shared/event.ts +++ b/src/client/shared/event.ts @@ -46,6 +46,8 @@ export default function (client: ScramjetClient, self: Self) { }, }; + // TODO! window.event not proxied + function wraplistener(listener: (...args: any) => any) { return new Proxy(listener, { apply(target, thisArg, argArray) { @@ -75,7 +77,18 @@ export default function (client: ScramjetClient, self: Self) { } } - return Reflect.apply(target, thisArg, argArray); + Object.defineProperty(self, "event", { + get() { + return argArray[0]; + }, + configurable: true, + }); + + let rv = Reflect.apply(target, thisArg, argArray); + + delete self.event; + + return rv; }, getOwnPropertyDescriptor: getOwnPropertyDescriptorHandler, });