UNPKG

pragmatic-fp-ts

Version:

Opinionated functional programming library with easy use in mind

110 lines (109 loc) 6.11 kB
import { Effect, Mappable, UnboxPromise } from "./types"; export interface ErrorLog<T> { _: <U>(f: Mappable<T, U>) => ErrorLog<U>; effect: (f: Effect<T>) => ErrorLog<T>; try: <U>(f: Mappable<T, U>, alt: U) => ErrorLog<U>; getErrors: () => Error[]; getValue: () => T; getValueOr: <U>(alt: U) => NonNullable<T> | U; hasErrors: () => boolean; } export interface FutureErrorLog<T> { _: <U>(f: Mappable<T, U>) => FutureErrorLog<U>; effect: (f: Effect<T>) => FutureErrorLog<T>; try: <U>(f: Mappable<T, U>, alt: UnboxPromise<U>) => FutureErrorLog<U>; getErrors: () => Promise<Error[]>; getValue: () => Promise<UnboxPromise<T>>; getValueOr: <U extends T>(alt: U) => Promise<NonNullable<UnboxPromise<T>>>; hasErrors: () => Promise<boolean>; } export declare const errorLogged: <T>(value: T) => { _: <U>(f: Mappable<T, U>) => { _: <U_1>(f: Mappable<U, U_1>) => { _: <U_2>(f: Mappable<U_1, U_2>) => { _: <U_3>(f: Mappable<U_2, U_3>) => { _: <U_4>(f: Mappable<U_3, U_4>) => { _: <U_5>(f: Mappable<U_4, U_5>) => { _: <U_6>(f: Mappable<U_5, U_6>) => { _: <U_7>(f: Mappable<U_6, U_7>) => { _: <U_8>(f: Mappable<U_7, U_8>) => { _: <U_9>(f: Mappable<U_8, U_9>) => { _: <U_10>(f: Mappable<U_9, U_10>) => any; try: <U_11>(f: Mappable<U_9, U_11>, alt: U_11) => ErrorLog<U_11>; effect: (f: Effect<U_9>) => ErrorLog<U_9>; getErrors: () => Error[]; getValue: () => U_9; getValueOr: <U_12>(alt: U_9 | U_12) => U_12 | NonNullable<U_9>; hasErrors: () => boolean; }; try: <U_13>(f: Mappable<U_8, U_13>, alt: U_13) => ErrorLog<U_13>; effect: (f: Effect<U_8>) => ErrorLog<U_8>; getErrors: () => Error[]; getValue: () => U_8; getValueOr: <U_14>(alt: U_8 | U_14) => U_14 | NonNullable<U_8>; hasErrors: () => boolean; }; try: <U_15>(f: Mappable<U_7, U_15>, alt: U_15) => ErrorLog<U_15>; effect: (f: Effect<U_7>) => ErrorLog<U_7>; getErrors: () => Error[]; getValue: () => U_7; getValueOr: <U_16>(alt: U_7 | U_16) => U_16 | NonNullable<U_7>; hasErrors: () => boolean; }; try: <U_17>(f: Mappable<U_6, U_17>, alt: U_17) => ErrorLog<U_17>; effect: (f: Effect<U_6>) => ErrorLog<U_6>; getErrors: () => Error[]; getValue: () => U_6; getValueOr: <U_18>(alt: U_6 | U_18) => U_18 | NonNullable<U_6>; hasErrors: () => boolean; }; try: <U_19>(f: Mappable<U_5, U_19>, alt: U_19) => ErrorLog<U_19>; effect: (f: Effect<U_5>) => ErrorLog<U_5>; getErrors: () => Error[]; getValue: () => U_5; getValueOr: <U_20>(alt: U_5 | U_20) => U_20 | NonNullable<U_5>; hasErrors: () => boolean; }; try: <U_21>(f: Mappable<U_4, U_21>, alt: U_21) => ErrorLog<U_21>; effect: (f: Effect<U_4>) => ErrorLog<U_4>; getErrors: () => Error[]; getValue: () => U_4; getValueOr: <U_22>(alt: U_4 | U_22) => U_22 | NonNullable<U_4>; hasErrors: () => boolean; }; try: <U_23>(f: Mappable<U_3, U_23>, alt: U_23) => ErrorLog<U_23>; effect: (f: Effect<U_3>) => ErrorLog<U_3>; getErrors: () => Error[]; getValue: () => U_3; getValueOr: <U_24>(alt: U_3 | U_24) => U_24 | NonNullable<U_3>; hasErrors: () => boolean; }; try: <U_25>(f: Mappable<U_2, U_25>, alt: U_25) => ErrorLog<U_25>; effect: (f: Effect<U_2>) => ErrorLog<U_2>; getErrors: () => Error[]; getValue: () => U_2; getValueOr: <U_26>(alt: U_2 | U_26) => U_26 | NonNullable<U_2>; hasErrors: () => boolean; }; try: <U_27>(f: Mappable<U_1, U_27>, alt: U_27) => ErrorLog<U_27>; effect: (f: Effect<U_1>) => ErrorLog<U_1>; getErrors: () => Error[]; getValue: () => U_1; getValueOr: <U_28>(alt: U_1 | U_28) => U_28 | NonNullable<U_1>; hasErrors: () => boolean; }; try: <U_29>(f: Mappable<U, U_29>, alt: U_29) => ErrorLog<U_29>; effect: (f: Effect<U>) => ErrorLog<U>; getErrors: () => Error[]; getValue: () => U; getValueOr: <U_30>(alt: U | U_30) => U_30 | NonNullable<U>; hasErrors: () => boolean; }; try: <U_31>(f: Mappable<T, U_31>, alt: U_31) => ErrorLog<U_31>; effect: (f: Effect<T>) => ErrorLog<T>; getErrors: () => Error[]; getValue: () => T; getValueOr: <U_32>(alt: T | U_32) => U_32 | NonNullable<T>; hasErrors: () => boolean; }; export declare const errorLoggedFuture: <T>(value: T) => FutureErrorLog<T>;