aboutsummaryrefslogtreecommitdiffstats
path: root/node_modules/exponential-backoff/dist/delay/delay.base.js
diff options
context:
space:
mode:
authorpack <pack@packgekko.xyz>2026-08-09 10:37:07 +0000
committerpack <pack@packgekko.xyz>2026-08-09 10:37:07 +0000
commit55a4f1fc869e41aca748c63d3018f0448b1606e0 (patch)
treed132d1d01772b6d53faee3e63c534dea5706b78a /node_modules/exponential-backoff/dist/delay/delay.base.js
downloadcrud-55a4f1fc869e41aca748c63d3018f0448b1606e0.tar.gz
first commit
Diffstat (limited to 'node_modules/exponential-backoff/dist/delay/delay.base.js')
-rw-r--r--node_modules/exponential-backoff/dist/delay/delay.base.js45
1 files changed, 45 insertions, 0 deletions
diff --git a/node_modules/exponential-backoff/dist/delay/delay.base.js b/node_modules/exponential-backoff/dist/delay/delay.base.js
new file mode 100644
index 0000000..b146c2f
--- /dev/null
+++ b/node_modules/exponential-backoff/dist/delay/delay.base.js
@@ -0,0 +1,45 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var jitter_factory_1 = require("../jitter/jitter.factory");
+var Delay = /** @class */ (function () {
+ function Delay(options) {
+ this.options = options;
+ this.attempt = 0;
+ }
+ Delay.prototype.apply = function () {
+ var _this = this;
+ return new Promise(function (resolve) { return setTimeout(resolve, _this.jitteredDelay); });
+ };
+ Delay.prototype.setAttemptNumber = function (attempt) {
+ this.attempt = attempt;
+ };
+ Object.defineProperty(Delay.prototype, "jitteredDelay", {
+ get: function () {
+ var jitter = jitter_factory_1.JitterFactory(this.options);
+ return jitter(this.delay);
+ },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(Delay.prototype, "delay", {
+ get: function () {
+ var constant = this.options.startingDelay;
+ var base = this.options.timeMultiple;
+ var power = this.numOfDelayedAttempts;
+ var delay = constant * Math.pow(base, power);
+ return Math.min(delay, this.options.maxDelay);
+ },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(Delay.prototype, "numOfDelayedAttempts", {
+ get: function () {
+ return this.attempt;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ return Delay;
+}());
+exports.Delay = Delay;
+//# sourceMappingURL=delay.base.js.map \ No newline at end of file