@luolapeikko/result-option
    Preparing search index...

    Type Alias WrapFnReturn<Fn, ErrType>

    WrapFnReturn: Fn extends {
        (...args: A1): R1;
        (...args: A2): R2;
        (...args: A3): R3;
        (...args: A4): R4;
        (...args: A5): R5;
    }
        ? {
            (...args: A1): IResult<UnwrapResult<R1>, ErrType>;
            (...args: A2): IResult<UnwrapResult<R2>, ErrType>;
            (...args: A3): IResult<UnwrapResult<R3>, ErrType>;
            (...args: A4): IResult<UnwrapResult<R4>, ErrType>;
            (...args: A5): IResult<UnwrapResult<R5>, ErrType>;
        }
        : Fn extends {
            (...args: A1): R1;
            (...args: A2): R2;
            (...args: A3): R3;
            (...args: A4): R4;
        }
            ? {
                (...args: A1): IResult<UnwrapResult<R1>, ErrType>;
                (...args: A2): IResult<UnwrapResult<R2>, ErrType>;
                (...args: A3): IResult<UnwrapResult<R3>, ErrType>;
                (...args: A4): IResult<UnwrapResult<R4>, ErrType>;
            }
            : Fn extends { (...args: A1): R1; (...args: A2): R2; (...args: A3): R3 }
                ? {
                    (...args: A1): IResult<UnwrapResult<R1>, ErrType>;
                    (...args: A2): IResult<UnwrapResult<R2>, ErrType>;
                    (...args: A3): IResult<UnwrapResult<R3>, ErrType>;
                }
                : Fn extends { (...args: A1): R1; (...args: A2): R2 }
                    ? {
                        (...args: A1): IResult<UnwrapResult<R1>, ErrType>;
                        (...args: A2): IResult<UnwrapResult<R2>, ErrType>;
                    }
                    : Fn extends (...args: infer A) => infer R
                        ? (...args: A) => IResult<UnwrapResult<R>, ErrType>
                        : never

    Preserve function overloads when wrapping with Result for sync functions

    Type Parameters

    • Fn
    • ErrType

    v2.2.0