2017-06-16 115 views
3

我有这样的打字稿代码手动创建.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 

我想所有的TBeforeHook类型的扩展/实现IBeforeHook接口...我怎样才能做到这一点?

我想要做的事,如:

export type TBeforeHook extends TBeforeHookTemp implements IBeforeHook { 

} 

,但不起作用。

回答

3

您可以定义一个intersection type

export type TBeforeHook = TBeforeHookTemp & IBeforeHook; 
+0

非常好的非常感谢你 –