mapResultOk
ソースから発行される Result 型の成功値(Ok)を変換します。
値が Ok の場合はマッピング関数が適用され、Err の場合はそのまま維持されます。
Marble Diagram
Section titled “Marble Diagram”mapResultOk(x => x * 2)
// Timeline://// result$ Ok(2) Err("e") Ok(5)// doubled$ Ok(4) Err("e") Ok(10)//// Explanation:// - mapResultOk transforms the Ok value of Result emissions// - Err values pass through unchanged
const result$ = source<Result<number, string>>();
const doubled$ = result$.pipe(mapResultOk((x) => x * 2));
const valueHistory: Result<number, string>[] = [];
doubled$.subscribe((v) => { valueHistory.push(v);});
result$.next(Result.ok(2));
assert.deepStrictEqual(valueHistory, [Result.ok(4)]);
result$.next(Result.err('e'));
assert.deepStrictEqual(valueHistory, [Result.ok(4), Result.err('e')]);
result$.next(Result.ok(5));
assert.deepStrictEqual(valueHistory, [ Result.ok(4), Result.err('e'), Result.ok(10),]);