archive: 2017年02月  1/1

TypeScriptでEventEmitterイベントの型を指定する方法

最近人のソースを見てようやく知ったのだが、JavaScriptでよく見かけるイベント( on('close', ~) とか)は EventEmitter なるものを継承して実装するものだそうで、、、自前でやってたわ(汗で、早速TypeScriptでも使おうとしたものの、イベント引数の型の指定の方法に難儀したので、その方法を書いておく。まず大前提として、TypeScriptには「Overload on constants」なる、第1引数の値に応じて第2引数以降の型を定義する機能が...

Promiseのオブジェクトを判定する方法

TypeScriptでちょっとしたライブラリを作ってたのだけど、いざそれをJavaScriptのアプリに組み込んで使ったところ、Promiseがうまく判定できずトラぶったのでメモ。今回やりたかった事はこんな感じの、Promiseだったらそのまま、PromiseじゃなかったらPromise.resolve()でラップして返すみたいな、callback的な処理で戻り値の型を統一するような奴。(実際のコードはcatchを付けてたりともっと複雑。このサンプルだと端折り過ぎで...