rxjs-poll 2.0.7 → 2.0.9
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 +16 -110
- package/dist/cjs/index.js +194 -10
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +190 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/types/common/observables.d.ts +2 -1
- package/dist/types/common/observables.d.ts.map +1 -1
- package/dist/types/common/operators.d.ts.map +1 -1
- package/dist/types/common/utils.d.ts.map +1 -1
- package/dist/types/poll.d.ts +0 -2
- package/dist/types/poll.d.ts.map +1 -1
- package/dist/types/types/observables.type.d.ts +8 -0
- package/dist/types/types/observables.type.d.ts.map +1 -0
- package/dist/types/types/poll.type.d.ts.map +1 -1
- package/dist/umd/index.js +198 -0
- package/dist/umd/index.js.map +1 -0
- package/dist/umd/index.min.js +2 -0
- package/dist/umd/index.min.js.map +1 -0
- package/package.json +129 -103
- package/dist/cjs/common/config.js +0 -52
- package/dist/cjs/common/config.js.map +0 -1
- package/dist/cjs/common/observables.js +0 -25
- package/dist/cjs/common/observables.js.map +0 -1
- package/dist/cjs/common/operators.js +0 -12
- package/dist/cjs/common/operators.js.map +0 -1
- package/dist/cjs/common/strategies.js +0 -41
- package/dist/cjs/common/strategies.js.map +0 -1
- package/dist/cjs/common/utils.js +0 -36
- package/dist/cjs/common/utils.js.map +0 -1
- package/dist/cjs/constants/config.const.js +0 -20
- package/dist/cjs/constants/config.const.js.map +0 -1
- package/dist/cjs/constants/poll.const.js +0 -12
- package/dist/cjs/constants/poll.const.js.map +0 -1
- package/dist/cjs/constants/strategies.const.js +0 -11
- package/dist/cjs/constants/strategies.const.js.map +0 -1
- package/dist/cjs/poll.js +0 -42
- package/dist/cjs/poll.js.map +0 -1
- package/dist/cjs/types/config.type.js +0 -3
- package/dist/cjs/types/config.type.js.map +0 -1
- package/dist/cjs/types/poll.type.js +0 -3
- package/dist/cjs/types/poll.type.js.map +0 -1
- package/dist/cjs/types/strategies.type.js +0 -3
- package/dist/cjs/types/strategies.type.js.map +0 -1
- package/dist/cjs/types/utils.type.js +0 -3
- package/dist/cjs/types/utils.type.js.map +0 -1
- package/dist/esm/common/config.js +0 -41
- package/dist/esm/common/config.js.map +0 -1
- package/dist/esm/common/observables.js +0 -21
- package/dist/esm/common/observables.js.map +0 -1
- package/dist/esm/common/operators.js +0 -7
- package/dist/esm/common/operators.js.map +0 -1
- package/dist/esm/common/strategies.js +0 -38
- package/dist/esm/common/strategies.js.map +0 -1
- package/dist/esm/common/utils.js +0 -26
- package/dist/esm/common/utils.js.map +0 -1
- package/dist/esm/constants/config.const.js +0 -17
- package/dist/esm/constants/config.const.js.map +0 -1
- package/dist/esm/constants/poll.const.js +0 -9
- package/dist/esm/constants/poll.const.js.map +0 -1
- package/dist/esm/constants/strategies.const.js +0 -8
- package/dist/esm/constants/strategies.const.js.map +0 -1
- package/dist/esm/poll.js +0 -39
- package/dist/esm/poll.js.map +0 -1
- package/dist/esm/types/config.type.js +0 -2
- package/dist/esm/types/config.type.js.map +0 -1
- package/dist/esm/types/poll.type.js +0 -2
- package/dist/esm/types/poll.type.js.map +0 -1
- package/dist/esm/types/strategies.type.js +0 -2
- package/dist/esm/types/strategies.type.js.map +0 -1
- package/dist/esm/types/utils.type.js +0 -2
- package/dist/esm/types/utils.type.js.map +0 -1
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getStrategyTimeProducer = getStrategyTimeProducer;
|
|
4
|
-
var utils_1 = require("./utils");
|
|
5
|
-
function getStrategyTimeProducer(mode, config) {
|
|
6
|
-
var _a = config[mode], strategy = _a.strategy, time = _a.time;
|
|
7
|
-
var isDelayMode = mode === 'delay';
|
|
8
|
-
var isConsecutive = config.retry.consecutiveOnly;
|
|
9
|
-
var timeProducer;
|
|
10
|
-
var attemptKey;
|
|
11
|
-
if (isDelayMode) {
|
|
12
|
-
attemptKey = 'pollCount';
|
|
13
|
-
}
|
|
14
|
-
else if (isConsecutive) {
|
|
15
|
-
attemptKey = 'consecutiveRetryCount';
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
attemptKey = 'retryCount';
|
|
19
|
-
}
|
|
20
|
-
switch (strategy) {
|
|
21
|
-
case 'constant':
|
|
22
|
-
timeProducer = function () { return time; };
|
|
23
|
-
break;
|
|
24
|
-
case 'linear':
|
|
25
|
-
timeProducer = function (state) { return state[attemptKey] * time; };
|
|
26
|
-
break;
|
|
27
|
-
case 'exponential':
|
|
28
|
-
timeProducer = function (state) { return Math.pow(2, state[attemptKey] - 1) * time; };
|
|
29
|
-
break;
|
|
30
|
-
case 'random':
|
|
31
|
-
timeProducer = function () { return (0, utils_1.randomNumber)(time[0], time[1]); };
|
|
32
|
-
break;
|
|
33
|
-
case 'dynamic':
|
|
34
|
-
timeProducer = function (state) { return time(state); };
|
|
35
|
-
break;
|
|
36
|
-
default:
|
|
37
|
-
throw new Error('rxjs-poll: Unknown strategy!');
|
|
38
|
-
}
|
|
39
|
-
return timeProducer;
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=strategies.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"strategies.js","sourceRoot":"","sources":["../../../src/common/strategies.ts"],"names":[],"mappings":";;AAMA,0DAoCC;AAtCD,iCAAuC;AAEvC,SAAgB,uBAAuB,CAAI,IAAc,EAAE,MAA+B;IAClF,IAAA,KAAqB,MAAM,CAAC,IAAI,CAAC,EAA/B,QAAQ,cAAA,EAAE,IAAI,UAAiB,CAAC;IACxC,IAAM,WAAW,GAAG,IAAI,KAAK,OAAO,CAAC;IACrC,IAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC;IACnD,IAAI,YAAgC,CAAC;IACrC,IAAI,UAAyB,CAAC;IAE9B,IAAI,WAAW,EAAE,CAAC;QAChB,UAAU,GAAG,WAAW,CAAC;IAC3B,CAAC;SAAM,IAAI,aAAa,EAAE,CAAC;QACzB,UAAU,GAAG,uBAAuB,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,YAAY,CAAC;IAC5B,CAAC;IAED,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,UAAU;YACb,YAAY,GAAG,cAAM,OAAA,IAAc,EAAd,CAAc,CAAC;YACpC,MAAM;QACR,KAAK,QAAQ;YACX,YAAY,GAAG,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,UAAU,CAAC,GAAI,IAAe,EAApC,CAAoC,CAAC;YAC/D,MAAM;QACR,KAAK,aAAa;YAChB,YAAY,GAAG,UAAC,KAAK,IAAK,OAAA,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAI,IAAe,EAArD,CAAqD,CAAC;YAChF,MAAM;QACR,KAAK,QAAQ;YACX,YAAY,GAAG,cAAM,OAAA,IAAA,oBAAY,EAAE,IAAe,CAAC,CAAC,CAAC,EAAG,IAAe,CAAC,CAAC,CAAC,CAAC,EAAtD,CAAsD,CAAC;YAC5E,MAAM;QACR,KAAK,SAAS;YACZ,YAAY,GAAG,UAAC,KAAmB,IAAK,OAAC,IAA2B,CAAC,KAAK,CAAC,EAAnC,CAAmC,CAAC;YAC5E,MAAM;QACR;YACE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC"}
|
package/dist/cjs/common/utils.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.normalizeNumber = normalizeNumber;
|
|
4
|
-
exports.pickNumber = pickNumber;
|
|
5
|
-
exports.randomNumber = randomNumber;
|
|
6
|
-
exports.isFunction = isFunction;
|
|
7
|
-
exports.isBrowser = isBrowser;
|
|
8
|
-
exports.isDocumentVisible = isDocumentVisible;
|
|
9
|
-
function normalizeNumber(value, defaultValue, isFinite) {
|
|
10
|
-
if (defaultValue === void 0) { defaultValue = 0; }
|
|
11
|
-
if (isFinite === void 0) { isFinite = true; }
|
|
12
|
-
if (Array.isArray(value)) {
|
|
13
|
-
return value.map(function (n) { return normalizeNumber(n, defaultValue, isFinite); });
|
|
14
|
-
}
|
|
15
|
-
var normalizedValue = value !== null && value !== void 0 ? value : defaultValue;
|
|
16
|
-
if (Number.isNaN(normalizedValue) || (isFinite && !Number.isFinite(normalizedValue))) {
|
|
17
|
-
normalizedValue = defaultValue;
|
|
18
|
-
}
|
|
19
|
-
return Math.abs(normalizedValue);
|
|
20
|
-
}
|
|
21
|
-
function pickNumber(value) {
|
|
22
|
-
return Array.isArray(value) ? randomNumber(value[0], value[1]) : value;
|
|
23
|
-
}
|
|
24
|
-
function randomNumber(min, max) {
|
|
25
|
-
return Math.floor(Math.random() * (max - min + 1)) + min;
|
|
26
|
-
}
|
|
27
|
-
function isFunction(value) {
|
|
28
|
-
return typeof value === 'function';
|
|
29
|
-
}
|
|
30
|
-
function isBrowser() {
|
|
31
|
-
return typeof globalThis.window !== 'undefined' && typeof globalThis.window.document !== 'undefined';
|
|
32
|
-
}
|
|
33
|
-
function isDocumentVisible() {
|
|
34
|
-
return !document.hidden;
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/common/utils.ts"],"names":[],"mappings":";;AASA,0CAYC;AAED,gCAEC;AAED,oCAEC;AAED,gCAEC;AAED,8BAEC;AAED,8CAEC;AAhCD,SAAgB,eAAe,CAAC,KAA4B,EAAE,YAAgB,EAAE,QAAe;IAAjC,6BAAA,EAAA,gBAAgB;IAAE,yBAAA,EAAA,eAAe;IAC7F,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,UAAU,CAAC,KAAsB;IAC/C,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,SAAS;IACvB,OAAO,OAAO,UAAU,CAAC,MAAM,KAAK,WAAW,IAAI,OAAO,UAAU,CAAC,MAAM,CAAC,QAAQ,KAAK,WAAW,CAAC;AACvG,CAAC;AAED,SAAgB,iBAAiB;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC1B,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.controlConfig = void 0;
|
|
4
|
-
var poll_const_1 = require("./poll.const");
|
|
5
|
-
var strategies_const_1 = require("./strategies.const");
|
|
6
|
-
exports.controlConfig = {
|
|
7
|
-
type: poll_const_1.pollType.REPEAT,
|
|
8
|
-
delay: {
|
|
9
|
-
strategy: strategies_const_1.strategyType.CONSTANT,
|
|
10
|
-
time: 1000,
|
|
11
|
-
},
|
|
12
|
-
retry: {
|
|
13
|
-
strategy: strategies_const_1.strategyType.EXPONENTIAL,
|
|
14
|
-
time: 1000,
|
|
15
|
-
limit: 3,
|
|
16
|
-
consecutiveOnly: true,
|
|
17
|
-
},
|
|
18
|
-
pauseWhenHidden: true,
|
|
19
|
-
};
|
|
20
|
-
//# sourceMappingURL=config.const.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.const.js","sourceRoot":"","sources":["../../../src/constants/config.const.ts"],"names":[],"mappings":";;;AACA,2CAAwC;AACxC,uDAAkD;AAErC,QAAA,aAAa,GAAG;IAC3B,IAAI,EAAE,qBAAQ,CAAC,MAAM;IACrB,KAAK,EAAE;QACL,QAAQ,EAAE,+BAAY,CAAC,QAAQ;QAC/B,IAAI,EAAE,IAAI;KACX;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,+BAAY,CAAC,WAAW;QAClC,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,CAAC;QACR,eAAe,EAAE,IAAI;KACtB;IACD,eAAe,EAAE,IAAI;CAC2B,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.pollType = exports.pollMode = void 0;
|
|
4
|
-
exports.pollMode = {
|
|
5
|
-
DELAY: 'delay',
|
|
6
|
-
RETRY: 'retry',
|
|
7
|
-
};
|
|
8
|
-
exports.pollType = {
|
|
9
|
-
REPEAT: 'repeat',
|
|
10
|
-
INTERVAL: 'interval',
|
|
11
|
-
};
|
|
12
|
-
//# sourceMappingURL=poll.const.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"poll.const.js","sourceRoot":"","sources":["../../../src/constants/poll.const.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG;IACtB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;CACN,CAAC;AAEE,QAAA,QAAQ,GAAG;IACtB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;CACZ,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.strategyType = void 0;
|
|
4
|
-
exports.strategyType = {
|
|
5
|
-
CONSTANT: 'constant',
|
|
6
|
-
LINEAR: 'linear',
|
|
7
|
-
EXPONENTIAL: 'exponential',
|
|
8
|
-
RANDOM: 'random',
|
|
9
|
-
DYNAMIC: 'dynamic',
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=strategies.const.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"strategies.const.js","sourceRoot":"","sources":["../../../src/constants/strategies.const.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG;IAC1B,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,aAAa;IAC1B,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;CACV,CAAC"}
|
package/dist/cjs/poll.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.poll = poll;
|
|
4
|
-
var rxjs_1 = require("rxjs");
|
|
5
|
-
var config_1 = require("./common/config");
|
|
6
|
-
var observables_1 = require("./common/observables");
|
|
7
|
-
var operators_1 = require("./common/operators");
|
|
8
|
-
function poll(config) {
|
|
9
|
-
return function (source$) {
|
|
10
|
-
var _a = (0, config_1.extendConfig)(config), type = _a.type, retry = _a.retry, pauseWhenHidden = _a.pauseWhenHidden, getDelayTime = _a.getDelayTime, getRetryTime = _a.getRetryTime;
|
|
11
|
-
var retryKey = retry.consecutiveOnly ? 'consecutiveRetryCount' : 'retryCount';
|
|
12
|
-
var state = {
|
|
13
|
-
value: undefined,
|
|
14
|
-
error: undefined,
|
|
15
|
-
pollCount: 0,
|
|
16
|
-
retryCount: 0,
|
|
17
|
-
consecutiveRetryCount: 0,
|
|
18
|
-
};
|
|
19
|
-
var nextDelayTime = function (value) {
|
|
20
|
-
state.pollCount += 1;
|
|
21
|
-
state.value = value;
|
|
22
|
-
return getDelayTime(state);
|
|
23
|
-
};
|
|
24
|
-
var nextRetryTime = function (error) {
|
|
25
|
-
state.error = error;
|
|
26
|
-
return getRetryTime(state);
|
|
27
|
-
};
|
|
28
|
-
var resetError = function () {
|
|
29
|
-
state.error = undefined;
|
|
30
|
-
state.consecutiveRetryCount = 0;
|
|
31
|
-
};
|
|
32
|
-
var isRetryLimit = function () {
|
|
33
|
-
state.retryCount += 1;
|
|
34
|
-
state.consecutiveRetryCount += 1;
|
|
35
|
-
return state[retryKey] > retry.limit;
|
|
36
|
-
};
|
|
37
|
-
var visibility$ = pauseWhenHidden ? observables_1.visibilityState$ : (0, rxjs_1.of)(true);
|
|
38
|
-
var poller$ = (0, observables_1.getPoller$)(type, source$, nextDelayTime);
|
|
39
|
-
return visibility$.pipe((0, rxjs_1.switchMap)(function (isVisible) { return (isVisible ? poller$.pipe((0, operators_1.retryPoll)(isRetryLimit, nextRetryTime, resetError)) : rxjs_1.EMPTY); }));
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=poll.js.map
|
package/dist/cjs/poll.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"poll.js","sourceRoot":"","sources":["../../src/poll.ts"],"names":[],"mappings":";;AAoCA,oBA4CC;AAhFD,6BAAsE;AAEtE,0CAA+C;AAC/C,oDAAoE;AACpE,gDAA+C;AAgC/C,SAAgB,IAAI,CAAI,MAA4B;IAClD,OAAO,UAAC,OAAO;QACP,IAAA,KAA+D,IAAA,qBAAY,EAAC,MAAM,CAAC,EAAjF,IAAI,UAAA,EAAE,KAAK,WAAA,EAAE,eAAe,qBAAA,EAAE,YAAY,kBAAA,EAAE,YAAY,kBAAyB,CAAC;QAC1F,IAAM,QAAQ,GAAa,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,YAAY,CAAC;QAC1F,IAAM,KAAK,GAAiB;YAC1B,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;YACb,qBAAqB,EAAE,CAAC;SACzB,CAAC;QAEF,IAAM,aAAa,GAAG,UAAC,KAAQ;YAC7B,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC;YACrB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YAEpB,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC,CAAC;QAEF,IAAM,aAAa,GAAG,UAAC,KAAU;YAC/B,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YAEpB,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC,CAAC;QAEF,IAAM,UAAU,GAAG;YACjB,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;YACxB,KAAK,CAAC,qBAAqB,GAAG,CAAC,CAAC;QAClC,CAAC,CAAC;QAEF,IAAM,YAAY,GAAG;YACnB,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC;YACtB,KAAK,CAAC,qBAAqB,IAAI,CAAC,CAAC;YAEjC,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;QACvC,CAAC,CAAC;QAEF,IAAM,WAAW,GAAG,eAAe,CAAC,CAAC,CAAC,8BAAgB,CAAC,CAAC,CAAC,IAAA,SAAE,EAAC,IAAI,CAAC,CAAC;QAClE,IAAM,OAAO,GAAG,IAAA,wBAAU,EAAC,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QAEzD,OAAO,WAAW,CAAC,IAAI,CACrB,IAAA,gBAAS,EAAC,UAAC,SAAS,IAAK,OAAA,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAA,qBAAS,EAAC,YAAY,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,YAAK,CAAC,EAAtF,CAAsF,CAAC,CACjH,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.type.js","sourceRoot":"","sources":["../../../src/types/config.type.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"poll.type.js","sourceRoot":"","sources":["../../../src/types/poll.type.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"strategies.type.js","sourceRoot":"","sources":["../../../src/types/strategies.type.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.type.js","sourceRoot":"","sources":["../../../src/types/utils.type.ts"],"names":[],"mappings":""}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { controlConfig } from '../constants/config.const';
|
|
2
|
-
import { getStrategyTimeProducer } from './strategies';
|
|
3
|
-
import { isFunction, normalizeNumber, pickNumber } from './utils';
|
|
4
|
-
export function extendConfig(config) {
|
|
5
|
-
const normalizedConfig = normalizeConfig(config);
|
|
6
|
-
return {
|
|
7
|
-
...normalizedConfig,
|
|
8
|
-
getDelayTime: getTimeProducer('delay', normalizedConfig),
|
|
9
|
-
getRetryTime: getTimeProducer('retry', normalizedConfig),
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
function getTimeProducer(mode, config) {
|
|
13
|
-
const defaultTime = controlConfig[mode].time;
|
|
14
|
-
const timeProducer = getStrategyTimeProducer(mode, config);
|
|
15
|
-
return (state) => {
|
|
16
|
-
const producedTime = timeProducer({ ...state });
|
|
17
|
-
const normalizedTime = normalizeNumber(producedTime, defaultTime);
|
|
18
|
-
return pickNumber(normalizedTime);
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
function normalizeConfig(config) {
|
|
22
|
-
return {
|
|
23
|
-
type: config?.type ?? controlConfig.type,
|
|
24
|
-
delay: {
|
|
25
|
-
strategy: config?.delay?.strategy ?? controlConfig.delay.strategy,
|
|
26
|
-
time: isFunction(config?.delay?.time)
|
|
27
|
-
? config.delay.time
|
|
28
|
-
: normalizeNumber(config?.delay?.time, controlConfig.delay.time),
|
|
29
|
-
},
|
|
30
|
-
retry: {
|
|
31
|
-
strategy: config?.retry?.strategy ?? controlConfig.retry.strategy,
|
|
32
|
-
time: isFunction(config?.retry?.time)
|
|
33
|
-
? config.retry.time
|
|
34
|
-
: normalizeNumber(config?.retry?.time, controlConfig.retry.time),
|
|
35
|
-
limit: normalizeNumber(config?.retry?.limit, controlConfig.retry.limit, false),
|
|
36
|
-
consecutiveOnly: config?.retry?.consecutiveOnly ?? controlConfig.retry.consecutiveOnly,
|
|
37
|
-
},
|
|
38
|
-
pauseWhenHidden: config?.pauseWhenHidden ?? controlConfig.pauseWhenHidden,
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/common/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAI1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAElE,MAAM,UAAU,YAAY,CAAI,MAA4B;IAC1D,MAAM,gBAAgB,GAA4B,eAAe,CAAC,MAAM,CAAC,CAAC;IAE1E,OAAO;QACL,GAAG,gBAAgB;QACnB,YAAY,EAAE,eAAe,CAAC,OAAO,EAAE,gBAAgB,CAAC;QACxD,YAAY,EAAE,eAAe,CAAC,OAAO,EAAE,gBAAgB,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAI,IAAc,EAAE,MAA+B;IACzE,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;IAC7C,MAAM,YAAY,GAAG,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAE3D,OAAO,CAAC,KAAK,EAAU,EAAE;QACvB,MAAM,YAAY,GAAG,YAAY,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;QAChD,MAAM,cAAc,GAAG,eAAe,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAElE,OAAO,UAAU,CAAC,cAAc,CAAC,CAAC;IACpC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAI,MAA2B;IACrD,OAAO;QACL,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,aAAa,CAAC,IAAI;QACxC,KAAK,EAAE;YACL,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,IAAI,aAAa,CAAC,KAAK,CAAC,QAAQ;YACjE,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;gBACnC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI;gBACnB,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC;SACnE;QACD,KAAK,EAAE;YACL,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,IAAI,aAAa,CAAC,KAAK,CAAC,QAAQ;YACjE,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;gBACnC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI;gBACnB,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC;YAClE,KAAK,EAAE,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC;YAC9E,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,IAAI,aAAa,CAAC,KAAK,CAAC,eAAe;SACvF;QACD,eAAe,EAAE,MAAM,EAAE,eAAe,IAAI,aAAa,CAAC,eAAe;KAC1E,CAAC;AACJ,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { fromEvent, map, of, repeat, shareReplay, startWith, switchMap, takeLast, tap, timer } from 'rxjs';
|
|
2
|
-
import { isBrowser, isDocumentVisible } from './utils';
|
|
3
|
-
export const visibilityState$ = pageVisibility$().pipe(shareReplay({ bufferSize: 1, refCount: true }));
|
|
4
|
-
export function getPoller$(type, source$, getTime) {
|
|
5
|
-
let lastValue;
|
|
6
|
-
const completed$ = source$.pipe(takeLast(1), tap((value) => {
|
|
7
|
-
lastValue = value;
|
|
8
|
-
}));
|
|
9
|
-
return type === 'repeat'
|
|
10
|
-
? repeatWith$(completed$, () => getTime(lastValue))
|
|
11
|
-
: repeatWith$(of(null), () => getTime(lastValue)).pipe(switchMap(() => completed$));
|
|
12
|
-
}
|
|
13
|
-
function pageVisibility$() {
|
|
14
|
-
return isBrowser() ? fromEvent(document, 'visibilitychange').pipe(startWith(null), map(isDocumentVisible)) : of(true);
|
|
15
|
-
}
|
|
16
|
-
function repeatWith$(source$, getTime) {
|
|
17
|
-
return source$.pipe(repeat({
|
|
18
|
-
delay: () => timer(getTime()),
|
|
19
|
-
}));
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=observables.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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,OAA6B;IACjG,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,WAAW,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACnD,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AACxF,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,WAAW,CAAI,OAAsB,EAAE,OAAqB;IACnE,OAAO,OAAO,CAAC,IAAI,CACjB,MAAM,CAAC;QACL,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;KAC9B,CAAC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { retry, tap, throwError, timer } from 'rxjs';
|
|
2
|
-
export function retryPoll(isLimit, getTime, resetError) {
|
|
3
|
-
return (source) => source.pipe(retry({
|
|
4
|
-
delay: (error) => (isLimit() ? throwError(() => error) : timer(getTime(error))),
|
|
5
|
-
}), tap(() => resetError()));
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=operators.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"operators.js","sourceRoot":"","sources":["../../../src/common/operators.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAE/E,MAAM,UAAU,SAAS,CACvB,OAAsB,EACtB,OAA+B,EAC/B,UAAsB;IAEtB,OAAO,CAAC,MAAM,EAAE,EAAE,CAChB,MAAM,CAAC,IAAI,CACT,KAAK,CAAC;QACJ,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;KAChF,CAAC,EACF,GAAG,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,CACxB,CAAC;AACN,CAAC"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { randomNumber } from './utils';
|
|
2
|
-
export function getStrategyTimeProducer(mode, config) {
|
|
3
|
-
const { strategy, time } = config[mode];
|
|
4
|
-
const isDelayMode = mode === 'delay';
|
|
5
|
-
const isConsecutive = config.retry.consecutiveOnly;
|
|
6
|
-
let timeProducer;
|
|
7
|
-
let attemptKey;
|
|
8
|
-
if (isDelayMode) {
|
|
9
|
-
attemptKey = 'pollCount';
|
|
10
|
-
}
|
|
11
|
-
else if (isConsecutive) {
|
|
12
|
-
attemptKey = 'consecutiveRetryCount';
|
|
13
|
-
}
|
|
14
|
-
else {
|
|
15
|
-
attemptKey = 'retryCount';
|
|
16
|
-
}
|
|
17
|
-
switch (strategy) {
|
|
18
|
-
case 'constant':
|
|
19
|
-
timeProducer = () => time;
|
|
20
|
-
break;
|
|
21
|
-
case 'linear':
|
|
22
|
-
timeProducer = (state) => state[attemptKey] * time;
|
|
23
|
-
break;
|
|
24
|
-
case 'exponential':
|
|
25
|
-
timeProducer = (state) => Math.pow(2, state[attemptKey] - 1) * time;
|
|
26
|
-
break;
|
|
27
|
-
case 'random':
|
|
28
|
-
timeProducer = () => randomNumber(time[0], time[1]);
|
|
29
|
-
break;
|
|
30
|
-
case 'dynamic':
|
|
31
|
-
timeProducer = (state) => time(state);
|
|
32
|
-
break;
|
|
33
|
-
default:
|
|
34
|
-
throw new Error('rxjs-poll: Unknown strategy!');
|
|
35
|
-
}
|
|
36
|
-
return timeProducer;
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=strategies.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"strategies.js","sourceRoot":"","sources":["../../../src/common/strategies.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,UAAU,uBAAuB,CAAI,IAAc,EAAE,MAA+B;IACxF,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,IAAI,KAAK,OAAO,CAAC;IACrC,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC;IACnD,IAAI,YAAgC,CAAC;IACrC,IAAI,UAAyB,CAAC;IAE9B,IAAI,WAAW,EAAE,CAAC;QAChB,UAAU,GAAG,WAAW,CAAC;IAC3B,CAAC;SAAM,IAAI,aAAa,EAAE,CAAC;QACzB,UAAU,GAAG,uBAAuB,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,YAAY,CAAC;IAC5B,CAAC;IAED,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,UAAU;YACb,YAAY,GAAG,GAAG,EAAE,CAAC,IAAc,CAAC;YACpC,MAAM;QACR,KAAK,QAAQ;YACX,YAAY,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,GAAI,IAAe,CAAC;YAC/D,MAAM;QACR,KAAK,aAAa;YAChB,YAAY,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAI,IAAe,CAAC;YAChF,MAAM;QACR,KAAK,QAAQ;YACX,YAAY,GAAG,GAAG,EAAE,CAAC,YAAY,CAAE,IAAe,CAAC,CAAC,CAAC,EAAG,IAAe,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5E,MAAM;QACR,KAAK,SAAS;YACZ,YAAY,GAAG,CAAC,KAAmB,EAAE,EAAE,CAAE,IAA2B,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM;QACR;YACE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC"}
|
package/dist/esm/common/utils.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
export function normalizeNumber(value, defaultValue = 0, isFinite = true) {
|
|
2
|
-
if (Array.isArray(value)) {
|
|
3
|
-
return value.map((n) => normalizeNumber(n, defaultValue, isFinite));
|
|
4
|
-
}
|
|
5
|
-
let normalizedValue = value ?? defaultValue;
|
|
6
|
-
if (Number.isNaN(normalizedValue) || (isFinite && !Number.isFinite(normalizedValue))) {
|
|
7
|
-
normalizedValue = defaultValue;
|
|
8
|
-
}
|
|
9
|
-
return Math.abs(normalizedValue);
|
|
10
|
-
}
|
|
11
|
-
export function pickNumber(value) {
|
|
12
|
-
return Array.isArray(value) ? randomNumber(value[0], value[1]) : value;
|
|
13
|
-
}
|
|
14
|
-
export function randomNumber(min, max) {
|
|
15
|
-
return Math.floor(Math.random() * (max - min + 1)) + min;
|
|
16
|
-
}
|
|
17
|
-
export function isFunction(value) {
|
|
18
|
-
return typeof value === 'function';
|
|
19
|
-
}
|
|
20
|
-
export function isBrowser() {
|
|
21
|
-
return typeof globalThis.window !== 'undefined' && typeof globalThis.window.document !== 'undefined';
|
|
22
|
-
}
|
|
23
|
-
export function isDocumentVisible() {
|
|
24
|
-
return !document.hidden;
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/common/utils.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,eAAe,CAAC,KAA4B,EAAE,YAAY,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI;IAC7F,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,UAAU,CAAC,KAAsB;IAC/C,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,SAAS;IACvB,OAAO,OAAO,UAAU,CAAC,MAAM,KAAK,WAAW,IAAI,OAAO,UAAU,CAAC,MAAM,CAAC,QAAQ,KAAK,WAAW,CAAC;AACvG,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC1B,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { pollType } from './poll.const';
|
|
2
|
-
import { strategyType } from './strategies.const';
|
|
3
|
-
export const controlConfig = {
|
|
4
|
-
type: pollType.REPEAT,
|
|
5
|
-
delay: {
|
|
6
|
-
strategy: strategyType.CONSTANT,
|
|
7
|
-
time: 1000,
|
|
8
|
-
},
|
|
9
|
-
retry: {
|
|
10
|
-
strategy: strategyType.EXPONENTIAL,
|
|
11
|
-
time: 1000,
|
|
12
|
-
limit: 3,
|
|
13
|
-
consecutiveOnly: true,
|
|
14
|
-
},
|
|
15
|
-
pauseWhenHidden: true,
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=config.const.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.const.js","sourceRoot":"","sources":["../../../src/constants/config.const.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,QAAQ,CAAC,MAAM;IACrB,KAAK,EAAE;QACL,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,IAAI,EAAE,IAAI;KACX;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,YAAY,CAAC,WAAW;QAClC,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,CAAC;QACR,eAAe,EAAE,IAAI;KACtB;IACD,eAAe,EAAE,IAAI;CAC2B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"poll.const.js","sourceRoot":"","sources":["../../../src/constants/poll.const.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;CACN,CAAC;AAEX,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;CACZ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"strategies.const.js","sourceRoot":"","sources":["../../../src/constants/strategies.const.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,aAAa;IAC1B,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;CACV,CAAC"}
|
package/dist/esm/poll.js
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { EMPTY, of, switchMap } from 'rxjs';
|
|
2
|
-
import { extendConfig } from './common/config';
|
|
3
|
-
import { getPoller$, visibilityState$ } from './common/observables';
|
|
4
|
-
import { retryPoll } from './common/operators';
|
|
5
|
-
export function poll(config) {
|
|
6
|
-
return (source$) => {
|
|
7
|
-
const { type, retry, pauseWhenHidden, getDelayTime, getRetryTime } = extendConfig(config);
|
|
8
|
-
const retryKey = retry.consecutiveOnly ? 'consecutiveRetryCount' : 'retryCount';
|
|
9
|
-
const state = {
|
|
10
|
-
value: undefined,
|
|
11
|
-
error: undefined,
|
|
12
|
-
pollCount: 0,
|
|
13
|
-
retryCount: 0,
|
|
14
|
-
consecutiveRetryCount: 0,
|
|
15
|
-
};
|
|
16
|
-
const nextDelayTime = (value) => {
|
|
17
|
-
state.pollCount += 1;
|
|
18
|
-
state.value = value;
|
|
19
|
-
return getDelayTime(state);
|
|
20
|
-
};
|
|
21
|
-
const nextRetryTime = (error) => {
|
|
22
|
-
state.error = error;
|
|
23
|
-
return getRetryTime(state);
|
|
24
|
-
};
|
|
25
|
-
const resetError = () => {
|
|
26
|
-
state.error = undefined;
|
|
27
|
-
state.consecutiveRetryCount = 0;
|
|
28
|
-
};
|
|
29
|
-
const isRetryLimit = () => {
|
|
30
|
-
state.retryCount += 1;
|
|
31
|
-
state.consecutiveRetryCount += 1;
|
|
32
|
-
return state[retryKey] > retry.limit;
|
|
33
|
-
};
|
|
34
|
-
const visibility$ = pauseWhenHidden ? visibilityState$ : of(true);
|
|
35
|
-
const poller$ = getPoller$(type, source$, nextDelayTime);
|
|
36
|
-
return visibility$.pipe(switchMap((isVisible) => (isVisible ? poller$.pipe(retryPoll(isRetryLimit, nextRetryTime, resetError)) : EMPTY)));
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=poll.js.map
|
package/dist/esm/poll.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"poll.js","sourceRoot":"","sources":["../../src/poll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAA4B,EAAE,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEtE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAgC/C,MAAM,UAAU,IAAI,CAAI,MAA4B;IAClD,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QAC1F,MAAM,QAAQ,GAAa,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,YAAY,CAAC;QAC1F,MAAM,KAAK,GAAiB;YAC1B,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;YACb,qBAAqB,EAAE,CAAC;SACzB,CAAC;QAEF,MAAM,aAAa,GAAG,CAAC,KAAQ,EAAU,EAAE;YACzC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC;YACrB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YAEpB,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,CAAC,KAAU,EAAU,EAAE;YAC3C,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YAEpB,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,GAAS,EAAE;YAC5B,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;YACxB,KAAK,CAAC,qBAAqB,GAAG,CAAC,CAAC;QAClC,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,GAAY,EAAE;YACjC,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC;YACtB,KAAK,CAAC,qBAAqB,IAAI,CAAC,CAAC;YAEjC,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;QACvC,CAAC,CAAC;QAEF,MAAM,WAAW,GAAG,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QAEzD,OAAO,WAAW,CAAC,IAAI,CACrB,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CACjH,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.type.js","sourceRoot":"","sources":["../../../src/types/config.type.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"poll.type.js","sourceRoot":"","sources":["../../../src/types/poll.type.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"strategies.type.js","sourceRoot":"","sources":["../../../src/types/strategies.type.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.type.js","sourceRoot":"","sources":["../../../src/types/utils.type.ts"],"names":[],"mappings":""}
|