На работе типизируем с флоу, может вам поможет, чем-то
// @flow
import { call, put, takeEvery } from 'redux-saga/effects';
import { setupSagaTarget } from '@work-util';
import { fetchApi } from './api';
import * as constants from '../constants'
import * as actions from '../actions';
/**
* Fetch card data Saga
* @returns {void}
*/
export function* fetchCData(): Iterator<*> {
const data = yield call(fetchApi);
if (data) {
yield put(actions.success(data));
}
}
export function* watchFetchRequest(): Iterator<*> {
yield takeEvery(constants.APP_REQUEST, fetchData);
}
const sagas = [
setupSagaTarget(watchFetchRequest, true, true),
];
export { sagas };