rxjs-poll 2.2.8 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/README.md +62 -17
  2. package/dist/cjs/index.js +181 -99
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/esm/index.js +182 -100
  5. package/dist/esm/index.js.map +1 -1
  6. package/dist/types/common/config.d.ts.map +1 -1
  7. package/dist/types/common/strategies.d.ts.map +1 -1
  8. package/dist/types/common/utils.d.ts +0 -1
  9. package/dist/types/common/utils.d.ts.map +1 -1
  10. package/dist/types/constants/config.const.d.ts +4 -1
  11. package/dist/types/constants/config.const.d.ts.map +1 -1
  12. package/dist/types/constants/notifier.const.d.ts +5 -0
  13. package/dist/types/constants/notifier.const.d.ts.map +1 -0
  14. package/dist/types/poll.d.ts +1 -1
  15. package/dist/types/poll.d.ts.map +1 -1
  16. package/dist/types/poller/create-poller.d.ts +12 -0
  17. package/dist/types/poller/create-poller.d.ts.map +1 -0
  18. package/dist/types/poller/execution/cycle-timer.d.ts +7 -0
  19. package/dist/types/poller/execution/cycle-timer.d.ts.map +1 -0
  20. package/dist/types/poller/execution/interval-factory.d.ts +3 -0
  21. package/dist/types/poller/execution/interval-factory.d.ts.map +1 -0
  22. package/dist/types/{common/service.d.ts → poller/execution/poll-service.d.ts} +3 -3
  23. package/dist/types/poller/execution/poll-service.d.ts.map +1 -0
  24. package/dist/types/poller/execution/repeat-factory.d.ts +3 -0
  25. package/dist/types/poller/execution/repeat-factory.d.ts.map +1 -0
  26. package/dist/types/{observables → poller/execution}/repeat-with.d.ts +3 -2
  27. package/dist/types/poller/execution/repeat-with.d.ts.map +1 -0
  28. package/dist/types/poller/execution/retry-poll.operator.d.ts +11 -0
  29. package/dist/types/poller/execution/retry-poll.operator.d.ts.map +1 -0
  30. package/dist/types/poller/pause/compose-pause.d.ts +10 -0
  31. package/dist/types/poller/pause/compose-pause.d.ts.map +1 -0
  32. package/dist/types/poller/pause/get-pause-mode.d.ts +10 -0
  33. package/dist/types/poller/pause/get-pause-mode.d.ts.map +1 -0
  34. package/dist/types/poller/pause/with-hidden-pause.d.ts +19 -0
  35. package/dist/types/poller/pause/with-hidden-pause.d.ts.map +1 -0
  36. package/dist/types/poller/pause/with-notifier-pause.d.ts +11 -0
  37. package/dist/types/poller/pause/with-notifier-pause.d.ts.map +1 -0
  38. package/dist/types/types/config.type.d.ts +34 -15
  39. package/dist/types/types/config.type.d.ts.map +1 -1
  40. package/dist/types/types/{observables.type.d.ts → pause-delay.type.d.ts} +3 -3
  41. package/dist/types/types/pause-delay.type.d.ts.map +1 -0
  42. package/dist/types/types/poller-composer.type.d.ts +3 -0
  43. package/dist/types/types/poller-composer.type.d.ts.map +1 -0
  44. package/dist/types/types/poller-context.type.d.ts +14 -0
  45. package/dist/types/types/poller-context.type.d.ts.map +1 -0
  46. package/dist/types/types/poller-factory.type.d.ts +11 -0
  47. package/dist/types/types/poller-factory.type.d.ts.map +1 -0
  48. package/dist/umd/index.js +181 -99
  49. package/dist/umd/index.js.map +1 -1
  50. package/dist/umd/index.min.js +1 -1
  51. package/dist/umd/index.min.js.map +1 -1
  52. package/package.json +7 -7
  53. package/dist/types/common/service.d.ts.map +0 -1
  54. package/dist/types/observables/document-visibility.d.ts +0 -17
  55. package/dist/types/observables/document-visibility.d.ts.map +0 -1
  56. package/dist/types/observables/factory.d.ts +0 -11
  57. package/dist/types/observables/factory.d.ts.map +0 -1
  58. package/dist/types/observables/interval-poller.d.ts +0 -11
  59. package/dist/types/observables/interval-poller.d.ts.map +0 -1
  60. package/dist/types/observables/pause-delay.d.ts +0 -7
  61. package/dist/types/observables/pause-delay.d.ts.map +0 -1
  62. package/dist/types/observables/repeat-poller.d.ts +0 -11
  63. package/dist/types/observables/repeat-poller.d.ts.map +0 -1
  64. package/dist/types/observables/repeat-with.d.ts.map +0 -1
  65. package/dist/types/operators/retry-poll.operator.d.ts +0 -11
  66. package/dist/types/operators/retry-poll.operator.d.ts.map +0 -1
  67. package/dist/types/types/observables.type.d.ts.map +0 -1
