TypeScriptでライブラリに型定義がない場合の逃げ道
例えばaws-amplifyのようにJavaScriptで書かれたライブラリでTypeScriptの型定義がない(2018年12月02日現在)場合。
以下のようなコードで型定義のないクラスの変数を扱おうとすると
次のようなエラーが出てプロパティにアクセスできない。
Property 'data' does not exist on type 'GraphQLResult | Observable<object>'.
Property 'data' does not exist on type 'Observable<object>'.
ひとまず関数内に閉じ込めると回避できる。
ぱっと見こんなことしてる意味がわからないのでコメント書いておいた方がいいかも。
問題の変数がコールバックに渡っていくパターンだと違和感なく行けるのだが。