rxjs-poll 2.1.0 → 2.2.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.
Files changed (34) hide show
  1. package/README.md +4 -8
  2. package/dist/cjs/index.js +76 -30
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/esm/index.js +77 -31
  5. package/dist/esm/index.js.map +1 -1
  6. package/dist/types/common/state.d.ts +8 -0
  7. package/dist/types/common/state.d.ts.map +1 -0
  8. package/dist/types/observables/document-visibility.d.ts +17 -0
  9. package/dist/types/observables/document-visibility.d.ts.map +1 -0
  10. package/dist/types/observables/interval-poller.d.ts +11 -0
  11. package/dist/types/observables/interval-poller.d.ts.map +1 -0
  12. package/dist/types/observables/poller-factory.d.ts +11 -0
  13. package/dist/types/observables/poller-factory.d.ts.map +1 -0
  14. package/dist/types/observables/repeat-poller.d.ts +11 -0
  15. package/dist/types/observables/repeat-poller.d.ts.map +1 -0
  16. package/dist/types/observables/repeat-with.d.ts +9 -0
  17. package/dist/types/observables/repeat-with.d.ts.map +1 -0
  18. package/dist/types/observables/retry-operator.d.ts +11 -0
  19. package/dist/types/observables/retry-operator.d.ts.map +1 -0
  20. package/dist/types/poll.d.ts +1 -1
  21. package/dist/types/poll.d.ts.map +1 -1
  22. package/dist/types/types/config.type.d.ts +1 -7
  23. package/dist/types/types/config.type.d.ts.map +1 -1
  24. package/dist/types/types/observables.type.d.ts +18 -2
  25. package/dist/types/types/observables.type.d.ts.map +1 -1
  26. package/dist/umd/index.js +76 -30
  27. package/dist/umd/index.js.map +1 -1
  28. package/dist/umd/index.min.js +1 -1
  29. package/dist/umd/index.min.js.map +1 -1
  30. package/package.json +10 -10
  31. package/dist/types/common/observables.d.ts +0 -6
  32. package/dist/types/common/observables.d.ts.map +0 -1
  33. package/dist/types/common/operators.d.ts +0 -3
  34. package/dist/types/common/operators.d.ts.map +0 -1
package/README.md CHANGED
@@ -159,12 +159,7 @@ interface PollConfig {
159
159
  };
160
160
 
161
161
  /**
162
- * Configuration for retry behavior (on errors).
163
- * Can be fully specified with strategy/time, or partially specified with just limit/consecutiveOnly.
164
- * If omitted entirely, uses default exponential retry strategy.
165
- * - Full config: `{ strategy: '...', time: ..., limit?: ..., consecutiveOnly?: ... }`
166
- * - Partial config: `{ limit: ..., consecutiveOnly?: ... }` (uses default strategy/time)
167
- * - Omit entirely: Uses all defaults
162
+ * Configuration for retry behavior (on errors)
168
163
  */
169
164
  retry?: {
170
165
  /**
@@ -173,7 +168,7 @@ interface PollConfig {
173
168
  * - consecutiveOnly: true → uses `consecutiveRetryCount`
174
169
  * - consecutiveOnly: false → uses `retryCount`
175
170
  * @default 'exponential'
176
- * @note Required if `time` is provided, otherwise omitted to use defaults
171
+ * @note Required if `time` is provided, otherwise uses default
177
172
  */
178
173
  strategy: 'constant' | 'linear' | 'exponential' | 'random' | 'dynamic';
179
174
 
@@ -185,7 +180,7 @@ interface PollConfig {
185
180
  * - random: [min, max]
186
181
  * - dynamic: (state) => number | [min, max]
187
182
  * @default 1000
188
- * @note Required if `strategy` is provided, otherwise omitted to use defaults
183
+ * @note Required if `strategy` is provided, otherwise uses default
189
184
  */
190
185
  time:
191
186
  | number
@@ -215,6 +210,7 @@ interface PollConfig {
215
210
  * - true: Pause polling when tab isn't active, and resume on active
216
211
  * - false: Poll even when tab isn't focused
217
212
  * @default true
213
+ * @note First emission is guaranteed
218
214
  */
219
215
  pauseWhenHidden?: boolean;
220
216
  }
package/dist/cjs/index.js CHANGED
@@ -128,42 +128,71 @@ function normalizeConfig(config) {
128
128
  };
129
129
  }
130
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$));
131
+ function createState(partial) {
132
+ return Object.assign({ value: undefined, error: undefined, pollCount: 0, retryCount: 0, consecutiveRetryCount: 0 }, partial);
140
133
  }
