@sekwiatkowski/js-fp
Version:
A pragmatic functional programming library for JavaScript/TypeScript
26 lines (25 loc) • 1.39 kB
TypeScript
import { Validated } from './Validated';
import { Equivalence, Future, Option, Predicate, Result } from '..';
export declare class Invalid<T, E> implements Validated<T, E> {
private readonly errors;
constructor(errors: E[]);
getErrorsOrElse(alternative: E[] | ((value: T) => E[])): E[];
getOrElse(alternative: T | ((errors: E[]) => T)): T;
apply<U, V>(this: Invalid<(parameter: U) => V, E>, argumentOrValidatedOrFunction: U | (() => U) | Validated<U, E> | (() => Validated<U, E>)): Validated<V, E>;
concat(otherValidated: Validated<T, E>): Validated<T, E>;
toFuture(): Future<T, E[]>;
toOption(): Option<T>;
toResult(): Result<T, E[]>;
map<U>(f: (value: T) => U): Validated<U, E>;
mapErrors(f: (errors: E[]) => E[]): Validated<T, E>;
match<U>(onValid: (value: T) => U, onInvalid: (list: E[]) => U): U;
performOnBoth(sideEffect: () => void): Validated<T, E>;
perform(sideEffect: (value: T) => void): Validated<T, E>;
performOnInvalid(sideEffect: (errors: E[]) => void): Validated<T, E>;
isInvalid(): boolean;
isValid(): boolean;
equals(otherValidated: Validated<T, E>, equality: Equivalence<Validated<T, E>>): boolean;
test(predicate: (value: T) => boolean): boolean;
test(predicate: Predicate<T>): boolean;
}
export declare function invalid<T, E>(errors: E | E[]): Invalid<T, E>;