我试图定义一个基于纯类的mixin函数,但是我无法为此类型获得正确的类型签名。
目的是提供一个接受任何Class A作为参数并返回扩展原始Class A的新Class B的函数。
export function mixin<A>(myclass: A) {
return class B extends A {
newMethod() {
//stuff
}
}
}
Run Code Online (Sandbox Code Playgroud)
正如我所说,我无法弄清楚。
我还需要表达返回类型,这会产生一些错误,其中包括:
错误TS4060:导出函数的返回类型具有或正在使用私有名称'B'。
附加信息:
utils.ts导出的模块内部,以便其他模块可以使用它