@@ -0,0 +1,19 @@
1
+ import { Observable } from 'rxjs';
2
+ /**
3
+ * Wraps a poller observable with document visibility control.
4
+ * Lets the current cycle finish before pausing; pauses when hidden and resumes when visible.
5
+ *
6
+ * @param poller$ - The polling observable to wrap
7
+ * @param cycler$ - Observable that emits when the current poll cycle completes
8
+ * @param notifier$ - Optional visibility stream; uses document visibility when omitted
9
+ * @returns Observable that emits values from poller$ with visibility-aware pausing
10
+ */
11
+ export declare function withHiddenPause$<T>(poller$: Observable<T>, cycler$: Observable<0>, notifier$?: Observable<boolean>): Observable<T>;
12
+ /**
13
+ * Returns a shared observable that tracks document visibility (hidden vs visible).
14
+ * Singleton: same observable is reused on subsequent calls.
15
+ *
16
+ * @returns Observable that emits true when document is hidden, false when visible
17
+ */
18
+ export declare function getHiddenNotifier$(): Observable<boolean>;
19
+ //# sourceMappingURL=with-hidden-pause.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with-hidden-pause.d.ts","sourceRoot":"","sources":["../../../../src/poller/pause/with-hidden-pause.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,UAAU,EAMX,MAAM,MAAM,CAAC;AAEd;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EACtB,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EACtB,SAAS,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,GAC9B,UAAU,CAAC,CAAC,CAAC,CAUf;AAID;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,UAAU,CAAC,OAAO,CAAC,CAYxD"}
@@ -0,0 +1,11 @@
1
+ import { Observable } from 'rxjs';
2
+ /**
3
+ * Wraps a poller with a notifier: when notifier$ emits true polling is paused, when false it resumes.
4
+ * If notifier$ never emits, polling starts (same as resume).
5
+ *
6
+ * @param poller$ - The polling observable to wrap
7
+ * @param notifier$ - Emits true to pause, false to resume
8
+ * @returns Observable that emits from poller$ when not paused
9
+ */
10
+ export declare function withNotifierPause$<T>(poller$: Observable<T>, notifier$: Observable<boolean>): Observable<T>;
11
+ //# sourceMappingURL=with-notifier-pause.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with-notifier-pause.d.ts","sourceRoot":"","sources":["../../../../src/poller/pause/with-notifier-pause.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,UAAU,EAAgC,MAAM,MAAM,CAAC;AAIpG;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAe3G"}
@@ -1,10 +1,11 @@
1
+ import { Observable } from 'rxjs';
1
2
  import { PollTimeProducer, PollType } from './poll.type';
2
3
  import { DynamicFunction, StrategyType } from './strategies.type';
3
4
  import { MinMax, Nil } from './utils.type';
4
5
  /**
5
6
  * Configuration object for the poll operator
6
7
  */
