rxjs-poll 2.0.8 → 2.0.9

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.
Files changed (70) hide show
  1. package/README.md +16 -110
  2. package/dist/cjs/index.js +194 -10
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/esm/index.js +190 -4
  5. package/dist/esm/index.js.map +1 -1
  6. package/dist/types/common/operators.d.ts.map +1 -1
  7. package/dist/types/common/utils.d.ts.map +1 -1
  8. package/dist/types/poll.d.ts.map +1 -1
  9. package/dist/types/types/poll.type.d.ts.map +1 -1
  10. package/dist/umd/index.js +198 -0
  11. package/dist/umd/index.js.map +1 -0
  12. package/dist/umd/index.min.js +2 -0
  13. package/dist/umd/index.min.js.map +1 -0
  14. package/package.json +129 -103
  15. package/dist/cjs/common/config.js +0 -52
  16. package/dist/cjs/common/config.js.map +0 -1
  17. package/dist/cjs/common/observables.js +0 -25
  18. package/dist/cjs/common/observables.js.map +0 -1
  19. package/dist/cjs/common/operators.js +0 -12
  20. package/dist/cjs/common/operators.js.map +0 -1
  21. package/dist/cjs/common/strategies.js +0 -41
  22. package/dist/cjs/common/strategies.js.map +0 -1
  23. package/dist/cjs/common/utils.js +0 -36
  24. package/dist/cjs/common/utils.js.map +0 -1
  25. package/dist/cjs/constants/config.const.js +0 -20
  26. package/dist/cjs/constants/config.const.js.map +0 -1
  27. package/dist/cjs/constants/poll.const.js +0 -12
  28. package/dist/cjs/constants/poll.const.js.map +0 -1
  29. package/dist/cjs/constants/strategies.const.js +0 -11
  30. package/dist/cjs/constants/strategies.const.js.map +0 -1
  31. package/dist/cjs/poll.js +0 -42
  32. package/dist/cjs/poll.js.map +0 -1
  33. package/dist/cjs/types/config.type.js +0 -3
  34. package/dist/cjs/types/config.type.js.map +0 -1
  35. package/dist/cjs/types/observables.type.js +0 -3
  36. package/dist/cjs/types/observables.type.js.map +0 -1
  37. package/dist/cjs/types/poll.type.js +0 -3
  38. package/dist/cjs/types/poll.type.js.map +0 -1
  39. package/dist/cjs/types/strategies.type.js +0 -3
  40. package/dist/cjs/types/strategies.type.js.map +0 -1
  41. package/dist/cjs/types/utils.type.js +0 -3
  42. package/dist/cjs/types/utils.type.js.map +0 -1
  43. package/dist/esm/common/config.js +0 -41
  44. package/dist/esm/common/config.js.map +0 -1
  45. package/dist/esm/common/observables.js +0 -21
  46. package/dist/esm/common/observables.js.map +0 -1
  47. package/dist/esm/common/operators.js +0 -7
  48. package/dist/esm/common/operators.js.map +0 -1
  49. package/dist/esm/common/strategies.js +0 -38
  50. package/dist/esm/common/strategies.js.map +0 -1
  51. package/dist/esm/common/utils.js +0 -26
  52. package/dist/esm/common/utils.js.map +0 -1
  53. package/dist/esm/constants/config.const.js +0 -17
  54. package/dist/esm/constants/config.const.js.map +0 -1
  55. package/dist/esm/constants/poll.const.js +0 -9
  56. package/dist/esm/constants/poll.const.js.map +0 -1
  57. package/dist/esm/constants/strategies.const.js +0 -8
  58. package/dist/esm/constants/strategies.const.js.map +0 -1
  59. package/dist/esm/poll.js +0 -39
  60. package/dist/esm/poll.js.map +0 -1
  61. package/dist/esm/types/config.type.js +0 -2
  62. package/dist/esm/types/config.type.js.map +0 -1
  63. package/dist/esm/types/observables.type.js +0 -2
  64. package/dist/esm/types/observables.type.js.map +0 -1
  65. package/dist/esm/types/poll.type.js +0 -2
  66. package/dist/esm/types/poll.type.js.map +0 -1
  67. package/dist/esm/types/strategies.type.js +0 -2
  68. package/dist/esm/types/strategies.type.js.map +0 -1
  69. package/dist/esm/types/utils.type.js +0 -2
  70. package/dist/esm/types/utils.type.js.map +0 -1
