@trail-ui/shared-utils
Version:
A set of TrailUI utilities
7 lines (5 loc) • 410 B
TypeScript
type Args<T extends (...args: any[]) => any> = T extends (...args: infer R) => any ? R : never;
type AnyFunction<T = any> = (...args: T[]) => any;
declare function callAllHandlers<T extends (event: any) => void>(...fns: (T | undefined)[]): (event: Args<T>[0]) => void;
declare function callAll<T extends AnyFunction>(...fns: (T | undefined)[]): (arg: Args<T>[0]) => void;
export { callAll, callAllHandlers };