@vve/redux-saga 9.0.0-alpha.2 → 9.0.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/effects.js +3 -2
- package/es/effects.js.map +1 -0
- package/es/index.js +11 -10
- package/es/index.js.map +1 -0
- package/es/internal/buffers.js +21 -45
- package/es/internal/buffers.js.map +1 -0
- package/es/internal/channel.js +36 -87
- package/es/internal/channel.js.map +1 -0
- package/es/internal/channels-trans-table.png +0 -0
- package/es/internal/convenient-io.js +6 -19
- package/es/internal/convenient-io.js.map +1 -0
- package/es/internal/io-helpers.js +7 -9
- package/es/internal/io-helpers.js.map +1 -0
- package/es/internal/io.js +70 -113
- package/es/internal/io.js.map +1 -0
- package/es/internal/middleware.js +42 -45
- package/es/internal/middleware.js.map +1 -0
- package/es/internal/proc.js +188 -358
- package/es/internal/proc.js.map +1 -0
- package/es/internal/runSaga.js +20 -27
- package/es/internal/runSaga.js.map +1 -0
- package/es/internal/sagaHelpers/fsmIterator.js +13 -22
- package/es/internal/sagaHelpers/fsmIterator.js.map +1 -0
- package/es/internal/sagaHelpers/index.js +12 -13
- package/es/internal/sagaHelpers/index.js.map +1 -0
- package/es/internal/sagaHelpers/takeEvery.js +13 -20
- package/es/internal/sagaHelpers/takeEvery.js.map +1 -0
- package/es/internal/sagaHelpers/takeLatest.js +19 -33
- package/es/internal/sagaHelpers/takeLatest.js.map +1 -0
- package/es/internal/sagaHelpers/throttle.js +22 -36
- package/es/internal/sagaHelpers/throttle.js.map +1 -0
- package/es/internal/scheduler.js +7 -11
- package/es/internal/scheduler.js.map +1 -0
- package/es/internal/utils.js +101 -205
- package/es/internal/utils.js.map +1 -0
- package/es/utils.js +5 -4
- package/es/utils.js.map +1 -0
- package/lib/effects.js +138 -30
- package/lib/effects.js.map +1 -0
- package/lib/index.js +86 -48
- package/lib/index.js.map +1 -0
- package/lib/internal/buffers.js +24 -48
- package/lib/internal/buffers.js.map +1 -0
- package/lib/internal/channel.js +43 -100
- package/lib/internal/channel.js.map +1 -0
- package/lib/internal/channels-trans-table.png +0 -0
- package/lib/internal/convenient-io.js +10 -23
- package/lib/internal/convenient-io.js.map +1 -0
- package/lib/internal/io-helpers.js +10 -15
- package/lib/internal/io-helpers.js.map +1 -0
- package/lib/internal/io.js +89 -149
- package/lib/internal/io.js.map +1 -0
- package/lib/internal/middleware.js +46 -51
- package/lib/internal/middleware.js.map +1 -0
- package/lib/internal/proc.js +194 -372
- package/lib/internal/proc.js.map +1 -0
- package/lib/internal/runSaga.js +25 -35
- package/lib/internal/runSaga.js.map +1 -0
- package/lib/internal/sagaHelpers/fsmIterator.js +19 -29
- package/lib/internal/sagaHelpers/fsmIterator.js.map +1 -0
- package/lib/internal/sagaHelpers/index.js +37 -27
- package/lib/internal/sagaHelpers/index.js.map +1 -0
- package/lib/internal/sagaHelpers/takeEvery.js +19 -31
- package/lib/internal/sagaHelpers/takeEvery.js.map +1 -0
- package/lib/internal/sagaHelpers/takeLatest.js +25 -44
- package/lib/internal/sagaHelpers/takeLatest.js.map +1 -0
- package/lib/internal/sagaHelpers/throttle.js +28 -49
- package/lib/internal/sagaHelpers/throttle.js.map +1 -0
- package/lib/internal/scheduler.js +11 -15
- package/lib/internal/scheduler.js.map +1 -0
- package/lib/internal/utils.js +119 -247
- package/lib/internal/utils.js.map +1 -0
- package/lib/utils.js +69 -22
- package/lib/utils.js.map +1 -0
- package/package.json +5 -4
package/es/internal/io.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import { sym, is, ident, check, deprecate, updateIncentive, createSetContextWarning, SELF_CANCELLATION } from "./utils";
|
|
3
|
+
var IO = sym('IO');
|
|
3
4
|
var TAKE = 'TAKE';
|
|
4
5
|
var PUT = 'PUT';
|
|
5
6
|
var ALL = 'ALL';
|
|
@@ -19,195 +20,158 @@ var FLUSH = 'FLUSH';
|
|
|
19
20
|
var GET_CONTEXT = 'GET_CONTEXT';
|
|
20
21
|
var SET_CONTEXT = 'SET_CONTEXT';
|
|
21
22
|
var TEST_HINT = '\n(HINT: if you are getting this errors in tests, consider using createMockTask from redux-saga/utils)';
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
export var detach = function detach(eff) {
|
|
23
|
+
var effect = (type, payload) => ({
|
|
24
|
+
[IO]: true,
|
|
25
|
+
[type]: payload
|
|
26
|
+
});
|
|
27
|
+
export var detach = eff => {
|
|
30
28
|
check(asEffect.fork(eff), is.object, 'detach(eff): argument must be a fork effect');
|
|
31
29
|
eff[FORK].detached = true;
|
|
32
30
|
return eff;
|
|
33
31
|
};
|
|
34
|
-
export function take(
|
|
35
|
-
|
|
36
|
-
patternOrChannel = '*';
|
|
37
|
-
}
|
|
38
|
-
|
|
32
|
+
export function take() {
|
|
33
|
+
var patternOrChannel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '*';
|
|
39
34
|
if (arguments.length) {
|
|
40
35
|
check(arguments[0], is.notUndef, 'take(patternOrChannel): patternOrChannel is undefined');
|
|
41
36
|
}
|
|
42
|
-
|
|
43
37
|
if (is.pattern(patternOrChannel)) {
|
|
44
38
|
return effect(TAKE, {
|
|
45
39
|
pattern: patternOrChannel
|
|
46
40
|
});
|
|
47
41
|
}
|
|
48
|
-
|
|
49
42
|
if (is.channel(patternOrChannel)) {
|
|
50
43
|
return effect(TAKE, {
|
|
51
44
|
channel: patternOrChannel
|
|
52
45
|
});
|
|
53
46
|
}
|
|
54
|
-
|
|
55
|
-
throw new Error("take(patternOrChannel): argument " + String(patternOrChannel) + " is not valid channel or a valid pattern");
|
|
47
|
+
throw new Error(`take(patternOrChannel): argument ${String(patternOrChannel)} is not valid channel or a valid pattern`);
|
|
56
48
|
}
|
|
57
|
-
|
|
58
49
|
take.maybe = function () {
|
|
59
|
-
var eff = take
|
|
50
|
+
var eff = take(...arguments);
|
|
60
51
|
eff[TAKE].maybe = true;
|
|
61
52
|
return eff;
|
|
62
53
|
};
|
|
63
|
-
|
|
64
|
-
export var takem = /*#__PURE__*/deprecate(take.maybe, /*#__PURE__*/updateIncentive('takem', 'take.maybe'));
|
|
54
|
+
export var takem = deprecate(take.maybe, updateIncentive('takem', 'take.maybe'));
|
|
65
55
|
export function put(channel, action) {
|
|
66
56
|
if (arguments.length > 1) {
|
|
67
57
|
check(channel, is.notUndef, 'put(channel, action): argument channel is undefined');
|
|
68
|
-
check(channel, is.channel,
|
|
58
|
+
check(channel, is.channel, `put(channel, action): argument ${channel} is not a valid channel`);
|
|
69
59
|
check(action, is.notUndef, 'put(channel, action): argument action is undefined');
|
|
70
60
|
} else {
|
|
71
61
|
check(channel, is.notUndef, 'put(action): argument action is undefined');
|
|
72
62
|
action = channel;
|
|
73
63
|
channel = null;
|
|
74
64
|
}
|
|
75
|
-
|
|
76
65
|
return effect(PUT, {
|
|
77
|
-
channel
|
|
78
|
-
action
|
|
66
|
+
channel,
|
|
67
|
+
action
|
|
79
68
|
});
|
|
80
69
|
}
|
|
81
|
-
|
|
82
70
|
put.resolve = function () {
|
|
83
|
-
var eff = put
|
|
71
|
+
var eff = put(...arguments);
|
|
84
72
|
eff[PUT].resolve = true;
|
|
85
73
|
return eff;
|
|
86
74
|
};
|
|
87
|
-
|
|
88
|
-
put.sync = /*#__PURE__*/deprecate(put.resolve, /*#__PURE__*/updateIncentive('put.sync', 'put.resolve'));
|
|
75
|
+
put.sync = deprecate(put.resolve, updateIncentive('put.sync', 'put.resolve'));
|
|
89
76
|
export function all(effects) {
|
|
90
77
|
return effect(ALL, effects);
|
|
91
78
|
}
|
|
92
79
|
export function race(effects) {
|
|
93
80
|
return effect(RACE, effects);
|
|
94
81
|
}
|
|
95
|
-
|
|
96
82
|
function getFnCallDesc(meth, fn, args) {
|
|
97
|
-
check(fn, is.notUndef, meth
|
|
83
|
+
check(fn, is.notUndef, `${meth}: argument fn is undefined`);
|
|
98
84
|
var context = null;
|
|
99
|
-
|
|
100
85
|
if (is.array(fn)) {
|
|
101
86
|
var _fn = fn;
|
|
102
|
-
|
|
103
|
-
|
|
87
|
+
var _fn2 = _slicedToArray(_fn, 2);
|
|
88
|
+
context = _fn2[0];
|
|
89
|
+
fn = _fn2[1];
|
|
104
90
|
} else if (fn.fn) {
|
|
105
|
-
var
|
|
106
|
-
context =
|
|
107
|
-
fn =
|
|
91
|
+
var _fn3 = fn;
|
|
92
|
+
context = _fn3.context;
|
|
93
|
+
fn = _fn3.fn;
|
|
108
94
|
}
|
|
109
|
-
|
|
110
95
|
if (context && is.string(fn) && is.func(context[fn])) {
|
|
111
96
|
fn = context[fn];
|
|
112
97
|
}
|
|
113
|
-
|
|
114
|
-
check(fn, is.func, meth + ": argument " + fn + " is not a function");
|
|
98
|
+
check(fn, is.func, `${meth}: argument ${fn} is not a function`);
|
|
115
99
|
return {
|
|
116
|
-
context
|
|
117
|
-
fn
|
|
118
|
-
args
|
|
100
|
+
context,
|
|
101
|
+
fn,
|
|
102
|
+
args
|
|
119
103
|
};
|
|
120
104
|
}
|
|
121
|
-
|
|
122
105
|
export function call(fn) {
|
|
123
106
|
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
124
107
|
args[_key - 1] = arguments[_key];
|
|
125
108
|
}
|
|
126
|
-
|
|
127
109
|
return effect(CALL, getFnCallDesc('call', fn, args));
|
|
128
110
|
}
|
|
129
|
-
export function apply(context, fn
|
|
130
|
-
|
|
131
|
-
args = [];
|
|
132
|
-
}
|
|
133
|
-
|
|
111
|
+
export function apply(context, fn) {
|
|
112
|
+
var args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
134
113
|
return effect(CALL, getFnCallDesc('apply', {
|
|
135
|
-
context
|
|
136
|
-
fn
|
|
114
|
+
context,
|
|
115
|
+
fn
|
|
137
116
|
}, args));
|
|
138
117
|
}
|
|
139
118
|
export function cps(fn) {
|
|
140
119
|
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
141
120
|
args[_key2 - 1] = arguments[_key2];
|
|
142
121
|
}
|
|
143
|
-
|
|
144
122
|
return effect(CPS, getFnCallDesc('cps', fn, args));
|
|
145
123
|
}
|
|
146
124
|
export function fork(fn) {
|
|
147
125
|
for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
|
|
148
126
|
args[_key3 - 1] = arguments[_key3];
|
|
149
127
|
}
|
|
150
|
-
|
|
151
128
|
return effect(FORK, getFnCallDesc('fork', fn, args));
|
|
152
129
|
}
|
|
153
130
|
export function spawn(fn) {
|
|
154
131
|
for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {
|
|
155
132
|
args[_key4 - 1] = arguments[_key4];
|
|
156
133
|
}
|
|
157
|
-
|
|
158
|
-
return detach(fork.apply(void 0, [fn].concat(args)));
|
|
134
|
+
return detach(fork(fn, ...args));
|
|
159
135
|
}
|
|
160
136
|
export function join() {
|
|
161
137
|
for (var _len5 = arguments.length, tasks = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
|
|
162
138
|
tasks[_key5] = arguments[_key5];
|
|
163
139
|
}
|
|
164
|
-
|
|
165
140
|
if (tasks.length > 1) {
|
|
166
|
-
return all(tasks.map(
|
|
167
|
-
return join(t);
|
|
168
|
-
}));
|
|
141
|
+
return all(tasks.map(t => join(t)));
|
|
169
142
|
}
|
|
170
|
-
|
|
171
143
|
var task = tasks[0];
|
|
172
144
|
check(task, is.notUndef, 'join(task): argument task is undefined');
|
|
173
|
-
check(task, is.task,
|
|
145
|
+
check(task, is.task, `join(task): argument ${task} is not a valid Task object ${TEST_HINT}`);
|
|
174
146
|
return effect(JOIN, task);
|
|
175
147
|
}
|
|
176
148
|
export function cancel() {
|
|
177
149
|
for (var _len6 = arguments.length, tasks = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {
|
|
178
150
|
tasks[_key6] = arguments[_key6];
|
|
179
151
|
}
|
|
180
|
-
|
|
181
152
|
if (tasks.length > 1) {
|
|
182
|
-
return all(tasks.map(
|
|
183
|
-
return cancel(t);
|
|
184
|
-
}));
|
|
153
|
+
return all(tasks.map(t => cancel(t)));
|
|
185
154
|
}
|
|
186
|
-
|
|
187
155
|
var task = tasks[0];
|
|
188
|
-
|
|
189
156
|
if (tasks.length === 1) {
|
|
190
157
|
check(task, is.notUndef, 'cancel(task): argument task is undefined');
|
|
191
|
-
check(task, is.task,
|
|
158
|
+
check(task, is.task, `cancel(task): argument ${task} is not a valid Task object ${TEST_HINT}`);
|
|
192
159
|
}
|
|
193
|
-
|
|
194
160
|
return effect(CANCEL, task || SELF_CANCELLATION);
|
|
195
161
|
}
|
|
196
162
|
export function select(selector) {
|
|
197
163
|
for (var _len7 = arguments.length, args = new Array(_len7 > 1 ? _len7 - 1 : 0), _key7 = 1; _key7 < _len7; _key7++) {
|
|
198
164
|
args[_key7 - 1] = arguments[_key7];
|
|
199
165
|
}
|
|
200
|
-
|
|
201
166
|
if (arguments.length === 0) {
|
|
202
167
|
selector = ident;
|
|
203
168
|
} else {
|
|
204
169
|
check(selector, is.notUndef, 'select(selector,[...]): argument selector is undefined');
|
|
205
|
-
check(selector, is.func,
|
|
170
|
+
check(selector, is.func, `select(selector,[...]): argument ${selector} is not a function`);
|
|
206
171
|
}
|
|
207
|
-
|
|
208
172
|
return effect(SELECT, {
|
|
209
|
-
selector
|
|
210
|
-
args
|
|
173
|
+
selector,
|
|
174
|
+
args
|
|
211
175
|
});
|
|
212
176
|
}
|
|
213
177
|
export function selectSelf() {
|
|
@@ -215,70 +179,63 @@ export function selectSelf() {
|
|
|
215
179
|
}
|
|
216
180
|
export function putMutation(fn) {
|
|
217
181
|
return effect(PUT_MUTAION, {
|
|
218
|
-
fn
|
|
182
|
+
fn
|
|
219
183
|
});
|
|
220
184
|
}
|
|
221
185
|
export function putAsyncAction(action) {
|
|
222
186
|
return effect(PUT_ASYNC, {
|
|
223
|
-
action
|
|
187
|
+
action
|
|
224
188
|
});
|
|
225
189
|
}
|
|
190
|
+
|
|
226
191
|
/**
|
|
227
192
|
channel(pattern, [buffer]) => creates an event channel for store actions
|
|
228
193
|
**/
|
|
229
|
-
|
|
230
194
|
export function actionChannel(pattern, buffer) {
|
|
231
195
|
check(pattern, is.notUndef, 'actionChannel(pattern,...): argument pattern is undefined');
|
|
232
|
-
|
|
233
196
|
if (arguments.length > 1) {
|
|
234
197
|
check(buffer, is.notUndef, 'actionChannel(pattern, buffer): argument buffer is undefined');
|
|
235
|
-
check(buffer, is.buffer,
|
|
198
|
+
check(buffer, is.buffer, `actionChannel(pattern, buffer): argument ${buffer} is not a valid buffer`);
|
|
236
199
|
}
|
|
237
|
-
|
|
238
200
|
return effect(ACTION_CHANNEL, {
|
|
239
|
-
pattern
|
|
240
|
-
buffer
|
|
201
|
+
pattern,
|
|
202
|
+
buffer
|
|
241
203
|
});
|
|
242
204
|
}
|
|
243
205
|
export function cancelled() {
|
|
244
206
|
return effect(CANCELLED, {});
|
|
245
207
|
}
|
|
246
208
|
export function flush(channel) {
|
|
247
|
-
check(channel, is.channel,
|
|
209
|
+
check(channel, is.channel, `flush(channel): argument ${channel} is not valid channel`);
|
|
248
210
|
return effect(FLUSH, channel);
|
|
249
211
|
}
|
|
250
212
|
export function getContext(prop) {
|
|
251
|
-
check(prop, is.string,
|
|
213
|
+
check(prop, is.string, `getContext(prop): argument ${prop} is not a string`);
|
|
252
214
|
return effect(GET_CONTEXT, prop);
|
|
253
215
|
}
|
|
254
216
|
export function setContext(props) {
|
|
255
217
|
check(props, is.object, createSetContextWarning(null, props));
|
|
256
218
|
return effect(SET_CONTEXT, props);
|
|
257
219
|
}
|
|
258
|
-
|
|
259
|
-
var createAsEffectType = function createAsEffectType(type) {
|
|
260
|
-
return function (effect) {
|
|
261
|
-
return effect && effect[IO] && effect[type];
|
|
262
|
-
};
|
|
263
|
-
};
|
|
264
|
-
|
|
220
|
+
var createAsEffectType = type => effect => effect && effect[IO] && effect[type];
|
|
265
221
|
export var asEffect = {
|
|
266
|
-
take:
|
|
267
|
-
put:
|
|
268
|
-
all:
|
|
269
|
-
race:
|
|
270
|
-
call:
|
|
271
|
-
cps:
|
|
272
|
-
fork:
|
|
273
|
-
join:
|
|
274
|
-
cancel:
|
|
275
|
-
select:
|
|
276
|
-
selectSelf:
|
|
277
|
-
putAsyncAction:
|
|
278
|
-
actionChannel:
|
|
279
|
-
cancelled:
|
|
280
|
-
flush:
|
|
281
|
-
getContext:
|
|
282
|
-
setContext:
|
|
283
|
-
putMutation:
|
|
284
|
-
};
|
|
222
|
+
take: createAsEffectType(TAKE),
|
|
223
|
+
put: createAsEffectType(PUT),
|
|
224
|
+
all: createAsEffectType(ALL),
|
|
225
|
+
race: createAsEffectType(RACE),
|
|
226
|
+
call: createAsEffectType(CALL),
|
|
227
|
+
cps: createAsEffectType(CPS),
|
|
228
|
+
fork: createAsEffectType(FORK),
|
|
229
|
+
join: createAsEffectType(JOIN),
|
|
230
|
+
cancel: createAsEffectType(CANCEL),
|
|
231
|
+
select: createAsEffectType(SELECT),
|
|
232
|
+
selectSelf: createAsEffectType(SELECT_SELF),
|
|
233
|
+
putAsyncAction: createAsEffectType(PUT_ASYNC),
|
|
234
|
+
actionChannel: createAsEffectType(ACTION_CHANNEL),
|
|
235
|
+
cancelled: createAsEffectType(CANCELLED),
|
|
236
|
+
flush: createAsEffectType(FLUSH),
|
|
237
|
+
getContext: createAsEffectType(GET_CONTEXT),
|
|
238
|
+
setContext: createAsEffectType(SET_CONTEXT),
|
|
239
|
+
putMutation: createAsEffectType(PUT_MUTAION)
|
|
240
|
+
};
|
|
241
|
+
//# sourceMappingURL=io.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"io.js","names":["sym","is","ident","check","deprecate","updateIncentive","createSetContextWarning","SELF_CANCELLATION","IO","TAKE","PUT","ALL","RACE","CALL","CPS","FORK","JOIN","CANCEL","SELECT","SELECT_SELF","PUT_MUTAION","PUT_ASYNC","ACTION_CHANNEL","CANCELLED","FLUSH","GET_CONTEXT","SET_CONTEXT","TEST_HINT","effect","type","payload","detach","eff","asEffect","fork","object","detached","take","patternOrChannel","arguments","length","undefined","notUndef","pattern","channel","Error","String","maybe","takem","put","action","resolve","sync","all","effects","race","getFnCallDesc","meth","fn","args","context","array","_fn","_fn2","_slicedToArray","_fn3","string","func","call","_len","Array","_key","apply","cps","_len2","_key2","_len3","_key3","spawn","_len4","_key4","join","_len5","tasks","_key5","map","t","task","cancel","_len6","_key6","select","selector","_len7","_key7","selectSelf","putMutation","putAsyncAction","actionChannel","buffer","cancelled","flush","getContext","prop","setContext","props","createAsEffectType"],"sources":["../../io.js"],"sourcesContent":["import { sym, is, ident, check, deprecate, updateIncentive, createSetContextWarning, SELF_CANCELLATION } from './utils'\n\nconst IO = sym('IO')\nconst TAKE = 'TAKE'\nconst PUT = 'PUT'\nconst ALL = 'ALL'\nconst RACE = 'RACE'\nconst CALL = 'CALL'\nconst CPS = 'CPS'\nconst FORK = 'FORK'\nconst JOIN = 'JOIN'\nconst CANCEL = 'CANCEL'\nconst SELECT = 'SELECT'\nconst SELECT_SELF = 'SELECT_SELF'\nconst PUT_MUTAION = 'PUT_MUTATION'\nconst PUT_ASYNC = 'PUT_ASYNC'\nconst ACTION_CHANNEL = 'ACTION_CHANNEL'\nconst CANCELLED = 'CANCELLED'\nconst FLUSH = 'FLUSH'\nconst GET_CONTEXT = 'GET_CONTEXT'\nconst SET_CONTEXT = 'SET_CONTEXT'\n\nconst TEST_HINT =\n '\\n(HINT: if you are getting this errors in tests, consider using createMockTask from redux-saga/utils)'\n\nconst effect = (type, payload) => ({ [IO]: true, [type]: payload })\n\nexport const detach = eff => {\n check(asEffect.fork(eff), is.object, 'detach(eff): argument must be a fork effect')\n eff[FORK].detached = true\n return eff\n}\n\nexport function take(patternOrChannel = '*') {\n if (arguments.length) {\n check(arguments[0], is.notUndef, 'take(patternOrChannel): patternOrChannel is undefined')\n }\n if (is.pattern(patternOrChannel)) {\n return effect(TAKE, { pattern: patternOrChannel })\n }\n if (is.channel(patternOrChannel)) {\n return effect(TAKE, { channel: patternOrChannel })\n }\n throw new Error(\n `take(patternOrChannel): argument ${String(patternOrChannel)} is not valid channel or a valid pattern`,\n )\n}\n\ntake.maybe = (...args) => {\n const eff = take(...args)\n eff[TAKE].maybe = true\n return eff\n}\n\nexport const takem = deprecate(take.maybe, updateIncentive('takem', 'take.maybe'))\n\nexport function put(channel, action) {\n if (arguments.length > 1) {\n check(channel, is.notUndef, 'put(channel, action): argument channel is undefined')\n check(channel, is.channel, `put(channel, action): argument ${channel} is not a valid channel`)\n check(action, is.notUndef, 'put(channel, action): argument action is undefined')\n } else {\n check(channel, is.notUndef, 'put(action): argument action is undefined')\n action = channel\n channel = null\n }\n return effect(PUT, { channel, action })\n}\n\nput.resolve = (...args) => {\n const eff = put(...args)\n eff[PUT].resolve = true\n return eff\n}\n\nput.sync = deprecate(put.resolve, updateIncentive('put.sync', 'put.resolve'))\n\nexport function all(effects) {\n return effect(ALL, effects)\n}\n\nexport function race(effects) {\n return effect(RACE, effects)\n}\n\nfunction getFnCallDesc(meth, fn, args) {\n check(fn, is.notUndef, `${meth}: argument fn is undefined`)\n\n let context = null\n if (is.array(fn)) {\n [context, fn] = fn\n } else if (fn.fn) {\n ({ context, fn } = fn)\n }\n if (context && is.string(fn) && is.func(context[fn])) {\n fn = context[fn]\n }\n check(fn, is.func, `${meth}: argument ${fn} is not a function`)\n\n return { context, fn, args }\n}\n\nexport function call(fn, ...args) {\n return effect(CALL, getFnCallDesc('call', fn, args))\n}\n\nexport function apply(context, fn, args = []) {\n return effect(CALL, getFnCallDesc('apply', { context, fn }, args))\n}\n\nexport function cps(fn, ...args) {\n return effect(CPS, getFnCallDesc('cps', fn, args))\n}\n\nexport function fork(fn, ...args) {\n return effect(FORK, getFnCallDesc('fork', fn, args))\n}\n\nexport function spawn(fn, ...args) {\n return detach(fork(fn, ...args))\n}\n\nexport function join(...tasks) {\n if (tasks.length > 1) {\n return all(tasks.map(t => join(t)))\n }\n const task = tasks[0]\n check(task, is.notUndef, 'join(task): argument task is undefined')\n check(task, is.task, `join(task): argument ${task} is not a valid Task object ${TEST_HINT}`)\n return effect(JOIN, task)\n}\n\nexport function cancel(...tasks) {\n if (tasks.length > 1) {\n return all(tasks.map(t => cancel(t)))\n }\n const task = tasks[0]\n if (tasks.length === 1) {\n check(task, is.notUndef, 'cancel(task): argument task is undefined')\n check(task, is.task, `cancel(task): argument ${task} is not a valid Task object ${TEST_HINT}`)\n }\n return effect(CANCEL, task || SELF_CANCELLATION)\n}\n\nexport function select(selector, ...args) {\n if (arguments.length === 0) {\n selector = ident\n } else {\n check(selector, is.notUndef, 'select(selector,[...]): argument selector is undefined')\n check(selector, is.func, `select(selector,[...]): argument ${selector} is not a function`)\n }\n return effect(SELECT, { selector, args })\n}\n\nexport function selectSelf() {\n return effect(SELECT_SELF, {})\n}\n\nexport function putMutation(fn) {\n return effect(PUT_MUTAION, { fn })\n}\n\nexport function putAsyncAction(action) {\n return effect(PUT_ASYNC, { action })\n}\n\n/**\n channel(pattern, [buffer]) => creates an event channel for store actions\n**/\nexport function actionChannel(pattern, buffer) {\n check(pattern, is.notUndef, 'actionChannel(pattern,...): argument pattern is undefined')\n if (arguments.length > 1) {\n check(buffer, is.notUndef, 'actionChannel(pattern, buffer): argument buffer is undefined')\n check(buffer, is.buffer, `actionChannel(pattern, buffer): argument ${buffer} is not a valid buffer`)\n }\n return effect(ACTION_CHANNEL, { pattern, buffer })\n}\n\nexport function cancelled() {\n return effect(CANCELLED, {})\n}\n\nexport function flush(channel) {\n check(channel, is.channel, `flush(channel): argument ${channel} is not valid channel`)\n return effect(FLUSH, channel)\n}\n\nexport function getContext(prop) {\n check(prop, is.string, `getContext(prop): argument ${prop} is not a string`)\n return effect(GET_CONTEXT, prop)\n}\n\nexport function setContext(props) {\n check(props, is.object, createSetContextWarning(null, props))\n return effect(SET_CONTEXT, props)\n}\n\nconst createAsEffectType = type => effect => effect && effect[IO] && effect[type]\n\nexport const asEffect = {\n take: createAsEffectType(TAKE),\n put: createAsEffectType(PUT),\n all: createAsEffectType(ALL),\n race: createAsEffectType(RACE),\n call: createAsEffectType(CALL),\n cps: createAsEffectType(CPS),\n fork: createAsEffectType(FORK),\n join: createAsEffectType(JOIN),\n cancel: createAsEffectType(CANCEL),\n select: createAsEffectType(SELECT),\n selectSelf: createAsEffectType(SELECT_SELF),\n putAsyncAction: createAsEffectType(PUT_ASYNC),\n actionChannel: createAsEffectType(ACTION_CHANNEL),\n cancelled: createAsEffectType(CANCELLED),\n flush: createAsEffectType(FLUSH),\n getContext: createAsEffectType(GET_CONTEXT),\n setContext: createAsEffectType(SET_CONTEXT),\n putMutation: createAsEffectType(PUT_MUTAION)\n}\n"],"mappings":"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"}
|
|
@@ -1,79 +1,76 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import { is, check, object, createSetContextWarning } from
|
|
4
|
-
import { emitter } from
|
|
5
|
-
import { ident } from
|
|
6
|
-
import { runSaga } from
|
|
7
|
-
export default function sagaMiddlewareFactory(
|
|
8
|
-
var _ref =
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
2
|
+
var _excluded = ["context"];
|
|
3
|
+
import { is, check, object, createSetContextWarning } from "./utils";
|
|
4
|
+
import { emitter } from "./channel";
|
|
5
|
+
import { ident } from "./utils";
|
|
6
|
+
import { runSaga } from "./runSaga";
|
|
7
|
+
export default function sagaMiddlewareFactory() {
|
|
8
|
+
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
9
|
+
_ref$context = _ref.context,
|
|
10
|
+
context = _ref$context === void 0 ? {} : _ref$context,
|
|
11
|
+
options = _objectWithoutProperties(_ref, _excluded);
|
|
13
12
|
var sagaMonitor = options.sagaMonitor,
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
logger = options.logger,
|
|
14
|
+
onError = options.onError;
|
|
17
15
|
if (is.func(options)) {
|
|
18
16
|
if (process.env.NODE_ENV === 'production') {
|
|
19
17
|
throw new Error('Saga middleware no longer accept Generator functions. Use sagaMiddleware.run instead');
|
|
20
18
|
} else {
|
|
21
|
-
throw new Error(
|
|
19
|
+
throw new Error(`You passed a function to the Saga middleware. You are likely trying to start a\
|
|
20
|
+
Saga by directly passing it to the middleware. This is no longer possible starting from 0.10.0.\
|
|
21
|
+
To run a Saga, you must do it dynamically AFTER mounting the middleware into the store.
|
|
22
|
+
Example:
|
|
23
|
+
import createSagaMiddleware from 'redux-saga'
|
|
24
|
+
... other imports
|
|
25
|
+
|
|
26
|
+
const sagaMiddleware = createSagaMiddleware()
|
|
27
|
+
const store = createStore(reducer, applyMiddleware(sagaMiddleware))
|
|
28
|
+
sagaMiddleware.run(saga, ...args)
|
|
29
|
+
`);
|
|
22
30
|
}
|
|
23
31
|
}
|
|
24
|
-
|
|
25
32
|
if (logger && !is.func(logger)) {
|
|
26
33
|
throw new Error('`options.logger` passed to the Saga middleware is not a function!');
|
|
27
34
|
}
|
|
28
|
-
|
|
29
35
|
if (process.env.NODE_ENV === 'development' && options.onerror) {
|
|
30
36
|
throw new Error('`options.onerror` was removed. Use `options.onError` instead.');
|
|
31
37
|
}
|
|
32
|
-
|
|
33
38
|
if (onError && !is.func(onError)) {
|
|
34
39
|
throw new Error('`options.onError` passed to the Saga middleware is not a function!');
|
|
35
40
|
}
|
|
36
|
-
|
|
37
41
|
if (options.emitter && !is.func(options.emitter)) {
|
|
38
42
|
throw new Error('`options.emitter` passed to the Saga middleware is not a function!');
|
|
39
43
|
}
|
|
40
|
-
|
|
41
44
|
function sagaMiddleware(_ref2) {
|
|
42
45
|
var getState = _ref2.getState,
|
|
43
|
-
|
|
46
|
+
dispatch = _ref2.dispatch;
|
|
44
47
|
var sagaEmitter = emitter();
|
|
45
48
|
sagaEmitter.emit = (options.emitter || ident)(sagaEmitter.emit);
|
|
46
49
|
sagaMiddleware.run = runSaga.bind(null, {
|
|
47
|
-
context
|
|
50
|
+
context,
|
|
48
51
|
subscribe: sagaEmitter.subscribe,
|
|
49
|
-
dispatch
|
|
50
|
-
getState
|
|
51
|
-
sagaMonitor
|
|
52
|
-
logger
|
|
53
|
-
onError
|
|
52
|
+
dispatch,
|
|
53
|
+
getState,
|
|
54
|
+
sagaMonitor,
|
|
55
|
+
logger,
|
|
56
|
+
onError
|
|
54
57
|
});
|
|
55
|
-
return
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
sagaEmitter.emit(action);
|
|
64
|
-
return result;
|
|
65
|
-
};
|
|
58
|
+
return next => action => {
|
|
59
|
+
if (sagaMonitor && sagaMonitor.actionDispatched) {
|
|
60
|
+
sagaMonitor.actionDispatched(action);
|
|
61
|
+
}
|
|
62
|
+
var result = next(action); // hit reducers
|
|
63
|
+
sagaEmitter.emit(action);
|
|
64
|
+
return result;
|
|
66
65
|
};
|
|
67
66
|
}
|
|
68
|
-
|
|
69
|
-
sagaMiddleware.run = function () {
|
|
67
|
+
sagaMiddleware.run = () => {
|
|
70
68
|
throw new Error('Before running a Saga, you must mount the Saga middleware on the Store using applyMiddleware');
|
|
71
69
|
};
|
|
72
|
-
|
|
73
|
-
sagaMiddleware.setContext = function (props) {
|
|
70
|
+
sagaMiddleware.setContext = props => {
|
|
74
71
|
check(props, is.object, createSetContextWarning('sagaMiddleware', props));
|
|
75
72
|
object.assign(context, props);
|
|
76
73
|
};
|
|
77
|
-
|
|
78
74
|
return sagaMiddleware;
|
|
79
|
-
}
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middleware.js","names":["is","check","object","createSetContextWarning","emitter","ident","runSaga","sagaMiddlewareFactory","_ref","arguments","length","undefined","_ref$context","context","options","_objectWithoutProperties","_excluded","sagaMonitor","logger","onError","func","process","env","NODE_ENV","Error","onerror","sagaMiddleware","_ref2","getState","dispatch","sagaEmitter","emit","run","bind","subscribe","next","action","actionDispatched","result","setContext","props","assign"],"sources":["../../middleware.js"],"sourcesContent":["import { is, check, object, createSetContextWarning } from './utils'\nimport { emitter } from './channel'\nimport { ident } from './utils'\nimport { runSaga } from './runSaga'\n\nexport default function sagaMiddlewareFactory({ context = {}, ...options } = {}) {\n const { sagaMonitor, logger, onError } = options\n\n if (is.func(options)) {\n if (process.env.NODE_ENV === 'production') {\n throw new Error('Saga middleware no longer accept Generator functions. Use sagaMiddleware.run instead')\n } else {\n throw new Error(\n `You passed a function to the Saga middleware. You are likely trying to start a\\\n Saga by directly passing it to the middleware. This is no longer possible starting from 0.10.0.\\\n To run a Saga, you must do it dynamically AFTER mounting the middleware into the store.\n Example:\n import createSagaMiddleware from 'redux-saga'\n ... other imports\n\n const sagaMiddleware = createSagaMiddleware()\n const store = createStore(reducer, applyMiddleware(sagaMiddleware))\n sagaMiddleware.run(saga, ...args)\n `,\n )\n }\n }\n\n if (logger && !is.func(logger)) {\n throw new Error('`options.logger` passed to the Saga middleware is not a function!')\n }\n\n if (process.env.NODE_ENV === 'development' && options.onerror) {\n throw new Error('`options.onerror` was removed. Use `options.onError` instead.')\n }\n\n if (onError && !is.func(onError)) {\n throw new Error('`options.onError` passed to the Saga middleware is not a function!')\n }\n\n if (options.emitter && !is.func(options.emitter)) {\n throw new Error('`options.emitter` passed to the Saga middleware is not a function!')\n }\n\n function sagaMiddleware({ getState, dispatch }) {\n const sagaEmitter = emitter()\n sagaEmitter.emit = (options.emitter || ident)(sagaEmitter.emit)\n\n sagaMiddleware.run = runSaga.bind(null, {\n context,\n subscribe: sagaEmitter.subscribe,\n dispatch,\n getState,\n sagaMonitor,\n logger,\n onError,\n })\n\n return next => action => {\n if (sagaMonitor && sagaMonitor.actionDispatched) {\n sagaMonitor.actionDispatched(action)\n }\n const result = next(action) // hit reducers\n sagaEmitter.emit(action)\n return result\n }\n }\n\n sagaMiddleware.run = () => {\n throw new Error('Before running a Saga, you must mount the Saga middleware on the Store using applyMiddleware')\n }\n\n sagaMiddleware.setContext = props => {\n check(props, is.object, createSetContextWarning('sagaMiddleware', props))\n object.assign(context, props)\n }\n\n return sagaMiddleware\n}\n"],"mappings":"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"}
|