How to use the redux-saga/effects.takeEvery function in redux-saga

To help you get started, we’ve selected a few redux-saga examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github textileio / photos / App / Sagas / index.ts View on Github external
takeEvery(getType(GroupsActions.refreshThreadRequest), refreshThread),
    takeEvery(getType(PhotoViewingActions.addCommentRequest), addPhotoComment),

    // takeEvery(getType(UploadingImagesActions.imageUploadComplete), removePayloadFile),
    // takeEvery(getType(UploadingImagesActions.imageUploadError), handleUploadError),

    /* ------------- SDK ------------- */
    // takeLatest(getType(TriggersActions.backgroundFetch), runBackgroundUpdate),
    /* ------------- End SDK ------------- */

    takeEvery(getType(ThreadsActions.threadQRCodeRequest), displayThreadQRCode),
    takeEvery(
      getType(ThreadsActions.addExternalInviteRequest),
      addExternalInvite
    ),
    takeEvery(
      getType(ThreadsActions.addExternalInviteSuccess),
      presentShareInterface
    ),
    takeEvery(
      getType(ThreadsActions.acceptExternalInviteRequest),
      acceptExternalInvite
    ),
    takeEvery(
      getType(ThreadsActions.addInternalInvitesRequest),
      addInternalInvites
    ),

    takeEvery(getType(ThreadsActions.acceptInviteRequest), acceptInvite),

    takeEvery(getType(UIActions.shareByLink), presentPublicLinkInterface),
