properly? handle getOwnPropertyDescriptor

This commit is contained in:
velzie 2024-08-25 20:17:45 -04:00
parent e8b9e04d46
commit 8d2ab5ac8b
No known key found for this signature in database
GPG key ID: 048413F95F0DDE1F
6 changed files with 35 additions and 1 deletions

26
src/client/helpers.ts Normal file
View file

@ -0,0 +1,26 @@
export function getOwnPropertyDescriptorHandler(target, prop) {
let realDescriptor = Reflect.getOwnPropertyDescriptor(target, prop);
if (!realDescriptor) return realDescriptor;
let d: PropertyDescriptor = {};
if (realDescriptor.enumerable !== undefined)
d.enumerable = realDescriptor.enumerable;
if (realDescriptor.configurable !== undefined)
d.configurable = realDescriptor.configurable;
if (realDescriptor.writable !== undefined)
d.writable = realDescriptor.writable;
if (realDescriptor.get) {
d.get = () => this.get(target, prop);
}
if (realDescriptor.set) {
d.set = (value) => this.set(target, prop, value);
}
if (realDescriptor.value) {
d.value = this.get(target, prop);
}
return d;
}