現在、JavaScriptの一部をtypescriptに変換中です。たとえば、次のように、私たちが管理している別のjavascriptライブラリに引き出した既存の機能がいくつかあります。
Framework.utils = {
utilFnOne: function ()...,
utilFnTwo: function ()...,
utilFnThree: function ()...,
}
また、次のような非フレームワークコードで使用するユーティリティもいくつかあります。
Current.utils = Framework.utils; // Extend the framework's utils
Current.utils.utilFnFour = function()...;
Current.utils.utilFnFive = function()...;
Typescript
フレームワークライブラリの定義は次のように作成できます。
declare module Framework.utils {
export function utilFnOne();
export function utilFnTwo();
export function utilFnThree();
}
そして、次のようなことを行うことで、Current.utilsのタイプスクリプト定義を作成できます。
module Current.utils {
export function utilFnFour() {}
export function utilFnFive() {}
export class StringUtils { }
}
このようなことができたらいいのにと思います。
module Current.utils extends Framework.utils { .... }
そのため、インテリセンスは、フレームワークと現在の両方のメンバーを表示します。
Current.utils.
編集-解決
私はライアンが持っていた考えを取り入れて、それを少し修正しました
Framework.d.ts
declare module Framework {
export var util: _utilImpl;
export class _utilImpl {
utilFnOne(a: string) : string;
}
}
Current.ts
module Current {
export var util = new _utilImpl();
export class _utilImpl extends Framework._utilImpl {
utilFnTwo(b: number) : number;
}
}