logo
byethrow
Guide
Examples
API Reference
Guide
Examples
API Reference
logo
byethrow
@praha/byethrow

Modules

Result

Types

Type Alias: Failure<E>
Type Alias: InferFailure<T>
Type Alias: InferSuccess<T>
Type Alias: Result<T, E>
Type Alias: ResultAsync<T, E>
Type Alias: ResultFor<R, T, E>
Type Alias: ResultMaybeAsync<T, E>
Type Alias: Success<T>

Functions

Function: andThen()
Function: andThrough()
Function: assertFailure()
Function: assertSuccess()
Function: bind()
Function: combine()
Function: do()
Function: fail()
Function: inspect()
Function: inspectError()
Function: isFailure()
Function: isResult()
Function: isSuccess()
Function: map()
Function: mapError()
Function: orElse()
Function: parse()
Function: pipe()
Function: succeed()
Function: try()
Function: unwrap()
Function: unwrapError()

Last Updated:

Previous PageFunction: map()
Next PageFunction: orElse()

#Function: mapError()

Applies a transformation function to the error value of a Result or ResultAsync. If the input is a Success, it will be returned unchanged.

#Type Param

The input Result or ResultAsync.

#Type Param

The transformed error value type.

#Examples

import { 
import Result
Result
} from '@praha/byethrow';
const
const result: Result.Result<never, Error>
result
=
import Result
Result
.
const pipe: <Result.Result<never, string>, Result.Result<never, Error>>(a: Result.Result<never, string>, ab: (a: Result.Result<never, string>) => Result.Result<never, Error>) => Result.Result<never, Error> (+25 overloads)
pipe
(
import Result
Result
.
const fail: <string>(error: string) => Result.Result<never, string> (+1 overload)
fail
('NotFound'),
import Result
Result
.
const mapError: <Result.Result<never, string>, Error>(fn: (a: string) => Error) => (result: Result.Result<never, string>) => Result.Result<never, Error> (+1 overload)
mapError
((
error: string
error
) => new
var Error: ErrorConstructor
new (message?: string, options?: ErrorOptions) => Error (+1 overload)
Error
(
error: string
error
)),
); // { type: 'Failure', error: Error('NotFound') }
import { 
import Result
Result
} from '@praha/byethrow';
const
const result: Result.Result<number, Error>
result
=
import Result
Result
.
const pipe: <Result.Result<number, never>, Result.Result<number, Error>>(a: Result.Result<number, never>, ab: (a: Result.Result<number, never>) => Result.Result<number, Error>) => Result.Result<number, Error> (+25 overloads)
pipe
(
import Result
Result
.
const succeed: <number>(value: number) => Result.Result<number, never> (+1 overload)
succeed
(123),
import Result
Result
.
const mapError: <Result.Result<number, never>, Error>(fn: (a: never) => Error) => (result: Result.Result<number, never>) => Result.Result<number, Error> (+1 overload)
mapError
((
error: never
error
) => new
var Error: ErrorConstructor
new (message?: string, options?: ErrorOptions) => Error (+1 overload)
Error
(
error: never
error
)),
); // { type: 'Success', value: 123 }

#See

pipe - It is recommended to use this function with the pipe function for better readability and composability.

#Call Signature

mapError<R1, E2>(fn): (result) => ResultFor<R1, InferSuccess<R1>, E2>

Defined in: functions/map-error.ts:44

#Type Parameters

#R1

R1 extends ResultMaybeAsync<any, any>

#E2

E2

#Parameters

#fn

(a) => E2

#Returns

(result): ResultFor<R1, InferSuccess<R1>, E2>

#Parameters

#result

R1

#Returns

ResultFor<R1, InferSuccess<R1>, E2>

#Call Signature

mapError<E1, E2>(fn): <R1>(result) => ResultFor<R1, InferSuccess<R1>, E2>

Defined in: functions/map-error.ts:45

#Type Parameters

#E1

E1

#E2

E2

#Parameters

#fn

(a) => E2

#Returns

<R1>(result): ResultFor<R1, InferSuccess<R1>, E2>

#Type Parameters

#R1

R1 extends ResultMaybeAsync<any, E1>

#Parameters

#result

R1

#Returns

ResultFor<R1, InferSuccess<R1>, E2>