7
- export type PollConfig<T> = {
8
+ export interface PollConfig<T> {
8
9
  /**
9
10
  * Defines the polling behavior:
10
11
  * - "repeat": Polls after current source completes
@@ -21,14 +22,10 @@ export type PollConfig<T> = {
21
22
  */
22
23
  retry?: PollRetryConfig<T> | Nil;
23
24
  /**
24
- * [Browser only] Controls polling behavior when page isn't visible
25
- * - "true": Pause polling when tab isn't active, and resume on active
26
- * - "false": Poll even when tab isn't focused
27
- * @default true
28
- * @note Every started cycle (poll or retry) finishes before pausing
25
+ * Configuration for pause behavior
29
26
  */
30
- pauseWhenHidden?: boolean | Nil;
31
- };
27
+ pause?: PollPauseConfig | Nil;
28
+ }
32
29
  /**
33
30
  * Type-safe delay configuration with strategy-specific time constraints.
34
31
  * Ensures that the `time` property type matches the selected strategy:
@@ -92,6 +89,21 @@ export type PollRetryConfig<T> = (PollDelayConfig<T> & {
92
89
  strategy?: never;
93
90
  time?: never;
94
91
  };
92
+ /**
93
+ * Type-safe pause configuration for polling.
94
+ *
95
+ * **Options:**
96
+ * - "notifier": Observable<boolean> that emits true to pause, false to resume. Use to pause at will.
97
+ * If it never emits, polling starts (same as resume). To start paused, use an observable that
98
+ * emits true initially (e.g. BehaviorSubject(true)).
99
+ * - "whenHidden": Pause polling automatically when tab is hidden (if applicable)
100
+ *
101
+ * @default { notifier: false, whenHidden: true }
102
+ */
103
+ export interface PollPauseConfig {
104
+ notifier?: Observable<boolean> | Nil;
105
+ whenHidden?: boolean | Nil;
106
+ }
95
107
  /**
96
108
  * Extended configuration that includes computed time producer functions
97
109
  */