github source-academy / cadet-frontend / src / mocks / backend.ts View on Github external
yield takeEvery(actionTypes.FETCH_ASSESSMENT, function*(action) {
    const id = (action as actionTypes.IAction).payload;
    const assessment = mockAssessments[id - 1];
    yield put(actions.updateAssessment({ ...assessment }));
  });

  yield takeEvery(actionTypes.FETCH_GRADING_OVERVIEWS, function*(action) {
    const accessToken = yield select((state: IState) => state.session.accessToken);
    const filterToGroup = (action as actionTypes.IAction).payload;
    const gradingOverviews = yield call(() => mockFetchGradingOverview(accessToken, filterToGroup));
    if (gradingOverviews !== null) {
      yield put(actions.updateGradingOverviews([...gradingOverviews]));
    }
  });

  yield takeEvery(actionTypes.FETCH_GRADING, function*(action) {
    const submissionId = (action as actionTypes.IAction).payload;
    const accessToken = yield select((state: IState) => state.session.accessToken);
    const grading = yield call(() => mockFetchGrading(accessToken, submissionId));
    if (grading !== null) {
      yield put(actions.updateGrading(submissionId, [...grading]));
    }
  });

  yield takeEvery(actionTypes.SUBMIT_ANSWER, function*(action) {
    const questionId = (action as actionTypes.IAction).payload.id;
    const answer = (action as actionTypes.IAction).payload.answer;
    // Now, update the answer for the question in the assessment in the store
    const assessmentId = yield select(
      (state: IState) => state.workspaces.assessment.currentAssessment!
    );
    const assessment = yield select((state: IState) => state.session.assessments.get(assessmentId));
github virtool / virtool / client / src / js / references / sagas.js View on Github external
yield throttle(500, CREATE_REFERENCE.REQUESTED, createReference);
    yield throttle(500, IMPORT_REFERENCE.REQUESTED, importReference);
    yield throttle(500, CLONE_REFERENCE.REQUESTED, cloneReference);
    yield throttle(500, REMOTE_REFERENCE.REQUESTED, remoteReference);
    yield takeEvery(EDIT_REFERENCE.REQUESTED, editReference);
    yield takeLatest(GET_REFERENCE.REQUESTED, getReference);
    yield takeLatest(FIND_REFERENCES.REQUESTED, findReferences);
    yield throttle(500, REMOVE_REFERENCE.REQUESTED, removeReference);
    yield takeEvery(ADD_REFERENCE_USER.REQUESTED, addRefUser);
    yield takeEvery(EDIT_REFERENCE_USER.REQUESTED, editRefUser);
    yield takeEvery(REMOVE_REFERENCE_USER.REQUESTED, removeRefUser);
    yield takeEvery(ADD_REFERENCE_GROUP.REQUESTED, addRefGroup);
    yield takeEvery(EDIT_REFERENCE_GROUP.REQUESTED, editRefGroup);
    yield takeEvery(REMOVE_REFERENCE_GROUP.REQUESTED, removeRefGroup);
    yield takeEvery(CHECK_REMOTE_UPDATES.REQUESTED, checkRemoteUpdates);
    yield takeEvery(UPDATE_REMOTE_REFERENCE.REQUESTED, updateRemoteReference);
}
github freedomexio / rocketx-condenser / src / app / redux / FetchDataSaga.js View on Github external
import * as globalActions from './GlobalReducer';
import * as appActions from './AppReducer';
import constants from './constants';
import { fromJS, Map, Set } from 'immutable';
import { getStateAsync } from 'app/utils/steemApi';

const REQUEST_DATA = 'fetchDataSaga/REQUEST_DATA';
const GET_CONTENT = 'fetchDataSaga/GET_CONTENT';
const FETCH_STATE = 'fetchDataSaga/FETCH_STATE';

export const fetchDataWatches = [
    takeLatest(REQUEST_DATA, fetchData),
    takeEvery(GET_CONTENT, getContentCaller),
    takeLatest('@@router/LOCATION_CHANGE', fetchState),
    takeLatest(FETCH_STATE, fetchState),
    takeEvery('global/FETCH_JSON', fetchJson),
];

export function* getContentCaller(action) {
    yield getContent(action.payload);
}

let is_initial_state = true;
export function* fetchState(location_change_action) {
    const { pathname } = location_change_action.payload;
    const m = pathname.match(/^\/@([a-z0-9\.-]+)/);
    if (m && m.length === 2) {
        const username = m[1];
        yield fork(fetchFollowCount, username);
        yield fork(loadFollows, 'getFollowersAsync', username, 'blog');
        yield fork(loadFollows, 'getFollowingAsync', username, 'blog');
    }
github kumabook / stickynotes / src / sagas / popup.js View on Github external
function* watchMenu() {
  yield takeEvery('MENU', menu);
}
github OfficeDev / script-lab / packages / editor / src / pages / Editor / store / solutions / sagas.ts View on Github external
export default function* solutionsWatcher() {
  yield takeEvery(getType(solutions.edit), onSolutionOpenOrFileEditSaga);
  yield takeEvery(getType(editor.newSolutionOpened), onSolutionOpenOrFileEditSaga);

  yield takeEvery(getType(solutions.create), getDefaultSaga);
  yield takeEvery(getType(solutions.getDefault.success), handleGetDefaultSuccessSaga);
  yield takeEvery(getType(solutions.getDefault.failure), handleGetDefaultFailureSaga);

  yield takeEvery(getType(solutions.updateOptions), updateOptionsSaga);

  yield takeEvery(getType(solutions.remove), removeSolutionSaga);
  yield takeEvery(getType(solutions.scriptNeedsParsing), checkIfIsCustomFunctionSaga);
}
github GooBox / goobox-community-gui / src / render / installer / sagas / index.js View on Github external
export default function* rootSaga() {
  yield fork(prepareJRE);
  yield takeEvery(actionTypes.StorjLogin, storjLogin);
  yield takeEvery(actionTypes.StorjCreateAccount, storjCreateAccount);
  yield takeEvery(actionTypes.StorjGenerateMnemonic, storjGenerateMnemonic);
  yield takeEvery(actionTypes.RequestSiaWalletInfo, requestSiaWallet);
  yield takeEvery(actionTypes.SaveConfig, saveConfig);
  yield takeEvery(actionTypes.StopSyncApps, stopSyncApps);
  yield takeEvery(actionTypes.CloseWindow, closeWindow);
}
github Bit-Nation / BITNATION-Pangea-mobile / src / PangeaCore / sagas / contacts-sagas / index.js View on Github external
export default function* rootSaga(): Generator<*, *, *> {
  yield all([
    takeEvery([SERVICES_CREATED, START_CONTACTS_FETCH], fetchContacts),
    takeEvery(ADD_CONTACT, addNewContact),
  ]);
}