10月にType or Treat Challengesというのがありました。これはこれで面白いと思うので、やってみてください。
今回のテーマはその時に見つけたATAというものです。
Day 1 Challengesの課題を開くと、
import {typeifyAPI} from "type-or-treat"
というimport文があります。おおお、importって使えるのか、と今さらながら知りました。
consoleを覗いてみると、
ATA start
...
ATA done
というのを見つけました。ATAって何でしょう?
色々検索したところ、
これを見つけました。"Automatic Type Acquisition"の略のようです。なんとnpm上のバージョンやタグも指定することができるようです。
何か具体的なもので試してみましょう。jotaiを題材にしてみましょう。
まず、import。できちゃいました。
countAtom
を定義してみます。
マウスオーバーすると、ちゃんと型が取れてます。
この型は、PrimitiveAtomなのですが、そう表示はされないんですね。改善の余地ありです。
続いてdoubledCountAtom
を定義してみます。
read-only atomとしてちゃんと型推論できていることが確認できます。
これは便利ですね。今までコピペしていたりしたのが不要になり、楽です。
jsdeliverを使っているらしいですが、欲を言えば、npm packageをURLで直接指定できると、publishしなくても使えてより便利かも。
以上、小ネタでした。