Consider the following class:
class A {
foo = 1;
get bar(): number {
return 2 * this.foo;
}
set bar(value: number) {
this.foo = value / 2;
}
}
If you create a change buffer over an instance of this class and modify it:
changebuffer.set('foo', 2);
console.log(changebuffer.get('bar')); // 2, but I'd expect 4
changebuffer.set('bar', 6);
console.log(changebuffer.get('foo')); // 1, but I'd expect 3
the results are a bit unexpected. Would you consider getting the property descriptor
const descriptor = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(target), prop);
and then executing it against the change buffer instance?