rxjs-poll 2.2.9 → 3.0.0
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 +67 -22
- package/dist/cjs/index.js +181 -99
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +182 -100
- package/dist/esm/index.js.map +1 -1
- package/dist/types/common/config.d.ts.map +1 -1
- package/dist/types/common/strategies.d.ts.map +1 -1
- package/dist/types/common/utils.d.ts +0 -1
- package/dist/types/common/utils.d.ts.map +1 -1
- package/dist/types/constants/config.const.d.ts +4 -1
- package/dist/types/constants/config.const.d.ts.map +1 -1
- package/dist/types/constants/notifier.const.d.ts +5 -0
- package/dist/types/constants/notifier.const.d.ts.map +1 -0
- package/dist/types/poll.d.ts +1 -1
- package/dist/types/poll.d.ts.map +1 -1
- package/dist/types/poller/create-poller.d.ts +12 -0
- package/dist/types/poller/create-poller.d.ts.map +1 -0
- package/dist/types/poller/execution/cycle-timer.d.ts +7 -0
- package/dist/types/poller/execution/cycle-timer.d.ts.map +1 -0
- package/dist/types/poller/execution/interval-factory.d.ts +3 -0
- package/dist/types/poller/execution/interval-factory.d.ts.map +1 -0
- package/dist/types/{common/service.d.ts → poller/execution/poll-service.d.ts} +3 -3
- package/dist/types/poller/execution/poll-service.d.ts.map +1 -0
- package/dist/types/poller/execution/repeat-factory.d.ts +3 -0
- package/dist/types/poller/execution/repeat-factory.d.ts.map +1 -0
- package/dist/types/{observables → poller/execution}/repeat-with.d.ts +3 -2
- package/dist/types/poller/execution/repeat-with.d.ts.map +1 -0
- package/dist/types/poller/execution/retry-poll.operator.d.ts +11 -0
- package/dist/types/poller/execution/retry-poll.operator.d.ts.map +1 -0
- package/dist/types/poller/pause/compose-pause.d.ts +10 -0
- package/dist/types/poller/pause/compose-pause.d.ts.map +1 -0
- package/dist/types/poller/pause/get-pause-mode.d.ts +10 -0
- package/dist/types/poller/pause/get-pause-mode.d.ts.map +1 -0
- package/dist/types/poller/pause/with-hidden-pause.d.ts +19 -0
- package/dist/types/poller/pause/with-hidden-pause.d.ts.map +1 -0
- package/dist/types/poller/pause/with-notifier-pause.d.ts +11 -0
- package/dist/types/poller/pause/with-notifier-pause.d.ts.map +1 -0
- package/dist/types/types/config.type.d.ts +34 -15
- package/dist/types/types/config.type.d.ts.map +1 -1
- package/dist/types/types/{observables.type.d.ts → pause-delay.type.d.ts} +3 -3
- package/dist/types/types/pause-delay.type.d.ts.map +1 -0
- package/dist/types/types/poller-composer.type.d.ts +3 -0
- package/dist/types/types/poller-composer.type.d.ts.map +1 -0
- package/dist/types/types/poller-context.type.d.ts +14 -0
- package/dist/types/types/poller-context.type.d.ts.map +1 -0
- package/dist/types/types/poller-factory.type.d.ts +11 -0
- package/dist/types/types/poller-factory.type.d.ts.map +1 -0
- package/dist/umd/index.js +181 -99
- 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 +7 -7
- package/dist/types/common/service.d.ts.map +0 -1
- package/dist/types/observables/document-visibility.d.ts +0 -17
- package/dist/types/observables/document-visibility.d.ts.map +0 -1
- package/dist/types/observables/factory.d.ts +0 -11
- package/dist/types/observables/factory.d.ts.map +0 -1
- package/dist/types/observables/interval-poller.d.ts +0 -11
- package/dist/types/observables/interval-poller.d.ts.map +0 -1
- package/dist/types/observables/pause-delay.d.ts +0 -7
- package/dist/types/observables/pause-delay.d.ts.map +0 -1
- package/dist/types/observables/repeat-poller.d.ts +0 -11
- package/dist/types/observables/repeat-poller.d.ts.map +0 -1
- package/dist/types/observables/repeat-with.d.ts.map +0 -1
- package/dist/types/operators/retry-poll.operator.d.ts +0 -11
- package/dist/types/operators/retry-poll.operator.d.ts.map +0 -1
- package/dist/types/types/observables.type.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# RxJS Polling Operator
|
|
2
2
|
|
|
3
|
-
<a href="https://www.npmjs.com/package/rxjs-poll
|
|
4
|
-
<a href="https://bundlephobia.com/package/rxjs-poll@
|
|
3
|
+
<a href="https://www.npmjs.com/package/rxjs-poll" target="_blank" rel="noopener noreferrer nofollow"><img alt="NPM Version" src="https://img.shields.io/npm/v/rxjs-poll"></a>
|
|
4
|
+
<a href="https://bundlephobia.com/package/rxjs-poll@latest" target="_blank" rel="noopener noreferrer nofollow"><img alt="NPM Bundle Size" src="https://img.shields.io/bundlephobia/minzip/rxjs-poll/latest?label=gzip"></a>
|
|
5
5
|
<a href="LICENSE" target="_blank" rel="noopener noreferrer nofollow"><img alt="GitHub License" src="https://img.shields.io/github/license/mmustra/rxjs-poll"></a>
|
|
6
|
-
<a href="https://github.com/mmustra/rxjs-poll/tree/
|
|
7
|
-
<a href="https://github.com/mmustra/rxjs-poll/issues?q=is%3Aissue%20state%3Aopen%20label%
|
|
8
|
-
<a href="https://github.com/mmustra/rxjs-poll/commits/
|
|
6
|
+
<a href="https://github.com/mmustra/rxjs-poll/tree/main/tests" target="_blank" rel="noopener noreferrer nofollow"><img alt="Codecov" src="https://img.shields.io/codecov/c/gh/mmustra/rxjs-poll?token=H9R97BLFQI"></a>
|
|
7
|
+
<a href="https://github.com/mmustra/rxjs-poll/issues?q=is%3Aissue%20state%3Aopen%20label%3Alatest" target="_blank" rel="noopener noreferrer nofollow"><img alt="GitHub Issues" src="https://img.shields.io/github/issues/mmustra/rxjs-poll/latest?label=issues"></a>
|
|
8
|
+
<a href="https://github.com/mmustra/rxjs-poll/commits/main" target="_blank" rel="noopener noreferrer nofollow"><img alt="GitHub Latest Commits" src="https://img.shields.io/github/last-commit/mmustra/rxjs-poll/main?label=activity"></a>
|
|
9
9
|
|
|
10
10
|
A flexible RxJS operator library that enables polling on any completed observable source with advanced timing and retry strategies.
|
|
11
11
|
|
|
@@ -13,9 +13,8 @@ A flexible RxJS operator library that enables polling on any completed observabl
|
|
|
13
13
|
|
|
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
|
-
- **
|
|
17
|
-
- **
|
|
18
|
-
- **Flexible retries**: Control retry attempts with consecutive or total counting modes
|
|
16
|
+
- **Pause controls**: `notifier` and/or `when hidden` (browser; in-flight emission guaranteed)
|
|
17
|
+
- **Flexible retries**: Limit attempts on either `consecutive` or `total` errors
|
|
19
18
|
- **Input validation**: Guards against unexpected input time values
|
|
20
19
|
- **Cross-platform**: Works in both browser and Node.js environments
|
|
21
20
|
- **Modern compatibility**: Compatible with RxJS v7+
|
|
@@ -31,13 +30,13 @@ npm install rxjs-poll --save
|
|
|
31
30
|
|
|
32
31
|
Polling is essential when you need to repeatedly check for updates from sources that don't provide real-time notifications. Common scenarios include monitoring HTTP API endpoints for status changes, watching DOM elements for state updates, or periodically sampling data streams.
|
|
33
32
|
|
|
34
|
-
This operator
|
|
33
|
+
This operator polls by re-subscribing to your source observable after each completion, with intervals determined by the selected polling type. It distinguishes between normal polling delays and error retry scenarios, giving you precise control over both success and failure timing. Polling can be paused via an external notifier (direct emission control) or automatically when the browser tab becomes hidden (with first and in-flight emissions guaranteed).
|
|
35
34
|
|
|
36
35
|
## 🧪 Usage Examples
|
|
37
36
|
|
|
38
37
|
### Default Configuration
|
|
39
38
|
|
|
40
|
-
[▶️ Live Demo](https://stackblitz.com/edit/rxjs-
|
|
39
|
+
[▶️ Live Demo](https://stackblitz.com/edit/rxjs-7wpqq8ix?devToolsHeight=50&file=index.ts)
|
|
41
40
|
|
|
42
41
|
Plug and play - just add the operator to your pipe and start polling.
|
|
43
42
|
|
|
@@ -55,7 +54,7 @@ request$
|
|
|
55
54
|
|
|
56
55
|
### Strategy-Based Configuration
|
|
57
56
|
|
|
58
|
-
[▶️ Live Demo](https://stackblitz.com/edit/rxjs-
|
|
57
|
+
[▶️ Live Demo](https://stackblitz.com/edit/rxjs-mnlpyjya?devToolsHeight=50&file=index.ts)
|
|
59
58
|
|
|
60
59
|
Use built-in strategies for easy timing control.
|
|
61
60
|
|
|
@@ -82,7 +81,7 @@ request$
|
|
|
82
81
|
|
|
83
82
|
### Advanced Dynamic Strategies
|
|
84
83
|
|
|
85
|
-
[▶️ Live Demo](https://stackblitz.com/edit/rxjs-
|
|
84
|
+
[▶️ Live Demo](https://stackblitz.com/edit/rxjs-guldaznr?devToolsHeight=50&file=index.ts)
|
|
86
85
|
|
|
87
86
|
Implement complex polling strategies with dynamic timing based on poll state.
|
|
88
87
|
|
|
@@ -94,12 +93,12 @@ request$
|
|
|
94
93
|
.pipe(
|
|
95
94
|
poll({
|
|
96
95
|
delay: {
|
|
97
|
-
|
|
96
|
+
/* Adaptive polling based on response data */
|
|
98
97
|
strategy: 'dynamic',
|
|
99
98
|
time: ({ value }) => (value?.items.length ? 1000 : 500),
|
|
100
99
|
},
|
|
101
100
|
retry: {
|
|
102
|
-
|
|
101
|
+
/* Custom exponential backoff with jitter */
|
|
103
102
|
strategy: 'dynamic',
|
|
104
103
|
time: ({ consecutiveRetryCount }) => {
|
|
105
104
|
const exponential = Math.pow(2, consecutiveRetryCount - 1) * 1000;
|
|
@@ -115,11 +114,41 @@ request$
|
|
|
115
114
|
.subscribe({ next: console.log });
|
|
116
115
|
```
|
|
117
116
|
|
|
117
|
+
### Pause With Notifier
|
|
118
|
+
|
|
119
|
+
Control polling from outside by passing an `Observable<boolean>` as `pause.notifier`: emit `true` to pause and `false` to resume. If the notifier never emits, polling starts (same as resume). To start paused, use an observable that emits `true` initially (e.g. `new BehaviorSubject(true)`). You can combine it with `whenHidden: true` so both your stream and tab visibility affect pausing.
|
|
120
|
+
|
|
121
|
+
[▶️ Live Demo](https://stackblitz.com/edit/rxjs-yn2ewfbm?devToolsHeight=50&file=index.ts)
|
|
122
|
+
|
|
123
|
+
```typescript
|
|
124
|
+
import { poll } from 'rxjs-poll';
|
|
125
|
+
import { fromEvent } from 'rxjs';
|
|
126
|
+
import { map, scan, startWith, takeWhile } from 'rxjs';
|
|
127
|
+
|
|
128
|
+
const click$ = fromEvent(document, 'click').pipe(
|
|
129
|
+
scan((isPaused) => !isPaused, false)
|
|
130
|
+
);
|
|
131
|
+
|
|
132
|
+
request$
|
|
133
|
+
.pipe(
|
|
134
|
+
poll({
|
|
135
|
+
pause: {
|
|
136
|
+
notifier: click$,
|
|
137
|
+
whenHidden: false, // set true (default) to also pause when tab hidden
|
|
138
|
+
},
|
|
139
|
+
}),
|
|
140
|
+
takeWhile(({ status }) => status !== 'done', true)
|
|
141
|
+
)
|
|
142
|
+
.subscribe({ next: console.log });
|
|
143
|
+
|
|
144
|
+
// Now, click anywhere on the page to toggle pause/resume
|
|
145
|
+
```
|
|
146
|
+
|
|
118
147
|
## 📋 API Reference
|
|
119
148
|
|
|
120
149
|
### `poll(config?: PollConfig)`
|
|
121
150
|
|
|
122
|
-
Creates a polling operator that
|
|
151
|
+
Creates a polling operator that manages the source observable's subscription lifecycle.
|
|
123
152
|
|
|
124
153
|
#### PollConfig
|
|
125
154
|
|
|
@@ -206,14 +235,29 @@ interface PollConfig {
|
|
|
206
235
|
consecutiveOnly?: boolean;
|
|
207
236
|
};
|
|
208
237
|
|
|
238
|
+
|
|
209
239
|
/**
|
|
210
|
-
*
|
|
211
|
-
* - true: Pause polling when tab isn't active, and resume on active
|
|
212
|
-
* - false: Poll even when tab isn't focused
|
|
213
|
-
* @default true
|
|
214
|
-
* @note Every started cycle (poll or retry) finishes before pausing
|
|
240
|
+
* Configuration for pause behavior
|
|
215
241
|
*/
|
|
216
|
-
|
|
242
|
+
pause?: {
|
|
243
|
+
/**
|
|
244
|
+
* Observable that emits true to pause, false to resume
|
|
245
|
+
* @default false
|
|
246
|
+
* @note
|
|
247
|
+
* - Interrupts polling/retrying cycles
|
|
248
|
+
* - Can pause first emission
|
|
249
|
+
* - Defaults to false if no initial emission
|
|
250
|
+
*/
|
|
251
|
+
notifier?: Observable<boolean>;
|
|
252
|
+
/**
|
|
253
|
+
* [Browser only] When true, polling pauses if tab isn't visible
|
|
254
|
+
* @default true
|
|
255
|
+
* @note
|
|
256
|
+
* - Polling/retrying cycles finish before pausing
|
|
257
|
+
* - First emission guaranteed
|
|
258
|
+
*/
|
|
259
|
+
whenHidden?: boolean;
|
|
260
|
+
};
|
|
217
261
|
}
|
|
218
262
|
```
|
|
219
263
|
|
|
@@ -245,8 +289,9 @@ interface PollState<T> {
|
|
|
245
289
|
|
|
246
290
|
## 📚 Additional Resources
|
|
247
291
|
|
|
292
|
+
- **[V3 Changes](docs/V3_CHANGES.md)** - v2→v3 overview and migration steps
|
|
293
|
+
- **[V2 Changes](docs/V2_CHANGES.md)** - v1→v2 overview and migration steps
|
|
248
294
|
- **[Troubleshooting Guide](docs/TROUBLESHOOTING.md)** - Common issues and solutions
|
|
249
|
-
- **[V2 Changes](docs/V2_CHANGES.md)** - Overview of the changes and migration steps
|
|
250
295
|
|
|
251
296
|
## 🤝 Contributing
|
|
252
297
|
|
package/dist/cjs/index.js
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
var rxjs = require('rxjs');
|
|
4
4
|
|
|
5
|
+
const pollMode = {
|
|
6
|
+
DELAY: 'delay',
|
|
7
|
+
RETRY: 'retry',
|
|
8
|
+
};
|
|
5
9
|
const pollType = {
|
|
6
10
|
REPEAT: 'repeat',
|
|
7
11
|
INTERVAL: 'interval',
|
|
@@ -15,6 +19,8 @@ const strategyType = {
|
|
|
15
19
|
DYNAMIC: 'dynamic',
|
|
16
20
|
};
|
|
17
21
|
|
|
22
|
+
const defaultNotifier$ = rxjs.of(false);
|
|
23
|
+
|
|
18
24
|
const defaultConfig = {
|
|
19
25
|
type: pollType.REPEAT,
|
|
20
26
|
delay: {
|
|
@@ -27,7 +33,10 @@ const defaultConfig = {
|
|
|
27
33
|
limit: 3,
|
|
28
34
|
consecutiveOnly: true,
|
|
29
35
|
},
|
|
30
|
-
|
|
36
|
+
pause: {
|
|
37
|
+
notifier: defaultNotifier$,
|
|
38
|
+
whenHidden: true,
|
|
39
|
+
},
|
|
31
40
|
};
|
|
32
41
|
|
|
33
42
|
function normalizeNumber(value, defaultValue = 0, isFinite = true) {
|
|
@@ -52,13 +61,10 @@ function isFunction(value) {
|
|
|
52
61
|
function isBrowser() {
|
|
53
62
|
return typeof globalThis.window !== 'undefined' && typeof globalThis.window.document !== 'undefined';
|
|
54
63
|
}
|
|
55
|
-
function isDocumentVisible() {
|
|
56
|
-
return !document.hidden;
|
|
57
|
-
}
|
|
58
64
|
|
|
59
65
|
function getStrategyTimeProducer(mode, config) {
|
|
60
66
|
const { strategy, time } = config[mode];
|
|
61
|
-
const isDelayMode = mode ===
|
|
67
|
+
const isDelayMode = mode === pollMode.DELAY;
|
|
62
68
|
const isConsecutive = config.retry.consecutiveOnly;
|
|
63
69
|
let timeProducer;
|
|
64
70
|
let attemptKey;
|
|
@@ -95,7 +101,7 @@ function getStrategyTimeProducer(mode, config) {
|
|
|
95
101
|
|
|
96
102
|
function extendConfig(config) {
|
|
97
103
|
const normalizedConfig = normalizeConfig(config);
|
|
98
|
-
return Object.assign(Object.assign({}, normalizedConfig), { getDelayTime: getTimeProducer(
|
|
104
|
+
return Object.assign(Object.assign({}, normalizedConfig), { getDelayTime: getTimeProducer(pollMode.DELAY, normalizedConfig), getRetryTime: getTimeProducer(pollMode.RETRY, normalizedConfig) });
|
|
99
105
|
}
|
|
100
106
|
function getTimeProducer(mode, config) {
|
|
101
107
|
const defaultTime = defaultConfig[mode].time;
|
|
@@ -107,7 +113,7 @@ function getTimeProducer(mode, config) {
|
|
|
107
113
|
};
|
|
108
114
|
}
|
|
109
115
|
function normalizeConfig(config) {
|
|
110
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
116
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
111
117
|
return {
|
|
112
118
|
type: (_a = config === null || config === void 0 ? void 0 : config.type) !== null && _a !== void 0 ? _a : defaultConfig.type,
|
|
113
119
|
delay: {
|
|
@@ -124,10 +130,80 @@ function normalizeConfig(config) {
|
|
|
124
130
|
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
131
|
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
132
|
},
|
|
127
|
-
|
|
133
|
+
pause: {
|
|
134
|
+
notifier: (_p = (_o = config === null || config === void 0 ? void 0 : config.pause) === null || _o === void 0 ? void 0 : _o.notifier) !== null && _p !== void 0 ? _p : defaultConfig.pause.notifier,
|
|
135
|
+
whenHidden: (_r = (_q = config === null || config === void 0 ? void 0 : config.pause) === null || _q === void 0 ? void 0 : _q.whenHidden) !== null && _r !== void 0 ? _r : defaultConfig.pause.whenHidden,
|
|
136
|
+
},
|
|
128
137
|
};
|
|
129
138
|
}
|
|
130
139
|
|
|
140
|
+
const timingToleranceMs = 100;
|
|
141
|
+
|
|
142
|
+
function getCycleTimer$(options) {
|
|
143
|
+
const { time, sourceStartTime = 0, sourceEndTime = 0 } = options;
|
|
144
|
+
const delayMs = time - (sourceEndTime - sourceStartTime) - timingToleranceMs;
|
|
145
|
+
return delayMs > 0 ? rxjs.timer(delayMs) : rxjs.of(0);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
function repeatWith$(source$, getTime) {
|
|
149
|
+
return source$.pipe(rxjs.repeat({
|
|
150
|
+
delay: () => rxjs.timer(getTime()),
|
|
151
|
+
}));
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
function retryPoll(pollService, getRetryTime) {
|
|
155
|
+
return (source) => source.pipe(rxjs.retry({
|
|
156
|
+
delay: (error) => {
|
|
157
|
+
pollService.incrementRetry();
|
|
158
|
+
if (pollService.isRetryLimit()) {
|
|
159
|
+
return rxjs.throwError(() => error);
|
|
160
|
+
}
|
|
161
|
+
pollService.setError(error);
|
|
162
|
+
return rxjs.timer(getRetryTime ? getRetryTime() : pollService.getRetryTime());
|
|
163
|
+
},
|
|
164
|
+
}), rxjs.tap(() => pollService.resetError()));
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
function createDirectPoller$$1(source$, pollService) {
|
|
168
|
+
return repeatWith$(rxjs.of(null), () => {
|
|
169
|
+
pollService.incrementPoll();
|
|
170
|
+
return pollService.getDelayTime();
|
|
171
|
+
}).pipe(rxjs.switchMap(() => source$), retryPoll(pollService));
|
|
172
|
+
}
|
|
173
|
+
function createCycleControl$$1(source$, pollService) {
|
|
174
|
+
const cycle$ = new rxjs.Subject();
|
|
175
|
+
let time = 0;
|
|
176
|
+
let sourceStartTime = 0;
|
|
177
|
+
let sourceEndTime = 0;
|
|
178
|
+
const poller$ = repeatWith$(rxjs.of(null), () => {
|
|
179
|
+
pollService.incrementPoll();
|
|
180
|
+
time = pollService.getDelayTime();
|
|
181
|
+
return time;
|
|
182
|
+
}).pipe(rxjs.switchMap(() => source$.pipe(rxjs.tap({
|
|
183
|
+
subscribe: () => {
|
|
184
|
+
sourceStartTime = performance.now();
|
|
185
|
+
},
|
|
186
|
+
complete: () => {
|
|
187
|
+
sourceEndTime = performance.now();
|
|
188
|
+
cycle$.next();
|
|
189
|
+
},
|
|
190
|
+
error: () => {
|
|
191
|
+
sourceEndTime = performance.now();
|
|
192
|
+
},
|
|
193
|
+
}))), retryPoll(pollService, () => {
|
|
194
|
+
time = pollService.getRetryTime();
|
|
195
|
+
cycle$.next();
|
|
196
|
+
return time;
|
|
197
|
+
}));
|
|
198
|
+
const cycler$ = cycle$.pipe(rxjs.switchMap(() => getCycleTimer$({
|
|
199
|
+
time,
|
|
200
|
+
sourceStartTime,
|
|
201
|
+
sourceEndTime,
|
|
202
|
+
})));
|
|
203
|
+
return { poller$, cycler$ };
|
|
204
|
+
}
|
|
205
|
+
const intervalPollerFactory = { createDirectPoller$: createDirectPoller$$1, createCycleControl$: createCycleControl$$1 };
|
|
206
|
+
|
|
131
207
|
const defaultState = {
|
|
132
208
|
value: undefined,
|
|
133
209
|
error: undefined,
|
|
@@ -176,117 +252,123 @@ class PollService {
|
|
|
176
252
|
}
|
|
177
253
|
}
|
|
178
254
|
|
|
179
|
-
function
|
|
180
|
-
return (source) =>
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
255
|
+
function createDirectPoller$(source$, pollService) {
|
|
256
|
+
return repeatWith$(source$, () => {
|
|
257
|
+
pollService.incrementPoll();
|
|
258
|
+
return pollService.getDelayTime();
|
|
259
|
+
}).pipe(retryPoll(pollService));
|
|
260
|
+
}
|
|
261
|
+
function createCycleControl$(source$, pollService) {
|
|
262
|
+
const cycle$ = new rxjs.Subject();
|
|
263
|
+
let time = 0;
|
|
264
|
+
const poller$ = repeatWith$(source$.pipe(rxjs.tap({
|
|
265
|
+
complete: () => {
|
|
266
|
+
pollService.incrementPoll();
|
|
267
|
+
time = pollService.getDelayTime();
|
|
268
|
+
cycle$.next();
|
|
188
269
|
},
|
|
189
|
-
}),
|
|
270
|
+
})), () => time).pipe(retryPoll(pollService, () => {
|
|
271
|
+
time = pollService.getRetryTime();
|
|
272
|
+
cycle$.next();
|
|
273
|
+
return time;
|
|
274
|
+
}));
|
|
275
|
+
const cycler$ = cycle$.pipe(rxjs.switchMap(() => getCycleTimer$({ time })));
|
|
276
|
+
return { poller$, cycler$ };
|
|
190
277
|
}
|
|
278
|
+
const repeatPollerFactory = { createDirectPoller$, createCycleControl$ };
|
|
191
279
|
|
|
192
|
-
function
|
|
193
|
-
const
|
|
194
|
-
const
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
return documentVisibility$;
|
|
280
|
+
function getPauseMode(ctx) {
|
|
281
|
+
const inBrowser = isBrowser();
|
|
282
|
+
const { notifier, whenHidden } = ctx.pollService.config.pause;
|
|
283
|
+
const isDefaultNotifier = notifier === defaultNotifier$;
|
|
284
|
+
if ((!inBrowser || !whenHidden) && isDefaultNotifier) {
|
|
285
|
+
return 'none';
|
|
286
|
+
}
|
|
287
|
+
if ((!inBrowser || !whenHidden) && !isDefaultNotifier) {
|
|
288
|
+
return 'notifier';
|
|
202
289
|
}
|
|
203
|
-
|
|
204
|
-
|
|
290
|
+
if (whenHidden && isDefaultNotifier) {
|
|
291
|
+
return 'hidden';
|
|
292
|
+
}
|
|
293
|
+
return 'both';
|
|
205
294
|
}
|
|
206
295
|
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
return delayMs > 0 ? rxjs.timer(delayMs) : rxjs.of(0);
|
|
296
|
+
function withHiddenPause$(poller$, cycler$, notifier$) {
|
|
297
|
+
const isHidden$ = getHiddenNotifier$();
|
|
298
|
+
const pause$ = isHidden$.pipe(rxjs.switchMap((isHidden) => (isHidden ? cycler$ : rxjs.NEVER)));
|
|
299
|
+
let isFirstEmission = true;
|
|
300
|
+
return isHidden$.pipe(rxjs.filter((isHidden) => !isHidden || isFirstEmission), rxjs.exhaustMap(() => poller$.pipe(rxjs.takeUntil(pause$))), rxjs.tap(() => (isFirstEmission = false)));
|
|
213
301
|
}
|
|
214
|
-
|
|
215
|
-
function
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
}
|
|
302
|
+
let hiddenNotifier$;
|
|
303
|
+
function getHiddenNotifier$() {
|
|
304
|
+
if (hiddenNotifier$) {
|
|
305
|
+
return hiddenNotifier$;
|
|
306
|
+
}
|
|
307
|
+
hiddenNotifier$ = rxjs.fromEvent(document, 'visibilitychange').pipe(rxjs.startWith(null), rxjs.map(() => document.hidden), rxjs.shareReplay({ bufferSize: 1, refCount: true }));
|
|
308
|
+
return hiddenNotifier$;
|
|
219
309
|
}
|
|
220
310
|
|
|
221
|
-
function
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
return pollService.getDelayTime();
|
|
226
|
-
}).pipe(rxjs.switchMap(() => source$), retryPoll(pollService));
|
|
227
|
-
}
|
|
228
|
-
const pauseTrigger$ = new rxjs.Subject();
|
|
229
|
-
let time = 0;
|
|
230
|
-
let sourceStartTime = 0;
|
|
231
|
-
let sourceEndTime = 0;
|
|
232
|
-
const poller$ = repeatWith$(rxjs.of(null), () => {
|
|
233
|
-
pollService.incrementPoll();
|
|
234
|
-
time = pollService.getDelayTime();
|
|
235
|
-
return time;
|
|
236
|
-
}).pipe(rxjs.switchMap(() => source$.pipe(rxjs.tap({
|
|
237
|
-
subscribe: () => {
|
|
238
|
-
sourceStartTime = performance.now();
|
|
239
|
-
},
|
|
240
|
-
finalize: () => {
|
|
241
|
-
sourceEndTime = performance.now();
|
|
242
|
-
pauseTrigger$.next();
|
|
243
|
-
},
|
|
244
|
-
}))), retryPoll(pollService, () => {
|
|
245
|
-
time = pollService.getRetryTime();
|
|
246
|
-
return time;
|
|
247
|
-
}));
|
|
248
|
-
const pauser$ = pauseTrigger$.pipe(rxjs.switchMap(() => getPauseDelay$({
|
|
249
|
-
time,
|
|
250
|
-
sourceStartTime,
|
|
251
|
-
sourceEndTime,
|
|
252
|
-
})));
|
|
253
|
-
return withDocumentVisibility$(poller$, pauser$);
|
|
311
|
+
function withNotifierPause$(poller$, notifier$) {
|
|
312
|
+
const sharedNotifier$ = notifier$.pipe(rxjs.share());
|
|
313
|
+
const initialNotifier$ = rxjs.race(sharedNotifier$, defaultNotifier$).pipe(rxjs.take(1));
|
|
314
|
+
return rxjs.merge(initialNotifier$, sharedNotifier$).pipe(rxjs.distinctUntilChanged(), rxjs.switchMap((isPaused) => (isPaused ? rxjs.NEVER : poller$)));
|
|
254
315
|
}
|
|
255
316
|
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
317
|
+
const composePause$ = (ctx) => {
|
|
318
|
+
var _a, _b, _c, _d;
|
|
319
|
+
const { source$, pollService, factory } = ctx;
|
|
320
|
+
const pauseMode = getPauseMode(ctx);
|
|
321
|
+
if (pauseMode === 'none') {
|
|
322
|
+
ctx.poller$ = (_a = ctx.poller$) !== null && _a !== void 0 ? _a : factory.createDirectPoller$(source$, pollService);
|
|
323
|
+
return ctx;
|
|
262
324
|
}
|
|
263
|
-
const
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
325
|
+
const { notifier } = pollService.config.pause;
|
|
326
|
+
if (pauseMode === 'notifier') {
|
|
327
|
+
const directPoller$ = (_b = ctx.poller$) !== null && _b !== void 0 ? _b : factory.createDirectPoller$(source$, pollService);
|
|
328
|
+
ctx.poller$ = withNotifierPause$(directPoller$, notifier);
|
|
329
|
+
return ctx;
|
|
330
|
+
}
|
|
331
|
+
let poller$;
|
|
332
|
+
let cycler$;
|
|
333
|
+
if (ctx.poller$ && ctx.cycler$) {
|
|
334
|
+
poller$ = ctx.poller$;
|
|
335
|
+
cycler$ = ctx.cycler$;
|
|
336
|
+
}
|
|
337
|
+
else {
|
|
338
|
+
const control = factory.createCycleControl$(source$, pollService);
|
|
339
|
+
poller$ = (_c = ctx.poller$) !== null && _c !== void 0 ? _c : control.poller$;
|
|
340
|
+
cycler$ = (_d = ctx.cycler$) !== null && _d !== void 0 ? _d : control.cycler$;
|
|
341
|
+
}
|
|
342
|
+
ctx.cycler$ = cycler$;
|
|
343
|
+
if (pauseMode === 'hidden') {
|
|
344
|
+
ctx.poller$ = withHiddenPause$(poller$, cycler$);
|
|
345
|
+
}
|
|
346
|
+
else if (pauseMode === 'both') {
|
|
347
|
+
ctx.poller$ = withNotifierPause$(withHiddenPause$(poller$, cycler$), notifier);
|
|
348
|
+
}
|
|
349
|
+
else {
|
|
350
|
+
throw new Error(`composePause$: Unsupported pause mode "${pauseMode}"!`);
|
|
351
|
+
}
|
|
352
|
+
return ctx;
|
|
353
|
+
};
|
|
276
354
|
|
|
277
|
-
function createPoller$(source$,
|
|
355
|
+
function createPoller$(source$, extendedConfig) {
|
|
356
|
+
const pollService = new PollService(extendedConfig);
|
|
278
357
|
const completed$ = source$.pipe(rxjs.takeLast(1), rxjs.tap((value) => pollService.setValue(value)));
|
|
279
|
-
const
|
|
280
|
-
|
|
281
|
-
|
|
358
|
+
const factory = pollService.config.type === pollType.REPEAT ? repeatPollerFactory : intervalPollerFactory;
|
|
359
|
+
const ctx = {
|
|
360
|
+
source$: completed$,
|
|
361
|
+
pollService,
|
|
362
|
+
factory,
|
|
363
|
+
};
|
|
364
|
+
const { poller$ } = composePause$(ctx);
|
|
282
365
|
return poller$;
|
|
283
366
|
}
|
|
284
367
|
|
|
285
368
|
function poll(config) {
|
|
286
369
|
return (source$) => {
|
|
287
370
|
const extendedConfig = extendConfig(config);
|
|
288
|
-
const
|
|
289
|
-
const poller$ = createPoller$(source$, pollService);
|
|
371
|
+
const poller$ = createPoller$(source$, extendedConfig);
|
|
290
372
|
return poller$;
|
|
291
373
|
};
|
|
292
374
|
}
|
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/constants/state.const.ts","../../src/common/service.ts","../../src/operators/retry-poll.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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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/constants/poll.const.ts","../../src/constants/strategies.const.ts","../../src/constants/notifier.const.ts","../../src/constants/config.const.ts","../../src/common/utils.ts","../../src/common/strategies.ts","../../src/common/config.ts","../../src/constants/timing.const.ts","../../src/poller/execution/cycle-timer.ts","../../src/poller/execution/repeat-with.ts","../../src/poller/execution/retry-poll.operator.ts","../../src/poller/execution/interval-factory.ts","../../src/constants/state.const.ts","../../src/poller/execution/poll-service.ts","../../src/poller/execution/repeat-factory.ts","../../src/poller/pause/get-pause-mode.ts","../../src/poller/pause/with-hidden-pause.ts","../../src/poller/pause/with-notifier-pause.ts","../../src/poller/pause/compose-pause.ts","../../src/poller/create-poller.ts","../../src/poll.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["of","timer","repeat","retry","throwError","tap","createDirectPoller$","switchMap","createCycleControl$","Subject","NEVER","filter","exhaustMap","takeUntil","fromEvent","startWith","map","shareReplay","share","race","take","merge","distinctUntilChanged","takeLast"],"mappings":"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"}
|