diff --git a/src/result.ts b/src/result.ts index ad447caa..f1834f14 100644 --- a/src/result.ts +++ b/src/result.ts @@ -20,19 +20,19 @@ export namespace Result { * @param errorFn when an error is thrown, this will wrap the error result if provided */ // eslint-disable-next-line @typescript-eslint/no-explicit-any - export function fromThrowable any, E>( - fn: Fn, - errorFn?: (e: unknown) => E, - ): (...args: Parameters) => Result, E> { - return (...args) => { - try { - const result = fn(...args) - return ok(result) - } catch (e) { - return err(errorFn ? errorFn(e) : e) - } + export function fromThrowable( + fn: (...args: A) => R, + errorFn?: (e: unknown) => E, +): (...args: A) => Result { + return (...args: A) => { + try { + const result = fn(...args); + return ok(result); + } catch (e) { + return err(errorFn ? errorFn(e) : e); } - } + }; +} export function combine< T extends readonly [Result, ...Result[]]