rxjs-poll 1.1.10 → 2.0.1

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 (86) hide show
  1. package/README.md +236 -76
  2. package/dist/cjs/common/config.js +43 -25
  3. package/dist/cjs/common/config.js.map +1 -1
  4. package/dist/cjs/common/observables.js +5 -5
  5. package/dist/cjs/common/observables.js.map +1 -1
  6. package/dist/cjs/common/operators.js +12 -0
  7. package/dist/cjs/common/operators.js.map +1 -0
  8. package/dist/cjs/common/strategies.js +41 -0
  9. package/dist/cjs/common/strategies.js.map +1 -0
  10. package/dist/cjs/common/utils.js +2 -2
  11. package/dist/cjs/common/utils.js.map +1 -1
  12. package/dist/cjs/constants/config.const.js +20 -0
  13. package/dist/cjs/constants/config.const.js.map +1 -0
  14. package/dist/cjs/constants/poll.const.js +12 -0
  15. package/dist/cjs/constants/poll.const.js.map +1 -0
  16. package/dist/cjs/constants/strategies.const.js +11 -0
  17. package/dist/cjs/constants/strategies.const.js.map +1 -0
  18. package/dist/cjs/index.js +5 -1
  19. package/dist/cjs/index.js.map +1 -1
  20. package/dist/cjs/poll.js +27 -27
  21. package/dist/cjs/poll.js.map +1 -1
  22. package/dist/cjs/types/config.type.js +3 -0
  23. package/dist/cjs/types/config.type.js.map +1 -0
  24. package/dist/cjs/types/poll.type.js +3 -0
  25. package/dist/cjs/types/poll.type.js.map +1 -0
  26. package/dist/cjs/types/strategies.type.js +3 -0
  27. package/dist/cjs/types/strategies.type.js.map +1 -0
  28. package/dist/cjs/types/utils.type.js +3 -0
  29. package/dist/cjs/types/utils.type.js.map +1 -0
  30. package/dist/esm/common/config.js +33 -21
  31. package/dist/esm/common/config.js.map +1 -1
  32. package/dist/esm/common/observables.js +5 -5
  33. package/dist/esm/common/observables.js.map +1 -1
  34. package/dist/esm/common/operators.js +7 -0
  35. package/dist/esm/common/operators.js.map +1 -0
  36. package/dist/esm/common/strategies.js +38 -0
  37. package/dist/esm/common/strategies.js.map +1 -0
  38. package/dist/esm/common/utils.js +1 -1
  39. package/dist/esm/common/utils.js.map +1 -1
  40. package/dist/esm/constants/config.const.js +17 -0
  41. package/dist/esm/constants/config.const.js.map +1 -0
  42. package/dist/esm/constants/poll.const.js +9 -0
  43. package/dist/esm/constants/poll.const.js.map +1 -0
  44. package/dist/esm/constants/strategies.const.js +8 -0
  45. package/dist/esm/constants/strategies.const.js.map +1 -0
  46. package/dist/esm/index.js +2 -0
  47. package/dist/esm/index.js.map +1 -1
  48. package/dist/esm/poll.js +29 -27
  49. package/dist/esm/poll.js.map +1 -1
  50. package/dist/esm/types/config.type.js +2 -0
  51. package/dist/esm/types/config.type.js.map +1 -0
  52. package/dist/esm/types/poll.type.js +2 -0
  53. package/dist/esm/types/poll.type.js.map +1 -0
  54. package/dist/esm/types/strategies.type.js +2 -0
  55. package/dist/esm/types/strategies.type.js.map +1 -0
  56. package/dist/esm/types/utils.type.js +2 -0
  57. package/dist/esm/types/utils.type.js.map +1 -0
  58. package/dist/types/common/config.d.ts +3 -30
  59. package/dist/types/common/config.d.ts.map +1 -1
  60. package/dist/types/common/observables.d.ts +2 -2
  61. package/dist/types/common/observables.d.ts.map +1 -1
  62. package/dist/types/common/operators.d.ts +3 -0
  63. package/dist/types/common/operators.d.ts.map +1 -0
  64. package/dist/types/common/strategies.d.ts +5 -0
  65. package/dist/types/common/strategies.d.ts.map +1 -0
  66. package/dist/types/common/utils.d.ts +4 -6
  67. package/dist/types/common/utils.d.ts.map +1 -1
  68. package/dist/types/constants/config.const.d.ts +15 -0
  69. package/dist/types/constants/config.const.d.ts.map +1 -0
  70. package/dist/types/constants/poll.const.d.ts +9 -0
  71. package/dist/types/constants/poll.const.d.ts.map +1 -0
  72. package/dist/types/constants/strategies.const.d.ts +8 -0
  73. package/dist/types/constants/strategies.const.d.ts.map +1 -0
  74. package/dist/types/index.d.ts +5 -1
  75. package/dist/types/index.d.ts.map +1 -1
  76. package/dist/types/poll.d.ts +7 -7
  77. package/dist/types/poll.d.ts.map +1 -1
  78. package/dist/types/types/config.type.d.ts +58 -0
  79. package/dist/types/types/config.type.d.ts.map +1 -0
  80. package/dist/types/types/poll.type.d.ts +12 -0
  81. package/dist/types/types/poll.type.d.ts.map +1 -0
  82. package/dist/types/types/strategies.type.d.ts +6 -0
  83. package/dist/types/types/strategies.type.d.ts.map +1 -0
  84. package/dist/types/types/utils.type.d.ts +3 -0
  85. package/dist/types/types/utils.type.d.ts.map +1 -0
  86. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/common/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,GAAG,EAAiC,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvF,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAQxF;AAiBD,eAAO,MAAM,aAAa,EAAE,iBAAiB,CAAC,GAAG,CAMvC,CAAC;AAEX,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI;IACjC,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;AAE9C,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI;IACpC,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC1B,IAAI,CAAC,EAAE,QAAQ,GAAG,GAAG,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACvD,OAAO,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,GAAG,GAAG,CAAC;IAClC,gBAAgB,CAAC,EAAE,OAAO,GAAG,GAAG,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;AAC7C,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,YAAY,GAAG,GAAG,CAAC;AACpF,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC;AAExD,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,GAAG,GAAG,IAAI,CAAC;CACnB,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAE7B,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,oBAAoB,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/common/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAwB,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE5F,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAI1C,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAQnF"}
