rxjs-poll 2.2.2 → 2.2.3
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/README.md +3 -2
- package/dist/cjs/index.js +134 -78
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +135 -79
- package/dist/esm/index.js.map +1 -1
- package/dist/types/common/service.d.ts +9 -0
- package/dist/types/common/service.d.ts.map +1 -0
- package/dist/types/constants/config.const.d.ts +1 -1
- package/dist/types/constants/state.const.d.ts +8 -0
- package/dist/types/constants/state.const.d.ts.map +1 -0
- package/dist/types/constants/timing.const.d.ts +6 -0
- package/dist/types/constants/timing.const.d.ts.map +1 -0
- package/dist/types/observables/factory.d.ts +11 -0
- package/dist/types/observables/factory.d.ts.map +1 -0
- package/dist/types/observables/interval-poller.d.ts +3 -3
- package/dist/types/observables/interval-poller.d.ts.map +1 -1
- package/dist/types/observables/pause-delay.d.ts +7 -0
- package/dist/types/observables/pause-delay.d.ts.map +1 -0
- package/dist/types/observables/repeat-poller.d.ts +3 -3
- package/dist/types/observables/repeat-poller.d.ts.map +1 -1
- package/dist/types/operators/retry-pol.operator.d.ts +11 -0
- package/dist/types/operators/retry-pol.operator.d.ts.map +1 -0
- package/dist/types/poll.d.ts.map +1 -1
- package/dist/types/types/config.type.d.ts +1 -1
- package/dist/types/types/observables.type.d.ts +9 -21
- package/dist/types/types/observables.type.d.ts.map +1 -1
- package/dist/types/types/poll.type.d.ts +1 -6
- package/dist/types/types/poll.type.d.ts.map +1 -1
- package/dist/types/types/retry.type.d.ts +7 -0
- package/dist/types/types/retry.type.d.ts.map +1 -0
- package/dist/types/types/service.type.d.ts +18 -0
- package/dist/types/types/service.type.d.ts.map +1 -0
- package/dist/umd/index.js +134 -78
- package/dist/umd/index.js.map +1 -1
- package/dist/umd/index.min.js +1 -1
- package/dist/umd/index.min.js.map +1 -1
- package/package.json +5 -5
- package/dist/types/common/state.d.ts +0 -8
- package/dist/types/common/state.d.ts.map +0 -1
- package/dist/types/observables/poller-factory.d.ts +0 -11
- package/dist/types/observables/poller-factory.d.ts.map +0 -1
- package/dist/types/observables/retry-operator.d.ts +0 -11
- package/dist/types/observables/retry-operator.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -14,11 +14,12 @@ A flexible RxJS operator library that enables polling on any completed observabl
|
|
|
14
14
|
- **Two polling types**: `repeat` and `interval` to suit different use cases
|
|
15
15
|
- **Timing strategies**: `constant`, `linear`, `exponential`, `random` and `dynamic` (custom logic)
|
|
16
16
|
- **Auto-pause**: Automatically pause/resume polling based on page visibility (browser only)
|
|
17
|
+
- **Reliable execution**: First and in-flight cycles (poll or retry) guaranteed
|
|
17
18
|
- **Flexible retries**: Control retry attempts with consecutive or total counting modes
|
|
18
19
|
- **Input validation**: Guards against unexpected input time values
|
|
19
20
|
- **Cross-platform**: Works in both browser and Node.js environments
|
|
20
21
|
- **Modern compatibility**: Compatible with RxJS v7+
|
|
21
|
-
- **
|
|
22
|
+
- **Module formats**: Supports CJS, ESM, and UMD
|
|
22
23
|
|
|
23
24
|
## 📦 Installation
|
|
24
25
|
|
|
@@ -210,7 +211,7 @@ interface PollConfig {
|
|
|
210
211
|
* - true: Pause polling when tab isn't active, and resume on active
|
|
211
212
|
* - false: Poll even when tab isn't focused
|
|
212
213
|
* @default true
|
|
213
|
-
* @note Every started cycle finishes before pausing
|
|
214
|
+
* @note Every started cycle (poll or retry) finishes before pausing
|
|
214
215
|
*/
|
|
215
216
|
pauseWhenHidden?: boolean;
|
|
216
217
|
}
|
package/dist/cjs/index.js
CHANGED
|
@@ -15,7 +15,7 @@ const strategyType = {
|
|
|
15
15
|
DYNAMIC: 'dynamic',
|
|
16
16
|
};
|
|
17
17
|
|
|
18
|
-
const
|
|
18
|
+
const defaultConfig = {
|
|
19
19
|
type: pollType.REPEAT,
|
|
20
20
|
delay: {
|
|
21
21
|
strategy: strategyType.CONSTANT,
|
|
@@ -98,7 +98,7 @@ function extendConfig(config) {
|
|
|
98
98
|
return Object.assign(Object.assign({}, normalizedConfig), { getDelayTime: getTimeProducer('delay', normalizedConfig), getRetryTime: getTimeProducer('retry', normalizedConfig) });
|
|
99
99
|
}
|
|
100
100
|
function getTimeProducer(mode, config) {
|
|
101
|
-
const defaultTime =
|
|
101
|
+
const defaultTime = defaultConfig[mode].time;
|
|
102
102
|
const timeProducer = getStrategyTimeProducer(mode, config);
|
|
103
103
|
return (state) => {
|
|
104
104
|
const producedTime = timeProducer(Object.assign({}, state));
|
|
@@ -109,32 +109,88 @@ function getTimeProducer(mode, config) {
|
|
|
109
109
|
function normalizeConfig(config) {
|
|
110
110
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
111
111
|
return {
|
|
112
|
-
type: (_a = config === null || config === void 0 ? void 0 : config.type) !== null && _a !== void 0 ? _a :
|
|
112
|
+
type: (_a = config === null || config === void 0 ? void 0 : config.type) !== null && _a !== void 0 ? _a : defaultConfig.type,
|
|
113
113
|
delay: {
|
|
114
|
-
strategy: (_c = (_b = config === null || config === void 0 ? void 0 : config.delay) === null || _b === void 0 ? void 0 : _b.strategy) !== null && _c !== void 0 ? _c :
|
|
114
|
+
strategy: (_c = (_b = config === null || config === void 0 ? void 0 : config.delay) === null || _b === void 0 ? void 0 : _b.strategy) !== null && _c !== void 0 ? _c : defaultConfig.delay.strategy,
|
|
115
115
|
time: isFunction((_d = config === null || config === void 0 ? void 0 : config.delay) === null || _d === void 0 ? void 0 : _d.time)
|
|
116
116
|
? config.delay.time
|
|
117
|
-
: normalizeNumber((_e = config === null || config === void 0 ? void 0 : config.delay) === null || _e === void 0 ? void 0 : _e.time,
|
|
117
|
+
: normalizeNumber((_e = config === null || config === void 0 ? void 0 : config.delay) === null || _e === void 0 ? void 0 : _e.time, defaultConfig.delay.time),
|
|
118
118
|
},
|
|
119
119
|
retry: {
|
|
120
|
-
strategy: (_g = (_f = config === null || config === void 0 ? void 0 : config.retry) === null || _f === void 0 ? void 0 : _f.strategy) !== null && _g !== void 0 ? _g :
|
|
120
|
+
strategy: (_g = (_f = config === null || config === void 0 ? void 0 : config.retry) === null || _f === void 0 ? void 0 : _f.strategy) !== null && _g !== void 0 ? _g : defaultConfig.retry.strategy,
|
|
121
121
|
time: isFunction((_h = config === null || config === void 0 ? void 0 : config.retry) === null || _h === void 0 ? void 0 : _h.time)
|
|
122
122
|
? config.retry.time
|
|
123
|
-
: normalizeNumber((_j = config === null || config === void 0 ? void 0 : config.retry) === null || _j === void 0 ? void 0 : _j.time,
|
|
124
|
-
limit: normalizeNumber((_k = config === null || config === void 0 ? void 0 : config.retry) === null || _k === void 0 ? void 0 : _k.limit,
|
|
125
|
-
consecutiveOnly: (_m = (_l = config === null || config === void 0 ? void 0 : config.retry) === null || _l === void 0 ? void 0 : _l.consecutiveOnly) !== null && _m !== void 0 ? _m :
|
|
123
|
+
: normalizeNumber((_j = config === null || config === void 0 ? void 0 : config.retry) === null || _j === void 0 ? void 0 : _j.time, defaultConfig.retry.time),
|
|
124
|
+
limit: normalizeNumber((_k = config === null || config === void 0 ? void 0 : config.retry) === null || _k === void 0 ? void 0 : _k.limit, defaultConfig.retry.limit, false),
|
|
125
|
+
consecutiveOnly: (_m = (_l = config === null || config === void 0 ? void 0 : config.retry) === null || _l === void 0 ? void 0 : _l.consecutiveOnly) !== null && _m !== void 0 ? _m : defaultConfig.retry.consecutiveOnly,
|
|
126
126
|
},
|
|
127
|
-
pauseWhenHidden: (_o = config === null || config === void 0 ? void 0 : config.pauseWhenHidden) !== null && _o !== void 0 ? _o :
|
|
127
|
+
pauseWhenHidden: (_o = config === null || config === void 0 ? void 0 : config.pauseWhenHidden) !== null && _o !== void 0 ? _o : defaultConfig.pauseWhenHidden,
|
|
128
128
|
};
|
|
129
129
|
}
|
|
130
130
|
|
|
131
|
-
|
|
132
|
-
|
|
131
|
+
const defaultState = {
|
|
132
|
+
value: undefined,
|
|
133
|
+
error: undefined,
|
|
134
|
+
pollCount: 0,
|
|
135
|
+
retryCount: 0,
|
|
136
|
+
consecutiveRetryCount: 0,
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
function createPollService(extendedConfig) {
|
|
140
|
+
const state = Object.assign({}, defaultState);
|
|
141
|
+
return {
|
|
142
|
+
get config() {
|
|
143
|
+
return extendedConfig;
|
|
144
|
+
},
|
|
145
|
+
get state() {
|
|
146
|
+
return state;
|
|
147
|
+
},
|
|
148
|
+
setValue: (value) => {
|
|
149
|
+
state.value = value;
|
|
150
|
+
},
|
|
151
|
+
setError: (error) => {
|
|
152
|
+
state.error = error;
|
|
153
|
+
},
|
|
154
|
+
resetError: () => {
|
|
155
|
+
state.error = undefined;
|
|
156
|
+
state.consecutiveRetryCount = 0;
|
|
157
|
+
},
|
|
158
|
+
incrementPoll: () => {
|
|
159
|
+
state.pollCount += 1;
|
|
160
|
+
},
|
|
161
|
+
incrementRetry: () => {
|
|
162
|
+
state.retryCount += 1;
|
|
163
|
+
state.consecutiveRetryCount += 1;
|
|
164
|
+
},
|
|
165
|
+
isRetryLimit: () => {
|
|
166
|
+
const retryKey = extendedConfig.retry.consecutiveOnly ? 'consecutiveRetryCount' : 'retryCount';
|
|
167
|
+
return state[retryKey] > extendedConfig.retry.limit;
|
|
168
|
+
},
|
|
169
|
+
getDelayTime: () => {
|
|
170
|
+
return extendedConfig.getDelayTime(state);
|
|
171
|
+
},
|
|
172
|
+
getRetryTime: () => {
|
|
173
|
+
return extendedConfig.getRetryTime(state);
|
|
174
|
+
},
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
function retryPoll(pollService, getRetryTime) {
|
|
179
|
+
return (source) => source.pipe(rxjs.retry({
|
|
180
|
+
delay: (error) => {
|
|
181
|
+
pollService.incrementRetry();
|
|
182
|
+
if (pollService.isRetryLimit()) {
|
|
183
|
+
return rxjs.throwError(() => error);
|
|
184
|
+
}
|
|
185
|
+
pollService.setError(error);
|
|
186
|
+
return rxjs.timer(getRetryTime ? getRetryTime() : pollService.getRetryTime());
|
|
187
|
+
},
|
|
188
|
+
}), rxjs.tap(() => pollService.resetError()));
|
|
133
189
|
}
|
|
134
190
|
|
|
135
191
|
function withDocumentVisibility$(poller$, pauser$) {
|
|
136
192
|
const visibility$ = getDocumentVisibility$();
|
|
137
|
-
const pause$ = visibility$.pipe(rxjs.switchMap((isVisible) => (isVisible ? rxjs.
|
|
193
|
+
const pause$ = visibility$.pipe(rxjs.switchMap((isVisible) => (isVisible ? rxjs.NEVER : pauser$)));
|
|
138
194
|
let emissionStarted = true;
|
|
139
195
|
return visibility$.pipe(rxjs.filter((isVisible) => isVisible || emissionStarted), rxjs.exhaustMap(() => poller$.pipe(rxjs.takeUntil(pause$))), rxjs.tap(() => (emissionStarted = false)));
|
|
140
196
|
}
|
|
@@ -147,89 +203,89 @@ function getDocumentVisibility$() {
|
|
|
147
203
|
return documentVisibility$;
|
|
148
204
|
}
|
|
149
205
|
|
|
206
|
+
const timingToleranceMs = 100;
|
|
207
|
+
|
|
208
|
+
function getPauseDelay$(options) {
|
|
209
|
+
const { time, sourceStartTime = 0, sourceEndTime = 0 } = options;
|
|
210
|
+
const delayMs = time - (sourceEndTime - sourceStartTime) - timingToleranceMs;
|
|
211
|
+
return delayMs > 0 ? rxjs.timer(delayMs).pipe(rxjs.map(() => null)) : rxjs.of(null);
|
|
212
|
+
}
|
|
213
|
+
|
|
150
214
|
function repeatWith$(source$, getTime) {
|
|
151
215
|
return source$.pipe(rxjs.repeat({
|
|
152
216
|
delay: () => rxjs.timer(getTime()),
|
|
153
217
|
}));
|
|
154
218
|
}
|
|
155
219
|
|
|
156
|
-
function buildIntervalPoller$(source$,
|
|
157
|
-
if (!isBrowser() || !pauseWhenHidden) {
|
|
158
|
-
return repeatWith$(rxjs.of(null), () =>
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
currentDelay = nextDelayTime();
|
|
163
|
-
return currentDelay;
|
|
164
|
-
});
|
|
165
|
-
const pauser$ = rxjs.defer(() => rxjs.timer(currentDelay));
|
|
166
|
-
return withDocumentVisibility$(trigger$, pauser$).pipe(rxjs.switchMap(() => source$));
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
function buildRepeatPoller$(source$, { nextDelayTime, pauseWhenHidden }) {
|
|
170
|
-
if (!isBrowser() || !pauseWhenHidden) {
|
|
171
|
-
return repeatWith$(source$, () => nextDelayTime());
|
|
220
|
+
function buildIntervalPoller$(source$, pollService) {
|
|
221
|
+
if (!isBrowser() || !pollService.config.pauseWhenHidden) {
|
|
222
|
+
return repeatWith$(rxjs.of(null), () => {
|
|
223
|
+
pollService.incrementPoll();
|
|
224
|
+
return pollService.getDelayTime();
|
|
225
|
+
}).pipe(rxjs.switchMap(() => source$), retryPoll(pollService));
|
|
172
226
|
}
|
|
173
227
|
const pauseTrigger$ = new rxjs.Subject();
|
|
174
|
-
let
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
228
|
+
let time = 0;
|
|
229
|
+
let sourceStartTime = 0;
|
|
230
|
+
let sourceEndTime = 0;
|
|
231
|
+
const poller$ = repeatWith$(rxjs.of(null), () => {
|
|
232
|
+
pollService.incrementPoll();
|
|
233
|
+
time = pollService.getDelayTime();
|
|
234
|
+
return time;
|
|
235
|
+
}).pipe(rxjs.switchMap(() => source$.pipe(rxjs.tap({
|
|
236
|
+
subscribe: () => {
|
|
237
|
+
sourceStartTime = performance.now();
|
|
238
|
+
},
|
|
239
|
+
finalize: () => {
|
|
240
|
+
sourceEndTime = performance.now();
|
|
241
|
+
pauseTrigger$.next();
|
|
242
|
+
},
|
|
243
|
+
}))), retryPoll(pollService, () => {
|
|
244
|
+
time = pollService.getRetryTime();
|
|
245
|
+
return time;
|
|
246
|
+
}));
|
|
247
|
+
const pauser$ = pauseTrigger$.pipe(rxjs.switchMap(() => getPauseDelay$({
|
|
248
|
+
time,
|
|
249
|
+
sourceStartTime,
|
|
250
|
+
sourceEndTime,
|
|
251
|
+
})));
|
|
180
252
|
return withDocumentVisibility$(poller$, pauser$);
|
|
181
253
|
}
|
|
182
254
|
|
|
183
|
-
function
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
255
|
+
function buildRepeatPoller$(source$, pollService) {
|
|
256
|
+
if (!isBrowser() || !pollService.config.pauseWhenHidden) {
|
|
257
|
+
return repeatWith$(source$, () => {
|
|
258
|
+
pollService.incrementPoll();
|
|
259
|
+
return pollService.getDelayTime();
|
|
260
|
+
}).pipe(retryPoll(pollService));
|
|
261
|
+
}
|
|
262
|
+
const pauseTrigger$ = new rxjs.Subject();
|
|
263
|
+
let time = 0;
|
|
264
|
+
const poller$ = repeatWith$(source$.pipe(rxjs.finalize(() => pauseTrigger$.next())), () => {
|
|
265
|
+
pollService.incrementPoll();
|
|
266
|
+
time = pollService.getDelayTime();
|
|
267
|
+
return time;
|
|
268
|
+
}).pipe(retryPoll(pollService, () => {
|
|
269
|
+
time = pollService.getRetryTime();
|
|
270
|
+
return time;
|
|
271
|
+
}));
|
|
272
|
+
const pauser$ = pauseTrigger$.pipe(rxjs.switchMap(() => getPauseDelay$({ time })));
|
|
273
|
+
return withDocumentVisibility$(poller$, pauser$);
|
|
187
274
|
}
|
|
188
275
|
|
|
189
|
-
function
|
|
190
|
-
const
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
return function createPoller(state) {
|
|
196
|
-
const nextDelayTime = (value) => {
|
|
197
|
-
state.pollCount += 1;
|
|
198
|
-
state.value = value;
|
|
199
|
-
return getDelayTime(state);
|
|
200
|
-
};
|
|
201
|
-
const nextRetryTime = (error) => {
|
|
202
|
-
state.error = error;
|
|
203
|
-
return getRetryTime(state);
|
|
204
|
-
};
|
|
205
|
-
const isRetryLimit = () => {
|
|
206
|
-
state.retryCount += 1;
|
|
207
|
-
state.consecutiveRetryCount += 1;
|
|
208
|
-
return state[retryKey] > retry.limit;
|
|
209
|
-
};
|
|
210
|
-
const resetError = () => {
|
|
211
|
-
state.error = undefined;
|
|
212
|
-
state.consecutiveRetryCount = 0;
|
|
213
|
-
};
|
|
214
|
-
const poller$ = type === 'repeat'
|
|
215
|
-
? buildRepeatPoller$(completed$, {
|
|
216
|
-
nextDelayTime: () => nextDelayTime(lastValue),
|
|
217
|
-
pauseWhenHidden,
|
|
218
|
-
})
|
|
219
|
-
: buildIntervalPoller$(completed$, {
|
|
220
|
-
nextDelayTime: () => nextDelayTime(lastValue),
|
|
221
|
-
pauseWhenHidden,
|
|
222
|
-
});
|
|
223
|
-
return poller$.pipe(retryPoll(nextRetryTime, isRetryLimit, resetError));
|
|
224
|
-
};
|
|
276
|
+
function createPoller$(source$, pollService) {
|
|
277
|
+
const completed$ = source$.pipe(rxjs.takeLast(1), rxjs.tap((value) => pollService.setValue(value)));
|
|
278
|
+
const poller$ = pollService.config.type === pollType.REPEAT
|
|
279
|
+
? buildRepeatPoller$(completed$, pollService)
|
|
280
|
+
: buildIntervalPoller$(completed$, pollService);
|
|
281
|
+
return poller$;
|
|
225
282
|
}
|
|
226
283
|
|
|
227
284
|
function poll(config) {
|
|
228
285
|
return (source$) => {
|
|
229
286
|
const extendedConfig = extendConfig(config);
|
|
230
|
-
const
|
|
231
|
-
const
|
|
232
|
-
const poller$ = createPoller(state);
|
|
287
|
+
const pollService = createPollService(extendedConfig);
|
|
288
|
+
const poller$ = createPoller$(source$, pollService);
|
|
233
289
|
return poller$;
|
|
234
290
|
};
|
|
235
291
|
}
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/constants/poll.const.ts","../../src/constants/strategies.const.ts","../../src/constants/config.const.ts","../../src/common/utils.ts","../../src/common/strategies.ts","../../src/common/config.ts","../../src/common/state.ts","../../src/observables/document-visibility.ts","../../src/observables/repeat-with.ts","../../src/observables/interval-poller.ts","../../src/observables/repeat-poller.ts","../../src/observables/retry-operator.ts","../../src/observables/poller-factory.ts","../../src/poll.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["switchMap","EMPTY","filter","exhaustMap","takeUntil","tap","fromEvent","startWith","map","shareReplay","repeat","timer","of","defer","Subject","finalize","auditTime","retry","throwError","takeLast"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/constants/poll.const.ts","../../src/constants/strategies.const.ts","../../src/constants/config.const.ts","../../src/common/utils.ts","../../src/common/strategies.ts","../../src/common/config.ts","../../src/constants/state.const.ts","../../src/common/service.ts","../../src/operators/retry-pol.operator.ts","../../src/observables/document-visibility.ts","../../src/constants/timing.const.ts","../../src/observables/pause-delay.ts","../../src/observables/repeat-with.ts","../../src/observables/interval-poller.ts","../../src/observables/repeat-poller.ts","../../src/observables/factory.ts","../../src/poll.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["retry","throwError","timer","tap","switchMap","NEVER","filter","exhaustMap","takeUntil","fromEvent","startWith","map","shareReplay","of","repeat","Subject","finalize","takeLast"],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { switchMap,
|
|
1
|
+
import { retry, throwError, timer, tap, switchMap, NEVER, filter, exhaustMap, takeUntil, fromEvent, startWith, map, shareReplay, of, repeat, Subject, finalize, takeLast } from 'rxjs';
|
|
2
2
|
|
|
3
3
|
const pollType = {
|
|
4
4
|
REPEAT: 'repeat',
|
|
@@ -13,7 +13,7 @@ const strategyType = {
|
|
|
13
13
|
DYNAMIC: 'dynamic',
|
|
14
14
|
};
|
|
15
15
|
|
|
16
|
-
const
|
|
16
|
+
const defaultConfig = {
|
|
17
17
|
type: pollType.REPEAT,
|
|
18
18
|
delay: {
|
|
19
19
|
strategy: strategyType.CONSTANT,
|
|
@@ -96,7 +96,7 @@ function extendConfig(config) {
|
|
|
96
96
|
return Object.assign(Object.assign({}, normalizedConfig), { getDelayTime: getTimeProducer('delay', normalizedConfig), getRetryTime: getTimeProducer('retry', normalizedConfig) });
|
|
97
97
|
}
|
|
98
98
|
function getTimeProducer(mode, config) {
|
|
99
|
-
const defaultTime =
|
|
99
|
+
const defaultTime = defaultConfig[mode].time;
|
|
100
100
|
const timeProducer = getStrategyTimeProducer(mode, config);
|
|
101
101
|
return (state) => {
|
|
102
102
|
const producedTime = timeProducer(Object.assign({}, state));
|
|
@@ -107,32 +107,88 @@ function getTimeProducer(mode, config) {
|
|
|
107
107
|
function normalizeConfig(config) {
|
|
108
108
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
109
109
|
return {
|
|
110
|
-
type: (_a = config === null || config === void 0 ? void 0 : config.type) !== null && _a !== void 0 ? _a :
|
|
110
|
+
type: (_a = config === null || config === void 0 ? void 0 : config.type) !== null && _a !== void 0 ? _a : defaultConfig.type,
|
|
111
111
|
delay: {
|
|
112
|
-
strategy: (_c = (_b = config === null || config === void 0 ? void 0 : config.delay) === null || _b === void 0 ? void 0 : _b.strategy) !== null && _c !== void 0 ? _c :
|
|
112
|
+
strategy: (_c = (_b = config === null || config === void 0 ? void 0 : config.delay) === null || _b === void 0 ? void 0 : _b.strategy) !== null && _c !== void 0 ? _c : defaultConfig.delay.strategy,
|
|
113
113
|
time: isFunction((_d = config === null || config === void 0 ? void 0 : config.delay) === null || _d === void 0 ? void 0 : _d.time)
|
|
114
114
|
? config.delay.time
|
|
115
|
-
: normalizeNumber((_e = config === null || config === void 0 ? void 0 : config.delay) === null || _e === void 0 ? void 0 : _e.time,
|
|
115
|
+
: normalizeNumber((_e = config === null || config === void 0 ? void 0 : config.delay) === null || _e === void 0 ? void 0 : _e.time, defaultConfig.delay.time),
|
|
116
116
|
},
|
|
117
117
|
retry: {
|
|
118
|
-
strategy: (_g = (_f = config === null || config === void 0 ? void 0 : config.retry) === null || _f === void 0 ? void 0 : _f.strategy) !== null && _g !== void 0 ? _g :
|
|
118
|
+
strategy: (_g = (_f = config === null || config === void 0 ? void 0 : config.retry) === null || _f === void 0 ? void 0 : _f.strategy) !== null && _g !== void 0 ? _g : defaultConfig.retry.strategy,
|
|
119
119
|
time: isFunction((_h = config === null || config === void 0 ? void 0 : config.retry) === null || _h === void 0 ? void 0 : _h.time)
|
|
120
120
|
? config.retry.time
|
|
121
|
-
: normalizeNumber((_j = config === null || config === void 0 ? void 0 : config.retry) === null || _j === void 0 ? void 0 : _j.time,
|
|
122
|
-
limit: normalizeNumber((_k = config === null || config === void 0 ? void 0 : config.retry) === null || _k === void 0 ? void 0 : _k.limit,
|
|
123
|
-
consecutiveOnly: (_m = (_l = config === null || config === void 0 ? void 0 : config.retry) === null || _l === void 0 ? void 0 : _l.consecutiveOnly) !== null && _m !== void 0 ? _m :
|
|
121
|
+
: normalizeNumber((_j = config === null || config === void 0 ? void 0 : config.retry) === null || _j === void 0 ? void 0 : _j.time, defaultConfig.retry.time),
|
|
122
|
+
limit: normalizeNumber((_k = config === null || config === void 0 ? void 0 : config.retry) === null || _k === void 0 ? void 0 : _k.limit, defaultConfig.retry.limit, false),
|
|
123
|
+
consecutiveOnly: (_m = (_l = config === null || config === void 0 ? void 0 : config.retry) === null || _l === void 0 ? void 0 : _l.consecutiveOnly) !== null && _m !== void 0 ? _m : defaultConfig.retry.consecutiveOnly,
|
|
124
124
|
},
|
|
125
|
-
pauseWhenHidden: (_o = config === null || config === void 0 ? void 0 : config.pauseWhenHidden) !== null && _o !== void 0 ? _o :
|
|
125
|
+
pauseWhenHidden: (_o = config === null || config === void 0 ? void 0 : config.pauseWhenHidden) !== null && _o !== void 0 ? _o : defaultConfig.pauseWhenHidden,
|
|
126
126
|
};
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
-
|
|
130
|
-
|
|
129
|
+
const defaultState = {
|
|
130
|
+
value: undefined,
|
|
131
|
+
error: undefined,
|
|
132
|
+
pollCount: 0,
|
|
133
|
+
retryCount: 0,
|
|
134
|
+
consecutiveRetryCount: 0,
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
function createPollService(extendedConfig) {
|
|
138
|
+
const state = Object.assign({}, defaultState);
|
|
139
|
+
return {
|
|
140
|
+
get config() {
|
|
141
|
+
return extendedConfig;
|
|
142
|
+
},
|
|
143
|
+
get state() {
|
|
144
|
+
return state;
|
|
145
|
+
},
|
|
146
|
+
setValue: (value) => {
|
|
147
|
+
state.value = value;
|
|
148
|
+
},
|
|
149
|
+
setError: (error) => {
|
|
150
|
+
state.error = error;
|
|
151
|
+
},
|
|
152
|
+
resetError: () => {
|
|
153
|
+
state.error = undefined;
|
|
154
|
+
state.consecutiveRetryCount = 0;
|
|
155
|
+
},
|
|
156
|
+
incrementPoll: () => {
|
|
157
|
+
state.pollCount += 1;
|
|
158
|
+
},
|
|
159
|
+
incrementRetry: () => {
|
|
160
|
+
state.retryCount += 1;
|
|
161
|
+
state.consecutiveRetryCount += 1;
|
|
162
|
+
},
|
|
163
|
+
isRetryLimit: () => {
|
|
164
|
+
const retryKey = extendedConfig.retry.consecutiveOnly ? 'consecutiveRetryCount' : 'retryCount';
|
|
165
|
+
return state[retryKey] > extendedConfig.retry.limit;
|
|
166
|
+
},
|
|
167
|
+
getDelayTime: () => {
|
|
168
|
+
return extendedConfig.getDelayTime(state);
|
|
169
|
+
},
|
|
170
|
+
getRetryTime: () => {
|
|
171
|
+
return extendedConfig.getRetryTime(state);
|
|
172
|
+
},
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
function retryPoll(pollService, getRetryTime) {
|
|
177
|
+
return (source) => source.pipe(retry({
|
|
178
|
+
delay: (error) => {
|
|
179
|
+
pollService.incrementRetry();
|
|
180
|
+
if (pollService.isRetryLimit()) {
|
|
181
|
+
return throwError(() => error);
|
|
182
|
+
}
|
|
183
|
+
pollService.setError(error);
|
|
184
|
+
return timer(getRetryTime ? getRetryTime() : pollService.getRetryTime());
|
|
185
|
+
},
|
|
186
|
+
}), tap(() => pollService.resetError()));
|
|
131
187
|
}
|
|
132
188
|
|
|
133
189
|
function withDocumentVisibility$(poller$, pauser$) {
|
|
134
190
|
const visibility$ = getDocumentVisibility$();
|
|
135
|
-
const pause$ = visibility$.pipe(switchMap((isVisible) => (isVisible ?
|
|
191
|
+
const pause$ = visibility$.pipe(switchMap((isVisible) => (isVisible ? NEVER : pauser$)));
|
|
136
192
|
let emissionStarted = true;
|
|
137
193
|
return visibility$.pipe(filter((isVisible) => isVisible || emissionStarted), exhaustMap(() => poller$.pipe(takeUntil(pause$))), tap(() => (emissionStarted = false)));
|
|
138
194
|
}
|
|
@@ -145,89 +201,89 @@ function getDocumentVisibility$() {
|
|
|
145
201
|
return documentVisibility$;
|
|
146
202
|
}
|
|
147
203
|
|
|
204
|
+
const timingToleranceMs = 100;
|
|
205
|
+
|
|
206
|
+
function getPauseDelay$(options) {
|
|
207
|
+
const { time, sourceStartTime = 0, sourceEndTime = 0 } = options;
|
|
208
|
+
const delayMs = time - (sourceEndTime - sourceStartTime) - timingToleranceMs;
|
|
209
|
+
return delayMs > 0 ? timer(delayMs).pipe(map(() => null)) : of(null);
|
|
210
|
+
}
|
|
211
|
+
|
|
148
212
|
function repeatWith$(source$, getTime) {
|
|
149
213
|
return source$.pipe(repeat({
|
|
150
214
|
delay: () => timer(getTime()),
|
|
151
215
|
}));
|
|
152
216
|
}
|
|
153
217
|
|
|
154
|
-
function buildIntervalPoller$(source$,
|
|
155
|
-
if (!isBrowser() || !pauseWhenHidden) {
|
|
156
|
-
return repeatWith$(of(null), () =>
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
currentDelay = nextDelayTime();
|
|
161
|
-
return currentDelay;
|
|
162
|
-
});
|
|
163
|
-
const pauser$ = defer(() => timer(currentDelay));
|
|
164
|
-
return withDocumentVisibility$(trigger$, pauser$).pipe(switchMap(() => source$));
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
function buildRepeatPoller$(source$, { nextDelayTime, pauseWhenHidden }) {
|
|
168
|
-
if (!isBrowser() || !pauseWhenHidden) {
|
|
169
|
-
return repeatWith$(source$, () => nextDelayTime());
|
|
218
|
+
function buildIntervalPoller$(source$, pollService) {
|
|
219
|
+
if (!isBrowser() || !pollService.config.pauseWhenHidden) {
|
|
220
|
+
return repeatWith$(of(null), () => {
|
|
221
|
+
pollService.incrementPoll();
|
|
222
|
+
return pollService.getDelayTime();
|
|
223
|
+
}).pipe(switchMap(() => source$), retryPoll(pollService));
|
|
170
224
|
}
|
|
171
225
|
const pauseTrigger$ = new Subject();
|
|
172
|
-
let
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
226
|
+
let time = 0;
|
|
227
|
+
let sourceStartTime = 0;
|
|
228
|
+
let sourceEndTime = 0;
|
|
229
|
+
const poller$ = repeatWith$(of(null), () => {
|
|
230
|
+
pollService.incrementPoll();
|
|
231
|
+
time = pollService.getDelayTime();
|
|
232
|
+
return time;
|
|
233
|
+
}).pipe(switchMap(() => source$.pipe(tap({
|
|
234
|
+
subscribe: () => {
|
|
235
|
+
sourceStartTime = performance.now();
|
|
236
|
+
},
|
|
237
|
+
finalize: () => {
|
|
238
|
+
sourceEndTime = performance.now();
|
|
239
|
+
pauseTrigger$.next();
|
|
240
|
+
},
|
|
241
|
+
}))), retryPoll(pollService, () => {
|
|
242
|
+
time = pollService.getRetryTime();
|
|
243
|
+
return time;
|
|
244
|
+
}));
|
|
245
|
+
const pauser$ = pauseTrigger$.pipe(switchMap(() => getPauseDelay$({
|
|
246
|
+
time,
|
|
247
|
+
sourceStartTime,
|
|
248
|
+
sourceEndTime,
|
|
249
|
+
})));
|
|
178
250
|
return withDocumentVisibility$(poller$, pauser$);
|
|
179
251
|
}
|
|
180
252
|
|
|
181
|
-
function
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
253
|
+
function buildRepeatPoller$(source$, pollService) {
|
|
254
|
+
if (!isBrowser() || !pollService.config.pauseWhenHidden) {
|
|
255
|
+
return repeatWith$(source$, () => {
|
|
256
|
+
pollService.incrementPoll();
|
|
257
|
+
return pollService.getDelayTime();
|
|
258
|
+
}).pipe(retryPoll(pollService));
|
|
259
|
+
}
|
|
260
|
+
const pauseTrigger$ = new Subject();
|
|
261
|
+
let time = 0;
|
|
262
|
+
const poller$ = repeatWith$(source$.pipe(finalize(() => pauseTrigger$.next())), () => {
|
|
263
|
+
pollService.incrementPoll();
|
|
264
|
+
time = pollService.getDelayTime();
|
|
265
|
+
return time;
|
|
266
|
+
}).pipe(retryPoll(pollService, () => {
|
|
267
|
+
time = pollService.getRetryTime();
|
|
268
|
+
return time;
|
|
269
|
+
}));
|
|
270
|
+
const pauser$ = pauseTrigger$.pipe(switchMap(() => getPauseDelay$({ time })));
|
|
271
|
+
return withDocumentVisibility$(poller$, pauser$);
|
|
185
272
|
}
|
|
186
273
|
|
|
187
|
-
function
|
|
188
|
-
const
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
return function createPoller(state) {
|
|
194
|
-
const nextDelayTime = (value) => {
|
|
195
|
-
state.pollCount += 1;
|
|
196
|
-
state.value = value;
|
|
197
|
-
return getDelayTime(state);
|
|
198
|
-
};
|
|
199
|
-
const nextRetryTime = (error) => {
|
|
200
|
-
state.error = error;
|
|
201
|
-
return getRetryTime(state);
|
|
202
|
-
};
|
|
203
|
-
const isRetryLimit = () => {
|
|
204
|
-
state.retryCount += 1;
|
|
205
|
-
state.consecutiveRetryCount += 1;
|
|
206
|
-
return state[retryKey] > retry.limit;
|
|
207
|
-
};
|
|
208
|
-
const resetError = () => {
|
|
209
|
-
state.error = undefined;
|
|
210
|
-
state.consecutiveRetryCount = 0;
|
|
211
|
-
};
|
|
212
|
-
const poller$ = type === 'repeat'
|
|
213
|
-
? buildRepeatPoller$(completed$, {
|
|
214
|
-
nextDelayTime: () => nextDelayTime(lastValue),
|
|
215
|
-
pauseWhenHidden,
|
|
216
|
-
})
|
|
217
|
-
: buildIntervalPoller$(completed$, {
|
|
218
|
-
nextDelayTime: () => nextDelayTime(lastValue),
|
|
219
|
-
pauseWhenHidden,
|
|
220
|
-
});
|
|
221
|
-
return poller$.pipe(retryPoll(nextRetryTime, isRetryLimit, resetError));
|
|
222
|
-
};
|
|
274
|
+
function createPoller$(source$, pollService) {
|
|
275
|
+
const completed$ = source$.pipe(takeLast(1), tap((value) => pollService.setValue(value)));
|
|
276
|
+
const poller$ = pollService.config.type === pollType.REPEAT
|
|
277
|
+
? buildRepeatPoller$(completed$, pollService)
|
|
278
|
+
: buildIntervalPoller$(completed$, pollService);
|
|
279
|
+
return poller$;
|
|
223
280
|
}
|
|
224
281
|
|
|
225
282
|
function poll(config) {
|
|
226
283
|
return (source$) => {
|
|
227
284
|
const extendedConfig = extendConfig(config);
|
|
228
|
-
const
|
|
229
|
-
const
|
|
230
|
-
const poller$ = createPoller(state);
|
|
285
|
+
const pollService = createPollService(extendedConfig);
|
|
286
|
+
const poller$ = createPoller$(source$, pollService);
|
|
231
287
|
return poller$;
|
|
232
288
|
};
|
|
233
289
|
}
|