UNPKG

srd

Version:

Static Land Compliant Remote Data Type in TypeScript

40 lines (39 loc) 809 B
/** * `* -> *` constructors */ export interface HKT<URI, A> { readonly _URI: URI; readonly _A: A; } /** * `* -> * -> *` constructors */ export interface HKT2<URI, E, A> extends HKT<URI, A> { readonly _E: E; } /** * `* -> *` constructors */ export interface URItoKind<A> { } /** * `* -> * -> *` constructors */ export interface URItoKind2<E, A> { } /** * `* -> *` constructors */ export declare type URIS = keyof URItoKind<any>; /** * `* -> * -> *` constructors */ export declare type URIS2 = keyof URItoKind2<any, any>; /** * `* -> *` constructors */ export declare type Kind<URI extends URIS, A> = URI extends URIS ? URItoKind<A>[URI] : any; /** * `* -> * -> *` constructors */ export declare type Kind2<URI extends URIS2, E, A> = URI extends URIS2 ? URItoKind2<E, A>[URI] : any;