@@ -1,5 +1,5 @@
1
1
  import { Observable } from 'rxjs';
2
- import { PollType } from './config';
2
+ import { PollType } from '../types/poll.type';
3
3
  export declare const visibilityState$: Observable<boolean>;
4
- export declare function getPoller$<T>(type: PollType, source$: Observable<T>, getDelay: (value: T) => number): Observable<T>;
4
+ export declare function getPoller$<T>(type: PollType, source$: Observable<T>, getTime: (value: T) => number): Observable<T>;
5
5
  //# sourceMappingURL=observables.d.ts.map
@@ -1 +1 @@
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,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGpC,eAAO,MAAM,gBAAgB,qBAAyE,CAAC;AAEvG,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAgBnH"}
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,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG9C,eAAO,MAAM,gBAAgB,qBAAyE,CAAC;AAEvG,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAgBlH"}
@@ -0,0 +1,3 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operators.d.ts","sourceRoot":"","sources":["../../../src/common/operators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAiC,MAAM,MAAM,CAAC;AAE/E,wBAAgB,SAAS,CAAC,CAAC,EACzB,OAAO,EAAE,MAAM,OAAO,EACtB,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,EAC/B,UAAU,EAAE,MAAM,IAAI,GACrB,wBAAwB,CAAC,CAAC,CAAC,CAQ7B"}
@@ -0,0 +1,5 @@
1
+ import { NormalizedPollConfig } from '../types/config.type';
2
+ import { PollMode } from '../types/poll.type';
3
+ import { DynamicFunction } from '../types/strategies.type';
4
+ export declare function getStrategyTimeProducer<T>(mode: PollMode, config: NormalizedPollConfig<T>): DynamicFunction<T>;
5
+ //# sourceMappingURL=strategies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strategies.d.ts","sourceRoot":"","sources":["../../../src/common/strategies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAA4B,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAI3D,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAoC9G"}
@@ -1,12 +1,10 @@
1
+ import { MinMax, Nil } from '../types/utils.type';
1
2
  export declare function normalizeNumber(value: number | Nil, defaultValue?: number, isFinite?: boolean): number;
