UNPKG

typescript-functional-extensions

Version:

A TypeScript implementation of synchronous and asynchronous Maybe and Result monads

40 lines (39 loc) 956 B
export const never = () => { throw Error('This error should be unreachable'); }; export function isDefined(value) { return value !== undefined && value !== null; } export function isSome(value) { return value !== undefined && value !== null; } export function isNone(value) { return !isDefined(value); } export function isFunction(value) { return typeof value === 'function'; } export function isPromise(value) { return value instanceof Promise; } /** * Sourced from https://github.com/ReactiveX/rxjs/blob/7268bd31d1cb30cf01a1a69a7b14458e15b76b58/src/internal/util/pipe.ts * @param fns * @returns */ export function pipeFromArray(fns) { if (fns.length === 0) { return noop; } if (fns.length === 1) { return fns[0]; } return function piped(input) { return fns.reduce((prev, fn) => fn(prev), input); }; } export function noop(value) { if (value) { return value; } }