A new Result<S2, UnwrapErr<R>>
.
const okNumber = Result.ok(5);
const errMessage = Result.err('error');
const doubled = Result.map(okNumber, (value) => value * 2);
const untouchedError = Result.map(errMessage, (value: number) => value * 2);
assert.deepStrictEqual(doubled, Result.ok(10));
assert.deepStrictEqual(untouchedError, errMessage);
const mapToLength = Result.map((text: string) => text.length);
assert.deepStrictEqual(mapToLength(Result.ok('abc')), Result.ok(3));
assert.deepStrictEqual(mapToLength(Result.err('bad')), Result.err('bad'));
Maps a Result<S, E>
to Result<S2, E>
by applying a function to the
success value. If the Result
is Result.Err
, returns the original
Err
.
The type of the success value returned by the mapping function.
A new Result<S2, UnwrapErr<R>>
.
const okNumber = Result.ok(5);
const errMessage = Result.err('error');
const doubled = Result.map(okNumber, (value) => value * 2);
const untouchedError = Result.map(errMessage, (value: number) => value * 2);
assert.deepStrictEqual(doubled, Result.ok(10));
assert.deepStrictEqual(untouchedError, errMessage);
const mapToLength = Result.map((text: string) => text.length);
assert.deepStrictEqual(mapToLength(Result.ok('abc')), Result.ok(3));
assert.deepStrictEqual(mapToLength(Result.err('bad')), Result.err('bad'));
Maps a
Result<S, E>
toResult<S2, E>
by applying a function to the success value. If theResult
isResult.Err
, returns the originalErr
.