MyCrypto/common/sagas/rates.ts
Daniel Ternyak e7f88a6a0a
Remove redux-promise-middleware (#1022)
* Use shapeshift for all swaps.

* Replace existing redux-promise-middleware based CCRequest action with saga based action.

* Remove module from package.json, store middleware, webpack_config.

* fix snapshot

* Add return typing

* Add test for saga
2018-02-07 17:59:55 -06:00

20 lines
706 B
TypeScript

import { fetchCCRatesSucceeded, fetchCCRatesFailed, FetchCCRatesRequested } from 'actions/rates';
import { SagaIterator } from 'redux-saga';
import { call, put, takeLatest } from 'redux-saga/effects';
import { fetchRates, CCResponse } from 'api/rates';
import { TypeKeys } from 'actions/rates/constants';
export function* fetchRatesSaga(action: FetchCCRatesRequested): SagaIterator {
try {
const rates: CCResponse = yield call(fetchRates, action.payload);
yield put(fetchCCRatesSucceeded(rates));
} catch (e) {
yield put(fetchCCRatesFailed());
return;
}
}
export default function* ratesSaga(): SagaIterator {
yield takeLatest(TypeKeys.RATES_FETCH_CC_REQUESTED, fetchRatesSaga);
}