2
- export declare function normalizeNumber(value: UnsafeMinMax | Nil, defaultValue?: number, isFinite?: boolean): MinMax;
3
- export declare function normalizeNumber(value: number | UnsafeMinMax | Nil, defaultValue?: number, isFinite?: boolean): number | MinMax;
4
- export declare function sampleNumber(value: number | MinMax): number;
3
+ export declare function normalizeNumber(value: MinMax | Nil, defaultValue?: number, isFinite?: boolean): MinMax;
4
+ export declare function normalizeNumber(value: number | MinMax | Nil, defaultValue?: number, isFinite?: boolean): number | MinMax;
5
+ export declare function pickNumber(value: number | MinMax): number;
5
6
  export declare function randomNumber(min: number, max: number): number;
6
7
  export declare function isFunction(value: unknown): value is (...args: any[]) => any;
7
8
  export declare function isBrowser(): boolean;
8
9
  export declare function isDocumentVisible(): boolean;
9
- export type Nil = null | undefined;
10
- export type MinMax = [number, number];
11
- export type UnsafeMinMax = [number | Nil, number | Nil];
12
10
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/common/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;AACxG,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;AAC9G,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,GAAG,EAClC,YAAY,CAAC,EAAE,MAAM,EACrB,QAAQ,CAAC,EAAE,OAAO,GACjB,MAAM,GAAG,MAAM,CAAC;AAmBnB,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAE3E;AAED,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED,MAAM,MAAM,GAAG,GAAG,IAAI,GAAG,SAAS,CAAC;AACnC,MAAM,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACtC,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/common/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAElD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;AACxG,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;AACxG,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,EAC5B,YAAY,CAAC,EAAE,MAAM,EACrB,QAAQ,CAAC,EAAE,OAAO,GACjB,MAAM,GAAG,MAAM,CAAC;AAenB,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAE3E;AAED,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C"}
@@ -0,0 +1,15 @@
1
+ export declare const controlConfig: {
2
+ readonly type: "repeat";
3
+ readonly delay: {
4
+ readonly strategy: "constant";
5
+ readonly time: 1000;
6
+ };
7
+ readonly retry: {
8
+ readonly strategy: "exponential";
9
+ readonly time: 1000;
10
+ readonly limit: 3;
11
+ readonly consecutiveOnly: true;
12
+ };
13
+ readonly pauseWhenHidden: true;
14
+ };
15
+ //# sourceMappingURL=config.const.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.const.d.ts","sourceRoot":"","sources":["../../../src/constants/config.const.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,aAAa;;;;;;;;;;;;;CAawB,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare const pollMode: {
2
+ readonly DELAY: "delay";
3
+ readonly RETRY: "retry";
4
+ };
5
+ export declare const pollType: {
6
+ readonly REPEAT: "repeat";
7
+ readonly INTERVAL: "interval";
8
+ };
9
+ //# sourceMappingURL=poll.const.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poll.const.d.ts","sourceRoot":"","sources":["../../../src/constants/poll.const.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;CAGX,CAAC;AAEX,eAAO,MAAM,QAAQ;;;CAGX,CAAC"}
@@ -0,0 +1,8 @@
1
+ export declare const strategyType: {
2
+ readonly CONSTANT: "constant";
3
+ readonly LINEAR: "linear";
4
+ readonly EXPONENTIAL: "exponential";
5
+ readonly RANDOM: "random";
6
+ readonly DYNAMIC: "dynamic";
7
+ };
8
+ //# sourceMappingURL=strategies.const.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strategies.const.d.ts","sourceRoot":"","sources":["../../../src/constants/strategies.const.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;CAMf,CAAC"}
@@ -1,3 +1,7 @@
1
- export type { PollConfig, PollDelayFunc, PollState, PollType } from './common/config';
1
+ export { pollType } from './constants/poll.const';
2
+ export { strategyType } from './constants/strategies.const';
2
3
  export { poll } from './poll';
