rxjs-poll 1.1.3 → 1.1.5

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/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2024 Marin Muštra
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Marin Muštra
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,217 +1,197 @@
1
- # RxJS Polling Operator
2
-
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
- <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>
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>
7
- <a href="https://github.com/mmustra/rxjs-poll/commits/main" target="_blank" rel="noopener noreferrer nofollow"><img alt="GitHub last commit (branch)" src="https://img.shields.io/github/last-commit/mmustra/rxjs-poll/main?label=activity"></a>
8
-
9
- Library provides RxJS operator that can do polling on any completed source.
10
-
11
- **rxjs-poll** features:
12
-
13
- - Two types of polling; `repeat` and `interval`
14
- - Delay/retry can be a **static**, **random** or **dynamic** number
15
- - Any **delay/backoff strategy** you can think of
16
- - Background mode (browser only) to **pause/resume polling** on page visibility
17
- - Consecutive rule for **different retry attempts** approach
18
- - Config **input guard** for unexpected values
19
- - Supports browser and node environment
20
- - Compatible with RxJS v7+
21
- - Provides cjs and esm
22
-
23
- ## Installation
24
-
25
- ```shell
26
- npm install rxjs-poll --save
27
- ```
28
-
29
- ## Usage
30
-
31
- Let's say that you want to poll fun facts about cats. This is the request:
32
-
33
- ```typescript
34
- import { ajax } from 'rxjs/ajax';
35
- import { map } from 'rxjs';
36
-
37
- interface CatFact {
38
- fact: string;
39
- length: number;
40
- }
41
-
42
- const request$ = ajax<CatFact>({ url: 'https://catfact.ninja/fact' }).pipe(
43
- map(({ response }) => response)
44
- );
45
- ```
46
-
47
- ### Default
48
-
49
- Plug and play, just add an operator to your pipe and poll.
50
-
51
- [Demo](https://stackblitz.com/edit/rxjs-6nrm8l?devToolsHeight=100&file=index.ts)
52
-
53
- ```typescript
54
- import { poll } from 'rxjs-poll';
55
- import { takeWhile } from 'rxjs';
56
-
57
- request$
58
- .pipe(
59
- poll(),
60
- takeWhile(({ length }) => length < 200, true)
61
- )
62
- .subscribe({ next: console.log });
63
- ```
64
-
65
- ### Basic
66
-
67
- With a config file you can customize polling to your specific needs.
68
-
69
- [Demo](https://stackblitz.com/edit/rxjs-obywba?devToolsHeight=100&file=index.ts)
70
-
71
- ```typescript
72
- import { poll } from 'rxjs-poll';
73
- import { takeWhile } from 'rxjs';
74
-
75
- request$
76
- .pipe(
77
- poll({
78
- type: 'interval', // Drops uncompleted source after delay
79
- retries: Infinity, // Will never throw
80
- delay: [1000, 2000], // Random delay with min and max values
81
- }),
82
- takeWhile(({ length }) => length < 200, true)
83
- )
84
- .subscribe({ next: console.log });
85
- ```
86
-
87
- ### Advance
88
-
89
- Use delay function with provided [state](#PollState) when you need unique delay or backoff strategies for polling/retrying.
90
-
91
- [Demo](https://stackblitz.com/edit/rxjs-awthuj?devtoolsheight=100&file=index.ts)
92
-
93
- ```typescript
94
- import { poll } from 'rxjs-poll';
95
- import { takeWhile } from 'rxjs';
96
-
97
- request$
98
- .pipe(
99
- poll({
100
- retries: 6,
101
- delay: ({ value, error, consecutiveRetries }) => {
102
- const delay = 1000;
103
-
104
- if (error) {
105
- // Exponential backoff strategy
106
- // With 6 retries, throws after ~1min of consecutive errors
107
- return Math.pow(2, consecutiveRetries - 1) * delay;
108
- }
109
-
110
- // Faster polls for shorter facts
111
- return value.length < 100 ? delay * 0.3 : delay;
112
- },
113
- }),
114
- takeWhile(({ length }) => length < 200, true)
115
- )
116
- .subscribe({ next: console.log });
117
- ```
118
-
119
- ## API
120
-
121
- ### poll(config)
122
-
123
- It is a mono type operator function that will poll once a **source completes**. If the source is not completed, the operator will wait until that happens. First emission is sent immediately, then the polling will start. Values will emit until stopped by the user.
124
-
125
- ```typescript
126
- source$.pipe(poll({ type: 'repeat', retries: 10 }));
127
- ```
128
-
129
- ### PollConfig
130
-
131
- Configuration object used to setup polling mechanism. Any non-assigned, negative or invalid values will be replaced with default configuration values.
132
-
133
- ```typescript
134
- interface PollConfig {
135
- /**
136
- * Poller type
137
- *
138
- * repeat - polls after current source completes
139
- * interval - polls in intervals and drops source that is not complete
140
- */
141
- type: 'repeat' | 'interval';
142
-
143
- /**
144
- * Delay between polls and retries
145
- *
146
- * Use static or random number with min and max values. If you need
147
- * dynamic number, use function and return either static or random number.
148
- * Numbers should be positive and finate.
149
- */
150
- delay:
151
- | number
152
- | [number | number]
153
- | ((state: PollState) => number | [number | number]);
154
-
155
- /**
156
- * Number of retries
157
- *
158
- * Number of retries before it will throw. Number should be positive, but
159
- * it can be Infinity if you don't care about errors.
160
- */
161
- retries: number;
162
-
163
- /**
164
- * Retry's counting approach
165
- *
166
- * If true, then only consecutive error count will be checked against
167
- * retires. Consecutive error count is reset to 0 on successful response.
168
- * If false, then any number of errors will be checked against retires.
169
- */
170
- isConsecutiveRule: boolean;
171
-
172
- /**
173
- * Pause/resume polling - browser only
174
- *
175
- * Polling can be paused/resumed depending on page visibility.
176
- * ex. If this is false and you switch to another tab, polling is paused.
177
- * Once you go back, polling resumes.
178
- */
179
- isBackgroundMode: boolan;
180
- }
181
- ```
182
-
183
- #### Defaults
184
-
185
- ```typescript
186
- const config: PollConfig = {
187
- type: 'repeat',
188
- delay: 1000,
189
- retries: 3,
190
- isConsecutiveRule: true,
191
- isBackgroundMode: false,
192
- };
193
- ```
194
-
195
- ### PollState
196
-
197
- Provided as argument of delay function. Use it to set delay for polls and retries.
198
-
199
- ```typescript
200
- interface PollState<T> {
201
- polls: number; // current count of successful polls
202
- retries: number; // current count of retries
203
- consecutiveRetries: number; // current count of consecutive retries
204
- value: T; // value emitted from the source
205
- error: any | null; // "any" when retrying and "null" when polling
206
- }
207
-
208
- // polls + retries = total attempts
209
- ```
210
-
211
- ## Credits
212
-
213
- This library is inspired by the [rx-polling](https://github.com/jiayihu/rx-polling) that creates Observable for polling.
214
-
215
- ## License
216
-
217
- [MIT](LICENSE)
1
+ # RxJS Polling Operator
2
+
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
+ <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>
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>
7
+ <a href="https://github.com/mmustra/rxjs-poll/commits/main" target="_blank" rel="noopener noreferrer nofollow"><img alt="GitHub last commit (branch)" src="https://img.shields.io/github/last-commit/mmustra/rxjs-poll/main?label=activity"></a>
8
+
9
+ A flexible RxJS operator library that enables polling on any completed observable source with advanced configuration options.
10
+
11
+ ## 🌟 Features
12
+
13
+ - **Two polling modes**: `repeat` and `interval` to suit different use cases
14
+ - **Flexible delay configuration**: Use static, random, or dynamic delay values
15
+ - **Custom backoff strategies**: Implement any delay/backoff logic you need
16
+ - **Background mode**: Automatically pause/resume polling based on page visibility (browser only)
17
+ - **Consecutive error handling**: Configure how retry attempts are managed
18
+ - **Input validation**: Guards against unexpected configuration values
19
+ - **Cross-platform**: Works in both browser and Node.js environments
20
+ - **Modern compatibility**: Compatible with RxJS v7+
21
+ - **Multiple module formats**: Supports CommonJS (CJS) and ES Modules (ESM)
22
+
23
+ ## 📦 Installation
24
+
25
+ ```shell
26
+ npm install rxjs-poll --save
27
+ ```
28
+
29
+ ## 🔄 How It Works
30
+
31
+ The emission(s) passes through until the source completes. Once the source completes, polling begins according to your configuration. Depending on the type: `repeat` mode waits for source to complete before polling again, while `interval` mode polls at fixed intervals, canceling ongoing operations. Error handling respects retry settings and consecutive rules.
32
+
33
+ ## 📚 Usage Examples
34
+
35
+ ### Default Configuration
36
+
37
+ [▶️ Live Demo](https://stackblitz.com/edit/rxjs-6nrm8l?devToolsHeight=100&file=index.ts)
38
+
39
+ Plug and play - just add the operator to your pipe and start polling.
40
+
41
+ ```typescript
42
+ import { poll } from 'rxjs-poll';
43
+ import { takeWhile } from 'rxjs';
44
+
45
+ request$
46
+ .pipe(
47
+ poll(), // Use default settings
48
+ takeWhile(({ length }) => length < 200, true)
49
+ )
50
+ .subscribe({ next: console.log });
51
+ ```
52
+
53
+ ### Custom Configuration
54
+
55
+ [▶️ Live Demo](https://stackblitz.com/edit/rxjs-obywba?devToolsHeight=100&file=index.ts)
56
+
57
+ Customize polling behavior with a configuration object.
58
+
59
+ ```typescript
60
+ import { poll } from 'rxjs-poll';
61
+ import { takeWhile } from 'rxjs';
62
+
63
+ request$
64
+ .pipe(
65
+ poll({
66
+ type: 'interval', // Drops uncompleted source after delay
67
+ retries: Infinity, // Will never throw
68
+ delay: [1000, 2000], // Random delay between 1 and 2 seconds
69
+ }),
70
+ takeWhile(({ length }) => length < 200, true)
71
+ )
72
+ .subscribe({ next: console.log });
73
+ ```
74
+
75
+ ### Advanced Strategies
76
+
77
+ [▶️ Live Demo](https://stackblitz.com/edit/rxjs-awthuj?devtoolsheight=100&file=index.ts)
78
+
79
+ Implement complex polling strategies with dynamic delay functions.
80
+
81
+ ```typescript
82
+ import { poll } from 'rxjs-poll';
83
+ import { takeWhile } from 'rxjs';
84
+
85
+ request$
86
+ .pipe(
87
+ poll({
88
+ retries: 6,
89
+ delay: ({ value, error, consecutiveRetries }) => {
90
+ const baseDelay = 1000;
91
+
92
+ if (error) {
93
+ // Exponential backoff strategy
94
+ // With 6 retries, throws after ~1min of consecutive errors
95
+ return Math.pow(2, consecutiveRetries - 1) * baseDelay;
96
+ }
97
+
98
+ // Adaptive polling based on response data
99
+ return value.length < 100 ? baseDelay * 0.3 : baseDelay;
100
+ },
101
+ }),
102
+ takeWhile(({ length }) => length < 200, true)
103
+ )
104
+ .subscribe({ next: console.log });
105
+ ```
106
+
107
+ ## 📋 API Reference
108
+
109
+ ### `poll(config?: PollConfig)`
110
+
111
+ Creates a polling operator that will begin polling once the source observable completes.
112
+
113
+ #### PollConfig
114
+
115
+ ```typescript
116
+ interface PollConfig {
117
+ /**
118
+ * Defines the polling behavior:
119
+ * - 'repeat': Polls after current source completes
120
+ * - 'interval': Polls in intervals, dropping any ongoing source operations
121
+ * @default 'repeat'
122
+ */
123
+ type?: 'repeat' | 'interval';
124
+
125
+ /**
126
+ * Delay between polls and retries in milliseconds
127
+ *
128
+ * Can be:
129
+ * - A static number (e.g., 1000 for 1 second)
130
+ * - An array with [min, max] for random delay
131
+ * - A function returning either of the above based on state
132
+ * @default 1000
133
+ */
134
+ delay?:
135
+ | number
136
+ | [number, number]
137
+ | ((state: PollState) => number | [number, number]);
138
+
139
+ /**
140
+ * Maximum number of retry attempts before throwing an error
141
+ * Use Infinity to keep retrying indefinitely
142
+ * @default 3
143
+ */
144
+ retries?: number;
145
+
146
+ /**
147
+ * Controls how retries are counted:
148
+ * - true: Only consecutive errors count toward retry limit
149
+ * (resets counter on success)
150
+ * - false: All errors count toward retry limit regardless of
151
+ * successful responses between them
152
+ * @default true
153
+ */
154
+ isConsecutiveRule?: boolean;
155
+
156
+ /**
157
+ * [Browser only] Controls polling behavior when page isn't visible
158
+ * - true: Continue polling when tab/window isn't focused
159
+ * - false: Pause polling when tab/window loses focus, resume when focus returns
160
+ * @default false
161
+ */
162
+ isBackgroundMode?: boolean;
163
+ }
164
+ ```
165
+
166
+ ### PollState
167
+
168
+ State object passed to dynamic delay functions:
169
+
170
+ ```typescript
171
+ interface PollState<T> {
172
+ /** Number of successful poll operations */
173
+ polls: number;
174
+
175
+ /** Total number of retry attempts */
176
+ retries: number;
177
+
178
+ /** Number of consecutive retry attempts without success */
179
+ consecutiveRetries: number;
180
+
181
+ /** Latest value emitted from the source */
182
+ value: T;
183
+
184
+ /** Error object when retrying, null during normal polling */
185
+ error: any | null;
186
+ }
187
+
188
+ // Note: polls + retries = total attempts
189
+ ```
190
+
191
+ ## 🙌 Credits
192
+
193
+ This library is inspired by [rx-polling](https://github.com/jiayihu/rx-polling), which creates an Observable for polling.
194
+
195
+ ## 📄 License
196
+
197
+ [MIT](LICENSE)
@@ -1,18 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.controlConfig = exports.normalizeConfig = void 0;
3
+ exports.controlConfig = void 0;
4
+ exports.normalizeConfig = normalizeConfig;
4
5
  var utils_1 = require("./utils");
5
6
  function normalizeConfig(config) {
6
- var _a;
7
+ var _a, _b;
7
8
  return {
8
9
  type: (_a = config === null || config === void 0 ? void 0 : config.type) !== null && _a !== void 0 ? _a : exports.controlConfig.type,
9
10
  getDelay: (0, utils_1.isFunction)(config === null || config === void 0 ? void 0 : config.delay) ? delayProducer(config.delay) : defaultProducer(config === null || config === void 0 ? void 0 : config.delay),
10
11
  retries: (0, utils_1.normalizeNumber)(config === null || config === void 0 ? void 0 : config.retries, exports.controlConfig.retries, false),
11
- isConsecutiveRule: (0, utils_1.isNil)(config === null || config === void 0 ? void 0 : config.isConsecutiveRule) ? true : config.isConsecutiveRule,
12
+ isConsecutiveRule: (_b = config === null || config === void 0 ? void 0 : config.isConsecutiveRule) !== null && _b !== void 0 ? _b : true,
12
13
  isBackgroundMode: Boolean(config === null || config === void 0 ? void 0 : config.isBackgroundMode),
13
14
  };
14
15
  }
15
- exports.normalizeConfig = normalizeConfig;
16
16
  function delayProducer(delayFunc) {
17
17
  return function (state) {
18
18
  var delay = delayFunc(Object.assign({}, state));
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/common/config.ts"],"names":[],"mappings":";;;AAEA,0CAQC;AAVD,iCAAuF;AAEvF,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,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,iBAAiB,mCAAI,IAAI;QACpD,gBAAgB,EAAE,OAAO,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,CAAC;KACpD,CAAC;AACJ,CAAC;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;CACf,CAAC"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPoller$ = exports.visibilityState$ = void 0;
3
+ exports.visibilityState$ = void 0;
4
+ exports.getPoller$ = getPoller$;
4
5
  var rxjs_1 = require("rxjs");
5
6
  var utils_1 = require("./utils");
6
7
  exports.visibilityState$ = pageVisibility$().pipe((0, rxjs_1.shareReplay)({ bufferSize: 1, refCount: true }));
@@ -15,7 +16,6 @@ function getPoller$(type, source$, getDelay) {
15
16
  }))
16
17
  : dynamicInterval$(function () { return getDelay(lastValue); }).pipe((0, rxjs_1.switchMap)(function () { return completed$; }));
17
18
  }
18
- exports.getPoller$ = getPoller$;
19
19
  function pageVisibility$() {
20
20
  return (0, utils_1.isBrowser)() ? (0, rxjs_1.fromEvent)(document, 'visibilitychange').pipe((0, rxjs_1.startWith)(null), (0, rxjs_1.map)(utils_1.isDocumentVisible)) : (0, rxjs_1.of)(true);
21
21
  }
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"observables.js","sourceRoot":"","sources":["../../../src/common/observables.ts"],"names":[],"mappings":";;;AAOA,gCAgBC;AAvBD,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;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,44 +1,40 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isDocumentVisible = exports.isBrowser = exports.isNil = exports.isFunction = exports.randomNumber = exports.sampleNumber = exports.normalizeNumber = void 0;
3
+ exports.normalizeNumber = normalizeNumber;
4
+ exports.sampleNumber = sampleNumber;
5
+ exports.randomNumber = randomNumber;
6
+ exports.isFunction = isFunction;
7
+ exports.isNil = isNil;
8
+ exports.isBrowser = isBrowser;
9
+ exports.isDocumentVisible = isDocumentVisible;
4
10
  function normalizeNumber(value, defaultValue, isFinite) {
5
11
  if (defaultValue === void 0) { defaultValue = 0; }
6
12
  if (isFinite === void 0) { isFinite = true; }
7
13
  if (Array.isArray(value)) {
8
- return value.map(function (n) { return normalizeNumber(n, defaultValue); });
9
- }
10
- var singleValue = value !== null && value !== void 0 ? value : defaultValue;
11
- if (Number.isNaN(singleValue)) {
12
- singleValue = defaultValue;
14
+ return value.map(function (n) { return normalizeNumber(n, defaultValue, isFinite); });
13
15
  }
14
- if (isFinite && !Number.isFinite(singleValue)) {
15
- singleValue = defaultValue;
16
+ var normalizedValue = value !== null && value !== void 0 ? value : defaultValue;
17
+ if (Number.isNaN(normalizedValue) || (isFinite && !Number.isFinite(normalizedValue))) {
18
+ normalizedValue = defaultValue;
16
19
  }
17
- return Math.abs(singleValue);
20
+ return Math.abs(normalizedValue);
18
21
  }
19
- exports.normalizeNumber = normalizeNumber;
20
22
  function sampleNumber(value) {
21
- return Array.isArray(value) ? randomNumber.apply(void 0, value) : value;
23
+ return Array.isArray(value) ? randomNumber(value[0], value[1]) : value;
22
24
  }
23
- exports.sampleNumber = sampleNumber;
24
25
  function randomNumber(min, max) {
25
26
  return Math.floor(Math.random() * (max - min + 1)) + min;
26
27
  }
27
- exports.randomNumber = randomNumber;
28
28
  function isFunction(value) {
29
29
  return typeof value === 'function';
30
30
  }
31
- exports.isFunction = isFunction;
32
31
  function isNil(value) {
33
32
  return value == null;
34
33
  }
35
- exports.isNil = isNil;
36
34
  function isBrowser() {
37
35
  return typeof window !== 'undefined' && typeof window.document !== 'undefined';
38
36
  }
39
- exports.isBrowser = isBrowser;
40
37
  function isDocumentVisible() {
41
38
  return !document.hidden;
42
39
  }
43
- exports.isDocumentVisible = isDocumentVisible;
44
40
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/common/utils.ts"],"names":[],"mappings":";;;AAOA,SAAgB,eAAe,CAC7B,KAAkC,EAClC,YAAgB,EAChB,QAAe;IADf,6BAAA,EAAA,gBAAgB;IAChB,yBAAA,EAAA,eAAe;IAEf,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,eAAe,CAAC,CAAC,EAAE,YAAY,CAAC,EAAhC,CAAgC,CAAW,CAAC;IACtE,CAAC;IAED,IAAI,WAAW,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,YAAY,CAAC;IAExC,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9B,WAAW,GAAG,YAAY,CAAC;IAC7B,CAAC;IAED,IAAI,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,WAAW,GAAG,YAAY,CAAC;IAC7B,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC/B,CAAC;AApBD,0CAoBC;AAED,SAAgB,YAAY,CAAC,KAAsB;IACjD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,eAAI,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC;AAC/D,CAAC;AAFD,oCAEC;AAED,SAAgB,YAAY,CAAC,GAAW,EAAE,GAAW;IACnD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AAC3D,CAAC;AAFD,oCAEC;AAED,SAAgB,UAAU,CAAC,KAAU;IACnC,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC;AACrC,CAAC;AAFD,gCAEC;AAED,SAAgB,KAAK,CAAC,KAAU;IAE9B,OAAO,KAAK,IAAI,IAAI,CAAC;AACvB,CAAC;AAHD,sBAGC;AAED,SAAgB,SAAS;IACvB,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,CAAC;AACjF,CAAC;AAFD,8BAEC;AAED,SAAgB,iBAAiB;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC1B,CAAC;AAFD,8CAEC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/common/utils.ts"],"names":[],"mappings":";;AAOA,0CAgBC;AAED,oCAEC;AAED,oCAEC;AAED,gCAEC;AAED,sBAEC;AAED,8BAEC;AAED,8CAEC;AAxCD,SAAgB,eAAe,CAC7B,KAAkC,EAClC,YAAgB,EAChB,QAAe;IADf,6BAAA,EAAA,gBAAgB;IAChB,yBAAA,EAAA,eAAe;IAEf,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,eAAe,CAAC,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,EAA1C,CAA0C,CAAW,CAAC;IAChF,CAAC;IAED,IAAI,eAAe,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,YAAY,CAAC;IAE5C,IAAI,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;QACrF,eAAe,GAAG,YAAY,CAAC;IACjC,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACnC,CAAC;AAED,SAAgB,YAAY,CAAC,KAAsB;IACjD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACzE,CAAC;AAED,SAAgB,YAAY,CAAC,GAAW,EAAE,GAAW;IACnD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AAC3D,CAAC;AAED,SAAgB,UAAU,CAAC,KAAc;IACvC,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC;AACrC,CAAC;AAED,SAAgB,KAAK,CAAC,KAAc;IAClC,OAAO,KAAK,IAAI,IAAI,CAAC;AACvB,CAAC;AAED,SAAgB,SAAS;IACvB,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,CAAC;AACjF,CAAC;AAED,SAAgB,iBAAiB;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC1B,CAAC"}
package/dist/cjs/poll.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.poll = void 0;
3
+ exports.poll = poll;
4
4
  var rxjs_1 = require("rxjs");
5
5
  var config_1 = require("./common/config");
6
6
  var observables_1 = require("./common/observables");
@@ -39,5 +39,4 @@ function poll(config) {
39
39
  }));
40
40
  };
41
41
  }
42
- exports.poll = poll;
43
42
  //# sourceMappingURL=poll.js.map
@@ -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,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
+ {"version":3,"file":"poll.js","sourceRoot":"","sources":["../../src/poll.ts"],"names":[],"mappings":";;AAiCA,oBA6CC;AA9ED,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;wBACT,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;wBACpB,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;wBACnB,KAAK,CAAC,kBAAkB,IAAI,CAAC,CAAC;wBAE9B,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;QAhBT,CAgBS,CACV,CACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
@@ -1,10 +1,10 @@
1
- import { isFunction, isNil, normalizeNumber, sampleNumber } from './utils';
1
+ import { isFunction, normalizeNumber, sampleNumber } from './utils';
2
2
  export function normalizeConfig(config) {
3
3
  return {
4
4
  type: config?.type ?? controlConfig.type,
5
5
  getDelay: isFunction(config?.delay) ? delayProducer(config.delay) : defaultProducer(config?.delay),
6
6
  retries: normalizeNumber(config?.retries, controlConfig.retries, false),
7
- isConsecutiveRule: isNil(config?.isConsecutiveRule) ? true : config.isConsecutiveRule,
7
+ isConsecutiveRule: config?.isConsecutiveRule ?? true,
8
8
  isBackgroundMode: Boolean(config?.isBackgroundMode),
9
9
  };
10
10
  }
@@ -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,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
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/common/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAO,eAAe,EAAE,YAAY,EAAgB,MAAM,SAAS,CAAC;AAEvF,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,MAAM,EAAE,iBAAiB,IAAI,IAAI;QACpD,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;CACf,CAAC"}
@@ -1,18 +1,15 @@
1
1
  export function normalizeNumber(value, defaultValue = 0, isFinite = true) {
2
2
  if (Array.isArray(value)) {
3
- return value.map((n) => normalizeNumber(n, defaultValue));
3
+ return value.map((n) => normalizeNumber(n, defaultValue, isFinite));
4
4
  }
5
- let singleValue = value ?? defaultValue;
6
- if (Number.isNaN(singleValue)) {
7
- singleValue = defaultValue;
5
+ let normalizedValue = value ?? defaultValue;
6
+ if (Number.isNaN(normalizedValue) || (isFinite && !Number.isFinite(normalizedValue))) {
7
+ normalizedValue = defaultValue;
8
8
  }
9
- if (isFinite && !Number.isFinite(singleValue)) {
10
- singleValue = defaultValue;
11
- }
12
- return Math.abs(singleValue);
9
+ return Math.abs(normalizedValue);
13
10
  }
14
11
  export function sampleNumber(value) {
15
- return Array.isArray(value) ? randomNumber(...value) : value;
12
+ return Array.isArray(value) ? randomNumber(value[0], value[1]) : value;
16
13
  }
17
14
  export function randomNumber(min, max) {
18
15
  return Math.floor(Math.random() * (max - min + 1)) + min;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/common/utils.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,eAAe,CAC7B,KAAkC,EAClC,YAAY,GAAG,CAAC,EAChB,QAAQ,GAAG,IAAI;IAEf,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,YAAY,CAAC,CAAW,CAAC;IACtE,CAAC;IAED,IAAI,WAAW,GAAG,KAAK,IAAI,YAAY,CAAC;IAExC,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9B,WAAW,GAAG,YAAY,CAAC;IAC7B,CAAC;IAED,IAAI,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,WAAW,GAAG,YAAY,CAAC;IAC7B,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAsB;IACjD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,GAAW;IACnD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAU;IACnC,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,KAAU;IAE9B,OAAO,KAAK,IAAI,IAAI,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/common/utils.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,eAAe,CAC7B,KAAkC,EAClC,YAAY,GAAG,CAAC,EAChB,QAAQ,GAAG,IAAI;IAEf,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAW,CAAC;IAChF,CAAC;IAED,IAAI,eAAe,GAAG,KAAK,IAAI,YAAY,CAAC;IAE5C,IAAI,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;QACrF,eAAe,GAAG,YAAY,CAAC;IACjC,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAsB;IACjD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,GAAW;IACnD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,KAAc;IAClC,OAAO,KAAK,IAAI,IAAI,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC1B,CAAC"}
@@ -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,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
+ {"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;oBACT,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;oBACpB,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;oBACnB,KAAK,CAAC,kBAAkB,IAAI,CAAC,CAAC;oBAE9B,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 +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,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
+ {"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"}
@@ -3,8 +3,8 @@ export declare function normalizeNumber(value: UnsafeMinMax | Nil, defaultValue?
3
3
  export declare function normalizeNumber(value: number | UnsafeMinMax | Nil, defaultValue?: number, isFinite?: boolean): number | MinMax;
4
4
  export declare function sampleNumber(value: number | MinMax): number;
5
5
  export declare function randomNumber(min: number, max: number): number;
6
- export declare function isFunction(value: any): value is (...args: any[]) => any;
7
- export declare function isNil(value: any): value is Nil;
6
+ export declare function isFunction(value: unknown): value is (...args: any[]) => any;
7
+ export declare function isNil(value: unknown): value is Nil;
8
8
  export declare function isBrowser(): boolean;
9
9
  export declare function isDocumentVisible(): boolean;
10
10
  export type Nil = null | undefined;
@@ -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;AAuBnB,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,GAAG,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAEvE;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,GAAG,CAG9C;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,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,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,GAAG,CAElD;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 +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,CA+CjF"}
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"}
package/package.json CHANGED
@@ -1,102 +1,103 @@
1
- {
2
- "name": "rxjs-poll",
3
- "version": "1.1.3",
4
- "description": "RxJS operator for polling",
5
- "keywords": [
6
- "rxjs",
7
- "operator",
8
- "poll",
9
- "polling",
10
- "long-polling",
11
- "network",
12
- "http",
13
- "ajax"
14
- ],
15
- "author": {
16
- "name": "Marin Muštra",
17
- "url": "https://www.linkedin.com/in/marin-mustra"
18
- },
19
- "license": "MIT",
20
- "repository": {
21
- "type": "git",
22
- "url": "https://github.com/mmustra/rxjs-poll.git"
23
- },
24
- "bugs": {
25
- "url": "https://github.com/mmustra/rxjs-poll/issues"
26
- },
27
- "scripts": {
28
- "release": "release-it",
29
- "build": "npm run util:clean:dist && npm run build:esm && npm run build:cjs && npm run build:types && npm run util:packageJson",
30
- "build:esm": "tsc -p ./ts-configs/tsconfig.esm.json",
31
- "build:cjs": "tsc -p ./ts-configs/tsconfig.cjs.json",
32
- "build:types": "tsc -p ./ts-configs/tsconfig.types.json",
33
- "prepare": "is-ci || husky",
34
- "prepublishOnly": "npm run build",
35
- "test": "jest --verbose",
36
- "test:coverage": "npm run util:clean:coverage && npm run test -- --collect-coverage",
37
- "lint": "eslint ./src ./tests --ext .js,.ts",
38
- "lint:fix": "npm run lint -- --fix",
39
- "util:packageJson": "ts-node ./scripts/generate-package-json.ts",
40
- "util:clean:dist": "fse remove ./dist",
41
- "util:clean:coverage": "fse remove ./coverage",
42
- "util:commitlint": "commitlint",
43
- "util:lint-staged": "lint-staged"
44
- },
45
- "main": "./dist/cjs/index.js",
46
- "module": "./dist/esm/index.js",
47
- "types": "./dist/types/index.d.ts",
48
- "sideEffects": false,
49
- "files": [
50
- "dist/**/*"
51
- ],
52
- "exports": {
53
- ".": {
54
- "types": "./dist/types/index.d.ts",
55
- "node": "./dist/cjs/index.js",
56
- "require": "./dist/cjs/index.js",
57
- "import": "./dist/esm/index.js",
58
- "default": "./dist/esm/index.js"
59
- }
60
- },
61
- "lint-staged": {
62
- "*.{js,ts}": [
63
- "npm run lint:fix"
64
- ]
65
- },
66
- "peerDependencies": {
67
- "rxjs": ">=7 || ^8.0.0-alpha.0 || ^8.0.0-beta.0 || ^8.0.0-rc.0"
68
- },
69
- "devDependencies": {
70
- "@atao60/fse-cli": "^0.1.9",
71
- "@commitlint/cli": "^19.3.0",
72
- "@commitlint/config-conventional": "^19.2.2",
73
- "@commitlint/types": "^19.0.3",
74
- "@release-it/conventional-changelog": "^8.0.1",
75
- "@types/fs-extra": "^11.0.4",
76
- "@types/jest": "^29.5.12",
77
- "@types/node": "^20.12.10",
78
- "@typescript-eslint/eslint-plugin": "^7.8.0",
79
- "@typescript-eslint/parser": "^7.8.0",
80
- "eslint": "^8.57.0",
81
- "eslint-config-prettier": "^9.1.0",
82
- "eslint-config-xo": "^0.45.0",
83
- "eslint-config-xo-typescript": "^4.0.0",
84
- "eslint-plugin-import": "^2.29.1",
85
- "eslint-plugin-jest-formatting": "^3.1.0",
86
- "eslint-plugin-prettier": "^5.1.3",
87
- "eslint-plugin-simple-import-sort": "^12.1.0",
88
- "eslint-plugin-unused-imports": "^3.2.0",
89
- "fs-extra": "^11.2.0",
90
- "husky": "^9.0.11",
91
- "is-ci": "^3.0.1",
92
- "jest": "^29.7.0",
93
- "jest-environment-jsdom": "^29.7.0",
94
- "jest-environment-node": "^29.7.0",
95
- "lint-staged": "^15.2.2",
96
- "release-it": "^17.2.1",
97
- "rxjs": "^7.8.1",
98
- "ts-jest": "^29.1.2",
99
- "ts-node": "^10.9.2",
100
- "typescript": "^5.4.5"
101
- }
102
- }
1
+ {
2
+ "name": "rxjs-poll",
3
+ "version": "1.1.5",
4
+ "description": "RxJS operator for polling",
5
+ "keywords": [
6
+ "rxjs",
7
+ "operator",
8
+ "poll",
9
+ "polling",
10
+ "long-polling",
11
+ "network",
12
+ "http",
13
+ "ajax"
14
+ ],
15
+ "author": {
16
+ "name": "Marin Muštra",
17
+ "url": "https://www.linkedin.com/in/marin-mustra"
18
+ },
19
+ "license": "MIT",
20
+ "repository": {
21
+ "type": "git",
22
+ "url": "https://github.com/mmustra/rxjs-poll.git"
23
+ },
24
+ "bugs": {
25
+ "url": "https://github.com/mmustra/rxjs-poll/issues"
26
+ },
27
+ "scripts": {
28
+ "release": "release-it",
29
+ "build": "npm run util:clean:dist && npm run build:esm && npm run build:cjs && npm run build:types && npm run util:packageJson",
30
+ "build:esm": "tsc -p ./ts-configs/tsconfig.esm.json",
31
+ "build:cjs": "tsc -p ./ts-configs/tsconfig.cjs.json",
32
+ "build:types": "tsc -p ./ts-configs/tsconfig.types.json",
33
+ "prepare": "is-ci || husky",
34
+ "prepublishOnly": "npm run build",
35
+ "test": "jest --verbose",
36
+ "test:coverage": "npm run util:clean:coverage && npm run test -- --collect-coverage",
37
+ "lint": "eslint ./src ./tests",
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",
40
+ "util:clean:dist": "rimraf ./dist --no-preserve-root --no-interactive",
41
+ "util:clean:coverage": "rimraf ./coverage --no-preserve-root --no-interactive",
42
+ "util:commitlint": "commitlint",
43
+ "util:lint-staged": "lint-staged"
44
+ },
45
+ "main": "./dist/cjs/index.js",
46
+ "module": "./dist/esm/index.js",
47
+ "types": "./dist/types/index.d.ts",
48
+ "sideEffects": false,
49
+ "files": [
50
+ "dist/**/*"
51
+ ],
52
+ "exports": {
53
+ ".": {
54
+ "types": "./dist/types/index.d.ts",
55
+ "node": "./dist/cjs/index.js",
56
+ "require": "./dist/cjs/index.js",
57
+ "import": "./dist/esm/index.js",
58
+ "default": "./dist/esm/index.js"
59
+ }
60
+ },
61
+ "lint-staged": {
62
+ "*.{js,ts}": [
63
+ "npm run lint:fix"
64
+ ]
65
+ },
66
+ "peerDependencies": {
67
+ "rxjs": ">=7 || ^8.0.0-alpha.0 || ^8.0.0-beta.0 || ^8.0.0-rc.0"
68
+ },
69
+ "devDependencies": {
70
+ "@commitlint/cli": "^19.8.1",
71
+ "@commitlint/config-conventional": "^19.8.1",
72
+ "@commitlint/types": "^19.8.1",
73
+ "@release-it/conventional-changelog": "^10.0.1",
74
+ "@types/fs-extra": "^11.0.4",
75
+ "@types/jest": "^30.0.0",
76
+ "@types/node": "^24.0.1",
77
+ "@typescript-eslint/eslint-plugin": "^8.34.0",
78
+ "@typescript-eslint/parser": "^8.34.0",
79
+ "cross-env": "^7.0.3",
80
+ "eslint": "^9.29.0",
81
+ "eslint-config-prettier": "^10.1.5",
82
+ "eslint-config-xo": "^0.47.0",
83
+ "eslint-config-xo-typescript": "^8.0.1",
84
+ "eslint-plugin-import": "^2.31.0",
85
+ "eslint-plugin-jest-formatting": "^3.1.0",
86
+ "eslint-plugin-prettier": "^5.4.1",
87
+ "eslint-plugin-simple-import-sort": "^12.1.1",
88
+ "eslint-plugin-unused-imports": "^4.1.4",
89
+ "fs-extra": "^11.3.0",
90
+ "husky": "^9.1.7",
91
+ "is-ci": "^4.1.0",
92
+ "jest": "^30.0.0",
93
+ "jest-environment-jsdom": "^30.0.0",
94
+ "jest-environment-node": "^30.0.0",
95
+ "lint-staged": "^16.1.1",
96
+ "release-it": "^19.0.3",
97
+ "rimraf": "^6.0.1",
98
+ "rxjs": "^7.8.2",
99
+ "ts-jest": "^29.4.0",
100
+ "ts-node": "^10.9.2",
101
+ "typescript": "^5.8.3"
102
+ }
103
+ }