Variable Result

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

Type declaration

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

        Type Parameters

        • ResultLike extends Result<unknown, unknown>

        • 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

          Results to combine

        Returns Result<Successes, Failure>

        A Result that holds a tuple of successes or a single failure

      • <ResultLike, Results, Successes, Args, Failure>(...results): Args extends CombineArray<undefined>
            ? (() => Result<Successes, Failure>)
            : ((args) => Result<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 Result<unknown, unknown>

        • 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>
            ? (() => Result<Successes, Failure>)
            : ((args) => Result<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

  • Readonly failure: (<Failure>(failure) => FailureResult<Failure>)
      • <Failure>(failure): FailureResult<Failure>
      • A failure, storing a Failure value.

        Type Parameters

        • Failure

        Parameters

        • failure: Failure

        Returns FailureResult<Failure>

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

        Type Parameters

        • NewSuccess

        • NewFailure

        • Success

        • Failure

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

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

        Parameters

        • transform: ((success) => NewResultLike)

          A function that takes a success value of the result.

            • (success): NewResultLike
            • Parameters

              Returns NewResultLike

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

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

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

        Type Parameters

        • Transform extends ((success) => Result<unknown, unknown>)

        Parameters

        • transform: Transform

          A function that takes a success value of the result.

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

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

          • <Failure>(result): Result<SuccessOf<ReturnType<Transform>>, FailureOf<ReturnType<Transform>> | Failure>
          • Type Parameters

            • Failure

            Parameters

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

            Returns Result<SuccessOf<ReturnType<Transform>>, FailureOf<ReturnType<Transform>> | Failure>

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

        Type Parameters

        • NewSuccess

        • NewFailure

        • Success

        • Failure

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

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

        Parameters

        • transform: ((success) => NewResultLike)

          A function that takes a success value of the result and returns another Result.

            • (success): NewResultLike
            • Parameters

              Returns NewResultLike

        • result: ResultLike

          Original Result.

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

        A Result value with the result of evaluating transform as the new failure value if result represents a failure.

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

        Type Parameters

        • NewSuccess

        • NewFailure

        • Success

        • Failure

        Parameters

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

          A function that takes a success value of the result and returns another Result.

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

              • success: Success

              Returns Result<NewSuccess, NewFailure>

        • result: Result<Success, Failure>

          Original Result.

        Returns Result<NewSuccess, NewFailure | Failure>

        A Result 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) => Result<SuccessOf<ResultLike>, FailureOf<NewResultLike>>);
        <Transform>(transform): (<Success>(result) => Result<Success, FailureOf<ReturnType<Transform>>>);
        <NewFailure, Success, Failure, NewResultLike, ResultLike>(transform, result): Result<SuccessOf<ResultLike>, FailureOf<NewResultLike>>;
        <NewFailure, Success, Failure>(transform, result): Result<Success, NewFailure>;
    }
      • <NewFailure, Success, Failure, NewResultLike, ResultLike>(transform): ((result) => Result<SuccessOf<ResultLike>, FailureOf<NewResultLike>>)
      • Returns a function that takes a new result, mapping any failure value using the given transformation and unwrapping the produced result.

        Type Parameters

        • NewFailure

        • Success

        • Failure

        • NewResultLike extends Result<never, NewFailure> = Result<never, NewFailure>

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

        Parameters

        • transform: ((failure) => NewResultLike)

          A function that takes the failure value of the result.

            • (failure): NewResultLike
            • Parameters

              Returns NewResultLike

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

        A function that takes a Result value, either from the function or the previous success.

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

        Type Parameters

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

        Parameters

        • transform: Transform

          A function that takes the failure value of the result.

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

        A function that takes a Result value, either from the function or the previous success.

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

            • Success

            Parameters

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

            Returns Result<Success, FailureOf<ReturnType<Transform>>>

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

        Type Parameters

        • NewFailure

        • Success

        • Failure

        • NewResultLike extends Result<never, NewFailure> = Result<never, NewFailure>

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

        Parameters

        • transform: ((failure) => NewResultLike)

          A function that takes the failure value of the result.

            • (failure): NewResultLike
            • Parameters

              Returns NewResultLike

        • result: ResultLike

          Original Result.

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

        A Result value, either from the function or the previous success.

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

        Type Parameters

        • NewFailure

        • Success

        • Failure

        Parameters

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

          A function that takes the failure value of the result.

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

              • failure: Failure

              Returns Result<never, NewFailure>

        • result: Result<Success, Failure>

          Original Result.

        Returns Result<Success, NewFailure>

        A Result value, either from the function or the previous success.

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

        Use this method when you need to transform the value of a Result value when it represents a success. The following example transforms the number success value of a result into a string:

         function getNextNumber(): Result<number, Error> { ... }

        const numberResult = getNextNumber()
        // numberResult == Result.success(5)
        const stringResult = Result.map((value) => `${value}`)(numberResult)
        // stringResult == Result.success('5')

        Type Parameters

        • NewSuccess

        • Success

        • Failure

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

        Parameters

        • transform: ((success) => NewSuccess)

          A function that takes the success value of result.

            • (success): NewSuccess
            • Parameters

              Returns NewSuccess

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

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

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

        Use this method when you need to transform the value of a Result value when it represents a success. The following example transforms the number success value of a result into a string:

         function getNextNumber(): Result<number, Error> { ... }

        const numberResult = getNextNumber()
        // numberResult == Result.success(5)
        const stringResult = Result.map((value) => `${value}`)(numberResult)
        // stringResult == Result.success('5')

        Type Parameters

        • Transform extends ((success) => unknown)

        Parameters

        • transform: Transform

          A function that takes the success value of result.

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

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

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

            • Failure

            Parameters

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

            Returns Result<ReturnType<Transform>, Failure>

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

        Use this method when you need to transform the value of a Result value when it represents a success. The following example transforms the number success value of a result into a string:

         function getNextNumber(): Result<number, Error> { ... }

        const numberResult = getNextNumber()
        // numberResult == Result.success(5)
        const stringResult = Result.map((value) => `${value}`, numberResult)
        // stringResult == Result.success('5')

        Type Parameters

        • NewSuccess

        • Success

        • Failure

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

        Parameters

        • transform: ((success) => NewSuccess)

          A function that takes the success value of result.

            • (success): NewSuccess
            • Parameters

              Returns NewSuccess

        • result: ResultLike

          Original Result.

        Returns Result<NewSuccess, FailureOf<ResultLike>>

        A Result value with the result of evaluating transform as the new success value if result represents a success.

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

        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: Result<Success, Failure>

          Original Result.

        Returns Result<NewSuccess, Failure>

        A Result value with the result of evaluating transform as the new success value if result represents a success.

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

        Use this method when you need to transform the value of a Result value when it represents a failure. The following example transforms the error value of a result by wrapping it in a custom Error type:

         class DatedError extends Error {
        readonly date: Date = new Date()
        }

        const result: Result<number, Error> = // ...
        // result == Result.failure(<error value>)
        const resultWithDatedError = Result.mapError((value) => new DatedError(value.message))(result)
        // result == Result.failure(DatedError(date: <date>))

        Type Parameters

        • NewFailure

        • Success

        • Failure

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

        Parameters

        • transform: ((failure) => NewFailure)

          A function that takes the failure value of the result.

            • (failure): NewFailure
            • Parameters

              Returns NewFailure

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

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

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

        Use this method when you need to transform the value of a Result value when it represents a failure. The following example transforms the error value of a result by wrapping it in a custom Error type:

         class DatedError extends Error {
        readonly date: Date = new Date()
        }

        const result: Result<number, Error> = // ...
        // result == Result.failure(<error value>)
        const resultWithDatedError = Result.mapError((value) => new DatedError(value.message))(result)
        // result == Result.failure(DatedError(date: <date>))

        Type Parameters

        • Transform extends ((failure) => unknown)

        Parameters

        • transform: Transform

          A function that takes the failure value of the result.

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

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

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

            • Success

            Parameters

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

            Returns Result<Success, ReturnType<Transform>>

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

        Use this method when you need to transform the value of a Result value when it represents a failure. The following example transforms the error value of a result by wrapping it in a custom Error type:

         class DatedError extends Error {
        readonly date: Date = new Date()
        }

        const result: Result<number, Error> = // ...
        // result == Result.failure(<error value>)
        const resultWithDatedError = Result.mapError((value) => new DatedError(value.message), result)
        // result == Result.failure(DatedError(date: <date>))

        Type Parameters

        • NewFailure

        • Success

        • Failure

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

        Parameters

        • transform: ((failure) => NewFailure)

          A function that takes the failure value of the result.

            • (failure): NewFailure
            • Parameters

              Returns NewFailure

        • result: ResultLike

          Original Result.

        Returns Result<SuccessOf<ResultLike>, NewFailure>

        A Result value with the result of evaluating transform as the new failure value if result represents a failure.

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

        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: Result<Success, Failure>

          Original Result.

        Returns Result<Success, NewFailure>

        A Result 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>
            ? Match
            : never);
        <ResultLike, MatcherLike>(transform, result): MatcherLike extends Matcher<ResultLike, infer Match>
            ? Match
            : never;
        <ResultLike, MatcherLike>(transform, result): MatcherLike extends Matcher<ResultLike, infer Match>
            ? Match
            : never;
        <ResultLike, MatcherLike>(transform): ((result) => MatcherLike extends Matcher<ResultLike, infer Match>
            ? Match
            : never);
    }
      • <ResultLike, MatcherLike>(transform): ((result) => MatcherLike extends Matcher<ResultLike, infer Match>
            ? Match
            : never)
      • Unwraps result and transforms success and failure values or returns a default value if needed transform is not provided

        Type Parameters

        • ResultLike extends Result<unknown, unknown>

        • MatcherLike extends SuccessResultMatcher<SuccessOf<ResultLike>, unknown> | FailureResultMatcher<FailureOf<ResultLike>, unknown> | ResultMatcher<SuccessOf<ResultLike>, FailureOf<ResultLike>, unknown>

        Parameters

        • transform: MatcherLike

          Success & failure transformers and default value

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

        A function that takes a Result and returns transformed wrapped value or default value

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

            • result: ResultLike

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

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

        Type Parameters

        • ResultLike extends Result<unknown, unknown>

        • MatcherLike extends SuccessResultMatcher<SuccessOf<ResultLike>, unknown> | FailureResultMatcher<FailureOf<ResultLike>, unknown> | ResultMatcher<SuccessOf<ResultLike>, FailureOf<ResultLike>, unknown>

        Parameters

        • transform: MatcherLike

          Success & failure transformers and default value

        • result: ResultLike

          A Result to unwrap

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

        Transformed wrapped value or default value

      • <ResultLike, MatcherLike>(transform, result): MatcherLike extends Matcher<ResultLike, infer Match>
            ? 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

        • ResultLike extends Result<unknown, unknown>

        • MatcherLike extends ResultMatcher<SuccessOf<ResultLike>, FailureOf<ResultLike>, unknown>

        Parameters

        • transform: MatcherLike

          Success & failure transformers and default value

        • result: ResultLike

          A Result to unwrap

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

        Transformed wrapped value or default value

      • <ResultLike, MatcherLike>(transform): ((result) => MatcherLike extends Matcher<ResultLike, infer Match>
            ? 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

        • ResultLike extends Result<unknown, unknown>

        • MatcherLike extends ResultMatcher<SuccessOf<ResultLike>, FailureOf<ResultLike>, unknown>

        Parameters

        • transform: MatcherLike

          Success & failure transformers and default value

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

        A function that takes a Result and returns transformed wrapped value or default value

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

            • result: ResultLike

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

  • Readonly success: (<Success>(success) => SuccessResult<Success>)
      • <Success>(success): SuccessResult<Success>
      • A success, storing a Success value.

        Type Parameters

        • Success

        Parameters

        • success: Success

        Returns SuccessResult<Success>

Generated using TypeDoc