Variable AsyncResult

AsyncResult: {
    combine: {
        <ResultLike, Results, Successes, Failure>(...results): AsyncResult<Successes, Failure>;
        <ResultLike, Results, Successes, Args, Failure>(...results): Args extends CombineArray<undefined>
            ? (() => AsyncResult<Successes, Failure>)
            : ((args) => AsyncResult<Successes, Failure>);
    };
    flatMap: {
        <NewSuccess, NewFailure, Success, Failure, NewResultLike, ResultLike>(transform): ((result) => AsyncResult<SuccessOf<NewResultLike>, FailureOf<NewResultLike | ResultLike>>);
        <Transform>(transform): (<Failure>(result) => AsyncResult<SuccessOf<ReturnType<Transform>>, FailureOf<ReturnType<Transform>> | Failure>);
        <NewSuccess, NewFailure, Success, Failure, NewResultLike, ResultLike>(transform, result): AsyncResult<SuccessOf<NewResultLike>, FailureOf<NewResultLike | ResultLike>>;
        <NewSuccess, NewFailure, Success, Failure>(transform, result): AsyncResult<NewSuccess, NewFailure | Failure>;
    };
    flatMapError: {
        <NewFailure, Success, Failure, NewResultLike, ResultLike>(transform): ((result) => AsyncResult<SuccessOf<ResultLike>, FailureOf<NewResultLike>>);
        <Transform>(transform): (<Success>(result) => AsyncResult<Success, FailureOf<ReturnType<Transform>>>);
        <NewFailure, Success, Failure, NewResultLike, ResultLike>(transform, result): AsyncResult<SuccessOf<ResultLike>, FailureOf<NewResultLike>>;
        <NewFailure, Success, Failure>(transform, result): AsyncResult<Success, NewFailure>;
    };
    map: {
        <NewSuccess, Success, Failure, ResultLike>(transform): ((result) => AsyncResult<NewSuccess, FailureOf<ResultLike>>);
        <Transform>(transform): (<Failure>(result) => AsyncResult<ReturnType<Transform>, Failure>);
        <NewSuccess, Success, Failure, ResultLike>(transform, result): AsyncResult<NewSuccess, FailureOf<ResultLike>>;
        <NewSuccess, Success, Failure>(transform, result): AsyncResult<NewSuccess, Failure>;
    };
    mapAsync: {
        <NewSuccess, Success, Failure, ResultLike>(transform): ((result) => AsyncResult<NewSuccess, FailureOf<ResultLike>>);
        <Transform>(transform): (<Failure>(result) => AsyncResult<Awaited<ReturnType<Transform>>, Failure>);
        <NewSuccess, Success, Failure, ResultLike>(transform, result): AsyncResult<NewSuccess, FailureOf<ResultLike>>;
        <NewSuccess, Success, Failure>(transform, result): AsyncResult<NewSuccess, Failure>;
    };
    mapError: {
        <NewFailure, Success, Failure, ResultLike>(transform): ((result) => AsyncResult<SuccessOf<ResultLike>, NewFailure>);
        <Transform>(transform): (<Success>(result) => AsyncResult<Success, ReturnType<Transform>>);
        <NewFailure, Success, Failure, ResultLike>(transform, result): AsyncResult<SuccessOf<ResultLike>, NewFailure>;
        <NewFailure, Success, Failure>(transform, result): AsyncResult<Success, NewFailure>;
    };
    mapErrorAsync: {
        <NewFailure, Success, Failure, ResultLike>(transform): ((result) => AsyncResult<SuccessOf<ResultLike>, NewFailure>);
        <Transform>(transform): (<Success>(result) => AsyncResult<Success, Awaited<ReturnType<Transform>>>);
        <NewFailure, Success, Failure, ResultLike>(transform, result): AsyncResult<SuccessOf<ResultLike>, NewFailure>;
        <NewFailure, Success, Failure>(transform, result): AsyncResult<Success, NewFailure>;
    };
    match: {
        <ResultLike, MatcherLike>(transform): ((result) => MatcherLike extends Matcher<ResultLike, infer Match>
            ? Promise<Match>
            : never);
        <ResultLike, MatcherLike>(transform, result): MatcherLike extends Matcher<ResultLike, infer Match>
            ? Promise<Match>
            : never;
        <ResultLike, MatcherLike>(transform, result): MatcherLike extends Matcher<ResultLike, infer Match>
            ? Promise<Match>
            : never;
        <ResultLike, MatcherLike>(transform): ((result) => MatcherLike extends Matcher<ResultLike, infer Match>
            ? Promise<Match>
            : never);
    };
}

