fix: Object.defineProperty passes flags wrongly

This commit is contained in:
TopchetoEU 2025-01-09 00:07:51 +02:00
parent fde8b42e36
commit 7058a689a2
Signed by: topchetoeu
GPG Key ID: 6531B8583E5F6ED4

View File

@ -82,13 +82,13 @@ export const Object = (() => {
res.s = set; res.s = set;
} }
if ("enumerable" in desc) res.e = !!desc.enumerable; if ("enumerable" in desc) res.e = !!desc.enumerable;
if ("configurable" in desc) res.e = !!desc.configurable; if ("configurable" in desc) res.c = !!desc.configurable;
if (!object.defineProperty(obj, key, res)) throw new TypeError("Cannot redefine property: " + String(key)); if (!object.defineProperty(obj, key, res)) throw new TypeError("Cannot redefine property: " + String(key));
} }
else { else {
if ("enumerable" in desc) res.e = !!desc.enumerable; if ("enumerable" in desc) res.e = !!desc.enumerable;
if ("configurable" in desc) res.e = !!desc.configurable; if ("configurable" in desc) res.c = !!desc.configurable;
if ("writable" in desc) res.w = !!desc.writable; if ("writable" in desc) res.w = !!desc.writable;
if ("value" in desc) res.v = desc.value; if ("value" in desc) res.v = desc.value;