UNPKG

rivo

Version:

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

30 lines (26 loc) • 663 B
import type { Args, GenericFn, GenericResolver } from ".."; /** * Create a tuple with one element. * * Sig: `<T>(x: T) => readonly [T]` * * @example * ```typescript * type R1 = Of1<1>; * // ^?: readonly [1] * type R2 = Of1<"foo" | false>; * // ^?: readonly ["foo" | false] * ``` */ export type Of1<T> = readonly [T]; interface Resolver extends GenericResolver<[unknown], readonly [unknown]> { on1: ([x]: Args<this>) => [[], readonly [typeof x]]; } /** * [Fn] Create a tuple with one element. * * Sig: `<T>(x: T) => readonly [T]` */ export default interface Of1Fn extends GenericFn<Resolver> { def: ([x]: Args<this>) => Of1<typeof x>; }