ts-toolbelt
https://raw.githubusercontent.com/pirix-gh/ts-toolbelt/master/.github/logo.png
TypeScriptの型ユーティリティライブラリ
これ基本的に型宣言空間で便利なユーティリティライブラリって印象
Docs
github
tutorial
便利そうなもの
Class
Function
Arrow
関数型を生成
いちいち引数に引数名を指定しなくてよいのは良いかも
F.Arrow<[string, number], boolean>;
ParamsOf
型引数に関数のkeyを取り、その関数の引数の全ての方を取得する
Object
おもしろそうだが使い方がわからない
PIPE
tutorial
複数引数を持つ関数を引数に取ってカリー化した関数を返すcurry(fn)という関数がある?
Ramdajsにも似たようなものがあるが引数の数が限定されている
v0.26では引数は6個までref
タプル型
タプルは要素数が決まっているので配列の型で表現できる
ちゃうわ
もうないみたいだけどHasTailの定義学び
code:ts
export type HasTail<T extends ReadonlyArray<any>> = T extends ([] | any)
? false
: true;
[] | [any]で配列が空、配列だが中身がnullまたはundefinedの時を表現
https://medium.com/free-code-camp/typescript-curry-ramda-types-f747e99744ab
思いの外記事が長かった
curry v0から読む