ts-pattern
例
code:ts
type Animal = "Cat" | "Dog";
const say = (animal: Animal) => {
return match(animal)
.with("Cat", () => "にゃー")
.with("Dog", () => "わん")
.exhaustive(); // 漏れチェック
};
Haskell風に書くとこんなイメージ
code:hs
say :: Animal -> String
say Cat = "にゃー"
say Dog = "わん"
面白いし、良さそうだけど記法が独特すぎるmrsekut.icon
fp-ts同様、libraryへの依存が激しくなりそう
普通にswtich文で書いたほうが明快では
ただ、patternが複合的になったときは楽そう
swtich文だとネストするしか無いのでたしかにダルい
言うても2重ネストぐらいにしかならないことが多いが
switch文と違って、式になるのは良いですね