UNPKG

typed-dom

Version:

A value-level and type-level DOM builder.

43 lines (42 loc) 1.58 kB
export interface Curried1<a, z> { (a: a): z; } export interface Curried2<a, b, z> { (a: a, b: b): z; (a: a): Curried1<b, z>; } export interface Curried3<a, b, c, z> { (a: a, b: b, c: c): z; (a: a, b: b): Curried1<c, z>; (a: a): Curried2<b, c, z>; } export interface Curried4<a, b, c, d, z> { (a: a, b: b, c: c, d: d): z; (a: a, b: b, c: c): Curried1<d, z>; (a: a, b: b): Curried2<c, d, z>; (a: a): Curried3<b, c, d, z>; } export interface Curried5<a, b, c, d, e, z> { (a: a, b: b, c: c, d: d, e: e): z; (a: a, b: b, c: c, d: d): Curried1<e, z>; (a: a, b: b, c: c): Curried2<d, e, z>; (a: a, b: b): Curried3<c, d, e, z>; (a: a): Curried4<b, c, d, e, z>; } export interface Curry { <a, z>(f: (a: a) => z): Curried1<a, z>; <a, b, z>(f: (a: a, b: b) => z): Curried2<a, b, z>; <a, b, c, z>(f: (a: a, b: b, c: c) => z): Curried3<a, b, c, z>; <a, b, c, d, z>(f: (a: a, b: b, c: c, d: d) => z): Curried4<a, b, c, d, z>; <a, b, c, d, e, z>(f: (a: a, b: b, c: c, d: d, e: e) => z): Curried5<a, b, c, d, e, z>; } export declare const curry: Curry; interface Uncurry { <a, b, c, d, e, z>(f: (a: a) => (b: b) => (c: c) => (d: d) => (e: e) => z): (a: a, b: b, c: c, d: d, e: e) => z; <a, b, c, d, z>(f: (a: a) => (b: b) => (c: c) => (d: d) => z): (a: a, b: b, c: c, d: d) => z; <a, b, c, z>(f: (a: a) => (b: b) => (c: c) => z): (a: a, b: b, c: c) => z; <a, b, z>(f: (a: a) => (b: b) => z): (a: a, b: b) => z; <a, z>(f: (a: a) => z): (a: a) => z; } export declare const uncurry: Uncurry; export {};