fabric.js の型定義ファイルの提供に取り組んでいます。一般的な構造を次のサンプルに示します。
declare module fabric {
export interface Canvas {
selectionBorderColor: string;
selectionColor: string;
...
}
var Canvas: {
new (): Canvas;
}
}
このパターンにより、fabric.Canvas を「インターフェースのような」方法で使用できるようになり、変数が fabric.Canvas インターフェースに関連付けられます。同時に、「静的メンバー」(fabric.Canvas のコンストラクターなど) を呼び出すことができます。
しかし、クラス内でインターフェイス「fabric.Canvas」のフィールドを使用すると、問題が発生します。次のサンプルは、そのようなケースを示しています。
この問題は、インターフェイスをモジュール内に配置する場合にのみ発生します。それ以外の場合は、すべて正常に動作します。
この問題の解決策はありますか?