This repository was archived by the owner on Oct 12, 2022. It is now read-only.

Description
Currently (with comments added to explain the issue):
function validate<T>(target: any, propertyKey: string, descriptor: TypedPropertyDescriptor<T>) {
let set = descriptor.set;
descriptor.set = function (value: T) {
let type = Reflect.getMetadata("design:type", target, propertyKey); // "target" should be "this"
if (!(value instanceof type)) {
throw new TypeError("Invalid type.");
}
set.call(target, value); // "target" should be "this"
}
}
We should use this instead of target in those two lines with comments. I will make a PR for it later.