result-guard
Version:
Type-safe error handling with discriminated unions and type guards for TypeScript
29 lines (28 loc) • 704 B
TypeScript
/**
* Safely converts any thrown value into an error object.
* This ensures consistent error typing even when non-Error values are thrown.
*
* @param error The value that was thrown
* @returns A proper Error object
*/
export declare function toError(error: unknown): Error;
/**
* Creates a success result
*/
export declare function createSuccess<T>(data: T): {
data: T;
error: null;
isError: false;
};
/**
* Creates a failure result
*/
export declare function createFailure<E>(error: E): {
data: null;
error: E;
isError: true;
};
/**
* Handles an error value, converting it to the appropriate type
*/
export declare function handleError<E = Error>(error: unknown): E;