UNPKG

burdy

Version:

Open Source Headless Platform

30 lines (29 loc) 1.03 kB
declare type IHookActionFunction<Args extends any[] = any[]> = (...args: Args) => Promise<void>; declare type IHookFilterFunction<Args extends any[] = any[]> = (...args: Args) => Promise<Args[0]>; declare type IHookFilterSyncFunction<Args extends any[] = any[]> = (...args: Args) => Args[0]; interface IHookFilter<Args extends any[] = any[]> { id: string; function: IHookFilterFunction<Args>; priority: number; } interface IHookFilterSync<Args extends any[] = any[]> { id: string; function: IHookFilterSyncFunction<Args>; priority: number; } interface IHookAction<Args extends any[] = any[]> { id: string; function: IHookActionFunction<Args[]>; } interface IHookCache { actions: { [key: string]: IHookAction[]; }; filters: { [key: string]: IHookFilter[]; }; syncFilters: { [key: string]: IHookFilterSync[]; }; } export { IHookActionFunction, IHookFilterFunction, IHookFilterSyncFunction, IHookFilterSync, IHookAction, IHookFilter, IHookCache, };