私はKeyboardJSの宣言ソースファイルを作成中です。APIは、JavaScriptファイルがロードされるときにインスタンス化される静的オブジェクト(KeyboardJS)から参照されます。APIのいくつかのメソッドは、他のメソッドの下にネストされています。例えば:
KeyboardJS.clear(keyCombo);
と
KeyboardJS.clear.key(key);
これが私のインターフェース定義です:
interface KeyboardJSStatic {
enable(): void;
disable(): void;
activeKeys(): string[];
on(keyCombo:string, onDownCallback?: (keyEvent: Event, keysPressed: string[], keyCombo: string) => {}, onUpCallback?: (keyEvent: Event, keysPressed: string[], keyCombo: string) => {}): KeyboardJSBinding;
clear(keyCombo: string): void;
clear.key(keyName: string): void;
locale(localeName: string): KeyboardJSLocale;
locale.register(localeName: string, localeDefinition: KeyboardJSLocale): void;
macro(keyCombo:string , keyNames: string[]): void;
macro.remove(keyCombo: string): void;
key: KeyboardJSKey;
combo: KeyboardJSCombo;
}
Visual Studio 2012のTypeScriptプラグインは、clear.key行でエラーを生成し、ピリオドがある場所にセミコロンを推奨しています。同様のシナリオで定義ファイルを作成した人はいますか?ありがとう!