Skip to content

unwrapResultOk

Unwraps the success value from a Result, converting Ok(value) to value and Err to undefined.

Timeline of observable events42Err7
unwrapResultOk()
Timeline of observable events42·7
// Timeline:
//
// result$ Ok(42) Err("e") Ok(7)
// unwrapped$ 42 undefined 7
//
// Explanation:
// - unwrapResultOk converts Ok(value) to value, and Err to undefined
// - Useful for extracting success values from Result streams
const result$ = source<Result<number, string>>();
const unwrapped$ = result$.pipe(unwrapResultOk());
const valueHistory: (number | undefined)[] = [];
unwrapped$.subscribe((v) => {
valueHistory.push(v);
});
result$.next(Result.ok(42));
assert.deepStrictEqual(valueHistory, [42]);
result$.next(Result.err('e'));
assert.deepStrictEqual(valueHistory, [42, undefined]);
result$.next(Result.ok(7));
assert.deepStrictEqual(valueHistory, [42, undefined, 7]);

View source on GitHub