4
+ export type { PollConfig } from './types/config.type';
5
+ export type { PollState, PollType } from './types/poll.type';
6
+ export type { DynamicFunction, StrategyType } from './types/strategies.type';
3
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7D,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC"}
@@ -1,11 +1,11 @@
1
1
  import { MonoTypeOperatorFunction } from 'rxjs';
2
- import { PollConfig } from './common/config';
3
- import { Nil } from './common/utils';
2
+ import { PollConfig } from './types/config.type';
3
+ import { Nil } from './types/utils.type';
4
4
  /**
5
5
  * ### RxJS Poll Operator
6
6
  *
7
- * Polls source using "repeat" or "interval" approach. First emission is sent immediately, \
8
- * then the polling will start. Values will emit until stopped by the user.
7
+ * Automatically re-executes a source observable after completion, \
8
+ * using delay strategies and retry mechanisms for handling errors.
9
9
  *
10
10
  * Read {@link https://www.npmjs.com/package/rxjs-poll|docs} for more info.
11
11
  *
@@ -23,10 +23,10 @@ import { Nil } from './common/utils';
23
23
  * .subscribe();
24
24
  * ```
25
25
  *
26
- * @param config - {@link PollConfig} object used for polling configuration
26
+ * @param config - {@link PollConfig} object used for configuration
27
27
  *
28
- * @return A function that returns an Observable that will resubscribe to the source on \
29
- * complete or error
28
+ * @return Function that returns an Observable handling resubscription \
29
+ * to the source on complete or error
30
30
  */
31
31
  export declare function poll<T>(config?: PollConfig<T> | Nil): MonoTypeOperatorFunction<T>;
32
32
  //# 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,EAAgD,MAAM,MAAM,CAAC;AAErG,OAAO,EAAmB,UAAU,EAAuB,MAAM,iBAAiB,CAAC;AAEnF,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAErC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;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,EAAS,wBAAwB,EAAiB,MAAM,MAAM,CAAC;AAKtE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,wBAAwB,CAAC,CAAC,CAAC,CA4CjF"}
