function* reqSaga(requestChannel, sagaMiddleware){ while(true){ let {req, res, next} = yield take(requestChannel); yield fork(sagaMiddleware, req, res, next); } }
function* run(config, provide, channels) { //todo pull initialize from channel? let { initialState } = yield take("INITIALIZE"); if(initialState.options.google_analytics && initialState.options.google_analytics.value ){ ReactGA.initialize(initialState.options.google_analytics.value); if(initialState.uid){ ReactGA.set({ userId: initialState.uid }); } yield takeEvery(actionHandler, function*(action){ let state = yield select(); ReactGA.event(actionHandler(action, state)); }); yield takeEvery("@@router/LOCATION_CHANGE", function*(action){ ReactGA.set({ page: action.payload.pathname}); ReactGA.pageview(action.payload.pathname); }) } }
function* fetchDrawerItems({ screenName }) { const task = yield fork(fetchFromAPI, screenName); const { routeName } = yield take(Actions.GO_TO); const isFetchingDrawerItems = yield select(Actions.isFetchingDrawerItems); if (routeName === 'DrawerClose' && isFetchingDrawerItems) { yield cancel(task); } }
export default function* defaultSaga() { const loadPermissionsWatcher = yield fork(takeLatest, GET_PERMISSIONS, permissionsGet); const loadPoliciesWatcher = yield fork(takeLatest, GET_POLICIES, policiesGet); const loadRoleWatcher = yield fork(takeLatest, GET_ROLE, roleGet); yield fork(takeLatest, GET_USER, fetchUser); yield fork(takeLatest, SUBMIT, submit); yield take(LOCATION_CHANGE); yield cancel(loadPermissionsWatcher); yield cancel(loadPoliciesWatcher); yield cancel(loadRoleWatcher); }
function* watchLogout() { while (true) { yield take(FETCH_LOGIN_OUT) const res1 = yield call(logout) if (!res1) continue window.localStorage.removeItem('t') document.cookie = 'auth=; expires=Thu, 01 Jan 1970 00:00:01 GMT;'; yield put(recieveCheckLogin(false)) } }
export function* watchLoadAttach() { while (true) { const { movieId } = yield take(LOAD_MOVIE_ATTACH) const attach = yield call(getMovieAttach, movieId) yield put(recieveMovieAttach(attach.data[0])) } }
// Individual exports for testing export function* defaultSaga() { const loadDataWatcher = yield fork(takeLatest, LOAD_DATA, loadData); // Suspend execution until location changes yield take(LOCATION_CHANGE); yield cancel(loadDataWatcher); }
/** * Watchers */ export function* watchGetGithubData() { while (true) { const { payload } = yield take(ActionTypes.GET_GITHUB_START); yield fork(getGithubData, payload); } }
function* defaultSaga() { const loadMenu = yield fork(takeLatest, MENU_FETCH, fetchMenu); const loadEnvironments = yield fork(takeLatest, ENVIRONMENTS_FETCH, fetchEnvironments); yield take(MENU_FETCH_SUCCEEDED); yield cancel(loadMenu); yield take(ENVIRONMENTS_FETCH_SUCCEEDED); yield cancel(loadEnvironments); }
// Individual exports for testing export function* defaultSaga() { const loadDataWatcher = yield fork(takeLatest, FETCH_DATA, dataFetch); yield fork(takeLatest, DELETE_DATA, dataDelete); yield fork(takeLatest, SUBMIT, submitData); yield take(LOCATION_CHANGE); yield cancel(loadDataWatcher); }
function* watchLoadCategories() { while (true) { yield take(ActionTypes.LOAD_CATEGORIES); yield fork(loadCategories); } }
// Individual exports for testing export default function* defaultSaga() { const loadPluginsWatcher = yield fork(takeLatest, GET_PLUGINS, pluginsGet); yield fork(takeLatest, DOWNLOAD_PLUGIN, pluginDownload); yield take(LOCATION_CHANGE); yield cancel(loadPluginsWatcher); }
// Individual exports for testing export function* defaultSaga() { const loadRecordsWatcher = yield fork(takeLatest, LOAD_RECORDS, getRecords); const loudCountWatcher = yield fork(takeLatest, LOAD_COUNT, getCount); const deleteRecordWatcher = yield fork(takeLatest, DELETE_RECORD, deleteRecord); // Suspend execution until location changes yield take(LOCATION_CHANGE); yield cancel(loadRecordsWatcher); yield cancel(loudCountWatcher); yield cancel(deleteRecordWatcher); }
// Individual exports for testing export function* defaultSaga() { const loadDataWatcher = yield fork(takeLatest, FETCH_DATA, dataFetch); yield fork(takeLatest, DELETE_DATA, dataDelete); yield fork(takeLatest, SUBMIT, submitData); yield take(LOCATION_CHANGE); yield cancel(loadDataWatcher); }