function staticParamsDecorator(target, name, index) {
console.log('static params decorator')
}
function staticFuncDecorator(target, name, descriptor) {
console.log('static func decorator')
}
function staticPropertyDecorator(target, name) {
console.log('static property decorator')
}
function instanceParamsDecorator(target, name, index) {
console.log('instance params decorator')
}
function instanceFuncDecorator(target, name, descriptor) {
console.log('instance func decorator')
}
function instancePropertyDecorator(target, name) {
console.log('instance property decorator')
}
function constructorParamsDecorator(target, name, index) {
console.log('constructor params decorator')
}
function classDecorator1(target) {
console.log('class decorator1')
}
function classDecorator2(target) {
console.log('class decorator2')
}
@classDecorator1
@classDecorator2
class Animal {
constructor(@constructorParamsDecorator options) {
}
@staticPropertyDecorator
static Name = 'zlx'
@staticFuncDecorator
static Say(@staticParamsDecorator name: string) {
}
@instancePropertyDecorator
age = 11
@instanceFuncDecorator
run(@instanceParamsDecorator time: number) {
}
}