package/README.md CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
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
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
+ <a href="LICENSE" target="_blank" rel="noopener noreferrer nofollow"><img alt="GitHub License" src="https://img.shields.io/github/license/mmustra/rxjs-poll"></a>
5
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>
6
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>
7
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>
@@ -10,14 +11,14 @@ A flexible RxJS operator library that enables polling on any completed observabl
10
11
 
11
12
  ## 🚀 Features
12
13
 
13
- - **Two polling modes**: `repeat` and `interval` to suit different use cases
14
+ - **Two polling types**: `repeat` and `interval` to suit different use cases
14
15
  - **Timing strategies**: `constant`, `linear`, `exponential`, `random` and `dynamic` (custom logic)
15
16
  - **Auto-pause**: Automatically pause/resume polling based on page visibility (browser only)
16
17
  - **Flexible retries**: Control retry attempts with consecutive or total counting modes
17
18
  - **Input validation**: Guards against unexpected input time values
18
19
  - **Cross-platform**: Works in both browser and Node.js environments
19
20
  - **Modern compatibility**: Compatible with RxJS v7+
20
- - **Multiple module formats**: Supports CommonJS (CJS) and ES Modules (ESM)
21
+ - **Multiple module formats**: Supports CJS, ESM, and UMD
21
22
 
22
23
  ## 📦 Installation
23
24
 
@@ -156,7 +157,12 @@ interface PollConfig {
156
157
  };
157
158
 
158
159
  /**
159
- * Configuration for retry behavior (on errors)
160
+ * Configuration for retry behavior (on errors).
161
+ * Can be fully specified with strategy/time, or partially specified with just limit/consecutiveOnly.
162
+ * If omitted entirely, uses default exponential retry strategy.
163
+ * - Full config: `{ strategy: '...', time: ..., limit?: ..., consecutiveOnly?: ... }`
164
+ * - Partial config: `{ limit: ..., consecutiveOnly?: ... }` (uses default strategy/time)
165
+ * - Omit entirely: Uses all defaults
160
166
  */
