UNPKG

rivo

Version:

🤖 The ultimate library you need for composable type-level programming in TypeScript, powered by HKT.

17 lines (13 loc) • 479 B
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; }