redux-sagaで生成されたIteratorを見分ける

redux-sagaはReact-Native上で非同期処理を取り扱うためのライブラリです。 非同期処理どうしの同期のため、redux-saga内ではcall等のジェネレーターを用いて処理が取り扱われることが多いわけですが、これらの関数によって生成されたIteratorは例えば以下のようなオブジェクト構造をしています。

{
  "@@redux-saga/IO": true,
  "CALL": {
    "context": null,
    "fn": fn(),
    "args": [...],
}

そこで、渡されたObjectがredux-sagaの処理で生成されたものかどうかについては、object["@@redux-saga/IO"]がtrueになっているか否かで判定することができるということになります。

参考