rxjs-poll 1.0.4 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  <a href="https://www.npmjs.com/package/rxjs-poll" target="_blank" rel="noopener noreferrer nofollow"><img alt="NPM Version" src="https://img.shields.io/npm/v/rxjs-poll"></a>
4
4
  <a href="https://bundlephobia.com/package/rxjs-poll@latest" target="_blank" rel="noopener noreferrer nofollow"><img alt="NPM Bundle Size" src="https://img.shields.io/bundlephobia/minzip/rxjs-poll?label=gzip"></a>
5
+ <a href="https://github.com/mmustra/rxjs-poll/tree/main/tests" target="_blank" rel="noopener noreferrer nofollow"><img alt="Codecov" src="https://img.shields.io/codecov/c/gh/mmustra/rxjs-poll?token=H9R97BLFQI"></a>
5
6
  <a href="https://github.com/mmustra/rxjs-poll/issues" target="_blank" rel="noopener noreferrer nofollow"><img alt="GitHub Issues or Pull Requests" src="https://img.shields.io/github/issues/mmustra/rxjs-poll"></a>
6
7
 
7
8
  Library provides RxJS operator that can do polling on any completed source.
@@ -10,7 +11,7 @@ Library provides RxJS operator that can do polling on any completed source.
10
11
 
11
12
  - Two types of polling; `repeat` and `interval`
12
13
  - Delay/retry can be a **static**, **random** or **dynamic** number
13
- - Any **backoff strategy** you can think of
14
+ - Any **delay/backoff strategy** you can think of
14
15
  - Background mode (browser only) to **pause/resume polling** on page visibility
15
16
  - Consecutive rule for **different retry attempts** approach
16
17
  - Config **input guard** for unexpected values
@@ -84,7 +85,7 @@ request$
84
85
 
85
86
  ### Advance
86
87
 
87
- Use delay function when you need complex logic for polling or retrying. The state provides data that can be used for unique backoff strategies.
88
+ Use delay function when you need unique delay or backoff strategies for polling/retrying.
88
89
 
