diff --git a/lib/utils/src/objects.ts b/lib/utils/src/objects.ts index 3acadbe..860c564 100644 --- a/lib/utils/src/objects.ts +++ b/lib/utils/src/objects.ts @@ -139,14 +139,8 @@ function lazyPropDesc( return { configurable: true, get(this: T) { - const value = loader() - - Object.defineProperty(this, key, { - configurable: true, - value, - }) - - return value + delete this[key] + return (this[key] = loader()) }, } } diff --git a/src/index.ts b/src/index.ts index 2427e71..65799aa 100644 --- a/src/index.ts +++ b/src/index.ts @@ -3,9 +3,8 @@ import type { Metro } from '@revenge-mod/modules/types' Object.defineProperty(globalThis, '__c', { configurable: true, set(clear: Metro.ClearFn) { - Object.defineProperty(globalThis, '__c', { - value: clear, - }) + delete globalThis.__c + globalThis.__c = clear // Patch Metro's core functions require('@revenge-mod/modules/_/metro')