161
167
  retry?: {
162
168
  /**
@@ -165,6 +171,7 @@ interface PollConfig {
165
171
  * - consecutiveOnly: true → uses `consecutiveRetryCount`
166
172
  * - consecutiveOnly: false → uses `retryCount`
167
173
  * @default 'exponential'
174
+ * @note Required if `time` is provided, otherwise omitted to use defaults
168
175
  */
169
176
  strategy: 'constant' | 'linear' | 'exponential' | 'random' | 'dynamic';
170
177
 
@@ -176,6 +183,7 @@ interface PollConfig {
176
183
  * - random: [min, max]
177
184
  * - dynamic: (state) => number | [min, max]
178
185
  * @default 1000
186
+ * @note Required if `strategy` is provided, otherwise omitted to use defaults
179
187
  */
180
188
  time:
181
189
  | number
@@ -216,7 +224,7 @@ State object passed to delay/retry time producer functions:
216
224
 
217
225
  ```typescript
218
226
  interface PollState<T> {
219
- /** Latest value from the source. For `interval` polling mode,
227
+ /** Latest value from the source. For `interval` polling type,
220
228
  * first emission is undefined. */
221
229
  value: T | undefined;
222
230
 
@@ -238,117 +246,15 @@ interface PollState<T> {
238
246
 
239
247
  ## 🚨 Breaking Changes
240
248
 
241
- **Version 2** ([source](https://github.com/mmustra/rxjs-poll)) introduces an API focused on strategy-based configuration. The new architecture separates concerns between normal polling behavior and error handling scenarios, with type safety and clear configuration intent. This makes it easier to choose timings from common patterns.
249
+ **Version 2** ([source](https://github.com/mmustra/rxjs-poll)) introduces an API focused on strategy-based configuration with improved type safety and clearer separation between polling delays and retry behavior. See [V2 Changes](docs/V2_CHANGES.md) for detailed migration guide and examples.
242
250
 
243
251
  **Version 1** ([source](https://github.com/mmustra/rxjs-poll/tree/v1)) will continue to receive bug fixes and security updates.
244
252
 
245
- ### Changes in v2
253
+ ## 🤝 Contributing
246
254
 
247
- #### PollConfig
248
-
249
- - **delay/retry**: Added configuration objects for polling and retry
250
- - **retries**: Renamed and moved to `retry.limit`
251
- - **isConsecutiveRule**: Renamed and moved to `retry.consecutiveOnly`
252
- - **isBackgroundMode**: Renamed to `pauseWhenHidden` and default behavior inverted (`false` → `true`)
253
-
254
- #### PollState
255
-
256
- - **polls**: Renamed to `pollCount`
257
- - **retries**: Renamed to `retryCount`
258
- - **consecutiveRetries**: Renamed to `consecutiveRetryCount`
259
- - **value**: Changed to type `T | undefined`
260
- - **error**: Changed to type `any | undefined`
261
-
262
- ### Migration Examples
263
-
264
- ### Basic
265
-
266
- **Before (v1.x)**
267
-
268
- ```typescript
269
- poll({
270
- type: 'interval',
271
- delay: 2000, // Same timing for delay and retry
272
- retries: 5,
273
- isConsecutiveRule: false,
274
- });
275
- ```
276
-
277
- **After (v2.x)**
278
-
279
- ```typescript
280
- poll({
281
- type: 'interval',
282
- delay: {
283
- strategy: 'constant',
284
- time: 2000,
285
- },
286
- retry: {
287
- strategy: 'constant',
288
- time: 2000,
289
- limit: 5,
290
- consecutiveOnly: false,
291
- },
292
- });
293
- ```
294
-
295
- or if you only care about delay timing:
255
+ Contributions are welcome! Please read our [Contributing Guide](CONTRIBUTING.md) for details on our code of conduct and the process for submitting pull requests.
296
256
 
297
- ```typescript
298
- poll({
299
- type: 'interval',
300
- delay: {
301
- strategy: 'constant',
302
- time: 2000,
303
- },
304
- retry: {
305
- limit: 5,
306
- consecutiveOnly: false,
307
- },
308
- });
309
- ```
310
-
311
- ### Dynamic
312
-
313
- **Before (v1.x)**
314
-
315
- ```typescript
316
- poll({
317
- /** `error` used as a flag to determine delay/retry timing */
318
- delay: ({ error, consecutiveRetries }) =>
319
- error ? consecutiveRetries * 1000 : 2000,
320
- });
321
- ```
322
-
323
- **After (v2.x)**
324
-
325
- ```typescript
326
- poll({
327
- delay: {
328
- strategy: 'constant',
329
- time: 2000,
330
- },
331
- retry: {
332
- strategy: 'dynamic',
333
- time: ({ consecutiveRetryCount }) => consecutiveRetryCount * 1000,
334
- },
335
- });
336
- ```
337
-
338
- or with built-in strategy:
339
-
340
- ```typescript
341
- poll({
342
- delay: {
343
- strategy: 'constant',
344
- time: 2000,
345
- },
346
- retry: {
347
- strategy: 'linear',
348
- time: 1000,
349
- },
350
- });
351
- ```
257
+ Have a question? Check out [GitHub Discussions](https://github.com/mmustra/rxjs-poll/discussions) to ask questions, share ideas, or get help from the community.
352
258
 
353
259
  ## 🙌 Credits
354
260
 
package/dist/cjs/index.js CHANGED
@@ -1,10 +1,194 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.poll = exports.strategyType = exports.pollType = void 0;
4
- var poll_const_1 = require("./constants/poll.const");
5
- Object.defineProperty(exports, "pollType", { enumerable: true, get: function () { return poll_const_1.pollType; } });
6
- var strategies_const_1 = require("./constants/strategies.const");
7
- Object.defineProperty(exports, "strategyType", { enumerable: true, get: function () { return strategies_const_1.strategyType; } });
8
- var poll_1 = require("./poll");
9
- Object.defineProperty(exports, "poll", { enumerable: true, get: function () { return poll_1.poll; } });
10
- //# sourceMappingURL=index.js.map
1
+ 'use strict';
2
+
3
+ var rxjs = require('rxjs');
4
+
5
+ const pollType = {
6
+ REPEAT: 'repeat',
7
+ INTERVAL: 'interval',
8
+ };
9
+
10
+ const strategyType = {
11
+ CONSTANT: 'constant',
12
+ LINEAR: 'linear',
13
+ EXPONENTIAL: 'exponential',
14
+ RANDOM: 'random',
15
+ DYNAMIC: 'dynamic',
16
+ };
17
+
18
+ const controlConfig = {
19
+ type: pollType.REPEAT,
20
+ delay: {
21
+ strategy: strategyType.CONSTANT,
22
+ time: 1000,
23
+ },
24
+ retry: {
25
+ strategy: strategyType.EXPONENTIAL,
26
+ time: 1000,
27
+ limit: 3,
28
+ consecutiveOnly: true,
29
+ },
30
+ pauseWhenHidden: true,
31
+ };
32
+
33
+ function normalizeNumber(value, defaultValue = 0, isFinite = true) {
34
+ if (Array.isArray(value)) {
35
+ return value.map((n) => normalizeNumber(n, defaultValue, isFinite));
36
+ }
37
+ let normalizedValue = value !== null && value !== void 0 ? value : defaultValue;
38
+ if (Number.isNaN(normalizedValue) || (isFinite && !Number.isFinite(normalizedValue))) {
39
+ normalizedValue = defaultValue;
40
+ }
41
+ return Math.abs(normalizedValue);
42
+ }
43
+ function pickNumber(value) {
44
+ return Array.isArray(value) ? randomNumber(value[0], value[1]) : value;
45
+ }
46
+ function randomNumber(min, max) {
47
+ return Math.floor(Math.random() * (max - min + 1)) + min;
48
+ }
49
+ function isFunction(value) {
50
+ return typeof value === 'function';
51
+ }
52
+ function isBrowser() {
53
+ return typeof globalThis.window !== 'undefined' && typeof globalThis.window.document !== 'undefined';
54
+ }
55
+ function isDocumentVisible() {
56
+ return !document.hidden;
57
+ }
58
+
59
+ function getStrategyTimeProducer(mode, config) {
60
+ const { strategy, time } = config[mode];
61
+ const isDelayMode = mode === 'delay';
62
+ const isConsecutive = config.retry.consecutiveOnly;
63
+ let timeProducer;
64
+ let attemptKey;
65
+ if (isDelayMode) {
66
+ attemptKey = 'pollCount';
67
+ }
68
+ else if (isConsecutive) {
69
+ attemptKey = 'consecutiveRetryCount';
70
+ }
71
+ else {
72
+ attemptKey = 'retryCount';
73
+ }
74
+ switch (strategy) {
75
+ case 'constant':
76
+ timeProducer = () => time;
77
+ break;
78
+ case 'linear':
79
+ timeProducer = (state) => state[attemptKey] * time;
80
+ break;
81
+ case 'exponential':
82
+ timeProducer = (state) => Math.pow(2, state[attemptKey] - 1) * time;
83
+ break;
84
+ case 'random':
85
+ timeProducer = () => randomNumber(time[0], time[1]);
86
+ break;
87
+ case 'dynamic':
88
+ timeProducer = (state) => time(state);
89
+ break;
90
+ default:
91
+ throw new Error('rxjs-poll: Unknown strategy!');
92
+ }
93
+ return timeProducer;
94
+ }
95
+
96
+ function extendConfig(config) {
97
+ const normalizedConfig = normalizeConfig(config);
98
+ return Object.assign(Object.assign({}, normalizedConfig), { getDelayTime: getTimeProducer('delay', normalizedConfig), getRetryTime: getTimeProducer('retry', normalizedConfig) });
99
+ }
100
+ function getTimeProducer(mode, config) {
101
+ const defaultTime = controlConfig[mode].time;
102
+ const timeProducer = getStrategyTimeProducer(mode, config);
103
+ return (state) => {
104
+ const producedTime = timeProducer(Object.assign({}, state));
105
+ const normalizedTime = normalizeNumber(producedTime, defaultTime);
106
+ return pickNumber(normalizedTime);
107
+ };
108
+ }
109
+ function normalizeConfig(config) {
110
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
111
+ return {
112
+ type: (_a = config === null || config === void 0 ? void 0 : config.type) !== null && _a !== void 0 ? _a : controlConfig.type,
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 : controlConfig.delay.strategy,
115
+ time: isFunction((_d = config === null || config === void 0 ? void 0 : config.delay) === null || _d === void 0 ? void 0 : _d.time)
116
+ ? config.delay.time
117
+ : normalizeNumber((_e = config === null || config === void 0 ? void 0 : config.delay) === null || _e === void 0 ? void 0 : _e.time, controlConfig.delay.time),
118
+ },
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 : controlConfig.retry.strategy,
121
+ time: isFunction((_h = config === null || config === void 0 ? void 0 : config.retry) === null || _h === void 0 ? void 0 : _h.time)
122
+ ? config.retry.time
123
+ : normalizeNumber((_j = config === null || config === void 0 ? void 0 : config.retry) === null || _j === void 0 ? void 0 : _j.time, controlConfig.retry.time),
124
+ limit: normalizeNumber((_k = config === null || config === void 0 ? void 0 : config.retry) === null || _k === void 0 ? void 0 : _k.limit, controlConfig.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 : controlConfig.retry.consecutiveOnly,
126
+ },
127
+ pauseWhenHidden: (_o = config === null || config === void 0 ? void 0 : config.pauseWhenHidden) !== null && _o !== void 0 ? _o : controlConfig.pauseWhenHidden,
128
+ };
129
+ }
130
+
131
+ const visibilityState$ = pageVisibility$().pipe(rxjs.shareReplay({ bufferSize: 1, refCount: true }));
132
+ function getPollerFactory$(type, source$) {
133
+ let lastValue;
134
+ const completed$ = source$.pipe(rxjs.takeLast(1), rxjs.tap((value) => {
135
+ lastValue = value;
136
+ }));
137
+ return type === 'repeat'
138
+ ? (getNextTime) => repeatWith$(completed$, () => getNextTime(lastValue))
139
+ : (getNextTime) => repeatWith$(rxjs.of(null), () => getNextTime(lastValue)).pipe(rxjs.switchMap(() => completed$));
140
+ }
141
+ function pageVisibility$() {
142
+ return isBrowser() ? rxjs.fromEvent(document, 'visibilitychange').pipe(rxjs.startWith(null), rxjs.map(isDocumentVisible)) : rxjs.of(true);
143
+ }
144
+ function repeatWith$(source$, getTime) {
145
+ return source$.pipe(rxjs.repeat({
146
+ delay: () => rxjs.timer(getTime()),
147
+ }));
148
+ }
149
+
150
+ function retryPoll(isLimit, getTime, resetError) {
151
+ return (source) => source.pipe(rxjs.retry({
152
+ delay: (error) => (isLimit() ? rxjs.throwError(() => error) : rxjs.timer(getTime(error))),
153
+ }), rxjs.tap(() => resetError()));
154
+ }
155
+
156
+ function poll(config) {
157
+ return (source$) => {
158
+ const { type, retry, pauseWhenHidden, getDelayTime, getRetryTime } = extendConfig(config);
159
+ const retryKey = retry.consecutiveOnly ? 'consecutiveRetryCount' : 'retryCount';
160
+ const state = {
161
+ value: undefined,
162
+ error: undefined,
163
+ pollCount: 0,
164
+ retryCount: 0,
165
+ consecutiveRetryCount: 0,
166
+ };
167
+ const nextDelayTime = (value) => {
168
+ state.pollCount += 1;
169
+ state.value = value;
170
+ return getDelayTime(state);
171
+ };
172
+ const nextRetryTime = (error) => {
173
+ state.error = error;
174
+ return getRetryTime(state);
175
+ };
176
+ const resetError = () => {
177
+ state.error = undefined;
178
+ state.consecutiveRetryCount = 0;
179
+ };
180
+ const isRetryLimit = () => {
181
+ state.retryCount += 1;
182
+ state.consecutiveRetryCount += 1;
183
+ return state[retryKey] > retry.limit;
184
+ };
185
+ const visibility$ = pauseWhenHidden ? visibilityState$ : rxjs.of(true);
186
+ const poller$ = getPollerFactory$(type, source$)(nextDelayTime);
187
+ return visibility$.pipe(rxjs.switchMap((isVisible) => (isVisible ? poller$.pipe(retryPoll(isRetryLimit, nextRetryTime, resetError)) : rxjs.EMPTY)));
188
+ };
189
+ }
190
+
191
+ exports.poll = poll;
192
+ exports.pollType = pollType;
193
+ exports.strategyType = strategyType;
194
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,qDAAkD;AAAzC,sGAAA,QAAQ,OAAA;AACjB,iEAA4D;AAAnD,gHAAA,YAAY,OAAA;AACrB,+BAA8B;AAArB,4FAAA,IAAI,OAAA"}
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/observables.ts","../../src/common/operators.ts","../../src/poll.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["shareReplay","takeLast","tap","of","switchMap","fromEvent","startWith","map","repeat","timer","retry","throwError","EMPTY"],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -1,4 +1,190 @@
1
- export { pollType } from './constants/poll.const';
2
- export { strategyType } from './constants/strategies.const';
3
- export { poll } from './poll';
4
- //# sourceMappingURL=index.js.map
1
+ import { shareReplay, fromEvent, of, startWith, map, takeLast, tap, switchMap, repeat, timer, retry, throwError, EMPTY } from 'rxjs';
2
+
3
+ const pollType = {
4
+ REPEAT: 'repeat',
5
+ INTERVAL: 'interval',
6
+ };
7
+
8
+ const strategyType = {
9
+ CONSTANT: 'constant',
10
+ LINEAR: 'linear',
11
+ EXPONENTIAL: 'exponential',
12
+ RANDOM: 'random',
13
+ DYNAMIC: 'dynamic',
14
+ };
15
+
16
+ const controlConfig = {
17
+ type: pollType.REPEAT,
18
+ delay: {
19
+ strategy: strategyType.CONSTANT,
20
+ time: 1000,
21
+ },
22
+ retry: {
23
+ strategy: strategyType.EXPONENTIAL,
24
+ time: 1000,
25
+ limit: 3,
26
+ consecutiveOnly: true,
27
+ },
28
+ pauseWhenHidden: true,
29
+ };
30
+
31
+ function normalizeNumber(value, defaultValue = 0, isFinite = true) {
32
+ if (Array.isArray(value)) {
33
+ return value.map((n) => normalizeNumber(n, defaultValue, isFinite));
34
+ }
35
+ let normalizedValue = value !== null && value !== void 0 ? value : defaultValue;
36
+ if (Number.isNaN(normalizedValue) || (isFinite && !Number.isFinite(normalizedValue))) {
37
+ normalizedValue = defaultValue;
38
+ }
39
+ return Math.abs(normalizedValue);
40
+ }
41
+ function pickNumber(value) {
42
+ return Array.isArray(value) ? randomNumber(value[0], value[1]) : value;
43
+ }
44
+ function randomNumber(min, max) {
45
+ return Math.floor(Math.random() * (max - min + 1)) + min;
46
+ }
47
+ function isFunction(value) {
48
+ return typeof value === 'function';
49
+ }
50
+ function isBrowser() {
51
+ return typeof globalThis.window !== 'undefined' && typeof globalThis.window.document !== 'undefined';
52
+ }
53
+ function isDocumentVisible() {
54
+ return !document.hidden;
55
+ }
56
+
57
+ function getStrategyTimeProducer(mode, config) {
58
+ const { strategy, time } = config[mode];
59
+ const isDelayMode = mode === 'delay';
60
+ const isConsecutive = config.retry.consecutiveOnly;
61
+ let timeProducer;
62
+ let attemptKey;
63
+ if (isDelayMode) {
64
+ attemptKey = 'pollCount';
65
+ }
66
+ else if (isConsecutive) {
67
+ attemptKey = 'consecutiveRetryCount';
68
+ }
69
+ else {
70
+ attemptKey = 'retryCount';
71
+ }
72
+ switch (strategy) {
73
+ case 'constant':
74
+ timeProducer = () => time;
75
+ break;
76
+ case 'linear':
77
+ timeProducer = (state) => state[attemptKey] * time;
78
+ break;
79
+ case 'exponential':
80
+ timeProducer = (state) => Math.pow(2, state[attemptKey] - 1) * time;
81
+ break;
82
+ case 'random':
83
+ timeProducer = () => randomNumber(time[0], time[1]);
84
+ break;
85
+ case 'dynamic':
86
+ timeProducer = (state) => time(state);
87
+ break;
88
+ default:
89
+ throw new Error('rxjs-poll: Unknown strategy!');
90
+ }
91
+ return timeProducer;
92
+ }
93
+
94
+ function extendConfig(config) {
95
+ const normalizedConfig = normalizeConfig(config);
96
+ return Object.assign(Object.assign({}, normalizedConfig), { getDelayTime: getTimeProducer('delay', normalizedConfig), getRetryTime: getTimeProducer('retry', normalizedConfig) });
97
+ }
98
+ function getTimeProducer(mode, config) {
99
+ const defaultTime = controlConfig[mode].time;
100
+ const timeProducer = getStrategyTimeProducer(mode, config);
101
+ return (state) => {
102
+ const producedTime = timeProducer(Object.assign({}, state));
103
+ const normalizedTime = normalizeNumber(producedTime, defaultTime);
104
+ return pickNumber(normalizedTime);
105
+ };
106
+ }
107
+ function normalizeConfig(config) {
108
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
109
+ return {
110
+ type: (_a = config === null || config === void 0 ? void 0 : config.type) !== null && _a !== void 0 ? _a : controlConfig.type,
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 : controlConfig.delay.strategy,
113
+ time: isFunction((_d = config === null || config === void 0 ? void 0 : config.delay) === null || _d === void 0 ? void 0 : _d.time)
114
+ ? config.delay.time
115
+ : normalizeNumber((_e = config === null || config === void 0 ? void 0 : config.delay) === null || _e === void 0 ? void 0 : _e.time, controlConfig.delay.time),
116
+ },
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 : controlConfig.retry.strategy,
119
+ time: isFunction((_h = config === null || config === void 0 ? void 0 : config.retry) === null || _h === void 0 ? void 0 : _h.time)
120
+ ? config.retry.time
121
+ : normalizeNumber((_j = config === null || config === void 0 ? void 0 : config.retry) === null || _j === void 0 ? void 0 : _j.time, controlConfig.retry.time),
122
+ limit: normalizeNumber((_k = config === null || config === void 0 ? void 0 : config.retry) === null || _k === void 0 ? void 0 : _k.limit, controlConfig.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 : controlConfig.retry.consecutiveOnly,
124
+ },
125
+ pauseWhenHidden: (_o = config === null || config === void 0 ? void 0 : config.pauseWhenHidden) !== null && _o !== void 0 ? _o : controlConfig.pauseWhenHidden,
126
+ };
127
+ }
128
+
129
+ const visibilityState$ = pageVisibility$().pipe(shareReplay({ bufferSize: 1, refCount: true }));
130
+ function getPollerFactory$(type, source$) {
131
+ let lastValue;
132
+ const completed$ = source$.pipe(takeLast(1), tap((value) => {
133
+ lastValue = value;
134
+ }));
135
+ return type === 'repeat'
136
+ ? (getNextTime) => repeatWith$(completed$, () => getNextTime(lastValue))
137
+ : (getNextTime) => repeatWith$(of(null), () => getNextTime(lastValue)).pipe(switchMap(() => completed$));
138
+ }
139
+ function pageVisibility$() {
140
+ return isBrowser() ? fromEvent(document, 'visibilitychange').pipe(startWith(null), map(isDocumentVisible)) : of(true);
141
+ }
142
+ function repeatWith$(source$, getTime) {
143
+ return source$.pipe(repeat({
144
+ delay: () => timer(getTime()),
145
+ }));
146
+ }
147
+
148
+ function retryPoll(isLimit, getTime, resetError) {
149
+ return (source) => source.pipe(retry({
150
+ delay: (error) => (isLimit() ? throwError(() => error) : timer(getTime(error))),
151
+ }), tap(() => resetError()));
152
+ }
153
+
154
+ function poll(config) {
155
+ return (source$) => {
156
+ const { type, retry, pauseWhenHidden, getDelayTime, getRetryTime } = extendConfig(config);
157
+ const retryKey = retry.consecutiveOnly ? 'consecutiveRetryCount' : 'retryCount';
158
+ const state = {
159
+ value: undefined,
160
+ error: undefined,
161
+ pollCount: 0,
162
+ retryCount: 0,
163
+ consecutiveRetryCount: 0,
164
+ };
165
+ const nextDelayTime = (value) => {
166
+ state.pollCount += 1;
167
+ state.value = value;
168
+ return getDelayTime(state);
169
+ };
170
+ const nextRetryTime = (error) => {
171
+ state.error = error;
172
+ return getRetryTime(state);
173
+ };
174
+ const resetError = () => {
175
+ state.error = undefined;
176
+ state.consecutiveRetryCount = 0;
177
+ };
178
+ const isRetryLimit = () => {
179
+ state.retryCount += 1;
180
+ state.consecutiveRetryCount += 1;
181
+ return state[retryKey] > retry.limit;
182
+ };
183
+ const visibility$ = pauseWhenHidden ? visibilityState$ : of(true);
184
+ const poller$ = getPollerFactory$(type, source$)(nextDelayTime);
185
+ return visibility$.pipe(switchMap((isVisible) => (isVisible ? poller$.pipe(retryPoll(isRetryLimit, nextRetryTime, resetError)) : EMPTY)));
186
+ };
187
+ }
188
+
189
+ export { poll, pollType, strategyType };
190
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC"}
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/observables.ts","../../src/common/operators.ts","../../src/poll.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"operators.d.ts","sourceRoot":"","sources":["../../../src/common/operators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAiC,MAAM,MAAM,CAAC;AAE/E,wBAAgB,SAAS,CAAC,CAAC,EACzB,OAAO,EAAE,MAAM,OAAO,EACtB,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,EAC/B,UAAU,EAAE,MAAM,IAAI,GACrB,wBAAwB,CAAC,CAAC,CAAC,CAQ7B"}
1
+ {"version":3,"file":"operators.d.ts","sourceRoot":"","sources":["../../../src/common/operators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAiC,MAAM,MAAM,CAAC;AAE/E,wBAAgB,SAAS,CAAC,CAAC,EACzB,OAAO,EAAE,MAAM,OAAO,EAEtB,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,EAC/B,UAAU,EAAE,MAAM,IAAI,GACrB,wBAAwB,CAAC,CAAC,CAAC,CAQ7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/common/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAElD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;AACxG,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;AACxG,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,EAC5B,YAAY,CAAC,EAAE,MAAM,EACrB,QAAQ,CAAC,EAAE,OAAO,GACjB,MAAM,GAAG,MAAM,CAAC;AAenB,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAE3E;AAED,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/common/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAElD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;AACxG,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;AACxG,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,EAC5B,YAAY,CAAC,EAAE,MAAM,EACrB,QAAQ,CAAC,EAAE,OAAO,GACjB,MAAM,GAAG,MAAM,CAAC;AAenB,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7D;AAGD,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAE3E;AAED,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C"}
@@ -1 +1 @@
1
- {"version":3,"file":"poll.d.ts","sourceRoot":"","sources":["../../src/poll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,wBAAwB,EAAiB,MAAM,MAAM,CAAC;AAKtE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,wBAAwB,CAAC,CAAC,CAAC,CA4CjF"}
1
+ {"version":3,"file":"poll.d.ts","sourceRoot":"","sources":["../../src/poll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,wBAAwB,EAAiB,MAAM,MAAM,CAAC;AAKtE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,wBAAwB,CAAC,CAAC,CAAC,CA6CjF"}
@@ -1 +1 @@
1
- {"version":3,"file":"poll.type.d.ts","sourceRoot":"","sources":["../../../src/types/poll.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC;AAEhE;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IACzB,8FAA8F;IAC9F,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC;IACrB,iCAAiC;IACjC,KAAK,EAAE,GAAG,GAAG,SAAS,CAAC;IACvB,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;CAMnB,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAE7B;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,uBAAuB,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;AAErD;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC"}
1
+ {"version":3,"file":"poll.type.d.ts","sourceRoot":"","sources":["../../../src/types/poll.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC;AAEhE;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IACzB,8FAA8F;IAC9F,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC;IACrB,iCAAiC;IAEjC,KAAK,EAAE,GAAG,GAAG,SAAS,CAAC;IACvB,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;CAMnB,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAE7B;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,uBAAuB,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;AAErD;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC"}