UNPKG

fi

Version:

Javascript library for writing, chaining and using conditional statements in a functional way

12 lines (11 loc) 510 B
type ValOrRet<T = any> = T | (() => T); type Cond = ValOrRet<boolean>; declare const sw: <T>(condition: ValOrRet<string | T>, arr: Record<string, ValOrRet<T>> | ValOrRet<string | T>[]) => string | T | undefined; declare const ternary: <Z>(cond: Cond, a: ValOrRet<Z>, b: ValOrRet<Z>) => Z; interface Retter<T> { (): T; else(val: ValOrRet<T>): Retter<T>; elseif(cond: Cond, val: ValOrRet<T>): Retter<T>; } declare const fi: <T>(cond: Cond, val: ValOrRet<T>) => Retter<T>; export { sw, ternary, fi };