rivo
Version:
🤖 The ultimate library you need for composable type-level programming in TypeScript, powered by HKT.
17 lines (13 loc) • 479 B
TypeScript
import type { List } from ".";
import type { Args, Fn } from "../HKT";
declare module "../typeclass/HKT" {
interface HKTRegistry {
List: RegisterHKT<List$$HKT$$Builder, List$$HKT$$Extractor>;
}
}
export interface List$$HKT$$Builder extends Fn<[unknown], List<unknown>> {
def: ([x]: Args<this>) => List<typeof x>;
}
export interface List$$HKT$$Extractor extends Fn<[List<unknown>], unknown> {
def: ([o]: Args<this>) => typeof o extends List<infer T> ? T : never;
}