UNPKG

pragmatic-fp-ts

Version:

Opinionated functional programming library with easy use in mind

20 lines (18 loc) 439 B
import { chain, isChain, isMaybe, nothing } from "./main.ts"; export function empty<T>(val: T): T { return typeof val === "string" ? "" : val instanceof Array ? [] : isMaybe(val) ? nothing() : isChain(val) ? chain(null) : val instanceof Function ? () => undefined : val instanceof Object ? (val as any).empty instanceof Function ? (val as any).empty() : {} : (null as any); }