Type declaration

  • combine: {
        <ResultLike, Results, Successes, Failure>(...results): AsyncResult<Successes, Failure>;
        <ResultLike, Results, Successes, Args, Failure>(...results): Args extends CombineArray<undefined>
            ? (() => AsyncResult<Successes, Failure>)
            : ((args) => AsyncResult<Successes, Failure>);
    }
      • <ResultLike, Results, Successes, Failure>(...results): AsyncResult<Successes, Failure>
      • Combines multiple SomeResults into single AsyncResult

        Type Parameters

        • ResultLike extends SomeResult

        • Results extends readonly ResultLike[]

        • Successes extends {
              readonly [Index in string | number | symbol]: Results[Index] extends ResultLike
                  ? SuccessOf<any[any]>
                  : never
          }

        • Failure extends unknown

        Parameters

        • Rest ...results: Results

          SomeResults to combine

        Returns AsyncResult<Successes, Failure>

        An AsyncResult that holds a tuple of successes or a single failure

      • <ResultLike, Results, Successes, Args, Failure>(...results): Args extends CombineArray<undefined>
            ? (() => AsyncResult<Successes, Failure>)
            : ((args) => AsyncResult<Successes, Failure>)
      • Combines multiple functions that have 0-1 arguments return Results into single one that takes an array of arguments

        Type Parameters

        • ResultLike extends SomeResult

        • Results extends readonly ((arg) => ResultLike)[]

        • Successes extends {
              readonly [Index in string | number | symbol]: Results[Index] extends ((arg) => ResultLike)
                  ? SuccessOf<ReturnType<any[any]>>
                  : never
          }

        • Args extends {
              readonly [Index in string | number | symbol]: Results[Index] extends ((arg) => ResultLike)
                  ? unknown extends Arg
                      ? undefined
                      : Arg
                  : never
          }

        • Failure extends unknown

        Parameters

        • Rest ...results: Results

          Functions that return Results to combine

        Returns Args extends CombineArray<undefined>
            ? (() => AsyncResult<Successes, Failure>)
            : ((args) => AsyncResult<Successes, Failure>)

        A Function that takes an array of arguments and returns a Result that holds a tuple of successes or a single failure. If all combined functions have zero arguments resulting function also will take zero arguments instead of an array of undefined values

  • flatMap: {
        <NewSuccess, NewFailure, Success, Failure, NewResultLike, ResultLike>(transform): ((result) => AsyncResult<SuccessOf<NewResultLike>, FailureOf<NewResultLike | ResultLike>>);
        <Transform>(transform): (<Failure>(result) => AsyncResult<SuccessOf<ReturnType<Transform>>, FailureOf<ReturnType<Transform>> | Failure>);
        <NewSuccess, NewFailure, Success, Failure, NewResultLike, ResultLike>(transform, result): AsyncResult<SuccessOf<NewResultLike>, FailureOf<NewResultLike | ResultLike>>;
        <NewSuccess, NewFailure, Success, Failure>(transform, result): AsyncResult<NewSuccess, NewFailure | Failure>;
    }
      • <NewSuccess, NewFailure, Success, Failure, NewResultLike, ResultLike>(transform): ((result) => AsyncResult<SuccessOf<NewResultLike>, FailureOf<NewResultLike | ResultLike>>)
      • Returns a function that takes a new async result, mapping any success value using the given transformation and unwrapping the produced async result.

        Type Parameters

        • NewSuccess

        • NewFailure

        • Success

        • Failure

        • NewResultLike extends SomeResult<NewSuccess, NewFailure> = SomeResult<NewSuccess, NewFailure>

        • ResultLike extends SomeResult<Success, Failure> = SomeResult<Success, Failure>

        Parameters

        • transform: ((success) => NewResultLike)

          A function that takes the success value of the result.

            • (success): NewResultLike
            • Parameters

              Returns NewResultLike

        Returns ((result) => AsyncResult<SuccessOf<NewResultLike>, FailureOf<NewResultLike | ResultLike>>)

        A function that takes a SomeResult value with the result of evaluating transform as the new failure value if result represents a failure.

      • <Transform>(transform): (<Failure>(result) => AsyncResult<SuccessOf<ReturnType<Transform>>, FailureOf<ReturnType<Transform>> | Failure>)
      • Returns a function that takes a new async result, mapping any success value using the given transformation and unwrapping the produced async result.

        Type Parameters

        Parameters

        • transform: Transform

          A function that takes the success value of the result.

        Returns (<Failure>(result) => AsyncResult<SuccessOf<ReturnType<Transform>>, FailureOf<ReturnType<Transform>> | Failure>)

        A function that takes a SomeResult value with the result of evaluating transform as the new failure value if result represents a failure.

      • <NewSuccess, NewFailure, Success, Failure, NewResultLike, ResultLike>(transform, result): AsyncResult<SuccessOf<NewResultLike>, FailureOf<NewResultLike | ResultLike>>
      • Returns a new async result, mapping any success value using the given transformation and unwrapping the produced async result.

        Type Parameters

        • NewSuccess

        • NewFailure

        • Success

        • Failure

        • NewResultLike extends SomeResult<NewSuccess, NewFailure> = SomeResult<NewSuccess, NewFailure>

        • ResultLike extends SomeResult<Success, Failure> = SomeResult<Success, Failure>

        Parameters

        • transform: ((success) => NewResultLike)

          A function that takes the success value of the result.

            • (success): NewResultLike
            • Parameters

              Returns NewResultLike

        • result: ResultLike

          Original SomeResult.

        Returns AsyncResult<SuccessOf<NewResultLike>, FailureOf<NewResultLike | ResultLike>>

        An AsyncResult value with the result of evaluating transform as the new failure value if result represents a failure.

      • <NewSuccess, NewFailure, Success, Failure>(transform, result): AsyncResult<NewSuccess, NewFailure | Failure>
      • Returns a new async result, mapping any success value using the given transformation and unwrapping the produced async result.

        Type Parameters

        • NewSuccess

        • NewFailure

        • Success

        • Failure

        Parameters

        • transform: ((success) => SomeResult<NewSuccess, NewFailure>)

          A function that takes the success value of the result.

            • (success): SomeResult<NewSuccess, NewFailure>
            • Parameters

              • success: Success

              Returns SomeResult<NewSuccess, NewFailure>

        • result: SomeResult<Success, Failure>

          Original SomeResult.

        Returns AsyncResult<NewSuccess, NewFailure | Failure>

        An AsyncResult value with the result of evaluating transform as the new failure value if result represents a failure.

  • flatMapError: {
        <NewFailure, Success, Failure, NewResultLike, ResultLike>(transform): ((result) => AsyncResult<SuccessOf<ResultLike>, FailureOf<NewResultLike>>);
        <Transform>(transform): (<Success>(result) => AsyncResult<Success, FailureOf<ReturnType<Transform>>>);
        <NewFailure, Success, Failure, NewResultLike, ResultLike>(transform, result): AsyncResult<SuccessOf<ResultLike>, FailureOf<NewResultLike>>;
        <NewFailure, Success, Failure>(transform, result): AsyncResult<Success, NewFailure>;
    }
      • <NewFailure, Success, Failure, NewResultLike, ResultLike>(transform): ((result) => AsyncResult<SuccessOf<ResultLike>, FailureOf<NewResultLike>>)
      • Returns a function that takes a new async result, mapping any failure value using the given transformation and unwrapping the produced async result.

        Type Parameters

        Parameters

        • transform: ((failure) => NewResultLike)

          A function that takes the failure value of the result.

            • (failure): NewResultLike
            • Parameters

              Returns NewResultLike

        Returns ((result) => AsyncResult<SuccessOf<ResultLike>, FailureOf<NewResultLike>>)

        A function that takes a SomeResult value, either from the function or the previoussuccess.

      • <Transform>(transform): (<Success>(result) => AsyncResult<Success, FailureOf<ReturnType<Transform>>>)
      • Returns a function that takes a new async result, mapping any failure value using the given transformation and unwrapping the produced async result.

        Type Parameters

        • Transform extends ((failure) => SomeResult<never, unknown>)

        Parameters

        • transform: Transform

          A function that takes the failure value of the result.

        Returns (<Success>(result) => AsyncResult<Success, FailureOf<ReturnType<Transform>>>)

        A function that takes a SomeResult value, either from the function or the previoussuccess.

      • <NewFailure, Success, Failure, NewResultLike, ResultLike>(transform, result): AsyncResult<SuccessOf<ResultLike>, FailureOf<NewResultLike>>
      • Returns a new async result, mapping any failure value using the given transformation and unwrapping the produced async result.

        Type Parameters

        Parameters

        • transform: ((failure) => NewResultLike)

          A function that takes the failure value of the result.

            • (failure): NewResultLike
            • Parameters

              Returns NewResultLike

        • result: ResultLike

          Original SomeResult.

        Returns AsyncResult<SuccessOf<ResultLike>, FailureOf<NewResultLike>>

        An AsyncResult value, either from the function or the previous success.

      • <NewFailure, Success, Failure>(transform, result): AsyncResult<Success, NewFailure>
      • Returns a new async result, mapping any failure value using the given transformation and unwrapping the produced async result.

        Type Parameters

        • NewFailure

        • Success

        • Failure

        Parameters

        • transform: ((failure) => SomeResult<never, NewFailure>)

          A function that takes the failure value of the result.

            • (failure): SomeResult<never, NewFailure>
            • Parameters

              • failure: Failure

              Returns SomeResult<never, NewFailure>

        • result: SomeResult<Success, Failure>

          Original SomeResult.

        Returns AsyncResult<Success, NewFailure>

        An AsyncResult value, either from the function or the previous success.

  • map: {
        <NewSuccess, Success, Failure, ResultLike>(transform): ((result) => AsyncResult<NewSuccess, FailureOf<ResultLike>>);
        <Transform>(transform): (<Failure>(result) => AsyncResult<ReturnType<Transform>, Failure>);
        <NewSuccess, Success, Failure, ResultLike>(transform, result): AsyncResult<NewSuccess, FailureOf<ResultLike>>;
        <NewSuccess, Success, Failure>(transform, result): AsyncResult<NewSuccess, Failure>;
    }
      • <NewSuccess, Success, Failure, ResultLike>(transform): ((result) => AsyncResult<NewSuccess, FailureOf<ResultLike>>)
      • Returns a function that takes a new async result, mapping any success value using the given transformation.

        Use this method when you need to transform the value of an AsyncResult value when it represents a success.

        Type Parameters

        • NewSuccess

        • Success

        • Failure

        • ResultLike extends SomeResult<Success, Failure> = SomeResult<Success, Failure>

        Parameters

        • transform: ((success) => NewSuccess)

          A function that takes the success value of result.

            • (success): NewSuccess
            • Parameters

              Returns NewSuccess

        Returns ((result) => AsyncResult<NewSuccess, FailureOf<ResultLike>>)

        A function that takes a SomeResult value with the result of evaluating transform as the new success value if result represents a success.

      • <Transform>(transform): (<Failure>(result) => AsyncResult<ReturnType<Transform>, Failure>)
      • Returns a function that takes a new async result, mapping any success value using the given transformation.

        Use this method when you need to transform the value of an AsyncResult value when it represents a success.

        Type Parameters

        • Transform extends ((success) => unknown)

        Parameters

        • transform: Transform

          A function that takes the success value of result.

        Returns (<Failure>(result) => AsyncResult<ReturnType<Transform>, Failure>)

        A function that takes a SomeResult value with the result of evaluating transform as the new success value if result represents a success.

          • <Failure>(result): AsyncResult<ReturnType<Transform>, Failure>
          • Type Parameters

            • Failure

            Parameters

            • result: SomeResult<Parameters<Transform>[0], Failure>

            Returns AsyncResult<ReturnType<Transform>, Failure>

      • <NewSuccess, Success, Failure, ResultLike>(transform, result): AsyncResult<NewSuccess, FailureOf<ResultLike>>
      • Returns a new async result, mapping any success value using the given transformation.

        Use this method when you need to transform the value of an AsyncResult value when it represents a success.

        Type Parameters

        • NewSuccess

        • Success

        • Failure

        • ResultLike extends SomeResult<Success, Failure> = SomeResult<Success, Failure>

        Parameters

        • transform: ((success) => NewSuccess)

          A function that takes the success value of result.

            • (success): NewSuccess
            • Parameters

              Returns NewSuccess

        • result: ResultLike

          Original SomeResult.

        Returns AsyncResult<NewSuccess, FailureOf<ResultLike>>

        An AsyncResult value with the result of evaluating transform as the new success value if result represents a success.

      • <NewSuccess, Success, Failure>(transform, result): AsyncResult<NewSuccess, Failure>
      • Returns a new async result, mapping any success value using the given transformation.

        Use this method when you need to transform the value of an AsyncResult value when it represents a success.

        Type Parameters

        • NewSuccess

        • Success

        • Failure

        Parameters

        • transform: ((success) => NewSuccess)

          A function that takes the success value of result.

            • (success): NewSuccess
            • Parameters

              • success: Success

              Returns NewSuccess

        • result: SomeResult<Success, Failure>

          Original SomeResult.

        Returns AsyncResult<NewSuccess, Failure>

        An AsyncResult value with the result of evaluating transform as the new success value if result represents a success.

  • mapAsync: {
        <NewSuccess, Success, Failure, ResultLike>(transform): ((result) => AsyncResult<NewSuccess, FailureOf<ResultLike>>);
        <Transform>(transform): (<Failure>(result) => AsyncResult<Awaited<ReturnType<Transform>>, Failure>);
        <NewSuccess, Success, Failure, ResultLike>(transform, result): AsyncResult<NewSuccess, FailureOf<ResultLike>>;
        <NewSuccess, Success, Failure>(transform, result): AsyncResult<NewSuccess, Failure>;
    }
      • <NewSuccess, Success, Failure, ResultLike>(transform): ((result) => AsyncResult<NewSuccess, FailureOf<ResultLike>>)
      • Returns a function that takes a new async result, mapping any success value using the given transformation.

        Use this method when you need to transform the value of an AsyncResult value when it represents a success.

        Type Parameters

        • NewSuccess

        • Success

        • Failure

        • ResultLike extends SomeResult<Success, Failure> = SomeResult<Success, Failure>

        Parameters

        • transform: ((success) => Promise<NewSuccess>)

          An async function that takes the success value of result.

            • (success): Promise<NewSuccess>
            • Parameters

              Returns Promise<NewSuccess>

        Returns ((result) => AsyncResult<NewSuccess, FailureOf<ResultLike>>)

        A function that takes a SomeResult value with the result of evaluating transform as the new success value if result represents a success.

      • <Transform>(transform): (<Failure>(result) => AsyncResult<Awaited<ReturnType<Transform>>, Failure>)
      • Returns a function that takes a new async result, mapping any success value using the given transformation.

        Use this method when you need to transform the value of an AsyncResult value when it represents a success.

        Type Parameters

        • Transform extends ((success) => Promise<unknown>)

        Parameters

        • transform: Transform

          An async function that takes the success value of result.

        Returns (<Failure>(result) => AsyncResult<Awaited<ReturnType<Transform>>, Failure>)

        A function that takes a SomeResult value with the result of evaluating transform as the new success value if result represents a success.

          • <Failure>(result): AsyncResult<Awaited<ReturnType<Transform>>, Failure>
          • Type Parameters

            • Failure

            Parameters

            • result: SomeResult<Parameters<Transform>[0], Failure>

            Returns AsyncResult<Awaited<ReturnType<Transform>>, Failure>

      • <NewSuccess, Success, Failure, ResultLike>(transform, result): AsyncResult<NewSuccess, FailureOf<ResultLike>>
      • Returns a new async result, mapping any success value using the given transformation.

        Use this method when you need to transform the value of an AsyncResult value when it represents a success.

        Type Parameters

        • NewSuccess

        • Success

        • Failure

        • ResultLike extends SomeResult<Success, Failure> = SomeResult<Success, Failure>

        Parameters

        • transform: ((success) => Promise<NewSuccess>)

          An async function that takes the success value of result.

            • (success): Promise<NewSuccess>
            • Parameters

              Returns Promise<NewSuccess>

        • result: ResultLike

          Original SomeResult.

        Returns AsyncResult<NewSuccess, FailureOf<ResultLike>>

        An AsyncResult value with the result of evaluating transform as the new success value if result represents a success.

      • <NewSuccess, Success, Failure>(transform, result): AsyncResult<NewSuccess, Failure>
      • Returns a new async result, mapping any success value using the given transformation.

        Use this method when you need to transform the value of an AsyncResult value when it represents a success.

        Type Parameters

        • NewSuccess

        • Success

        • Failure

        Parameters

        • transform: ((success) => Promise<NewSuccess>)

          An async function that takes the success value of result.

            • (success): Promise<NewSuccess>
            • Parameters

              • success: Success

              Returns Promise<NewSuccess>

        • result: SomeResult<Success, Failure>

          Original SomeResult.

        Returns AsyncResult<NewSuccess, Failure>

        An AsyncResult value with the result of evaluating transform as the new success value if result represents a success.

  • mapError: {
        <NewFailure, Success, Failure, ResultLike>(transform): ((result) => AsyncResult<SuccessOf<ResultLike>, NewFailure>);
        <Transform>(transform): (<Success>(result) => AsyncResult<Success, ReturnType<Transform>>);
        <NewFailure, Success, Failure, ResultLike>(transform, result): AsyncResult<SuccessOf<ResultLike>, NewFailure>;
        <NewFailure, Success, Failure>(transform, result): AsyncResult<Success, NewFailure>;
    }
      • <NewFailure, Success, Failure, ResultLike>(transform): ((result) => AsyncResult<SuccessOf<ResultLike>, NewFailure>)
      • Returns a function that takes an async result, mapping any failure value using the given transformation.

        Use this method when you need to transform the value of an AsyncResult value when it represents a failure.

        Type Parameters

        • NewFailure

        • Success

        • Failure

        • ResultLike extends SomeResult<Success, Failure> = SomeResult<Success, Failure>

        Parameters

        • transform: ((failure) => NewFailure)

          A function that takes the failure value of the result.

            • (failure): NewFailure
            • Parameters

              Returns NewFailure

        Returns ((result) => AsyncResult<SuccessOf<ResultLike>, NewFailure>)

        A function that takes SomeResult value with the result of evaluating transform as the new failure value if result represents a failure.

      • <Transform>(transform): (<Success>(result) => AsyncResult<Success, ReturnType<Transform>>)
      • Returns a function that takes an async result, mapping any failure value using the given transformation.

        Use this method when you need to transform the value of an AsyncResult value when it represents a failure.

        Type Parameters

        • Transform extends ((failure) => unknown)

        Parameters

        • transform: Transform

          A function that takes the failure value of the result.

        Returns (<Success>(result) => AsyncResult<Success, ReturnType<Transform>>)

        A function that takes SomeResult value with the result of evaluating transform as the new failure value if result represents a failure.

          • <Success>(result): AsyncResult<Success, ReturnType<Transform>>
          • Type Parameters

            • Success

            Parameters

            • result: SomeResult<Success, Parameters<Transform>[0]>

            Returns AsyncResult<Success, ReturnType<Transform>>

      • <NewFailure, Success, Failure, ResultLike>(transform, result): AsyncResult<SuccessOf<ResultLike>, NewFailure>
      • Returns a new async result, mapping any failure value using the given transformation.

        Use this method when you need to transform the value of an AsyncResult value when it represents a failure.

        Type Parameters

        • NewFailure

        • Success

        • Failure

        • ResultLike extends SomeResult<Success, Failure> = SomeResult<Success, Failure>

        Parameters

        • transform: ((failure) => NewFailure)

          A function that takes the failure value of the result.

            • (failure): NewFailure
            • Parameters

              Returns NewFailure

        • result: ResultLike

          Original SomeResult.

        Returns AsyncResult<SuccessOf<ResultLike>, NewFailure>

        An AsyncResult value with the result of evaluating transform as the new failure value if result represents a failure.

      • <NewFailure, Success, Failure>(transform, result): AsyncResult<Success, NewFailure>
      • Returns a new async result, mapping any failure value using the given transformation.

        Use this method when you need to transform the value of an AsyncResult value when it represents a failure.

        Type Parameters

        • NewFailure

        • Success

        • Failure

        Parameters

        • transform: ((failure) => NewFailure)

          A function that takes the failure value of the result.

            • (failure): NewFailure
            • Parameters

              • failure: Failure

              Returns NewFailure

        • result: SomeResult<Success, Failure>

          Original SomeResult.

        Returns AsyncResult<Success, NewFailure>

        An AsyncResult value with the result of evaluating transform as the new failure value if result represents a failure.

  • mapErrorAsync: {
        <NewFailure, Success, Failure, ResultLike>(transform): ((result) => AsyncResult<SuccessOf<ResultLike>, NewFailure>);
        <Transform>(transform): (<Success>(result) => AsyncResult<Success, Awaited<ReturnType<Transform>>>);
        <NewFailure, Success, Failure, ResultLike>(transform, result): AsyncResult<SuccessOf<ResultLike>, NewFailure>;
        <NewFailure, Success, Failure>(transform, result): AsyncResult<Success, NewFailure>;
    }
      • <NewFailure, Success, Failure, ResultLike>(transform): ((result) => AsyncResult<SuccessOf<ResultLike>, NewFailure>)
      • Returns a function that takes an async result, mapping any failure value using the given transformation.

        Use this method when you need to transform the value of an AsyncResult value when it represents a failure.

        Type Parameters

        • NewFailure

        • Success

        • Failure

        • ResultLike extends SomeResult<Success, Failure> = SomeResult<Success, Failure>

        Parameters

        • transform: ((failure) => Promise<NewFailure>)

          An async function that takes the failure value of the result.

            • (failure): Promise<NewFailure>
            • Parameters

              Returns Promise<NewFailure>

        Returns ((result) => AsyncResult<SuccessOf<ResultLike>, NewFailure>)

        A function that takes SomeResult value with the result of evaluating transform as the new failure value if result represents a failure.

      • <Transform>(transform): (<Success>(result) => AsyncResult<Success, Awaited<ReturnType<Transform>>>)
      • Returns a function that takes an async result, mapping any failure value using the given transformation.

        Use this method when you need to transform the value of an AsyncResult value when it represents a failure.

        Type Parameters

        • Transform extends ((failure) => Promise<unknown>)

        Parameters

        • transform: Transform

          An async function that takes the failure value of the result.

        Returns (<Success>(result) => AsyncResult<Success, Awaited<ReturnType<Transform>>>)

        A function that takes SomeResult value with the result of evaluating transform as the new failure value if result represents a failure.

          • <Success>(result): AsyncResult<Success, Awaited<ReturnType<Transform>>>
          • Type Parameters

            • Success

            Parameters

            • result: SomeResult<Success, Parameters<Transform>[0]>

            Returns AsyncResult<Success, Awaited<ReturnType<Transform>>>

      • <NewFailure, Success, Failure, ResultLike>(transform, result): AsyncResult<SuccessOf<ResultLike>, NewFailure>
      • Returns a new async result, mapping any failure value using the given transformation.

        Use this method when you need to transform the value of an AsyncResult value when it represents a failure.

        Type Parameters

        • NewFailure

        • Success

        • Failure

        • ResultLike extends SomeResult<Success, Failure> = SomeResult<Success, Failure>

        Parameters

        • transform: ((failure) => Promise<NewFailure>)

          An async function that takes the failure value of the result.

            • (failure): Promise<NewFailure>
            • Parameters

              Returns Promise<NewFailure>

        • result: ResultLike

          Original SomeResult.

        Returns AsyncResult<SuccessOf<ResultLike>, NewFailure>

        An AsyncResult value with the result of evaluating transform as the new failure value if result represents a failure.

      • <NewFailure, Success, Failure>(transform, result): AsyncResult<Success, NewFailure>
      • Returns a new async result, mapping any failure value using the given transformation.

        Use this method when you need to transform the value of an AsyncResult value when it represents a failure.

        Type Parameters

        • NewFailure

        • Success

        • Failure

        Parameters

        • transform: ((failure) => Promise<NewFailure>)

          An async function that takes the failure value of the result.

            • (failure): Promise<NewFailure>
            • Parameters

              • failure: Failure

              Returns Promise<NewFailure>

        • result: SomeResult<Success, Failure>

          Original SomeResult.

        Returns AsyncResult<Success, NewFailure>

        An AsyncResult value with the result of evaluating transform as the new failure value if result represents a failure.

  • match: {
        <ResultLike, MatcherLike>(transform): ((result) => MatcherLike extends Matcher<ResultLike, infer Match>
            ? Promise<Match>
            : never);
        <ResultLike, MatcherLike>(transform, result): MatcherLike extends Matcher<ResultLike, infer Match>
            ? Promise<Match>
            : never;
        <ResultLike, MatcherLike>(transform, result): MatcherLike extends Matcher<ResultLike, infer Match>
            ? Promise<Match>
            : never;
        <ResultLike, MatcherLike>(transform): ((result) => MatcherLike extends Matcher<ResultLike, infer Match>
            ? Promise<Match>
            : never);
    }
      • <ResultLike, MatcherLike>(transform): ((result) => MatcherLike extends Matcher<ResultLike, infer Match>
            ? Promise<Match>
            : never)
      • Unwraps result and transforms success and failure values or returns a default value if needed transform is not provided

        Type Parameters

        Parameters

        • transform: MatcherLike

          Success & failure transformers and default value

        Returns ((result) => MatcherLike extends Matcher<ResultLike, infer Match>
            ? Promise<Match>
            : never)

        A function that takes a SomeResult and returns a promise with transformed wrapped value or default value

          • (result): MatcherLike extends Matcher<ResultLike, infer Match>
                ? Promise<Match>
                : never
          • Parameters

            • result: ResultLike

            Returns MatcherLike extends Matcher<ResultLike, infer Match>
                ? Promise<Match>
                : never

      • <ResultLike, MatcherLike>(transform, result): MatcherLike extends Matcher<ResultLike, infer Match>
            ? Promise<Match>
            : never
      • Unwraps result and transforms success and failure values or returns a default value if needed transform is not provided

        Type Parameters

        Parameters

        • transform: MatcherLike

          Success & failure transformers and default value

        • result: ResultLike

          A SomeResult to unwrap

        Returns MatcherLike extends Matcher<ResultLike, infer Match>
            ? Promise<Match>
            : never

        A promise with transformed wrapped value or default value

      • <ResultLike, MatcherLike>(transform, result): MatcherLike extends Matcher<ResultLike, infer Match>
            ? Promise<Match>
            : never
      • Unwraps result and transforms success and failure values or returns a default value if needed transform is not provided

        Additional siganture for generic results

        Type Parameters

        Parameters

        • transform: MatcherLike

          Success & failure transformers and default value

        • result: ResultLike

        Returns MatcherLike extends Matcher<ResultLike, infer Match>
            ? Promise<Match>
            : never

        A function that takes a SomeResult and returns a promise with transformed wrapped value or default value

      • <ResultLike, MatcherLike>(transform): ((result) => MatcherLike extends Matcher<ResultLike, infer Match>
            ? Promise<Match>
            : never)
      • Unwraps result and transforms success and failure values or returns a default value if needed transform is not provided

        Additional siganture for generic results

        Type Parameters

        Parameters

        • transform: MatcherLike

          Success & failure transformers and default value

        Returns ((result) => MatcherLike extends Matcher<ResultLike, infer Match>
            ? Promise<Match>
            : never)

        A promise with transformed wrapped value or default value

          • (result): MatcherLike extends Matcher<ResultLike, infer Match>
                ? Promise<Match>
                : never
          • Parameters

            • result: ResultLike

            Returns MatcherLike extends Matcher<ResultLike, infer Match>
                ? Promise<Match>
                : never

Generated using TypeDoc