ts-fp
型付き関数型プログラミング用のTypeScript(javascript)ライブラリ。
https://github.com/gcanti/fp-ts
API
よく使いそうなAPIを例と一緒に紹介。
Either<L, A>
エラー処理をtry-catch
を書かずにメソッドチェーンだけで実装できる。
1つ目の型パラメータはエラー時に返される型、2つ目は正常終了時に返される型となる。
例:
const isNumber = (value: any): Either<string, number> => {
if(value typeof number){
// 正常終了時
return right(value as number)
} else {
// エラー時
return left("not number!!!")
}
}
isNumber(123)
.fold(
(left: string) => console.error(left)
(right: number) => console.log(right)
)
Either
を返す関数は、正常時にright()
、エラー時にleft()
を返すように実装する。
利用側はfold()
を読んで正常時、エラー時それぞれの処理を書くのが基本的な使い方になる。
- Higher-kind Generics: 型を受け取って型を返す関数