141
- function pageVisibility$() {
142
- return isBrowser() ? rxjs.fromEvent(document, 'visibilitychange').pipe(rxjs.startWith(null), rxjs.map(isDocumentVisible)) : rxjs.of(true);
134
+
135
+ function withDocumentVisibility$(poller$, pauser$) {
136
+ const visibility$ = getDocumentVisibility$();
137
+ const pause$ = rxjs.combineLatest([visibility$, pauser$.pipe(rxjs.take(1))]).pipe(rxjs.filter(([isVisible]) => !isVisible));
138
+ let emissionStarted = true;
139
+ return visibility$.pipe(rxjs.filter((isVisible) => isVisible || emissionStarted), rxjs.exhaustMap(() => poller$.pipe(rxjs.takeUntil(pause$))), rxjs.tap(() => (emissionStarted = false)));
143
140
  }
141
+ let documentVisibility$;
142
+ function getDocumentVisibility$() {
143
+ if (documentVisibility$) {
144
+ return documentVisibility$;
145
+ }
146
+ documentVisibility$ = rxjs.fromEvent(document, 'visibilitychange').pipe(rxjs.startWith(null), rxjs.map(isDocumentVisible), rxjs.shareReplay({ bufferSize: 1, refCount: true }));
147
+ return documentVisibility$;
148
+ }
149
+
144
150
  function repeatWith$(source$, getTime) {
145
151
  return source$.pipe(rxjs.repeat({
146
152
  delay: () => rxjs.timer(getTime()),
147
153
  }));
148
154
  }
149
155
 
150
- function retryPoll(isLimit, getTime, resetError) {
156
+ function buildIntervalPoller$(sharedSource$, { nextDelayTime, pauseWhenHidden }) {
157
+ if (!isBrowser() || !pauseWhenHidden) {
158
+ return repeatWith$(rxjs.of(null), () => nextDelayTime()).pipe(rxjs.switchMap(() => sharedSource$));
159
+ }
160
+ let currentDelay = 0;
161
+ const trigger$ = repeatWith$(rxjs.of(null), () => {
162
+ currentDelay = nextDelayTime();
163
+ return currentDelay;
164
+ });
165
+ const pauser$ = rxjs.defer(() => rxjs.timer(currentDelay));
166
+ return withDocumentVisibility$(trigger$, pauser$).pipe(rxjs.switchMap(() => sharedSource$));
167
+ }
168
+
169
+ function buildRepeatPoller$(sharedSource$, { nextDelayTime, pauseWhenHidden }) {
170
+ if (!isBrowser() || !pauseWhenHidden) {
171
+ return repeatWith$(sharedSource$, () => nextDelayTime());
172
+ }
173
+ const pauseTrigger$ = new rxjs.Subject();
174
+ let currentDelay = 0;
175
+ const poller$ = repeatWith$(sharedSource$.pipe(rxjs.finalize(() => pauseTrigger$.next())), () => {
176
+ currentDelay = nextDelayTime();
177
+ return currentDelay;
178
+ });
179
+ const pauser$ = pauseTrigger$.pipe(rxjs.switchMap(() => rxjs.timer(currentDelay)));
180
+ return withDocumentVisibility$(poller$, pauser$);
181
+ }
182
+
183
+ function retryPoll(getTime, isLimit, resetError) {
151
184
  return (source) => source.pipe(rxjs.retry({
152
185
  delay: (error) => (isLimit() ? rxjs.throwError(() => error) : rxjs.timer(getTime(error))),
153
186
  }), rxjs.tap(() => resetError()));
154
187
  }
155
188
 
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
- };
189
+ function getPollerFactory(source$, { getDelayTime, getRetryTime, pauseWhenHidden, retry, type }) {
190
+ const retryKey = retry.consecutiveOnly ? 'consecutiveRetryCount' : 'retryCount';
191
+ let lastValue;
192
+ const completed$ = source$.pipe(rxjs.takeLast(1), rxjs.tap((value) => {
193
+ lastValue = value;
194
+ }), rxjs.share());
195
+ return function createPoller(state) {
167
196
  const nextDelayTime = (value) => {
168
197
  state.pollCount += 1;
169
198
  state.value = value;
@@ -173,18 +202,35 @@ function poll(config) {
173
202
  state.error = error;
174
203
  return getRetryTime(state);
175
204
  };
176
- const resetError = () => {
177
- state.error = undefined;
178
- state.consecutiveRetryCount = 0;
179
- };
180
205
  const isRetryLimit = () => {
181
206
  state.retryCount += 1;
182
207
  state.consecutiveRetryCount += 1;
183
208
  return state[retryKey] > retry.limit;
184
209
  };
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)));
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
+ };
225
+ }
226
+
227
+ function poll(config) {
228
+ return (source$) => {
229
+ const extendedConfig = extendConfig(config);
230
+ const state = createState();
231
+ const createPoller = getPollerFactory(source$, extendedConfig);
232
+ const poller$ = createPoller(state);
233
+ return poller$;
188
234
  };
189
235
  }
190
236
 
@@ -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/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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"}
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":["combineLatest","take","filter","exhaustMap","takeUntil","tap","fromEvent","startWith","map","shareReplay","repeat","timer","of","switchMap","defer","Subject","finalize","retry","throwError","takeLast","share"],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { shareReplay, fromEvent, of, startWith, map, takeLast, tap, switchMap, repeat, timer, retry, throwError, EMPTY } from 'rxjs';
1
+ import { combineLatest, take, filter, exhaustMap, takeUntil, tap, fromEvent, startWith, map, shareReplay, repeat, timer, of, switchMap, defer, Subject, finalize, retry, throwError, takeLast, share } from 'rxjs';
2
2
 
3
3
  const pollType = {
4
4
  REPEAT: 'repeat',
@@ -126,42 +126,71 @@ function normalizeConfig(config) {
126
126
  };
127
127
  }
128
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$));
129
+ function createState(partial) {
130
+ return Object.assign({ value: undefined, error: undefined, pollCount: 0, retryCount: 0, consecutiveRetryCount: 0 }, partial);
138
131
  }
139
- function pageVisibility$() {
140
- return isBrowser() ? fromEvent(document, 'visibilitychange').pipe(startWith(null), map(isDocumentVisible)) : of(true);
132
+
133
+ function withDocumentVisibility$(poller$, pauser$) {
134
+ const visibility$ = getDocumentVisibility$();
135
+ const pause$ = combineLatest([visibility$, pauser$.pipe(take(1))]).pipe(filter(([isVisible]) => !isVisible));
136
+ let emissionStarted = true;
137
+ return visibility$.pipe(filter((isVisible) => isVisible || emissionStarted), exhaustMap(() => poller$.pipe(takeUntil(pause$))), tap(() => (emissionStarted = false)));
141
138
  }
139
+ let documentVisibility$;
140
+ function getDocumentVisibility$() {
141
+ if (documentVisibility$) {
142
+ return documentVisibility$;
143
+ }
144
+ documentVisibility$ = fromEvent(document, 'visibilitychange').pipe(startWith(null), map(isDocumentVisible), shareReplay({ bufferSize: 1, refCount: true }));
145
+ return documentVisibility$;
146
+ }
147
+
142
148
  function repeatWith$(source$, getTime) {
143
149
  return source$.pipe(repeat({
144
150
  delay: () => timer(getTime()),
145
151
  }));
146
152
  }
147
153
 
148
- function retryPoll(isLimit, getTime, resetError) {
154
+ function buildIntervalPoller$(sharedSource$, { nextDelayTime, pauseWhenHidden }) {
155
+ if (!isBrowser() || !pauseWhenHidden) {
156
+ return repeatWith$(of(null), () => nextDelayTime()).pipe(switchMap(() => sharedSource$));
157
+ }
158
+ let currentDelay = 0;
159
+ const trigger$ = repeatWith$(of(null), () => {
160
+ currentDelay = nextDelayTime();
161
+ return currentDelay;
162
+ });
163
+ const pauser$ = defer(() => timer(currentDelay));
164
+ return withDocumentVisibility$(trigger$, pauser$).pipe(switchMap(() => sharedSource$));
165
+ }
166
+
167
+ function buildRepeatPoller$(sharedSource$, { nextDelayTime, pauseWhenHidden }) {
168
+ if (!isBrowser() || !pauseWhenHidden) {
169
+ return repeatWith$(sharedSource$, () => nextDelayTime());
170
+ }
171
+ const pauseTrigger$ = new Subject();
172
+ let currentDelay = 0;
173
+ const poller$ = repeatWith$(sharedSource$.pipe(finalize(() => pauseTrigger$.next())), () => {
174
+ currentDelay = nextDelayTime();
175
+ return currentDelay;
176
+ });
177
+ const pauser$ = pauseTrigger$.pipe(switchMap(() => timer(currentDelay)));
178
+ return withDocumentVisibility$(poller$, pauser$);
179
+ }
180
+
181
+ function retryPoll(getTime, isLimit, resetError) {
149
182
  return (source) => source.pipe(retry({
150
183
  delay: (error) => (isLimit() ? throwError(() => error) : timer(getTime(error))),
151
184
  }), tap(() => resetError()));
152
185
  }
153
186
 
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
- };
187
+ function getPollerFactory(source$, { getDelayTime, getRetryTime, pauseWhenHidden, retry, type }) {
188
+ const retryKey = retry.consecutiveOnly ? 'consecutiveRetryCount' : 'retryCount';
189
+ let lastValue;
190
+ const completed$ = source$.pipe(takeLast(1), tap((value) => {
191
+ lastValue = value;
192
+ }), share());
193
+ return function createPoller(state) {
165
194
  const nextDelayTime = (value) => {
166
195
  state.pollCount += 1;
167
196
  state.value = value;
@@ -171,18 +200,35 @@ function poll(config) {
171
200
  state.error = error;
172
201
  return getRetryTime(state);
173
202
  };
174
- const resetError = () => {
175
- state.error = undefined;
176
- state.consecutiveRetryCount = 0;
177
- };
178
203
  const isRetryLimit = () => {
179
204
  state.retryCount += 1;
180
205
  state.consecutiveRetryCount += 1;
181
206
  return state[retryKey] > retry.limit;
182
207
  };
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)));
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
+ };
223
+ }
224
+
225
+ function poll(config) {
226
+ return (source$) => {
227
+ const extendedConfig = extendConfig(config);
228
+ const state = createState();
229
+ const createPoller = getPollerFactory(source$, extendedConfig);
230
+ const poller$ = createPoller(state);
231
+ return poller$;
186
232
  };
187
233
  }
