2017-04-19 8 views
0

でカプセル化:四つの異なる関数シグネチャ、私はこれら四つの異なる関数シグネチャを持つ1つの親の型

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

は、どのように私は、これらの4種類が継承する親タイプを作成することができますか?私が代わりに行うので、関数のシグネチャでその親の型を使用できるように:

function(fn : BeforeHookCallbackMode | BeforeHookRegularMode | BeforeHookObservableMode | BeforeHookEEMode) { 


} 
+0

クラスは継承しません。 –

+0

OK、私はこのためのクラスではなく、インターフェイスを使用しなければならないと思います –

答えて

1

あなたが「親」タイプが、「労働組合」のタイプを探していません。

type BeforeHookMode = BeforeHookCallbackMode | 
    BeforeHookRegularMode | 
    BeforeHookObservableMode | 
    BeforeHookEEMode; 

function (fn: BeforeHookMode) { 
関連する問題