0
匿名クラスを持つこのMixinコンストラクトがスローされるので、エラーなしでコンパイルできません。typescript mixinsを書き、tscから宣言を得る方法
export type Constructor<T> = new (...args: any[]) => T;
export interface IFooable {}
export default function FooableMixin<T extends Constructor<{}>>(Base: T) {
return class extends Base implements IFooable {
constructor(...args: any[]) {
super(...args);
}
}
}
export class BaseBar {}
export class FooableBar extends FooableMixin (BaseBar) {}
tsconfigパラメータ宣言= trueでこれをコンパイルすると、TS4093、TS4020、TS4060が得られます。パラメータがなければ、うまく動作しますが、宣言はありません。
これは、匿名クラスをエクスポート(公開)できないためです。
ミックスインを書くより良い方法があるのですか、宣言を得るためのより良い方法がありますか?