Optional型のNullishデータにおけるfp-tsライブラリのDo notation挙動確認
こんにちわ。nap5です。
Optional型のNullishデータにおけるfp-tsライブラリのDo notation挙動確認をしてみたので、その紹介です。
観測できた挙動としてはbindで束縛したすべて結果データ値がnullish(null or undefined)でないときにデフォルト値以外の計算された値を出力することができました。
import { pipe } from "fp-ts/lib/function";
import * as O from "fp-ts/lib/Option";
(async () => {
const doA = O.fromNullable("Cowboy");
const doB = O.fromNullable("");
const doC = O.fromNullable("Bebop");
const result = pipe(
O.Do,
O.bind("cowboy", () => doA),
O.bind("and", () => doB),
O.bind("bebop", () => doC),
O.map(({ cowboy, and, bebop }) => `This is ${cowboy} ${bebop}.`),
O.getOrElse(() => `This is default value.`)
);
console.log(result);
})();
// output
// This is Cowboy Bebop.
デモコードです。
簡単ですが、以上です。