先日はMackerel Webhookを処理するライブラリをGoogle Chat通知の実装例込みでRuby版で作っていた。
しかし、今日びRubyだとあまりありがたがられなくなってしまっているので、TypeScriptで書いたnpmも作ることにした。Ruby実装をそのままコピーしてるのでアレなところはあるけど、ひとまず動くものはできて @kmuto/saba-webhook-gateway
npmとしてアップロードしておいた。
Rubyと比較すると、ピリオドで階層をどんどん掘っていけるのは書きやすい。値がないときに空文字ではなくundefinedになるところは処理が追加で必要になった。package.jsonに含まれてしまうと厄介なので、スタンドアロン動作のものは書いていない。
any連発で全然TypeScriptしとらんやんけなとおり、ここからType化しようとするといよいよMackerel Webhook JSONの深淵に踏み込むことになり、若干二の足を踏むところがある……。とはいえ、Typeをちゃんと書くのはエラーを防止するためにも重要なのだろうから、いずれやらんとね。
Lambda動作など試しきれていないところがいっぱいあるので、PR等歓迎デス。