@@ -0,0 +1,58 @@
1
+ import { PollTimeProducer, PollType } from './poll.type';
2
+ import { DynamicFunction, StrategyType } from './strategies.type';
3
+ import { MinMax, Nil } from './utils.type';
4
+ export type PollConfig<T> = {
5
+ type?: PollType | Nil;
6
+ delay?: PollDelayConfig<T> | Nil;
7
+ retry?: PollRetryConfig<T> | Nil;
8
+ pauseWhenHidden?: boolean | Nil;
9
+ };
10
+ export type NormalizedPollConfig<T> = {
11
+ type: PollType;
12
+ delay: NormalizedPollDelayConfig<T>;
13
+ retry: NormalizedPollRetryConfig<T>;
14
+ pauseWhenHidden: boolean;
15
+ };
16
+ export type ExtendedPollConfig<T> = NormalizedPollConfig<T> & {
17
+ getDelayTime: PollTimeProducer<T>;
18
+ getRetryTime: PollTimeProducer<T>;
19
+ };
20
+ export type PollDelayConfig<T> = {
21
+ time: DynamicFunction<T>;
22
+ strategy: Extract<StrategyType, 'dynamic'>;
23
+ } | {
24
+ time: MinMax;
25
+ strategy: Extract<StrategyType, 'random'>;
26
+ } | {
27
+ time: number;
28
+ strategy: Extract<StrategyType, 'constant'>;
29
+ };
30
+ export type NormalizedPollDelayConfig<T> = {
31
+ time: number | MinMax | DynamicFunction<T>;
32
+ strategy: StrategyType;
33
+ };
34
+ export type PollRetryConfig<T> = (({
35
+ time: DynamicFunction<T>;
36
+ strategy: Extract<StrategyType, 'dynamic'>;
37
+ } | {
38
+ time: MinMax;
39
+ strategy: Extract<StrategyType, 'random'>;
40
+ } | {
41
+ time: number;
42
+ strategy: Exclude<StrategyType, 'dynamic' | 'random'>;
43
+ }) & {
44
+ limit?: number;
45
+ consecutiveOnly?: boolean;
46
+ }) | {
47
+ limit?: number;
48
+ consecutiveOnly?: boolean;
49
+ strategy?: never;
50
+ time?: never;
51
+ };
52
+ export type NormalizedPollRetryConfig<T> = {
53
+ time: number | MinMax | DynamicFunction<T>;
54
+ strategy: StrategyType;
55
+ limit: number;
56
+ consecutiveOnly: boolean;
57
+ };
58
+ //# sourceMappingURL=config.type.d.ts.map
@@ -0,0 +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,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC1B,IAAI,CAAC,EAAE,QAAQ,GAAG,GAAG,CAAC;IACtB,KAAK,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACjC,KAAK,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACjC,eAAe,CAAC,EAAE,OAAO,GAAG,GAAG,CAAC;CACjC,CAAC;AAEF,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,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,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,UAAU,CAAC,CAAA;CAAE,CAAC;AAElE,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,MAAM,MAAM,eAAe,CAAC,CAAC,IACzB,CAAC,CACG;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,CAC1E,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GAClD;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,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"}
@@ -0,0 +1,12 @@
1
+ import { pollMode, pollType } from '../constants/poll.const';
2
+ export type PollMode = (typeof pollMode)[keyof typeof pollMode];
3
+ export type PollType = (typeof pollType)[keyof typeof pollType];
4
+ export type PollState<T> = {
5
+ pollCount: number;
6
+ value: T | undefined;
7
+ error: any | undefined;
8
+ } & Record<RetryKey, number>;
9
+ export type RetryKey = 'retryCount' | 'consecutiveRetryCount';
10
+ export type PollStateKeys = keyof PollState<unknown>;
11
+ export type PollTimeProducer<T> = (state: PollState<T>) => number;
12
+ //# sourceMappingURL=poll.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poll.type.d.ts","sourceRoot":"","sources":["../../../src/types/poll.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC;AAEhE,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC;AAEhE,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC;IACrB,KAAK,EAAE,GAAG,GAAG,SAAS,CAAC;CACxB,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAE7B,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,uBAAuB,CAAC;AAE9D,MAAM,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;AAErD,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { strategyType } from '../constants/strategies.const';
2
+ import { PollState } from './poll.type';
3
+ import { MinMax } from './utils.type';
4
+ export type StrategyType = (typeof strategyType)[keyof typeof strategyType];
5
+ export type DynamicFunction<T> = (state: PollState<T>) => number | MinMax;
6
+ //# sourceMappingURL=strategies.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strategies.type.d.ts","sourceRoot":"","sources":["../../../src/types/strategies.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAE5E,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,MAAM,CAAC"}
@@ -0,0 +1,3 @@
1
+ export type Nil = null | undefined;
2
+ export type MinMax = [min: number, max: number];
3
+ //# sourceMappingURL=utils.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.type.d.ts","sourceRoot":"","sources":["../../../src/types/utils.type.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,GAAG,GAAG,IAAI,GAAG,SAAS,CAAC;AAEnC,MAAM,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rxjs-poll",
3
- "version": "1.1.10",
3
+ "version": "2.0.1",
4
4
  "description": "RxJS operator for polling",
5
5
  "keywords": [
6
6
  "rxjs",
@@ -36,7 +36,7 @@
36
36
  "test:coverage": "npm run util:clean:coverage && npm run test -- --collect-coverage",
37
37
  "lint": "eslint ./src ./tests",
38
38
  "lint:fix": "npm run lint -- --fix",
39
- "util:packageJson": "cross-env TS_NODE_PROJECT='./ts-configs/tsconfig.scripts.json' ts-node ./scripts/generate-package-json.ts",
39
+ "util:packageJson": "cross-env TS_NODE_PROJECT='./ts-configs/tsconfig.scripts.json' ts-node ./utils/generate-package-json.ts",
40
40
  "util:clean:dist": "rimraf ./dist --no-preserve-root --no-interactive",
41
41
  "util:clean:coverage": "rimraf ./coverage --no-preserve-root --no-interactive",
42
42
  "util:commitlint": "commitlint",