ts-prime
Version:
A utility library for JavaScript and Typescript.
41 lines • 1.29 kB
TypeScript
export declare class UnknownError extends Error {
data: unknown;
readonly name = "UnknownError";
constructor(data: unknown);
}
/**
* Assertion statement
* @throws Throws if data is instance of error
* @export
* const request = () => P.canFail(()=> axios.get(url))
* const result = await request.then(P.assertError)
* @category Utility
*/
export declare function assertError<T>(data: T | Error): T;
/**
* Ensures that err is Error instance
* @signature
* P.ensureError(any)
* @example
* const request = doRequest().catch(P.ensureError)
* if (P.isError(request)) return
* @category Utility
*/
export declare function ensureError(err: unknown): Error;
export declare type CanGetError<T> = Error | T;
/**
* Similar to try catch statement. If function throws insisted callback this function will return `Error` instance
* @example
* const err = P.canFail(()=> JSON.parse(data))
* if (P.isError(err)) {
* console.log(err)
* }
*
*
* const request = await canFail(() => axios.get(url))
* if (P.isError(request)) return
* @category Utility
*/
export declare function canFail<T>(fn: () => Promise<T>): Promise<CanGetError<T>>;
export declare function canFail<T>(fn: () => T): CanGetError<T>;
//# sourceMappingURL=errors.d.ts.map