The type on which the class element will be defined. For a static class element, this will be the type of the constructor. For a non-static class element, this will be the type of the instance.
The type of the decorated class method.
Readonly
accessAn object that can be used to access the current value of the class element at runtime.
Determines whether an object has a property with the same name as the decorated element.
Readonly
kindThe kind of class element that was decorated.
Readonly
metadataReadonly
nameThe name of the decorated class element.
Readonly
privateA value indicating whether the class element has a private name.
Readonly
staticA value indicating whether the class element is a static (true
) or instance (false
) element.
Adds a callback to be invoked either after static methods are defined but before
static initializers are run (when decorating a static
element), or before instance
initializers are run (when decorating a non-static
element).
const bound: ClassMethodDecoratorFunction = (value, context) {
if (context.private) throw new TypeError("Not supported on private methods.");
context.addInitializer(function () {
this[context.name] = this[context.name].bind(this);
});
}
class C {
message = "Hello";
@bound
m() {
console.log(this.message);
}
}
Context provided to a class method decorator.