Skip to content
This repository has been archived by the owner on Oct 12, 2022. It is now read-only.

Samples code in "Metadata" section of "Decorators" page is wrong #1302

Open
JeffreyZhao opened this issue Mar 2, 2020 · 0 comments
Open

Comments

@JeffreyZhao
Copy link

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.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant