shineout
Version:
Shein 前端组件库
25 lines (24 loc) • 918 B
TypeScript
export declare type CurriedFunction2<P0, P1, R> = {
(p0: P0): {
(p1: P1): R;
};
(p0: P0, p1: P1): R;
};
export declare type CurriedFunction3<P0, P1, P2, R> = {
(p0: P0, p1: P1, p2: P2): R;
(p0: P0, p1: P1): {
(p2: P2): R;
};
(p0: P0): CurriedFunction2<P1, P2, R>;
};
export declare type CurriedFunction4<P0, P1, P2, P3, R> = {
(p0: P0, p1: P1, p2: P2, p3: P3): R;
(p0: P0, p1: P1, p2: P2): {
(p3: P3): R;
};
(p0: P0, p1: P1): CurriedFunction2<P2, P3, R>;
(p0: P0): CurriedFunction3<P1, P2, P3, R>;
};
export declare function curry2<P0, P1, R>(fn: (p0: P0, p1: P1) => R): CurriedFunction2<P0, P1, R>;
export declare function curry3<P0, P1, P2, R>(fn: (p0: P0, p1: P1, p2: P2) => R): CurriedFunction3<P0, P1, P2, R>;
export declare function curry4<P0, P1, P2, P3, R>(fn: (p0: P0, p1: P1, p2: P2, p3: P3) => R): CurriedFunction4<P0, P1, P2, P3, R>;