@synet/net
Version:
Network abstraction layer for Synet. visit https://syntehtism.ai for more information.
27 lines (26 loc) • 904 B
TypeScript
import { ErrorType } from "../errors/wireguard-errors";
/**
* Simplified Result pattern
*/
export declare class Result<T> {
private readonly _isSuccess;
private readonly _value?;
private readonly _errorType?;
private readonly _errorMessage?;
private readonly _errorCause?;
private constructor();
get isSuccess(): boolean;
get isFailure(): boolean;
get value(): T;
get errorType(): ErrorType | undefined;
get errorMessage(): string | undefined;
get errorCause(): Error | undefined;
static success<T>(value: T): Result<T>;
static fail<T>(type: ErrorType, message: string, cause?: Error): Result<T>;
onSuccess(fn: (value: T) => void): Result<T>;
onFailure(fn: (type: ErrorType, message: string, cause?: Error) => void): Result<T>;
/**
* Maps a successful result to another type
*/
map<U>(fn: (value: T) => U): Result<U>;
}