188
234
 
@@ -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/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
+ {"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":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { PollState } from '../types/poll.type';
2
+ /**
3
+ * Creates a poll state object with default values and optional overrides.
4
+ * @param partial - Optional partial state object to override defaults
5
+ * @returns Complete poll state object with all required properties
6
+ */
7
+ export declare function createState<T>(partial?: Partial<PollState<T>>): PollState<T>;
8
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/common/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAS5E"}
@@ -0,0 +1,17 @@
1
+ import { Observable } from 'rxjs';
2
+ /**
3
+ * Wraps a poller observable with document visibility control.
4
+ * Guarantees first emission regardless of visibility state, then pauses/resumes based on document visibility.
5
+ * @param poller$ - The polling observable to wrap
6
+ * @param pauser$ - Observable that determines when to pause (after first emission)
7
+ * @returns Observable that emits values from poller$ with visibility-aware pausing
8
+ * @note First emission is always guaranteed, even if document is hidden
9
+ */
10
+ export declare function withDocumentVisibility$<T>(poller$: Observable<T>, pauser$: Observable<unknown>): Observable<T>;
11
+ /**
12
+ * Returns a shared observable that tracks document visibility state.
13
+ * Creates a singleton observable on first call and reuses it for subsequent calls.
14
+ * @returns Observable that emits true when document is visible, false when hidden
15
+ */
16
+ export declare function getDocumentVisibility$(): Observable<boolean>;
17
+ //# sourceMappingURL=document-visibility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-visibility.d.ts","sourceRoot":"","sources":["../../../src/observables/document-visibility.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,UAAU,EAMX,MAAM,MAAM,CAAC;AAId;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAU9G;AAID;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,UAAU,CAAC,OAAO,CAAC,CAY5D"}
@@ -0,0 +1,11 @@
1
+ import { Observable } from 'rxjs';
2
+ import { PollerBuilderOptions } from '../types/observables.type';
3
+ /**
4
+ * Builds an interval-based poller that polls at fixed intervals regardless of source duration.
5
+ * If a source takes longer than the interval, it will be interrupted.
6
+ * @param sharedSource$ - The shared source observable to poll
7
+ * @param options - See {@link PollerBuilderOptions}
8
+ * @returns Observable that emits values from the source at fixed intervals
9
+ */
10
+ export declare function buildIntervalPoller$<T>(sharedSource$: Observable<T>, { nextDelayTime, pauseWhenHidden }: PollerBuilderOptions<T>): Observable<T>;
11
+ //# sourceMappingURL=interval-poller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interval-poller.d.ts","sourceRoot":"","sources":["../../../src/observables/interval-poller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,UAAU,EAAwB,MAAM,MAAM,CAAC;AAG/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAIjE;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,EAC5B,EAAE,aAAa,EAAE,eAAe,EAAE,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC1D,UAAU,CAAC,CAAC,CAAC,CAaf"}
@@ -0,0 +1,11 @@
1
+ import { Observable } from 'rxjs';
2
+ import { ExtendedPollConfig } from '../types/config.type';
3
+ import { PollState } from '../types/poll.type';
4
+ /**
5
+ * Creates a factory function that builds polling observables with retry logic.
6
+ * @param source$ - The source observable to poll
7
+ * @param config - See {@link ExtendedPollConfig}
8
+ * @returns Factory function that creates a poller observable from poll state
9
+ */
10
+ export declare function getPollerFactory<T>(source$: Observable<T>, { getDelayTime, getRetryTime, pauseWhenHidden, retry, type }: ExtendedPollConfig<T>): (state: PollState<T>) => Observable<T>;
11
+ //# sourceMappingURL=poller-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poller-factory.d.ts","sourceRoot":"","sources":["../../../src/observables/poller-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAwB,MAAM,MAAM,CAAC;AAExD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAY,MAAM,oBAAoB,CAAC;AAKzD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EACtB,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAClF,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAoDxC"}
@@ -0,0 +1,11 @@
1
+ import { Observable } from 'rxjs';
2
+ import { PollerBuilderOptions } from '../types/observables.type';
3
+ /**
4
+ * Builds a repeat-based poller that waits for source completion before starting the next delay.
5
+ * Each poll cycle completes the source before scheduling the next poll.
6
+ * @param sharedSource$ - The shared source observable to poll
7
+ * @param options - See {@link PollerBuilderOptions}
8
+ * @returns Observable that emits values from the source with delays between completions
9
+ */
10
+ export declare function buildRepeatPoller$<T>(sharedSource$: Observable<T>, { nextDelayTime, pauseWhenHidden }: PollerBuilderOptions<T>): Observable<T>;
11
+ //# sourceMappingURL=repeat-poller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repeat-poller.d.ts","sourceRoot":"","sources":["../../../src/observables/repeat-poller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,UAAU,EAA6B,MAAM,MAAM,CAAC;AAGvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAIjE;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,EAC5B,EAAE,aAAa,EAAE,eAAe,EAAE,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC1D,UAAU,CAAC,CAAC,CAAC,CAgBf"}
@@ -0,0 +1,9 @@
1
+ import { Observable } from 'rxjs';
2
+ /**
3
+ * Repeats the source observable with a delay between each repetition.
4
+ * @param source$ - The source observable to repeat
5
+ * @param getTime - Function that returns the delay time in milliseconds
6
+ * @returns Observable that repeats the source with delays
7
+ */
8
+ export declare function repeatWith$<T>(source$: Observable<T>, getTime: () => number): Observable<T>;
9
+ //# sourceMappingURL=repeat-with.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repeat-with.d.ts","sourceRoot":"","sources":["../../../src/observables/repeat-with.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiB,MAAM,MAAM,CAAC;AAEjD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAM3F"}
@@ -0,0 +1,11 @@
1
+ import { MonoTypeOperatorFunction } from 'rxjs';
2
+ /**
3
+ * Custom retry operator for polling with configurable retry logic.
4
+ * @param getTime - Function that returns retry delay in milliseconds based on error
5
+ * @param isLimit - Function that checks if retry limit has been reached
6
+ * @param resetError - Function that resets error state after successful emission
7
+ * @returns Operator function that adds retry logic to the source observable
8
+ * @note Parameter order changed from previous version: getTime is now first, followed by isLimit
9
+ */
10
+ export declare function retryPoll<T>(getTime: (error: any) => number, isLimit: () => boolean, resetError: () => void): MonoTypeOperatorFunction<T>;
11
+ //# sourceMappingURL=retry-operator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry-operator.d.ts","sourceRoot":"","sources":["../../../src/observables/retry-operator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAiC,MAAM,MAAM,CAAC;AAE/E;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAEzB,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,EAC/B,OAAO,EAAE,MAAM,OAAO,EACtB,UAAU,EAAE,MAAM,IAAI,GACrB,wBAAwB,CAAC,CAAC,CAAC,CAQ7B"}
@@ -22,9 +22,9 @@ import { Nil } from './types/utils.type';
22
22
  * ```
23
23
  *
24
24
  * @param config - {@link PollConfig} object used for configuration
25
- *
26
25
  * @return Function that returns an Observable handling resubscription \
27
26
  * to the source on complete or error
27
+ * @note First emission is guaranteed
28
28
  */
29
29
  export declare function poll<T>(config?: PollConfig<T> | Nil): MonoTypeOperatorFunction<T>;
30
30
  //# sourceMappingURL=poll.d.ts.map
@@ -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,CA6CjF"}
1
+ {"version":3,"file":"poll.d.ts","sourceRoot":"","sources":["../../src/poll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,MAAM,CAAC;AAKhD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,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,CAUjF"}
@@ -3,7 +3,6 @@ import { DynamicFunction, StrategyType } from './strategies.type';
3
3
  import { MinMax, Nil } from './utils.type';
4
4
  /**
5
5
  * Configuration object for the poll operator
6
- * @template T - Type of the observable value being polled
7
6
  */
8
7
  export type PollConfig<T> = {
9
8
  /**
@@ -26,6 +25,7 @@ export type PollConfig<T> = {
26
25
  * - "true": Pause polling when tab isn't active, and resume on active
27
26
  * - "false": Poll even when tab isn't focused
28
27
  * @default true
28
+ * @note First emission is guaranteed
29
29
  */
30
30
  pauseWhenHidden?: boolean | Nil;
31
31
  };
@@ -47,7 +47,6 @@ export type PollConfig<T> = {
47
47
  * - "random": [min, max]
48
48
  * - "dynamic": (state) => number | [min, max]
49
49
  *
50
- * @template T - Type of the observable value being polled
51
50
  * @default { strategy: "constant", time: 1000 }
52
51
  */
53
52
  export type PollDelayConfig<T> = {
@@ -82,7 +81,6 @@ export type PollDelayConfig<T> = {
82
81
  * - "limit": Maximum retry attempts before throwing error
83
82
  * - "consecutiveOnly": Whether to count only consecutive retries or all retries
84
83
  *
85
- * @template T - Type of the observable value being polled
86
84
  * @default { strategy: "exponential", time: 1000, limit: 3, consecutiveOnly: true }
87
85
  */
88
86
  export type PollRetryConfig<T> = (PollDelayConfig<T> & {
@@ -96,7 +94,6 @@ export type PollRetryConfig<T> = (PollDelayConfig<T> & {
96
94
  };
97
95
  /**
98
96
  * Extended configuration that includes computed time producer functions
99
- * @template T - Type of the observable value being polled
100
97
  */
101
98
  export type ExtendedPollConfig<T> = NormalizedPollConfig<T> & {
102
99
  getDelayTime: PollTimeProducer<T>;
@@ -104,7 +101,6 @@ export type ExtendedPollConfig<T> = NormalizedPollConfig<T> & {
104
101
  };
105
102
  /**
106
103
  * Normalized configuration with all optional fields resolved to their default values
107
- * @template T - Type of the observable value being polled
108
104
  */
109
105
  export type NormalizedPollConfig<T> = {
110
106
  type: PollType;
@@ -114,7 +110,6 @@ export type NormalizedPollConfig<T> = {
114
110
  };
115
111
  /**
116
112
  * Normalized delay configuration with resolved defaults
117
- * @template T - Type of the observable value being polled
118
113
  */
119
114
  export type NormalizedPollDelayConfig<T> = {
120
115
  time: number | MinMax | DynamicFunction<T>;
@@ -122,7 +117,6 @@ export type NormalizedPollDelayConfig<T> = {
122
117
  };
123
118
  /**
124
119
  * Normalized retry configuration with resolved defaults
125
- * @template T - Type of the observable value being polled
126
120
  */
127
121
  export type NormalizedPollRetryConfig<T> = {
128
122
  time: number | MinMax | DynamicFunction<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"config.type.d.ts","sourceRoot":"","sources":["../../../src/types/config.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAE3C;;;GAGG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC1B;;;;;OAKG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,GAAG,CAAC;IACtB;;OAEG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACjC;;OAEG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACjC;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,GAAG,GAAG,CAAC;CACjC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IACzB;IAAE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;CAAE,GACxE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAA;CAAE,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IACzB,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GACpE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAElF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG;IAC5D,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAClC,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;CACnC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI;IACpC,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC;IACpC,KAAK,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC;IACpC,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,yBAAyB,CAAC,CAAC,IAAI;IACzC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAC3C,QAAQ,EAAE,YAAY,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,yBAAyB,CAAC,CAAC,IAAI;IACzC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAC3C,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC"}
1
+ {"version":3,"file":"config.type.d.ts","sourceRoot":"","sources":["../../../src/types/config.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAE3C;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC1B;;;;;OAKG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,GAAG,CAAC;IACtB;;OAEG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACjC;;OAEG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACjC;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,GAAG,GAAG,CAAC;CACjC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IACzB;IAAE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;CAAE,GACxE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAA;CAAE,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IACzB,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GACpE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAElF;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG;IAC5D,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAClC,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;CACnC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI;IACpC,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC;IACpC,KAAK,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC;IACpC,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,yBAAyB,CAAC,CAAC,IAAI;IACzC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAC3C,QAAQ,EAAE,YAAY,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,yBAAyB,CAAC,CAAC,IAAI;IACzC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAC3C,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC"}
@@ -1,8 +1,24 @@
1
1
  import { Observable } from 'rxjs';
2
+ import { PollConfig } from './config.type';
3
+ import { PollState } from './poll.type';
2
4
  /**
3
5
  * Factory that creates a polling Observable
4
- * @param getNextTime - Returns delay time based on last emitted value
6
+ * @param state - Poll state object containing polling metadata
5
7
  * @returns Observable that emits values of type T
6
8
  */
7
- export type PollerFactory<T> = (getNextTime: (value: T) => number) => Observable<T>;
9
+ export type PollerFactory<T> = (state: PollState<T>) => Observable<T>;
10
+ /**
11
+ * Options for building a repeat poller observable.
12
+ * @property nextDelayTime - Function that returns the next polling delay (ms)
13
+ * @property pauseWhenHidden - Whether polling should pause when the document is hidden
14
+ */
15
+ export type PollerBuilderOptions<T> = {
16
+ nextDelayTime: () => number;
17
+ } & Pick<PollConfig<T>, 'pauseWhenHidden'>;
18
+ /**
19
+ * Function type that produces the next delay time based on the provided value.
20
+ * @param value - Last emitted value
21
+ * @returns Next delay time in milliseconds
22
+ */
23
+ export type NextTimeProducer<T> = (value: T) => number;
8
24
  //# sourceMappingURL=observables.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"observables.type.d.ts","sourceRoot":"","sources":["../../../src/types/observables.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC;;;;GAIG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"observables.type.d.ts","sourceRoot":"","sources":["../../../src/types/observables.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;;GAIG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC;AAEtE;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI;IACpC,aAAa,EAAE,MAAM,MAAM,CAAC;CAC7B,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;AAE3C;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC"}
package/dist/umd/index.js CHANGED
@@ -130,42 +130,71 @@
130
130
  };
131
131
  }
132
132
 
133
- const visibilityState$ = pageVisibility$().pipe(rxjs.shareReplay({ bufferSize: 1, refCount: true }));
134
- function getPollerFactory$(type, source$) {
135
- let lastValue;
136
- const completed$ = source$.pipe(rxjs.takeLast(1), rxjs.tap((value) => {
137
- lastValue = value;
138
- }));
139
- return type === 'repeat'
140
- ? (getNextTime) => repeatWith$(completed$, () => getNextTime(lastValue))
141
- : (getNextTime) => repeatWith$(rxjs.of(null), () => getNextTime(lastValue)).pipe(rxjs.switchMap(() => completed$));
133
+ function createState(partial) {
134
+ return Object.assign({ value: undefined, error: undefined, pollCount: 0, retryCount: 0, consecutiveRetryCount: 0 }, partial);
142
135
  }
143
- function pageVisibility$() {
144
- return isBrowser() ? rxjs.fromEvent(document, 'visibilitychange').pipe(rxjs.startWith(null), rxjs.map(isDocumentVisible)) : rxjs.of(true);
136
+
137
+ function withDocumentVisibility$(poller$, pauser$) {
138
+ const visibility$ = getDocumentVisibility$();
139
+ const pause$ = rxjs.combineLatest([visibility$, pauser$.pipe(rxjs.take(1))]).pipe(rxjs.filter(([isVisible]) => !isVisible));
140
+ let emissionStarted = true;
141
+ return visibility$.pipe(rxjs.filter((isVisible) => isVisible || emissionStarted), rxjs.exhaustMap(() => poller$.pipe(rxjs.takeUntil(pause$))), rxjs.tap(() => (emissionStarted = false)));
145
142
  }
143
+ let documentVisibility$;
144
+ function getDocumentVisibility$() {
145
+ if (documentVisibility$) {
146
+ return documentVisibility$;
147
+ }
148
+ documentVisibility$ = rxjs.fromEvent(document, 'visibilitychange').pipe(rxjs.startWith(null), rxjs.map(isDocumentVisible), rxjs.shareReplay({ bufferSize: 1, refCount: true }));
149
+ return documentVisibility$;
150
+ }
151
+
146
152
  function repeatWith$(source$, getTime) {
147
153
  return source$.pipe(rxjs.repeat({
148
154
  delay: () => rxjs.timer(getTime()),
149
155
  }));
150
156
  }
151
157
 
152
- function retryPoll(isLimit, getTime, resetError) {
158
+ function buildIntervalPoller$(sharedSource$, { nextDelayTime, pauseWhenHidden }) {
159
+ if (!isBrowser() || !pauseWhenHidden) {
160
+ return repeatWith$(rxjs.of(null), () => nextDelayTime()).pipe(rxjs.switchMap(() => sharedSource$));
161
+ }
162
+ let currentDelay = 0;
163
+ const trigger$ = repeatWith$(rxjs.of(null), () => {
164
+ currentDelay = nextDelayTime();
165
+ return currentDelay;
166
+ });
167
+ const pauser$ = rxjs.defer(() => rxjs.timer(currentDelay));
168
+ return withDocumentVisibility$(trigger$, pauser$).pipe(rxjs.switchMap(() => sharedSource$));
169
+ }
170
+
171
+ function buildRepeatPoller$(sharedSource$, { nextDelayTime, pauseWhenHidden }) {
172
+ if (!isBrowser() || !pauseWhenHidden) {
173
+ return repeatWith$(sharedSource$, () => nextDelayTime());
174
+ }
175
+ const pauseTrigger$ = new rxjs.Subject();
176
+ let currentDelay = 0;
177
+ const poller$ = repeatWith$(sharedSource$.pipe(rxjs.finalize(() => pauseTrigger$.next())), () => {
178
+ currentDelay = nextDelayTime();
179
+ return currentDelay;
180
+ });
181
+ const pauser$ = pauseTrigger$.pipe(rxjs.switchMap(() => rxjs.timer(currentDelay)));
182
+ return withDocumentVisibility$(poller$, pauser$);
183
+ }
184
+
185
+ function retryPoll(getTime, isLimit, resetError) {
153
186
  return (source) => source.pipe(rxjs.retry({
154
187
  delay: (error) => (isLimit() ? rxjs.throwError(() => error) : rxjs.timer(getTime(error))),
155
188
  }), rxjs.tap(() => resetError()));
156
189
  }
157
190
 
158
- function poll(config) {
159
- return (source$) => {
160
- const { type, retry, pauseWhenHidden, getDelayTime, getRetryTime } = extendConfig(config);
161
- const retryKey = retry.consecutiveOnly ? 'consecutiveRetryCount' : 'retryCount';
162
- const state = {
163
- value: undefined,
164
- error: undefined,
165
- pollCount: 0,
166
- retryCount: 0,
167
- consecutiveRetryCount: 0,
168
- };
191
+ function getPollerFactory(source$, { getDelayTime, getRetryTime, pauseWhenHidden, retry, type }) {
192
+ const retryKey = retry.consecutiveOnly ? 'consecutiveRetryCount' : 'retryCount';
193
+ let lastValue;
194
+ const completed$ = source$.pipe(rxjs.takeLast(1), rxjs.tap((value) => {
195
+ lastValue = value;
196
+ }), rxjs.share());
197
+ return function createPoller(state) {
169
198
  const nextDelayTime = (value) => {
170
199
  state.pollCount += 1;
171
200
  state.value = value;
@@ -175,18 +204,35 @@
175
204
  state.error = error;
176
205
  return getRetryTime(state);
177
206
  };
178
- const resetError = () => {
179
- state.error = undefined;
180
- state.consecutiveRetryCount = 0;
181
- };
182
207
  const isRetryLimit = () => {
183
208
  state.retryCount += 1;
184
209
  state.consecutiveRetryCount += 1;
185
210
  return state[retryKey] > retry.limit;
186
211
  };
187
- const visibility$ = pauseWhenHidden ? visibilityState$ : rxjs.of(true);
188
- const poller$ = getPollerFactory$(type, source$)(nextDelayTime);
189
- return visibility$.pipe(rxjs.switchMap((isVisible) => (isVisible ? poller$.pipe(retryPoll(isRetryLimit, nextRetryTime, resetError)) : rxjs.EMPTY)));
212
+ const resetError = () => {
213
+ state.error = undefined;
214
+ state.consecutiveRetryCount = 0;
215
+ };
216
+ const poller$ = type === 'repeat'
217
+ ? buildRepeatPoller$(completed$, {
218
+ nextDelayTime: () => nextDelayTime(lastValue),
219
+ pauseWhenHidden,
220
+ })
221
+ : buildIntervalPoller$(completed$, {
222
+ nextDelayTime: () => nextDelayTime(lastValue),
223
+ pauseWhenHidden,
224
+ });
225
+ return poller$.pipe(retryPoll(nextRetryTime, isRetryLimit, resetError));
226
+ };
227
+ }
228
+
229
+ function poll(config) {
230
+ return (source$) => {
231
+ const extendedConfig = extendConfig(config);
232
+ const state = createState();
233
+ const createPoller = getPollerFactory(source$, extendedConfig);
234
+ const poller$ = createPoller(state);
235
+ return poller$;
190
236
  };
191
237
  }
192
238
 
@@ -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/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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"}
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":["combineLatest","take","filter","exhaustMap","takeUntil","tap","fromEvent","startWith","map","shareReplay","repeat","timer","of","switchMap","defer","Subject","finalize","retry","throwError","takeLast","share"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("rxjs")):"function"==typeof define&&define.amd?define(["exports","rxjs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).rxjsPoll={},e.rxjs)}(this,function(e,t){"use strict";const n={REPEAT:"repeat",INTERVAL:"interval"},r={CONSTANT:"constant",LINEAR:"linear",EXPONENTIAL:"exponential",RANDOM:"random",DYNAMIC:"dynamic"},i={type:n.REPEAT,delay:{strategy:r.CONSTANT,time:1e3},retry:{strategy:r.EXPONENTIAL,time:1e3,limit:3,consecutiveOnly:!0},pauseWhenHidden:!0};function o(e,t=0,n=!0){if(Array.isArray(e))return e.map(e=>o(e,t,n));let r=null!=e?e:t;return(Number.isNaN(r)||n&&!Number.isFinite(r))&&(r=t),Math.abs(r)}function l(e,t){return Math.floor(Math.random()*(t-e+1))+e}function u(e){return"function"==typeof e}function a(){return!document.hidden}function d(e){const t=function(e){var t,n,r,l,a,d,y,s,c,p,v,m,f;return{type:null!==(t=null==e?void 0:e.type)&&void 0!==t?t:i.type,delay:{strategy:null!==(r=null===(n=null==e?void 0:e.delay)||void 0===n?void 0:n.strategy)&&void 0!==r?r:i.delay.strategy,time:u(null===(l=null==e?void 0:e.delay)||void 0===l?void 0:l.time)?e.delay.time:o(null===(a=null==e?void 0:e.delay)||void 0===a?void 0:a.time,i.delay.time)},retry:{strategy:null!==(y=null===(d=null==e?void 0:e.retry)||void 0===d?void 0:d.strategy)&&void 0!==y?y:i.retry.strategy,time:u(null===(s=null==e?void 0:e.retry)||void 0===s?void 0:s.time)?e.retry.time:o(null===(c=null==e?void 0:e.retry)||void 0===c?void 0:c.time,i.retry.time),limit:o(null===(p=null==e?void 0:e.retry)||void 0===p?void 0:p.limit,i.retry.limit,!1),consecutiveOnly:null!==(m=null===(v=null==e?void 0:e.retry)||void 0===v?void 0:v.consecutiveOnly)&&void 0!==m?m:i.retry.consecutiveOnly},pauseWhenHidden:null!==(f=null==e?void 0:e.pauseWhenHidden)&&void 0!==f?f:i.pauseWhenHidden}}(e);return Object.assign(Object.assign({},t),{getDelayTime:y("delay",t),getRetryTime:y("retry",t)})}function y(e,t){const n=i[e].time,r=function(e,t){const{strategy:n,time:r}=t[e],i="delay"===e,o=t.retry.consecutiveOnly;let u,a;switch(a=i?"pollCount":o?"consecutiveRetryCount":"retryCount",n){case"constant":u=()=>r;break;case"linear":u=e=>e[a]*r;break;case"exponential":u=e=>Math.pow(2,e[a]-1)*r;break;case"random":u=()=>l(r[0],r[1]);break;case"dynamic":u=e=>r(e);break;default:throw new Error("rxjs-poll: Unknown strategy!")}return u}(e,t);return e=>{const t=o(r(Object.assign({},e)),n);return i=t,Array.isArray(i)?l(i[0],i[1]):i;var i}}const s=(void 0!==globalThis.window&&void 0!==globalThis.window.document?t.fromEvent(document,"visibilitychange").pipe(t.startWith(null),t.map(a)):t.of(!0)).pipe(t.shareReplay({bufferSize:1,refCount:!0}));function c(e,n){return e.pipe(t.repeat({delay:()=>t.timer(n())}))}e.poll=function(e){return n=>{const{type:r,retry:i,pauseWhenHidden:o,getDelayTime:l,getRetryTime:u}=d(e),a=i.consecutiveOnly?"consecutiveRetryCount":"retryCount",y={value:void 0,error:void 0,pollCount:0,retryCount:0,consecutiveRetryCount:0},p=e=>(y.error=e,u(y)),v=()=>{y.error=void 0,y.consecutiveRetryCount=0},m=()=>(y.retryCount+=1,y.consecutiveRetryCount+=1,y[a]>i.limit),f=o?s:t.of(!0),g=function(e,n){let r;const i=n.pipe(t.takeLast(1),t.tap(e=>{r=e}));return"repeat"===e?e=>c(i,()=>e(r)):e=>c(t.of(null),()=>e(r)).pipe(t.switchMap(()=>i))}(r,n)(e=>(y.pollCount+=1,y.value=e,l(y)));return f.pipe(t.switchMap(e=>e?g.pipe(function(e,n,r){return i=>i.pipe(t.retry({delay:r=>e()?t.throwError(()=>r):t.timer(n(r))}),t.tap(()=>r()))}(m,p,v)):t.EMPTY))}},e.pollType=n,e.strategyType=r});
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("rxjs")):"function"==typeof define&&define.amd?define(["exports","rxjs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).rxjsPoll={},e.rxjs)}(this,function(e,t){"use strict";const n={REPEAT:"repeat",INTERVAL:"interval"},i={CONSTANT:"constant",LINEAR:"linear",EXPONENTIAL:"exponential",RANDOM:"random",DYNAMIC:"dynamic"},r={type:n.REPEAT,delay:{strategy:i.CONSTANT,time:1e3},retry:{strategy:i.EXPONENTIAL,time:1e3,limit:3,consecutiveOnly:!0},pauseWhenHidden:!0};function o(e,t=0,n=!0){if(Array.isArray(e))return e.map(e=>o(e,t,n));let i=null!=e?e:t;return(Number.isNaN(i)||n&&!Number.isFinite(i))&&(i=t),Math.abs(i)}function l(e,t){return Math.floor(Math.random()*(t-e+1))+e}function u(e){return"function"==typeof e}function a(){return void 0!==globalThis.window&&void 0!==globalThis.window.document}function d(){return!document.hidden}function s(e){const t=function(e){var t,n,i,l,a,d,s,y,c,p,v,f,m;return{type:null!==(t=null==e?void 0:e.type)&&void 0!==t?t:r.type,delay:{strategy:null!==(i=null===(n=null==e?void 0:e.delay)||void 0===n?void 0:n.strategy)&&void 0!==i?i:r.delay.strategy,time:u(null===(l=null==e?void 0:e.delay)||void 0===l?void 0:l.time)?e.delay.time:o(null===(a=null==e?void 0:e.delay)||void 0===a?void 0:a.time,r.delay.time)},retry:{strategy:null!==(s=null===(d=null==e?void 0:e.retry)||void 0===d?void 0:d.strategy)&&void 0!==s?s:r.retry.strategy,time:u(null===(y=null==e?void 0:e.retry)||void 0===y?void 0:y.time)?e.retry.time:o(null===(c=null==e?void 0:e.retry)||void 0===c?void 0:c.time,r.retry.time),limit:o(null===(p=null==e?void 0:e.retry)||void 0===p?void 0:p.limit,r.retry.limit,!1),consecutiveOnly:null!==(f=null===(v=null==e?void 0:e.retry)||void 0===v?void 0:v.consecutiveOnly)&&void 0!==f?f:r.retry.consecutiveOnly},pauseWhenHidden:null!==(m=null==e?void 0:e.pauseWhenHidden)&&void 0!==m?m:r.pauseWhenHidden}}(e);return Object.assign(Object.assign({},t),{getDelayTime:y("delay",t),getRetryTime:y("retry",t)})}function y(e,t){const n=r[e].time,i=function(e,t){const{strategy:n,time:i}=t[e],r="delay"===e,o=t.retry.consecutiveOnly;let u,a;switch(a=r?"pollCount":o?"consecutiveRetryCount":"retryCount",n){case"constant":u=()=>i;break;case"linear":u=e=>e[a]*i;break;case"exponential":u=e=>Math.pow(2,e[a]-1)*i;break;case"random":u=()=>l(i[0],i[1]);break;case"dynamic":u=e=>i(e);break;default:throw new Error("rxjs-poll: Unknown strategy!")}return u}(e,t);return e=>{const t=o(i(Object.assign({},e)),n);return r=t,Array.isArray(r)?l(r[0],r[1]):r;var r}}function c(e,n){const i=function(){if(p)return p;return p=t.fromEvent(document,"visibilitychange").pipe(t.startWith(null),t.map(d),t.shareReplay({bufferSize:1,refCount:!0})),p}(),r=t.combineLatest([i,n.pipe(t.take(1))]).pipe(t.filter(([e])=>!e));let o=!0;return i.pipe(t.filter(e=>e||o),t.exhaustMap(()=>e.pipe(t.takeUntil(r))),t.tap(()=>o=!1))}let p;function v(e,n){return e.pipe(t.repeat({delay:()=>t.timer(n())}))}function f(e,{getDelayTime:n,getRetryTime:i,pauseWhenHidden:r,retry:o,type:l}){const u=o.consecutiveOnly?"consecutiveRetryCount":"retryCount";let d;const s=e.pipe(t.takeLast(1),t.tap(e=>{d=e}),t.share());return function(e){const y=t=>(e.pollCount+=1,e.value=t,n(e)),p="repeat"===l?function(e,{nextDelayTime:n,pauseWhenHidden:i}){if(!a()||!i)return v(e,()=>n());const r=new t.Subject;let o=0;return c(v(e.pipe(t.finalize(()=>r.next())),()=>(o=n(),o)),r.pipe(t.switchMap(()=>t.timer(o))))}(s,{nextDelayTime:()=>y(d),pauseWhenHidden:r}):function(e,{nextDelayTime:n,pauseWhenHidden:i}){if(!a()||!i)return v(t.of(null),()=>n()).pipe(t.switchMap(()=>e));let r=0;return c(v(t.of(null),()=>(r=n(),r)),t.defer(()=>t.timer(r))).pipe(t.switchMap(()=>e))}(s,{nextDelayTime:()=>y(d),pauseWhenHidden:r});return p.pipe(function(e,n,i){return r=>r.pipe(t.retry({delay:i=>n()?t.throwError(()=>i):t.timer(e(i))}),t.tap(()=>i()))}(t=>(e.error=t,i(e)),()=>(e.retryCount+=1,e.consecutiveRetryCount+=1,e[u]>o.limit),()=>{e.error=void 0,e.consecutiveRetryCount=0}))}}e.poll=function(e){return t=>{const n=s(e),i=Object.assign({value:void 0,error:void 0,pollCount:0,retryCount:0,consecutiveRetryCount:0},r);var r;return f(t,n)(i)}},e.pollType=n,e.strategyType=i});
2
2
  //# sourceMappingURL=index.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.min.js","sources":["../../src/constants/poll.const.ts","../../src/constants/strategies.const.ts","../../src/constants/config.const.ts","../../src/common/utils.ts","../../src/common/config.ts","../../src/common/strategies.ts","../../src/common/observables.ts","../../src/poll.ts","../../src/common/operators.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["pollType","REPEAT","INTERVAL","strategyType","CONSTANT","LINEAR","EXPONENTIAL","RANDOM","DYNAMIC","controlConfig","type","delay","strategy","time","retry","limit","consecutiveOnly","pauseWhenHidden","normalizeNumber","value","defaultValue","isFinite","Array","isArray","map","n","normalizedValue","Number","isNaN","Math","abs","randomNumber","min","max","floor","random","isFunction","isDocumentVisible","document","hidden","extendConfig","config","normalizedConfig","_a","_c","_b","_d","_e","_g","_f","_h","_j","_k","_m","_l","_o","normalizeConfig","Object","assign","getDelayTime","getTimeProducer","getRetryTime","mode","defaultTime","timeProducer","isDelayMode","isConsecutive","attemptKey","state","pow","Error","getStrategyTimeProducer","normalizedTime","visibilityState$","globalThis","window","fromEvent","pipe","startWith","of","shareReplay","bufferSize","refCount","repeatWith$","source$","getTime","repeat","timer","retryKey","undefined","error","pollCount","retryCount","consecutiveRetryCount","nextRetryTime","resetError","isRetryLimit","visibility$","poller$","lastValue","completed$","takeLast","tap","getNextTime","switchMap","getPollerFactory$","isVisible","isLimit","source","throwError","retryPoll","EMPTY"],"mappings":"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"}
1
+ {"version":3,"file":"index.min.js","sources":["../../src/constants/poll.const.ts","../../src/constants/strategies.const.ts","../../src/constants/config.const.ts","../../src/common/utils.ts","../../src/common/config.ts","../../src/common/strategies.ts","../../src/observables/document-visibility.ts","../../src/observables/repeat-with.ts","../../src/observables/poller-factory.ts","../../src/observables/repeat-poller.ts","../../src/observables/interval-poller.ts","../../src/observables/retry-operator.ts","../../src/poll.ts","../../src/common/state.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["pollType","REPEAT","INTERVAL","strategyType","CONSTANT","LINEAR","EXPONENTIAL","RANDOM","DYNAMIC","controlConfig","type","delay","strategy","time","retry","limit","consecutiveOnly","pauseWhenHidden","normalizeNumber","value","defaultValue","isFinite","Array","isArray","map","n","normalizedValue","Number","isNaN","Math","abs","randomNumber","min","max","floor","random","isFunction","isBrowser","globalThis","window","document","isDocumentVisible","hidden","extendConfig","config","normalizedConfig","_a","_c","_b","_d","_e","_g","_f","_h","_j","_k","_m","_l","_o","normalizeConfig","Object","assign","getDelayTime","getTimeProducer","getRetryTime","mode","defaultTime","timeProducer","isDelayMode","isConsecutive","attemptKey","state","pow","Error","getStrategyTimeProducer","normalizedTime","withDocumentVisibility$","poller$","pauser$","visibility$","documentVisibility$","fromEvent","pipe","startWith","shareReplay","bufferSize","refCount","getDocumentVisibility$","pause$","combineLatest","take","filter","isVisible","emissionStarted","exhaustMap","takeUntil","tap","repeatWith$","source$","getTime","repeat","timer","getPollerFactory","retryKey","lastValue","completed$","takeLast","share","nextDelayTime","pollCount","sharedSource$","pauseTrigger$","Subject","currentDelay","finalize","next","switchMap","buildRepeatPoller$","of","defer","buildIntervalPoller$","isLimit","resetError","source","error","throwError","retryPoll","retryCount","consecutiveRetryCount","undefined","extendedConfig","partial","createPoller"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rxjs-poll",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
4
4
  "description": "A flexible RxJS operator library that enables polling on any completed observable source with advanced timing and retry strategies",
5
5
  "keywords": [
6
6
  "rxjs",
@@ -36,7 +36,7 @@
36
36
  "url": "https://github.com/mmustra/rxjs-poll/issues"
37
37
  },
38
38
  "engines": {
39
- "node": ">=20"
39
+ "node": ">=24"
40
40
  },
41
41
  "scripts": {
42
42
  "release": "release-it",
@@ -94,23 +94,23 @@
94
94
  "rxjs": ">=7 || ^8.0.0-alpha.0 || ^8.0.0-beta.0 || ^8.0.0-rc.0"
95
95
  },
96
96
  "devDependencies": {
97
- "@commitlint/cli": "20.3.0",
98
- "@commitlint/config-conventional": "20.3.0",
99
- "@commitlint/types": "20.2.0",
97
+ "@commitlint/cli": "20.3.1",
98
+ "@commitlint/config-conventional": "20.3.1",
99
+ "@commitlint/types": "20.3.1",
100
100
  "@release-it/conventional-changelog": "10.0.1",
101
101
  "@rollup/plugin-terser": "0.4.4",
102
102
  "@rollup/plugin-typescript": "12.3.0",
103
103
  "@types/fs-extra": "11.0.4",
104
104
  "@types/jest": "30.0.0",
105
- "@types/node": "25.0.3",
105
+ "@types/node": "25.0.9",
106
106
  "@typescript-eslint/eslint-plugin": "8.51.0",
107
- "@typescript-eslint/parser": "8.51.0",
107
+ "@typescript-eslint/parser": "8.53.1",
108
108
  "cross-env": "10.1.0",
109
109
  "eslint": "9.39.2",
110
110
  "eslint-config-prettier": "10.1.8",
111
111
  "eslint-plugin-import": "2.32.0",
112
112
  "eslint-plugin-jest-formatting": "3.1.0",
113
- "eslint-plugin-prettier": "5.5.4",
113
+ "eslint-plugin-prettier": "5.5.5",
114
114
  "eslint-plugin-simple-import-sort": "12.1.1",
115
115
  "eslint-plugin-unused-imports": "4.3.0",
116
116
  "fs-extra": "11.3.3",
@@ -120,9 +120,9 @@
120
120
  "jest-environment-jsdom": "30.2.0",
121
121
  "jest-environment-node": "30.2.0",
122
122
  "lint-staged": "16.2.7",
123
- "release-it": "19.2.2",
123
+ "release-it": "19.2.3",
124
124
  "rimraf": "6.1.2",
125
- "rollup": "4.54.0",
125
+ "rollup": "4.55.2",
126
126
  "rxjs": "7.8.2",
127
127
  "ts-jest": "29.4.6",
128
128
  "ts-node": "10.9.2",
@@ -1,6 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { PollerFactory } from '../types/observables.type';
3
- import { PollType } from '../types/poll.type';
4
- export declare const visibilityState$: Observable<boolean>;
5
- export declare function getPollerFactory$<T>(type: PollType, source$: Observable<T>): PollerFactory<T>;
6
- //# sourceMappingURL=observables.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"observables.d.ts","sourceRoot":"","sources":["../../../src/common/observables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,UAAU,EAAuE,MAAM,MAAM,CAAC;AAEvH,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG9C,eAAO,MAAM,gBAAgB,qBAAyE,CAAC;AAEvG,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAY7F"}
@@ -1,3 +0,0 @@
1
- import { MonoTypeOperatorFunction } from 'rxjs';
2
- export declare function retryPoll<T>(isLimit: () => boolean, getTime: (error: any) => number, resetError: () => void): MonoTypeOperatorFunction<T>;
3
- //# sourceMappingURL=operators.d.ts.map
@@ -1 +0,0 @@
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"}