This is a stub types definition for redux-saga (https://github.com/redux-saga/redux-saga). redux-saga provides its own type definitions, so you don't need @types/redux-saga installed!
Package detail
@types/redux-saga
This is a stub types definition for redux-saga (https://github.com/redux-saga/redux-saga). redux-saga provides its own type definitions, so you don't need @types/redux-saga installed!
Stub TypeScript definitions entry for redux-saga, which provides its own types definitions
readme
changelog
Changes from v0.16.0 to v1.0.0
During work on v1, we made several breaking changes
Breaking changes
- errors thrown during put execution are no longer caught and swallowed, you need to catch them manually
- errors thrown during cancellation process are no longer swallowed, you need to keep
finallyblock fail-safe - removed some deprecated APIs -
takeEvery,takeLatest,throttlefrom the redux-saga entry point (they are and were importable fromredux-saga/effects).put.syncandtakemwere removed. - removing execution of an array of effects
yield [...]. usealleffect instead. delaybecame an effect, olddelayfunction (not effect!) can be imported from@redux-saga/delay-pput.resolvewas changed toputResolvetake.maybewas changed totakeMaybe- changed API of runSaga - it no longer accepts subscribe option, you should create a channel (preferably stdChannel), pass it as channel argument to the runSaga API and communicate with through it with
takeandputmethods task.donegetter was changed to betask.toPromisemethodonErrordoesn't extenderrorwith additional fieldsagaStack, but pass it as a property of second argument. before:onError: (e: Error), after:onError(e: Error, { sagaStack })Effectshape, yielded to redux-saga middleware, is stabilized and declared now as a plain JavaScript object- channels private getters (takers and closed) got removed
{effects, utils}aren't imported from 'redux-saga' anymore. imports them fromredux-saga/effects,redux-saga/utilsishelper should be imported from@redux-saga/is.createMockTask,cloneableGeneratorshould be imported from@redux-saga/testing-utils- now
raceshould be finished if any of effects resolved withEND(by analogy with all) - cancel and join cannot receive variadic arguments anymore. so you have to rewrite
cancel(...[tasks])andjoin(...[tasks])tocancel([tasks])andjoin([tasks])respectively. also callingcancel(...)returns a cancel-effect (before it may return analleffect), and callingjoin(...)returns a join-effect. - refactor effect structure from
{[IO]: true, [type]: payload }to{ [IO]: true, type, payload }to get rid of dynamictypeproperty. Could affect you if implement custom monitor for saga effects. - channel and actionChannel have default buffer of buffers.expanding()
- eventChannel does no longer accept matcher argument.
- exported util of
arrayOfDefferedgot renamed to the correctarrayOfDeferred
New functionality
- multicastChannel - no buffering, notify all pending takers, multicastChannel#take(cb, matcher = matchers.wildcard)
- support for
yield take(multicastChannel, pattern) - internal stdChannel got reworked to be a singleton object (it is wrapped multicastChannel's instance'), also it is an exported API to support new runSaga's signature - this should also result in being a small perf boost
effectMiddlewares- useful especially for testing, you can intercept/hijack any effect and resolve it on your own - passing it very redux-style to the next middleware (last being redux-saga itself). How it might be used can be checked here. Many thanks to @eloytoro for this featuretakeLeadinghelper. It takes "leading" action and ignores all incoming ones of the same type while the "leading" is still handled (useful for things debouncing)retryhelper. Receives a function and executes it (with blocking call). In case of failure will try to make another call afterdelayLengthmilliseconds, if a number of attempts <maxTriesparameter- add
debouncehelper. Spawns asagaon an action dispatched to the Store that matchespattern. Saga will be called after it stops takingpatternactions formsmilliseconds. Purpose of this is to prevent calling saga until the actions are settled off.