date-fns-tz
Version:
Time zone support for date-fns v3 with the Intl API
35 lines (34 loc) • 1.28 kB
TypeScript
export interface CurriedFn1<A, R> {
(a: A): R;
}
export interface CurriedFn2<A, B, R> {
(a: A): CurriedFn1<B, R>;
(a: A, b: B): R;
}
export interface CurriedFn3<A, B, C, R> {
(a: A): CurriedFn2<B, C, R>;
(a: A, b: B): CurriedFn1<C, R>;
(a: A, b: B, c: C): R;
}
export interface CurriedFn4<A, B, C, D, R> {
(a: A): CurriedFn3<B, C, D, R>;
(a: A, b: B): CurriedFn2<C, D, R>;
(a: A, b: B, c: C): CurriedFn1<D, R>;
(a: A, b: B, c: C, d: D): R;
}
/**
* Converts a function to a curried function that accepts arguments in reverse order.
*
* @param fn The function to convert to FP
* @param arity The arity of the function
* @param curriedArgs The curried arguments
*
* @returns FP version of the function
*
* @private
*/
export declare function convertToFP<A, R>(fn: (a: A) => R, arity: 1): CurriedFn1<A, R>;
export declare function convertToFP<A, B, R>(fn: (a: A, b: B) => R, arity: 2): CurriedFn2<A, B, R>;
export declare function convertToFP<A, B, C, R>(fn: (a: A, b: B, c: C) => R, arity: 3): CurriedFn3<A, B, C, R>;
export declare function convertToFP<A, B, C, D, R>(fn: (a: A, b: B, c: C, d: D) => R, arity: 4): CurriedFn4<A, B, C, D, R>;
export declare function convertToFP(fn: Function, arity: number, curriedArgs: any[]): Function;