89
90
  [Demo](https://stackblitz.com/edit/rxjs-awthuj?devtoolsheight=100&file=index.ts)
90
91
 
@@ -96,7 +97,7 @@ request$
96
97
  .pipe(
97
98
  poll({
98
99
  retries: 6,
99
- delay: ({ polls, consecutiveRetries, error }) => {
100
+ delay: ({ polls, consecutiveRetries, value, error }) => {
100
101
  const delay = 1000;
101
102
 
102
103
  if (error) {
@@ -105,8 +106,8 @@ request$
105
106
  return Math.pow(2, consecutiveRetries - 1) * delay;
106
107
  }
107
108
 
108
- // Faster polls initially
109
- return polls < 5 ? delay * 0.5 : delay;
109
+ // Faster polls for shorther facts
110
+ return value.length < 100 ? delay * 0.3 : delay;
110
111
  },
111
112
  }),
112
113
  takeWhile(({ length }) => length < 200, true)
@@ -195,10 +196,11 @@ const config: PollConfig = {
195
196
  Provided as argument of delay function. Use it to set delay for polls and retries.
196
197
 
197
198
  ```typescript
198
- interface PollState {
199
+ interface PollState<T> {
199
200
  polls: number; // current count of successful polls
200
201
  retries: number; // current count of retries
201
202
  consecutiveRetries: number; // current count of consecutive retries
203
+ value: T; // value emitted from the source
202
204
  error: any | null; // "any" when retrying and "null" when polling
203
205
  }
204
206
 
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/common/config.ts"],"names":[],"mappings":";;;AAAA,iCAA8F;AAE9F,SAAgB,eAAe,CAAC,MAAyB;;IACvD,OAAO;QACL,IAAI,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,mCAAI,qBAAa,CAAC,IAAI;QACxC,QAAQ,EAAE,IAAA,kBAAU,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC;QAClG,OAAO,EAAE,IAAA,uBAAe,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,EAAE,qBAAa,CAAC,OAAO,EAAE,KAAK,CAAC;QACvE,iBAAiB,EAAE,IAAA,aAAK,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB;QACrF,gBAAgB,EAAE,OAAO,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,CAAC;KACpD,CAAC;AACJ,CAAC;AARD,0CAQC;AAED,SAAS,aAAa,CAAC,SAAwB;IAC7C,OAAO,UAAC,KAAgB;QACtB,IAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;QAClD,IAAM,eAAe,GAAG,IAAA,uBAAe,EAAC,KAAK,EAAE,qBAAa,CAAC,KAAK,CAAC,CAAC;QAEpE,OAAO,IAAA,oBAAY,EAAC,eAAe,CAAC,CAAC;IACvC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAkC;IACzD,IAAM,eAAe,GAAG,IAAA,uBAAe,EAAC,KAAK,EAAE,qBAAa,CAAC,KAAK,CAAC,CAAC;IAEpE,OAAO,cAAc,OAAA,IAAA,oBAAY,EAAC,eAAe,CAAC,EAA7B,CAA6B,CAAC;AACrD,CAAC;AAEY,QAAA,aAAa,GAAsB;IAC9C,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,CAAC;IACV,iBAAiB,EAAE,IAAI;IACvB,gBAAgB,EAAE,KAAK;CACxB,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/common/config.ts"],"names":[],"mappings":";;;AAAA,iCAA8F;AAE9F,SAAgB,eAAe,CAAI,MAA4B;;IAC7D,OAAO;QACL,IAAI,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,mCAAI,qBAAa,CAAC,IAAI;QACxC,QAAQ,EAAE,IAAA,kBAAU,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC;QAClG,OAAO,EAAE,IAAA,uBAAe,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,EAAE,qBAAa,CAAC,OAAO,EAAE,KAAK,CAAC;QACvE,iBAAiB,EAAE,IAAA,aAAK,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB;QACrF,gBAAgB,EAAE,OAAO,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,CAAC;KACpD,CAAC;AACJ,CAAC;AARD,0CAQC;AAED,SAAS,aAAa,CAAI,SAA2B;IACnD,OAAO,UAAC,KAAK;QACX,IAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;QAClD,IAAM,eAAe,GAAG,IAAA,uBAAe,EAAC,KAAK,EAAE,qBAAa,CAAC,KAAK,CAAC,CAAC;QAEpE,OAAO,IAAA,oBAAY,EAAC,eAAe,CAAC,CAAC;IACvC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAI,KAAkC;IAC5D,IAAM,eAAe,GAAG,IAAA,uBAAe,EAAC,KAAK,EAAE,qBAAa,CAAC,KAAK,CAAC,CAAC;IAEpE,OAAO,cAAc,OAAA,IAAA,oBAAY,EAAC,eAAe,CAAC,EAA7B,CAA6B,CAAC;AACrD,CAAC;AAEY,QAAA,aAAa,GAA2B;IACnD,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,CAAC;IACV,iBAAiB,EAAE,IAAI;IACvB,gBAAgB,EAAE,KAAK;CACxB,CAAC"}
@@ -5,12 +5,15 @@ var rxjs_1 = require("rxjs");
5
5
  var utils_1 = require("./utils");
6
6
  exports.visibilityState$ = pageVisibility$().pipe((0, rxjs_1.shareReplay)({ bufferSize: 1, refCount: true }));
7
7
  function getPoller$(type, source$, getDelay) {
8
- var completed$ = source$.pipe((0, rxjs_1.takeLast)(1));
8
+ var lastValue;
9
+ var completed$ = source$.pipe((0, rxjs_1.takeLast)(1), (0, rxjs_1.tap)(function (value) {
10
+ lastValue = value;
11
+ }));
9
12
  return type === 'repeat'
10
13
  ? completed$.pipe((0, rxjs_1.repeat)({
11
- delay: function () { return (0, rxjs_1.timer)(getDelay()); },
14
+ delay: function () { return (0, rxjs_1.timer)(getDelay(lastValue)); },
12
15
  }))
13
- : dynamicInterval$(getDelay).pipe((0, rxjs_1.switchMap)(function () { return completed$; }));
16
+ : dynamicInterval$(function () { return getDelay(lastValue); }).pipe((0, rxjs_1.switchMap)(function () { return completed$; }));
14
17
  }
15
18
  exports.getPoller$ = getPoller$;
16
19
  function pageVisibility$() {
@@ -1 +1 @@
1
- {"version":3,"file":"observables.js","sourceRoot":"","sources":["../../../src/common/observables.ts"],"names":[],"mappings":";;;AAAA,6BAAkH;AAGlH,iCAAuD;AAE1C,QAAA,gBAAgB,GAAG,eAAe,EAAE,CAAC,IAAI,CAAC,IAAA,kBAAW,EAAC,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAEvG,SAAgB,UAAU,CAAI,IAAc,EAAE,OAAsB,EAAE,QAAsB;IAC1F,IAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC,CAAC;IAE7C,OAAO,IAAI,KAAK,QAAQ;QACtB,CAAC,CAAC,UAAU,CAAC,IAAI,CACb,IAAA,aAAM,EAAC;YACL,KAAK,EAAE,cAAM,OAAA,IAAA,YAAK,EAAC,QAAQ,EAAE,CAAC,EAAjB,CAAiB;SAC/B,CAAC,CACH;QACH,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAA,gBAAS,EAAC,cAAM,OAAA,UAAU,EAAV,CAAU,CAAC,CAAC,CAAC;AACnE,CAAC;AAVD,gCAUC;AAED,SAAS,eAAe;IACtB,OAAO,IAAA,iBAAS,GAAE,CAAC,CAAC,CAAC,IAAA,gBAAS,EAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAA,gBAAS,EAAC,IAAI,CAAC,EAAE,IAAA,UAAG,EAAC,yBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,SAAE,EAAC,IAAI,CAAC,CAAC;AACxH,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAsB;IAC9C,OAAO,IAAA,SAAE,EAAC,IAAI,CAAC,CAAC,IAAI,CAClB,IAAA,aAAM,EAAC;QACL,KAAK,EAAE,cAAM,OAAA,IAAA,YAAK,EAAC,QAAQ,EAAE,CAAC,EAAjB,CAAiB;KAC/B,CAAC,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"observables.js","sourceRoot":"","sources":["../../../src/common/observables.ts"],"names":[],"mappings":";;;AAAA,6BAAuH;AAGvH,iCAAuD;AAE1C,QAAA,gBAAgB,GAAG,eAAe,EAAE,CAAC,IAAI,CAAC,IAAA,kBAAW,EAAC,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAEvG,SAAgB,UAAU,CAAI,IAAc,EAAE,OAAsB,EAAE,QAA8B;IAClG,IAAI,SAAY,CAAC;IACjB,IAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAC7B,IAAA,eAAQ,EAAC,CAAC,CAAC,EACX,IAAA,UAAG,EAAC,UAAC,KAAK;QACR,SAAS,GAAG,KAAK,CAAC;IACpB,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,IAAI,KAAK,QAAQ;QACtB,CAAC,CAAC,UAAU,CAAC,IAAI,CACb,IAAA,aAAM,EAAC;YACL,KAAK,EAAE,cAAM,OAAA,IAAA,YAAK,EAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAA1B,CAA0B;SACxC,CAAC,CACH;QACH,CAAC,CAAC,gBAAgB,CAAC,cAAM,OAAA,QAAQ,CAAC,SAAS,CAAC,EAAnB,CAAmB,CAAC,CAAC,IAAI,CAAC,IAAA,gBAAS,EAAC,cAAM,OAAA,UAAU,EAAV,CAAU,CAAC,CAAC,CAAC;AACpF,CAAC;AAhBD,gCAgBC;AAED,SAAS,eAAe;IACtB,OAAO,IAAA,iBAAS,GAAE,CAAC,CAAC,CAAC,IAAA,gBAAS,EAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAA,gBAAS,EAAC,IAAI,CAAC,EAAE,IAAA,UAAG,EAAC,yBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,SAAE,EAAC,IAAI,CAAC,CAAC;AACxH,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAsB;IAC9C,OAAO,IAAA,SAAE,EAAC,IAAI,CAAC,CAAC,IAAI,CAClB,IAAA,aAAM,EAAC;QACL,KAAK,EAAE,cAAM,OAAA,IAAA,YAAK,EAAC,QAAQ,EAAE,CAAC,EAAjB,CAAiB;KAC/B,CAAC,CACH,CAAC;AACJ,CAAC"}
package/dist/cjs/poll.js CHANGED
@@ -12,10 +12,12 @@ function poll(config) {
12
12
  polls: 0,
13
13
  retries: 0,
14
14
  consecutiveRetries: 0,
15
+ value: null,
15
16
  error: null,
16
17
  };
17
- var nextPollDelay = function () {
18
+ var nextPollDelay = function (value) {
18
19
  state.polls += 1;
20
+ state.value = value;
19
21
  return getDelay(state);
20
22
  };
21
23
  var visibility$ = isBackgroundMode ? (0, rxjs_1.of)(true) : observables_1.visibilityState$;
@@ -1 +1 @@
1
- {"version":3,"file":"poll.js","sourceRoot":"","sources":["../../src/poll.ts"],"names":[],"mappings":";;;AAAA,6BAAqG;AAErG,0CAAmF;AACnF,oDAAoE;AA8BpE,SAAgB,IAAI,CAAI,MAAyB;IAC/C,OAAO,UAAC,OAAO;QACP,IAAA,KAAmE,IAAA,wBAAe,EAAC,MAAM,CAAC,EAAxF,IAAI,UAAA,EAAE,OAAO,aAAA,EAAE,gBAAgB,sBAAA,EAAE,iBAAiB,uBAAA,EAAE,QAAQ,cAA4B,CAAC;QACjG,IAAM,QAAQ,GAAa,iBAAiB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC;QAChF,IAAM,KAAK,GAAc;YACvB,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,CAAC;YACV,kBAAkB,EAAE,CAAC;YACrB,KAAK,EAAE,IAAI;SACZ,CAAC;QAEF,IAAM,aAAa,GAAG;YACpB,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;YAEjB,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,CAAC;QAEF,IAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAA,SAAE,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,8BAAgB,CAAC;QACnE,IAAM,OAAO,GAAG,IAAA,wBAAU,EAAC,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QAEzD,OAAO,WAAW,CAAC,IAAI,CACrB,IAAA,gBAAS,EAAC,UAAC,SAAS;YAClB,OAAA,SAAS;gBACP,CAAC,CAAC,OAAO,CAAC,IAAI,CACV,IAAA,YAAK,EAAC;oBACJ,KAAK,YAAC,KAAK;wBAET,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;wBACpB,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;wBACnB,KAAK,CAAC,kBAAkB,IAAI,CAAC,CAAC;wBAG9B,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,IAAA,iBAAU,EAAC,cAAM,OAAA,KAAK,EAAL,CAAK,CAAC,CAAC,CAAC,CAAC,IAAA,YAAK,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;oBACtF,CAAC;iBACF,CAAC,EACF,IAAA,UAAG,EAAC;oBACF,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;oBACnB,KAAK,CAAC,kBAAkB,GAAG,CAAC,CAAC;gBAC/B,CAAC,CAAC,CACH;gBACH,CAAC,CAAC,YAAK;QAlBT,CAkBS,CACV,CACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AA5CD,oBA4CC"}
1
+ {"version":3,"file":"poll.js","sourceRoot":"","sources":["../../src/poll.ts"],"names":[],"mappings":";;;AAAA,6BAAqG;AAErG,0CAAmF;AACnF,oDAAoE;AA8BpE,SAAgB,IAAI,CAAI,MAA4B;IAClD,OAAO,UAAC,OAAO;QACP,IAAA,KAAmE,IAAA,wBAAe,EAAC,MAAM,CAAC,EAAxF,IAAI,UAAA,EAAE,OAAO,aAAA,EAAE,gBAAgB,sBAAA,EAAE,iBAAiB,uBAAA,EAAE,QAAQ,cAA4B,CAAC;QACjG,IAAM,QAAQ,GAAa,iBAAiB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC;QAChF,IAAM,KAAK,GAAiB;YAC1B,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,CAAC;YACV,kBAAkB,EAAE,CAAC;YAErB,KAAK,EAAE,IAAW;YAClB,KAAK,EAAE,IAAI;SACZ,CAAC;QAEF,IAAM,aAAa,GAAG,UAAC,KAAQ;YAC7B,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;YACjB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YAEpB,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,CAAC;QAEF,IAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAA,SAAE,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,8BAAgB,CAAC;QACnE,IAAM,OAAO,GAAG,IAAA,wBAAU,EAAC,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QAEzD,OAAO,WAAW,CAAC,IAAI,CACrB,IAAA,gBAAS,EAAC,UAAC,SAAS;YAClB,OAAA,SAAS;gBACP,CAAC,CAAC,OAAO,CAAC,IAAI,CACV,IAAA,YAAK,EAAC;oBACJ,KAAK,YAAC,KAAK;wBAET,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;wBACpB,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;wBACnB,KAAK,CAAC,kBAAkB,IAAI,CAAC,CAAC;wBAG9B,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,IAAA,iBAAU,EAAC,cAAM,OAAA,KAAK,EAAL,CAAK,CAAC,CAAC,CAAC,CAAC,IAAA,YAAK,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;oBACtF,CAAC;iBACF,CAAC,EACF,IAAA,UAAG,EAAC;oBACF,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;oBACnB,KAAK,CAAC,kBAAkB,GAAG,CAAC,CAAC;gBAC/B,CAAC,CAAC,CACH;gBACH,CAAC,CAAC,YAAK;QAlBT,CAkBS,CACV,CACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AA/CD,oBA+CC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/common/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAO,eAAe,EAAE,YAAY,EAAgB,MAAM,SAAS,CAAC;AAE9F,MAAM,UAAU,eAAe,CAAC,MAAyB;IACvD,OAAO;QACL,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,aAAa,CAAC,IAAI;QACxC,QAAQ,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC;QAClG,OAAO,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC;QACvE,iBAAiB,EAAE,KAAK,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB;QACrF,gBAAgB,EAAE,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,SAAwB;IAC7C,OAAO,CAAC,KAAgB,EAAU,EAAE;QAClC,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;QAClD,MAAM,eAAe,GAAG,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;QAEpE,OAAO,YAAY,CAAC,eAAe,CAAC,CAAC;IACvC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAkC;IACzD,MAAM,eAAe,GAAG,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAEpE,OAAO,GAAW,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAsB;IAC9C,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,CAAC;IACV,iBAAiB,EAAE,IAAI;IACvB,gBAAgB,EAAE,KAAK;CACxB,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/common/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAO,eAAe,EAAE,YAAY,EAAgB,MAAM,SAAS,CAAC;AAE9F,MAAM,UAAU,eAAe,CAAI,MAA4B;IAC7D,OAAO;QACL,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,aAAa,CAAC,IAAI;QACxC,QAAQ,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC;QAClG,OAAO,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC;QACvE,iBAAiB,EAAE,KAAK,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB;QACrF,gBAAgB,EAAE,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAI,SAA2B;IACnD,OAAO,CAAC,KAAK,EAAU,EAAE;QACvB,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;QAClD,MAAM,eAAe,GAAG,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;QAEpE,OAAO,YAAY,CAAC,eAAe,CAAC,CAAC;IACvC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAI,KAAkC;IAC5D,MAAM,eAAe,GAAG,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAEpE,OAAO,GAAW,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAA2B;IACnD,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,CAAC;IACV,iBAAiB,EAAE,IAAI;IACvB,gBAAgB,EAAE,KAAK;CACxB,CAAC"}
@@ -1,13 +1,16 @@
1
- import { fromEvent, map, of, repeat, shareReplay, startWith, switchMap, takeLast, timer } from 'rxjs';
1
+ import { fromEvent, map, of, repeat, shareReplay, startWith, switchMap, takeLast, tap, timer } from 'rxjs';
2
2
  import { isBrowser, isDocumentVisible } from './utils';
3
3
  export const visibilityState$ = pageVisibility$().pipe(shareReplay({ bufferSize: 1, refCount: true }));
4
4
  export function getPoller$(type, source$, getDelay) {
5
- const completed$ = source$.pipe(takeLast(1));
5
+ let lastValue;
6
+ const completed$ = source$.pipe(takeLast(1), tap((value) => {
7
+ lastValue = value;
8
+ }));
6
9
  return type === 'repeat'
7
10
  ? completed$.pipe(repeat({
8
- delay: () => timer(getDelay()),
11
+ delay: () => timer(getDelay(lastValue)),
9
12
  }))
10
- : dynamicInterval$(getDelay).pipe(switchMap(() => completed$));
13
+ : dynamicInterval$(() => getDelay(lastValue)).pipe(switchMap(() => completed$));
11
14
  }
12
15
  function pageVisibility$() {
13
16
  return isBrowser() ? fromEvent(document, 'visibilitychange').pipe(startWith(null), map(isDocumentVisible)) : of(true);
@@ -1 +1 @@
1
- {"version":3,"file":"observables.js","sourceRoot":"","sources":["../../../src/common/observables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,GAAG,EAAc,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAGlH,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEvD,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAEvG,MAAM,UAAU,UAAU,CAAI,IAAc,EAAE,OAAsB,EAAE,QAAsB;IAC1F,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7C,OAAO,IAAI,KAAK,QAAQ;QACtB,CAAC,CAAC,UAAU,CAAC,IAAI,CACb,MAAM,CAAC;YACL,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;SAC/B,CAAC,CACH;QACH,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,eAAe;IACtB,OAAO,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACxH,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAsB;IAC9C,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAClB,MAAM,CAAC;QACL,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;KAC/B,CAAC,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"observables.js","sourceRoot":"","sources":["../../../src/common/observables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,GAAG,EAAc,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAGvH,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEvD,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAEvG,MAAM,UAAU,UAAU,CAAI,IAAc,EAAE,OAAsB,EAAE,QAA8B;IAClG,IAAI,SAAY,CAAC;IACjB,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAC7B,QAAQ,CAAC,CAAC,CAAC,EACX,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACZ,SAAS,GAAG,KAAK,CAAC;IACpB,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,IAAI,KAAK,QAAQ;QACtB,CAAC,CAAC,UAAU,CAAC,IAAI,CACb,MAAM,CAAC;YACL,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;SACxC,CAAC,CACH;QACH,CAAC,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,eAAe;IACtB,OAAO,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACxH,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAsB;IAC9C,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAClB,MAAM,CAAC;QACL,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;KAC/B,CAAC,CACH,CAAC;AACJ,CAAC"}
package/dist/esm/poll.js CHANGED
@@ -9,10 +9,12 @@ export function poll(config) {
9
9
  polls: 0,
10
10
  retries: 0,
11
11
  consecutiveRetries: 0,
12
+ value: null,
12
13
  error: null,
13
14
  };
14
- const nextPollDelay = () => {
15
+ const nextPollDelay = (value) => {
15
16
  state.polls += 1;
17
+ state.value = value;
16
18
  return getDelay(state);
17
19
  };
18
20
  const visibility$ = isBackgroundMode ? of(true) : visibilityState$;
@@ -1 +1 @@
1
- {"version":3,"file":"poll.js","sourceRoot":"","sources":["../../src/poll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAA4B,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAErG,OAAO,EAAE,eAAe,EAAmC,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AA8BpE,MAAM,UAAU,IAAI,CAAI,MAAyB;IAC/C,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACjG,MAAM,QAAQ,GAAa,iBAAiB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC;QAChF,MAAM,KAAK,GAAc;YACvB,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,CAAC;YACV,kBAAkB,EAAE,CAAC;YACrB,KAAK,EAAE,IAAI;SACZ,CAAC;QAEF,MAAM,aAAa,GAAG,GAAW,EAAE;YACjC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;YAEjB,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,CAAC;QAEF,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;QACnE,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QAEzD,OAAO,WAAW,CAAC,IAAI,CACrB,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CACtB,SAAS;YACP,CAAC,CAAC,OAAO,CAAC,IAAI,CACV,KAAK,CAAC;gBACJ,KAAK,CAAC,KAAK;oBAET,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;oBACpB,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;oBACnB,KAAK,CAAC,kBAAkB,IAAI,CAAC,CAAC;oBAG9B,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtF,CAAC;aACF,CAAC,EACF,GAAG,CAAC,GAAG,EAAE;gBACP,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;gBACnB,KAAK,CAAC,kBAAkB,GAAG,CAAC,CAAC;YAC/B,CAAC,CAAC,CACH;YACH,CAAC,CAAC,KAAK,CACV,CACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"poll.js","sourceRoot":"","sources":["../../src/poll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAA4B,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAErG,OAAO,EAAE,eAAe,EAAmC,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AA8BpE,MAAM,UAAU,IAAI,CAAI,MAA4B;IAClD,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACjG,MAAM,QAAQ,GAAa,iBAAiB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC;QAChF,MAAM,KAAK,GAAiB;YAC1B,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,CAAC;YACV,kBAAkB,EAAE,CAAC;YAErB,KAAK,EAAE,IAAW;YAClB,KAAK,EAAE,IAAI;SACZ,CAAC;QAEF,MAAM,aAAa,GAAG,CAAC,KAAQ,EAAU,EAAE;YACzC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;YACjB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YAEpB,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,CAAC;QAEF,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;QACnE,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QAEzD,OAAO,WAAW,CAAC,IAAI,CACrB,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CACtB,SAAS;YACP,CAAC,CAAC,OAAO,CAAC,IAAI,CACV,KAAK,CAAC;gBACJ,KAAK,CAAC,KAAK;oBAET,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;oBACpB,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;oBACnB,KAAK,CAAC,kBAAkB,IAAI,CAAC,CAAC;oBAG9B,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtF,CAAC;aACF,CAAC,EACF,GAAG,CAAC,GAAG,EAAE;gBACP,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;gBACnB,KAAK,CAAC,kBAAkB,GAAG,CAAC,CAAC;YAC/B,CAAC,CAAC,CACH;YACH,CAAC,CAAC,KAAK,CACV,CACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
@@ -1,28 +1,29 @@
1
1
  import { Nil, UnsafeMinMax } from './utils';
2
- export declare function normalizeConfig(config?: PollConfig | Nil): NormalizedPollConfig;
3
- export declare const controlConfig: ControlPollConfig;
4
- export type ControlPollConfig = {
2
+ export declare function normalizeConfig<T>(config?: PollConfig<T> | Nil): NormalizedPollConfig<T>;
3
+ export declare const controlConfig: ControlPollConfig<any>;
4
+ export type ControlPollConfig<T> = {
5
5
  delay: number;
6
- } & Omit<NormalizedPollConfig, 'getDelay'>;
7
- export type NormalizedPollConfig = {
6
+ } & Omit<NormalizedPollConfig<T>, 'getDelay'>;
7
+ export type NormalizedPollConfig<T> = {
8
8
  type: PollType;
9
- getDelay: DelayProducer;
9
+ getDelay: DelayProducer<T>;
10
10
  retries: number;
11
11
  isConsecutiveRule: boolean;
12
12
  isBackgroundMode: boolean;
13
13
  };
14
- export type PollConfig = {
14
+ export type PollConfig<T> = {
15
15
  type?: PollType | Nil;
16
- delay?: number | UnsafeMinMax | PollDelayFunc | Nil;
16
+ delay?: number | UnsafeMinMax | PollDelayFunc<T> | Nil;
17
17
  retries?: number | Nil;
18
18
  isConsecutiveRule?: boolean | Nil;
19
19
  isBackgroundMode?: boolean | Nil;
20
20
  };
21
21
  export type PollType = 'repeat' | 'interval';
22
- export type PollDelayFunc = (state: PollState) => number | UnsafeMinMax | Nil;
23
- type DelayProducer = (state: PollState) => number;
24
- export type PollState = {
22
+ export type PollDelayFunc<T> = (state: PollState<T>) => number | UnsafeMinMax | Nil;
23
+ type DelayProducer<T> = (state: PollState<T>) => number;
24
+ export type PollState<T> = {
25
25
  polls: number;
26
+ value: T;
26
27
  error: any | null;
27
28
  } & Record<RetryKey, number>;
28
29
  export type RetryKey = 'retries' | 'consecutiveRetries';
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/common/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,GAAG,EAAiC,YAAY,EAAE,MAAM,SAAS,CAAC;AAE9F,wBAAgB,eAAe,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,GAAG,GAAG,oBAAoB,CAQ/E;AAiBD,eAAO,MAAM,aAAa,EAAE,iBAM3B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,IAAI,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;AAE3C,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,CAAC,EAAE,QAAQ,GAAG,GAAG,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa,GAAG,GAAG,CAAC;IACpD,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,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,GAAG,YAAY,GAAG,GAAG,CAAC;AAC9E,KAAK,aAAa,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,CAAC;AAElD,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,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":"AAAA,OAAO,EAAqB,GAAG,EAAiC,YAAY,EAAE,MAAM,SAAS,CAAC;AAE9F,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,CAMhD,CAAC;AAEF,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,5 +1,5 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import { PollType } from './config';
3
3
  export declare const visibilityState$: Observable<boolean>;
4
- export declare function getPoller$<T>(type: PollType, source$: Observable<T>, getDelay: () => number): Observable<T>;
4
+ export declare function getPoller$<T>(type: PollType, source$: Observable<T>, getDelay: (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,EAAkE,MAAM,MAAM,CAAC;AAElH,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,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAU3G"}
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"}
@@ -28,5 +28,5 @@ import { Nil } from './common/utils';
28
28
  * @return A function that returns an Observable that will resubscribe to the source on \
29
29
  * complete or error
30
30
  */
31
- export declare function poll<T>(config?: PollConfig | Nil): MonoTypeOperatorFunction<T>;
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,GAAG,GAAG,GAAG,wBAAwB,CAAC,CAAC,CAAC,CA4C9E"}
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,CA+CjF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rxjs-poll",
3
- "version": "1.0.4",
3
+ "version": "1.1.0",
4
4
  "description": "RxJS operator for polling",
5
5
  "keywords": [
6
6
  "rxjs",
@@ -26,17 +26,19 @@
26
26
  },
27
27
  "scripts": {
28
28
  "release": "release-it",
29
- "build": "npm run util:clean && npm run build:esm && npm run build:cjs && npm run build:types && npm run util:packageJson",
29
+ "build": "npm run util:clean:dist && npm run build:esm && npm run build:cjs && npm run build:types && npm run util:packageJson",
30
30
  "build:esm": "tsc -p ./ts-configs/tsconfig.esm.json",
31
31
  "build:cjs": "tsc -p ./ts-configs/tsconfig.cjs.json",
32
32
  "build:types": "tsc -p ./ts-configs/tsconfig.types.json",
33
33
  "prepare": "is-ci || husky",
34
34
  "prepublishOnly": "npm run build",
35
35
  "test": "jest --verbose",
36
+ "test:coverage": "npm run util:clean:coverage && npm run test -- --collect-coverage",
36
37
  "lint": "eslint ./src ./tests --ext .js,.ts",
37
38
  "lint:fix": "npm run lint -- --fix",
38
39
  "util:packageJson": "ts-node ./scripts/generate-package-json.ts",
39
- "util:clean": "fse remove ./dist",
40
+ "util:clean:dist": "fse remove ./dist",
41
+ "util:clean:coverage": "fse remove ./coverage",
40
42
  "util:commitlint": "commitlint",
41
43
  "util:lint-staged": "lint-staged"
42
44
  },