UNPKG

rivo

Version:

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

25 lines (22 loc) • 580 B
import type { Args, Fn } from "../HKT"; import type { AssertStr, Eq } from "../helpers"; /** * Convert a boolean to a string. * * Sig: `(b: boolean) => string` */ export type ToStr<B extends boolean> = AssertStr< [B] extends [never] ? never : Eq<B, true> extends true ? "true" : Eq<B, false> extends true ? "false" : Eq<B, boolean> extends true ? "boolean" : string >; /** * [Fn] Convert a boolean to a string. * * Sig: `(b: boolean) => string` */ export default interface ToStrFn extends Fn<[boolean], string> { def: ([b]: Args<this>) => ToStr<typeof b>; }