@@ -102,26 +114,33 @@ export type ExtendedPollConfig<T> = NormalizedPollConfig<T> & {
102
114
  /**
103
115
  * Normalized configuration with all optional fields resolved to their default values
104
116
  */
105
- export type NormalizedPollConfig<T> = {
117
+ export interface NormalizedPollConfig<T> {
106
118
  type: PollType;
107
119
  delay: NormalizedPollDelayConfig<T>;
108
120
  retry: NormalizedPollRetryConfig<T>;
109
- pauseWhenHidden: boolean;
110
- };
121
+ pause: NormalizedPollPauseConfig;
122
+ }
111
123
  /**
112
124
  * Normalized delay configuration with resolved defaults
113
125
  */
114
- export type NormalizedPollDelayConfig<T> = {
126
+ export interface NormalizedPollDelayConfig<T> {
115
127
  time: number | MinMax | DynamicFunction<T>;
116
128
  strategy: StrategyType;
117
- };
129
+ }
118
130
  /**
119
131
  * Normalized retry configuration with resolved defaults
120
132
  */
121
- export type NormalizedPollRetryConfig<T> = {
133
+ export interface NormalizedPollRetryConfig<T> {
122
134
  time: number | MinMax | DynamicFunction<T>;
123
135
  strategy: StrategyType;
124
136
  limit: number;
125
137
  consecutiveOnly: boolean;
126
- };
138
+ }
139
+ /**
140
+ * Normalized pause configuration
141
+ */
142
+ export interface NormalizedPollPauseConfig {
143
+ notifier: Observable<boolean>;
144
+ whenHidden: boolean;
145
+ }
127
146
  //# sourceMappingURL=config.type.d.ts.map
@@ -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;;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
+ {"version":3,"file":"config.type.d.ts","sourceRoot":"","sources":["../../../src/types/config.type.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  /**
2
2
  * Options for calculating pause delays in document visibility scenarios
3
3
  */
4
- export type PauseDelayOptions = {
4
+ export interface PauseDelayOptions {
5
5
  /** Target delay time in milliseconds */
6
6
  time: number;
7
7
  /** Timestamp when the source operation started */
8
8
  sourceStartTime?: number;
9
9
  /** Timestamp when the source operation ended */
10
10
  sourceEndTime?: number;
11
- };
12
- //# sourceMappingURL=observables.type.d.ts.map
11
+ }
12
+ //# sourceMappingURL=pause-delay.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pause-delay.type.d.ts","sourceRoot":"","sources":["../../../src/types/pause-delay.type.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gDAAgD;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB"}
@@ -0,0 +1,3 @@
1
+ import { ComposedPollerContext, PollerContext } from './poller-context.type';
2
+ export type PollComposer = <T>(ctx: PollerContext<T>) => ComposedPollerContext<T>;
3
+ //# sourceMappingURL=poller-composer.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poller-composer.type.d.ts","sourceRoot":"","sources":["../../../src/types/poller-composer.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE7E,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,qBAAqB,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { Observable } from 'rxjs';
2
+ import { PollService } from '../poller/execution/poll-service';
3
+ import { PollerFactory } from './poller-factory.type';
4
+ export interface PollerContext<T> {
5
+ source$: Observable<T>;
6
+ pollService: PollService<T>;
7
+ factory: PollerFactory;
8
+ poller$?: Observable<T>;
9
+ cycler$?: Observable<0>;
10
+ }
11
+ export interface ComposedPollerContext<T> extends PollerContext<T> {
12
+ poller$: Observable<T>;
13
+ }
14
+ //# sourceMappingURL=poller-context.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poller-context.type.d.ts","sourceRoot":"","sources":["../../../src/types/poller-context.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAC5B,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACxB,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC;IAChE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;CACxB"}
@@ -0,0 +1,11 @@
1
+ import { Observable } from 'rxjs';
2
+ import { PollService } from '../poller/execution/poll-service';
3
+ export interface PollerFactory {
4
+ createDirectPoller$<T>(source$: Observable<T>, pollService: PollService<T>): Observable<T>;
5
+ createCycleControl$<T>(source$: Observable<T>, pollService: PollService<T>): CycleControl<T>;
6
+ }
7
+ export interface CycleControl<T> {
8
+ poller$: Observable<T>;
9
+ cycler$: Observable<0>;
10
+ }
11
+ //# sourceMappingURL=poller-factory.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poller-factory.type.d.ts","sourceRoot":"","sources":["../../../src/types/poller-factory.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAE/D,MAAM,WAAW,aAAa;IAC5B,mBAAmB,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC3F,mBAAmB,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;CAC9F;AAED,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;CACxB"}
package/dist/umd/index.js CHANGED
@@ -4,6 +4,10 @@
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.rxjsPoll = {}, global.rxjs));
5
5
  })(this, (function (exports, rxjs) { 'use strict';
6
6
 
7
+ const pollMode = {
8
+ DELAY: 'delay',
9
+ RETRY: 'retry',
10
+ };
7
11
  const pollType = {
8
12
  REPEAT: 'repeat',
9
13
  INTERVAL: 'interval',
@@ -17,6 +21,8 @@
17
21
  DYNAMIC: 'dynamic',
18
22
  };
19
23
 
24
+ const defaultNotifier$ = rxjs.of(false);
25
+
20
26
  const defaultConfig = {
21
27
  type: pollType.REPEAT,
22
28
  delay: {
@@ -29,7 +35,10 @@
29
35
  limit: 3,
30
36
  consecutiveOnly: true,
31
37
  },
32
- pauseWhenHidden: true,
38
+ pause: {
39
+ notifier: defaultNotifier$,
40
+ whenHidden: true,
41
+ },
33
42
  };
34
43
 
35
44
  function normalizeNumber(value, defaultValue = 0, isFinite = true) {
@@ -54,13 +63,10 @@
54
63
  function isBrowser() {
55
64
  return typeof globalThis.window !== 'undefined' && typeof globalThis.window.document !== 'undefined';
56
65
  }
57
- function isDocumentVisible() {
58
- return !document.hidden;
59
- }
60
66
 
61
67
  function getStrategyTimeProducer(mode, config) {
62
68
  const { strategy, time } = config[mode];
63
- const isDelayMode = mode === 'delay';
69
+ const isDelayMode = mode === pollMode.DELAY;
64
70
  const isConsecutive = config.retry.consecutiveOnly;
65
71
  let timeProducer;
66
72
  let attemptKey;
@@ -97,7 +103,7 @@
97
103
 
98
104
  function extendConfig(config) {
99
105
  const normalizedConfig = normalizeConfig(config);
100
- return Object.assign(Object.assign({}, normalizedConfig), { getDelayTime: getTimeProducer('delay', normalizedConfig), getRetryTime: getTimeProducer('retry', normalizedConfig) });
106
+ return Object.assign(Object.assign({}, normalizedConfig), { getDelayTime: getTimeProducer(pollMode.DELAY, normalizedConfig), getRetryTime: getTimeProducer(pollMode.RETRY, normalizedConfig) });
101
107
  }
102
108
  function getTimeProducer(mode, config) {
103
109
  const defaultTime = defaultConfig[mode].time;
@@ -109,7 +115,7 @@
109
115
  };
110
116
  }
111
117
  function normalizeConfig(config) {
112
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
118
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
113
119
  return {
114
120
  type: (_a = config === null || config === void 0 ? void 0 : config.type) !== null && _a !== void 0 ? _a : defaultConfig.type,
115
121
  delay: {
@@ -126,10 +132,80 @@
126
132
  limit: normalizeNumber((_k = config === null || config === void 0 ? void 0 : config.retry) === null || _k === void 0 ? void 0 : _k.limit, defaultConfig.retry.limit, false),
127
133
  consecutiveOnly: (_m = (_l = config === null || config === void 0 ? void 0 : config.retry) === null || _l === void 0 ? void 0 : _l.consecutiveOnly) !== null && _m !== void 0 ? _m : defaultConfig.retry.consecutiveOnly,
128
134
  },
129
- pauseWhenHidden: (_o = config === null || config === void 0 ? void 0 : config.pauseWhenHidden) !== null && _o !== void 0 ? _o : defaultConfig.pauseWhenHidden,
135
+ pause: {
136
+ notifier: (_p = (_o = config === null || config === void 0 ? void 0 : config.pause) === null || _o === void 0 ? void 0 : _o.notifier) !== null && _p !== void 0 ? _p : defaultConfig.pause.notifier,
137
+ whenHidden: (_r = (_q = config === null || config === void 0 ? void 0 : config.pause) === null || _q === void 0 ? void 0 : _q.whenHidden) !== null && _r !== void 0 ? _r : defaultConfig.pause.whenHidden,
138
+ },
130
139
  };
131
140
  }
132
141
 
142
+ const timingToleranceMs = 100;
143
+
144
+ function getCycleTimer$(options) {
145
+ const { time, sourceStartTime = 0, sourceEndTime = 0 } = options;
146
+ const delayMs = time - (sourceEndTime - sourceStartTime) - timingToleranceMs;
147
+ return delayMs > 0 ? rxjs.timer(delayMs) : rxjs.of(0);
148
+ }
149
+
150
+ function repeatWith$(source$, getTime) {
151
+ return source$.pipe(rxjs.repeat({
152
+ delay: () => rxjs.timer(getTime()),
153
+ }));
154
+ }
155
+
156
+ function retryPoll(pollService, getRetryTime) {
157
+ return (source) => source.pipe(rxjs.retry({
158
+ delay: (error) => {
159
+ pollService.incrementRetry();
160
+ if (pollService.isRetryLimit()) {
161
+ return rxjs.throwError(() => error);
162
+ }
163
+ pollService.setError(error);
164
+ return rxjs.timer(getRetryTime ? getRetryTime() : pollService.getRetryTime());
165
+ },
166
+ }), rxjs.tap(() => pollService.resetError()));
167
+ }
168
+
169
+ function createDirectPoller$$1(source$, pollService) {
170
+ return repeatWith$(rxjs.of(null), () => {
171
+ pollService.incrementPoll();
172
+ return pollService.getDelayTime();
173
+ }).pipe(rxjs.switchMap(() => source$), retryPoll(pollService));
174
+ }
175
+ function createCycleControl$$1(source$, pollService) {
176
+ const cycle$ = new rxjs.Subject();
177
+ let time = 0;
178
+ let sourceStartTime = 0;
179
+ let sourceEndTime = 0;
180
+ const poller$ = repeatWith$(rxjs.of(null), () => {
181
+ pollService.incrementPoll();
182
+ time = pollService.getDelayTime();
183
+ return time;
184
+ }).pipe(rxjs.switchMap(() => source$.pipe(rxjs.tap({
185
+ subscribe: () => {
186
+ sourceStartTime = performance.now();
187
+ },
188
+ complete: () => {
189
+ sourceEndTime = performance.now();
190
+ cycle$.next();
191
+ },
192
+ error: () => {
193
+ sourceEndTime = performance.now();
194
+ },
195
+ }))), retryPoll(pollService, () => {
196
+ time = pollService.getRetryTime();
197
+ cycle$.next();
198
+ return time;
199
+ }));
200
+ const cycler$ = cycle$.pipe(rxjs.switchMap(() => getCycleTimer$({
201
+ time,
202
+ sourceStartTime,
203
+ sourceEndTime,
204
+ })));
205
+ return { poller$, cycler$ };
206
+ }
207
+ const intervalPollerFactory = { createDirectPoller$: createDirectPoller$$1, createCycleControl$: createCycleControl$$1 };
208
+
133
209
  const defaultState = {
134
210
  value: undefined,
135
211
  error: undefined,
@@ -178,117 +254,123 @@
178
254
  }
179
255
  }
180
256
 
181
- function retryPoll(pollService, getRetryTime) {
182
- return (source) => source.pipe(rxjs.retry({
183
- delay: (error) => {
184
- pollService.incrementRetry();
185
- if (pollService.isRetryLimit()) {
186
- return rxjs.throwError(() => error);
187
- }
188
- pollService.setError(error);
189
- return rxjs.timer(getRetryTime ? getRetryTime() : pollService.getRetryTime());
257
+ function createDirectPoller$(source$, pollService) {
258
+ return repeatWith$(source$, () => {
259
+ pollService.incrementPoll();
260
+ return pollService.getDelayTime();
261
+ }).pipe(retryPoll(pollService));
262
+ }
263
+ function createCycleControl$(source$, pollService) {
264
+ const cycle$ = new rxjs.Subject();
265
+ let time = 0;
266
+ const poller$ = repeatWith$(source$.pipe(rxjs.tap({
267
+ complete: () => {
268
+ pollService.incrementPoll();
269
+ time = pollService.getDelayTime();
270
+ cycle$.next();
190
271
  },
191
- }), rxjs.tap(() => pollService.resetError()));
272
+ })), () => time).pipe(retryPoll(pollService, () => {
273
+ time = pollService.getRetryTime();
274
+ cycle$.next();
275
+ return time;
276
+ }));
277
+ const cycler$ = cycle$.pipe(rxjs.switchMap(() => getCycleTimer$({ time })));
278
+ return { poller$, cycler$ };
192
279
  }
280
+ const repeatPollerFactory = { createDirectPoller$, createCycleControl$ };
193
281
 
194
- function withDocumentVisibility$(poller$, pauser$, visibilitySource$) {
195
- const visibility$ = getDocumentVisibility$();
196
- const pause$ = visibility$.pipe(rxjs.switchMap((isVisible) => (isVisible ? rxjs.NEVER : pauser$)));
197
- let emissionStarted = true;
198
- return visibility$.pipe(rxjs.filter((isVisible) => isVisible || emissionStarted), rxjs.exhaustMap(() => poller$.pipe(rxjs.takeUntil(pause$))), rxjs.tap(() => (emissionStarted = false)));
199
- }
200
- let documentVisibility$;
201
- function getDocumentVisibility$() {
202
- if (documentVisibility$) {
203
- return documentVisibility$;
282
+ function getPauseMode(ctx) {
283
+ const inBrowser = isBrowser();
284
+ const { notifier, whenHidden } = ctx.pollService.config.pause;
285
+ const isDefaultNotifier = notifier === defaultNotifier$;
286
+ if ((!inBrowser || !whenHidden) && isDefaultNotifier) {
287
+ return 'none';
288
+ }
289
+ if ((!inBrowser || !whenHidden) && !isDefaultNotifier) {
290
+ return 'notifier';
204
291
  }
205
- documentVisibility$ = rxjs.fromEvent(document, 'visibilitychange').pipe(rxjs.startWith(null), rxjs.map(isDocumentVisible), rxjs.shareReplay({ bufferSize: 1, refCount: true }));
206
- return documentVisibility$;
292
+ if (whenHidden && isDefaultNotifier) {
293
+ return 'hidden';
294
+ }
295
+ return 'both';
207
296
  }
208
297
 
209
- const timingToleranceMs = 100;
210
-
211
- function getPauseDelay$(options) {
212
- const { time, sourceStartTime = 0, sourceEndTime = 0 } = options;
213
- const delayMs = time - (sourceEndTime - sourceStartTime) - timingToleranceMs;
214
- return delayMs > 0 ? rxjs.timer(delayMs) : rxjs.of(0);
298
+ function withHiddenPause$(poller$, cycler$, notifier$) {
299
+ const isHidden$ = getHiddenNotifier$();
300
+ const pause$ = isHidden$.pipe(rxjs.switchMap((isHidden) => (isHidden ? cycler$ : rxjs.NEVER)));
301
+ let isFirstEmission = true;
302
+ return isHidden$.pipe(rxjs.filter((isHidden) => !isHidden || isFirstEmission), rxjs.exhaustMap(() => poller$.pipe(rxjs.takeUntil(pause$))), rxjs.tap(() => (isFirstEmission = false)));
215
303
  }
216
-
217
- function repeatWith$(source$, getTime) {
218
- return source$.pipe(rxjs.repeat({
219
- delay: () => rxjs.timer(getTime()),
220
- }));
304
+ let hiddenNotifier$;
305
+ function getHiddenNotifier$() {
306
+ if (hiddenNotifier$) {
307
+ return hiddenNotifier$;
308
+ }
309
+ hiddenNotifier$ = rxjs.fromEvent(document, 'visibilitychange').pipe(rxjs.startWith(null), rxjs.map(() => document.hidden), rxjs.shareReplay({ bufferSize: 1, refCount: true }));
310
+ return hiddenNotifier$;
221
311
  }
222
312
 
223
- function buildIntervalPoller$(source$, pollService) {
224
- if (!isBrowser() || !pollService.config.pauseWhenHidden) {
225
- return repeatWith$(rxjs.of(null), () => {
226
- pollService.incrementPoll();
227
- return pollService.getDelayTime();
228
- }).pipe(rxjs.switchMap(() => source$), retryPoll(pollService));
229
- }
230
- const pauseTrigger$ = new rxjs.Subject();
231
- let time = 0;
232
- let sourceStartTime = 0;
233
- let sourceEndTime = 0;
234
- const poller$ = repeatWith$(rxjs.of(null), () => {
235
- pollService.incrementPoll();
236
- time = pollService.getDelayTime();
237
- return time;
238
- }).pipe(rxjs.switchMap(() => source$.pipe(rxjs.tap({
239
- subscribe: () => {
240
- sourceStartTime = performance.now();
241
- },
242
- finalize: () => {
243
- sourceEndTime = performance.now();
244
- pauseTrigger$.next();
245
- },
246
- }))), retryPoll(pollService, () => {
247
- time = pollService.getRetryTime();
248
- return time;
249
- }));
250
- const pauser$ = pauseTrigger$.pipe(rxjs.switchMap(() => getPauseDelay$({
251
- time,
252
- sourceStartTime,
253
- sourceEndTime,
254
- })));
255
- return withDocumentVisibility$(poller$, pauser$);
313
+ function withNotifierPause$(poller$, notifier$) {
314
+ const sharedNotifier$ = notifier$.pipe(rxjs.share());
315
+ const initialNotifier$ = rxjs.race(sharedNotifier$, defaultNotifier$).pipe(rxjs.take(1));
316
+ return rxjs.merge(initialNotifier$, sharedNotifier$).pipe(rxjs.distinctUntilChanged(), rxjs.switchMap((isPaused) => (isPaused ? rxjs.NEVER : poller$)));
256
317
  }
257
318
 
258
- function buildRepeatPoller$(source$, pollService) {
259
- if (!isBrowser() || !pollService.config.pauseWhenHidden) {
260
- return repeatWith$(source$, () => {
261
- pollService.incrementPoll();
262
- return pollService.getDelayTime();
263
- }).pipe(retryPoll(pollService));
319
+ const composePause$ = (ctx) => {
320
+ var _a, _b, _c, _d;
321
+ const { source$, pollService, factory } = ctx;
322
+ const pauseMode = getPauseMode(ctx);
323
+ if (pauseMode === 'none') {
324
+ ctx.poller$ = (_a = ctx.poller$) !== null && _a !== void 0 ? _a : factory.createDirectPoller$(source$, pollService);
325
+ return ctx;
264
326
  }
265
- const pauseTrigger$ = new rxjs.Subject();
266
- let time = 0;
267
- const poller$ = repeatWith$(source$.pipe(rxjs.finalize(() => pauseTrigger$.next())), () => {
268
- pollService.incrementPoll();
269
- time = pollService.getDelayTime();
270
- return time;
271
- }).pipe(retryPoll(pollService, () => {
272
- time = pollService.getRetryTime();
273
- return time;
274
- }));
275
- const pauser$ = pauseTrigger$.pipe(rxjs.switchMap(() => getPauseDelay$({ time })));
276
- return withDocumentVisibility$(poller$, pauser$);
277
- }
327
+ const { notifier } = pollService.config.pause;
328
+ if (pauseMode === 'notifier') {
329
+ const directPoller$ = (_b = ctx.poller$) !== null && _b !== void 0 ? _b : factory.createDirectPoller$(source$, pollService);
330
+ ctx.poller$ = withNotifierPause$(directPoller$, notifier);
331
+ return ctx;
332
+ }
333
+ let poller$;
334
+ let cycler$;
335
+ if (ctx.poller$ && ctx.cycler$) {
336
+ poller$ = ctx.poller$;
337
+ cycler$ = ctx.cycler$;
338
+ }
339
+ else {
340
+ const control = factory.createCycleControl$(source$, pollService);
341
+ poller$ = (_c = ctx.poller$) !== null && _c !== void 0 ? _c : control.poller$;
342
+ cycler$ = (_d = ctx.cycler$) !== null && _d !== void 0 ? _d : control.cycler$;
343
+ }
344
+ ctx.cycler$ = cycler$;
345
+ if (pauseMode === 'hidden') {
346
+ ctx.poller$ = withHiddenPause$(poller$, cycler$);
347
+ }
348
+ else if (pauseMode === 'both') {
349
+ ctx.poller$ = withNotifierPause$(withHiddenPause$(poller$, cycler$), notifier);
350
+ }
351
+ else {
352
+ throw new Error(`composePause$: Unsupported pause mode "${pauseMode}"!`);
353
+ }
354
+ return ctx;
355
+ };
278
356
 
279
- function createPoller$(source$, pollService) {
357
+ function createPoller$(source$, extendedConfig) {
358
+ const pollService = new PollService(extendedConfig);
280
359
  const completed$ = source$.pipe(rxjs.takeLast(1), rxjs.tap((value) => pollService.setValue(value)));
281
- const poller$ = pollService.config.type === pollType.REPEAT
282
- ? buildRepeatPoller$(completed$, pollService)
283
- : buildIntervalPoller$(completed$, pollService);
360
+ const factory = pollService.config.type === pollType.REPEAT ? repeatPollerFactory : intervalPollerFactory;
361
+ const ctx = {
362
+ source$: completed$,
363
+ pollService,
364
+ factory,
365
+ };
366
+ const { poller$ } = composePause$(ctx);
284
367
  return poller$;
285
368
  }
286
369
 
287
370
  function poll(config) {
288
371
  return (source$) => {
289
372
  const extendedConfig = extendConfig(config);
290
- const pollService = new PollService(extendedConfig);
291
- const poller$ = createPoller$(source$, pollService);
373
+ const poller$ = createPoller$(source$, extendedConfig);
292
374
  return poller$;
293
375
  };
294
376
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/constants/poll.const.ts","../../src/constants/strategies.const.ts","../../src/constants/config.const.ts","../../src/common/utils.ts","../../src/common/strategies.ts","../../src/common/config.ts","../../src/constants/state.const.ts","../../src/common/service.ts","../../src/operators/retry-poll.operator.ts","../../src/observables/document-visibility.ts","../../src/constants/timing.const.ts","../../src/observables/pause-delay.ts","../../src/observables/repeat-with.ts","../../src/observables/interval-poller.ts","../../src/observables/repeat-poller.ts","../../src/observables/factory.ts","../../src/poll.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["retry","throwError","timer","tap","switchMap","NEVER","filter","exhaustMap","takeUntil","fromEvent","startWith","map","shareReplay","of","repeat","Subject","finalize","takeLast"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/constants/poll.const.ts","../../src/constants/strategies.const.ts","../../src/constants/notifier.const.ts","../../src/constants/config.const.ts","../../src/common/utils.ts","../../src/common/strategies.ts","../../src/common/config.ts","../../src/constants/timing.const.ts","../../src/poller/execution/cycle-timer.ts","../../src/poller/execution/repeat-with.ts","../../src/poller/execution/retry-poll.operator.ts","../../src/poller/execution/interval-factory.ts","../../src/constants/state.const.ts","../../src/poller/execution/poll-service.ts","../../src/poller/execution/repeat-factory.ts","../../src/poller/pause/get-pause-mode.ts","../../src/poller/pause/with-hidden-pause.ts","../../src/poller/pause/with-notifier-pause.ts","../../src/poller/pause/compose-pause.ts","../../src/poller/create-poller.ts","../../src/poll.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["of","timer","repeat","retry","throwError","tap","createDirectPoller$","switchMap","createCycleControl$","Subject","NEVER","filter","exhaustMap","takeUntil","fromEvent","startWith","map","shareReplay","share","race","take","merge","distinctUntilChanged","takeLast"],"mappings":"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"}