UNPKG

@atlaskit/editor-common

Version:

A package that contains common classes and components for editor and renderer

31 lines (30 loc) 794 B
/** Helper type for single arg function */ type Func<A, B> = (a: A) => B; /** * Compose 1 to n functions. * @param func first function * @param funcs additional functions */ export declare function compose<F1 extends Func<any, any>, FN extends Array<Func<any, any>>, R extends FN extends [ ] ? F1 : FN extends [ Func<infer A, any> ] ? (a: A) => ReturnType<F1> : FN extends [ any, Func<infer A, any> ] ? (a: A) => ReturnType<F1> : FN extends [ any, any, Func<infer A, any> ] ? (a: A) => ReturnType<F1> : FN extends [ any, any, any, Func<infer A, any> ] ? (a: A) => ReturnType<F1> : FN extends [ any, any, any, any, Func<infer A, any> ] ? (a: A) => ReturnType<F1> : Func<any, ReturnType<F1>>>(func: F1, ...funcs: FN): R; export {};