From e96458fafa4d1a3587b7299932b91b8ad6a48608 Mon Sep 17 00:00:00 2001 From: Nuckyz <61953774+Nuckyz@users.noreply.github.com> Date: Mon, 27 May 2024 23:31:08 -0300 Subject: [PATCH] fixes for if we use prototype proxy in the future --- src/webpack/patchWebpack.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/webpack/patchWebpack.ts b/src/webpack/patchWebpack.ts index 570e41097..968a2ea0c 100644 --- a/src/webpack/patchWebpack.ts +++ b/src/webpack/patchWebpack.ts @@ -88,7 +88,6 @@ Reflect.defineProperty(Function.prototype, "m", { If Discord ever decides to set module factories using the variable of the modules object directly, instead of wreq.m, switch the proxy to the prototype Reflect.setPrototypeOf(moduleFactories, new Proxy(moduleFactories, moduleFactoriesHandler)); */ - } Reflect.defineProperty(this, "m", { @@ -146,13 +145,23 @@ const moduleFactoriesHandler: ProxyHandler = { get: (target, p, receiver) => { return undefined; }, + // Same thing as get + has: (target, p) => { + return false; + } */ // The set trap for patching or defining getters for the module factories when new module factories are loaded set: (target, p, newValue, receiver) => { // If the property is not a number, we are not dealing with a module factory if (Number.isNaN(Number(p))) { - return Reflect.set(target, p, newValue, receiver); + Reflect.defineProperty(target, p, { + value: newValue, + configurable: true, + enumerable: true, + writable: true + }); + return true; } const existingFactory = Reflect.get(target, p, receiver);