UNPKG

@thisisagile/easy

Version:

Straightforward library for building domain-driven microservice architectures

45 lines (44 loc) 1.92 kB
import { Construct, Constructor } from './Constructor'; import { Validatable } from './Validatable'; import { Get } from './Get'; import { Func } from './Func'; import { Optional } from './Types'; export declare abstract class Try<T = unknown> implements Validatable { is: { defined: (prop?: Func<unknown, T>) => Try<T>; empty: (prop?: Func<unknown, T>) => Try<T>; valid: (prop?: Func<unknown, T>) => Try<T>; true: (prop?: Func<unknown, T>) => Try<T>; false: (prop?: Func<unknown, T>) => Try<T>; not: { defined: (prop?: Func<unknown, T>) => Try<T>; empty: (prop?: Func<unknown, T>) => Try<T>; valid: (prop?: Func<unknown, T>) => Try<T>; }; }; if: { defined: (prop?: Func<unknown, T>) => Try<T>; empty: (prop?: Func<unknown, T>) => Try<T>; valid: (prop?: Func<unknown, T>) => Try<T>; true: (prop?: Func<unknown, T>) => Try<T>; false: (prop?: Func<unknown, T>) => Try<T>; not: { defined: (prop?: Func<unknown, T>) => Try<T>; empty: (prop?: Func<unknown, T>) => Try<T>; valid: (prop?: Func<unknown, T>) => Try<T>; }; }; abstract get value(): T; abstract get error(): Error; abstract get isValid(): boolean; static of: <T_1>(c: Get<T_1 | Try<T_1>>, ...args: unknown[]) => Try<T_1>; abstract map<U>(f: Func<U | Try<U>, T>): Try<U>; abstract recover(f: Func<T | Try<T>, Error>): Try<T>; abstract recoverFrom(type: Constructor<Error>, f: Func<T | Try<T>, Error>): Try<T>; abstract accept(f: Func<void, T>): Try<T>; abstract filter(predicate: Func<boolean, T>): Try<T>; abstract or(value: Get<T>): T; abstract orElse(value?: Get<T>): Optional<T>; abstract orThrow(error: Construct<Error>): T; } export declare const tryTo: <T>(c: Get<T | Try<T>>, ...args: unknown[]) => Try<T>;