fix(core): AugmentObject should handle the constructor property correctly (#12744)

This commit is contained in:
कारतोफ्फेलस्क्रिप्ट™
2025-01-21 11:49:43 +01:00
committed by GitHub
parent af5b64a61d
commit 36bc164da4
2 changed files with 31 additions and 0 deletions

View File

@@ -36,6 +36,7 @@ export function augmentArray<T>(data: T[]): T[] {
return Reflect.deleteProperty(getData(), key);
},
get(target, key: string, receiver): unknown {
if (key === 'constructor') return Array;
const value = Reflect.get(newData ?? target, key, receiver) as unknown;
const newValue = augment(value);
if (newValue !== value) {
@@ -83,6 +84,8 @@ export function augmentObject<T extends object>(data: T): T {
const proxy = new Proxy(data, {
get(target, key: string, receiver): unknown {
if (key === 'constructor') return Object;
if (deletedProperties.has(key)) {
return undefined;
}