TypeScriptでPromiseの返り値の型をNonNullableにする

表題の欲求が発生して、ハマったので色々調べていた結果のメモ。

こういう感じだった。

gist.github.com

ようは、Utility型を使ってPromiseの返り値をゲットしてNonNullableにしてPromiseに戻す というそれだけのはなし。ConditionalTypeの解説はここではしない。

Utility型のライブラリはいくつかあるけど以下2つが有名で、どっちも使いやすいし今回の目的に沿ったUtil型はどっちのライブラリにもある。

わかれば、そうだねってなるけど書いておかないと忘れそうなので書いた。