pragmatic-fp-ts
Version:
Opinionated functional programming library with easy use in mind
20 lines (18 loc) • 439 B
text/typescript
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);
}