声明类型为“ xx”修饰符的类型

时间:2020-10-25 22:35:23

标签: typescript

我是否可以说数组必须具有某种类型的装饰器?

例如,说我有装饰器@A@B,并将它附加到不同的类上:

@A()
export class MyClass {}
@B()
export class MyOtherClass {}

然后我有另一个装饰器,该装饰器将其他类作为数组,但仅包含@A

@C({
  classes: [
    MyClass,
    MyOtherClass // This line should error
  ]
})
export class Main {}

然后我将这样定义@C。在下面的代码段中,我将为???输入什么内容?

interface Options {
  classes: ???[] // What would I put here as a type for classes that are a type of @A
}

export function C(options: Options){
  return function(target: Function) {
    // Do stuff
  }
}

这是否有可能?

0 个答案:

没有答案