2017-06-16 5 views
3

実装する関数宣言:私はTBeforeHookタイプのすべてがIBeforeHookインターフェイスを実装/拡張したいと思いますは私が手動で.d.ts作成されたファイルで、この活字体コード持っているインタフェース

export interface IBeforeHook { 
    foo: Function, 
    bar: Function 
} 


export type BeforeHookCallbackMode = (h: IBeforeHook) => void; 
export type BeforeHookRegularMode = (h?: IBeforeHook) => Promise<any>; 
export type BeforeHookObservableMode = (h?: IBeforeHook) => Observable<any>; 
export type BeforeHookSubscriberMode = (h?: IBeforeHook) => Subscriber<any>; 
export type BeforeHookEEMode = (h?: IBeforeHook) => EventEmitter; 

type TBeforeHookTemp = 
    BeforeHookCallbackMode | 
    BeforeHookRegularMode | 
    BeforeHookObservableMode | 
    BeforeHookSubscriberMode | 
    BeforeHookEEMode 

を...どうやってやるの?

私のような何かをしたい:

export type TBeforeHook extends TBeforeHookTemp implements IBeforeHook { 

} 

をしかし、それは動作しません。

答えて

3

を定義できintersection type

export type TBeforeHook = TBeforeHookTemp & IBeforeHook; 
+0

非常に素晴らしいどうもありがとうございました –

関連する問題