見出し画像

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.


デモコードです。


簡単ですが、以上です。


いいなと思ったら応援しよう!