Skip to content

Commit 7bdffe8

Browse files
committed
Some renaming
1 parent 35a6f7d commit 7bdffe8

File tree

5 files changed

+44
-35
lines changed

5 files changed

+44
-35
lines changed

README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,10 @@ const options = {
3838
// Number of tries before we stop
3939
maxTries: 3, // <- Default value
4040

41-
// A function that determines the
42-
// delay of the refetch.
43-
delay: (tries) => 1000, // <- Default function returns (1s)
41+
// A function that returns number
42+
// of milliseconds to wait before
43+
// next execution
44+
backoffStrategy: (retryCount) => 1000, // <- Default function returns (1s)
4445

4546
// Parameter from 0-2 that sets
4647
// how much logging retry should do.

lib/dev.js

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -90,18 +90,22 @@ function _objectSpread2(target) {
9090
return target;
9191
}
9292

93-
var logError = (func, logLevel) => (error, args, tries) => {
93+
var logError = (func, logLevel) => (error, args, retryCount) => {
9494
switch (logLevel) {
9595
case 1: {
9696
console.warn(
97-
"[Try ".concat(tries, ']: Failed to execute "').concat(func.name, '"'),
97+
"[Retry "
98+
.concat(retryCount, ']: Failed to execute "')
99+
.concat(func.name, '"'),
98100
);
99101
break;
100102
}
101103

102104
case 2: {
103105
console.warn(
104-
"[Try ".concat(tries, ']: Failed to execute "').concat(func.name, '"'),
106+
"[Retry "
107+
.concat(retryCount, ']: Failed to execute "')
108+
.concat(func.name, '"'),
105109
);
106110

107111
if (args.includes(null) || args.includes(undefined)) {
@@ -116,7 +120,7 @@ var logError = (func, logLevel) => (error, args, tries) => {
116120

117121
var defaultOptions = {
118122
maxTries: 3,
119-
delay: (tries) => 1000,
123+
backoffStrategy: (retryCount) => 1000,
120124
// Wait one second as default,
121125
logLevel: 1, // 0 - 2,
122126
};
@@ -125,7 +129,7 @@ var retry = function retry(func) {
125129
var options =
126130
arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
127131

128-
var { maxTries, delay, logLevel } = _objectSpread2(
132+
var { maxTries, backoffStrategy, logLevel } = _objectSpread2(
129133
{},
130134
defaultOptions,
131135
{},
@@ -134,7 +138,7 @@ var retry = function retry(func) {
134138

135139
var logger = logError(func, logLevel);
136140

137-
var functionCaller = (tries) =>
141+
var functionCaller = (retryCount) =>
138142
/*#__PURE__*/ _asyncToGenerator(function* () {
139143
for (
140144
var _len = arguments.length, args = new Array(_len), _key = 0;
@@ -144,22 +148,22 @@ var retry = function retry(func) {
144148
args[_key] = arguments[_key];
145149
}
146150

147-
if (tries < maxTries) {
151+
if (retryCount < maxTries) {
148152
try {
149153
return yield func(...args);
150154
} catch (error) {
151-
logger(error, args, tries);
155+
logger(error, args, retryCount);
152156
return new Promise((resolve, reject) => {
153157
setTimeout(() => {
154-
functionCaller(tries + 1)(...args)
158+
functionCaller(retryCount + 1)(...args)
155159
.then((result) => {
156160
resolve(result);
157161
})
158162
.catch((error) => {
159163
// This is the last depth
160164
reject(error);
161165
});
162-
}, delay(tries));
166+
}, backoffStrategy(retryCount));
163167
});
164168
}
165169
} else {

lib/prod.js

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -90,18 +90,22 @@ function _objectSpread2(target) {
9090
return target;
9191
}
9292

93-
var logError = (func, logLevel) => (error, args, tries) => {
93+
var logError = (func, logLevel) => (error, args, retryCount) => {
9494
switch (logLevel) {
9595
case 1: {
9696
console.warn(
97-
"[Try ".concat(tries, ']: Failed to execute "').concat(func.name, '"'),
97+
"[Retry "
98+
.concat(retryCount, ']: Failed to execute "')
99+
.concat(func.name, '"'),
98100
);
99101
break;
100102
}
101103

102104
case 2: {
103105
console.warn(
104-
"[Try ".concat(tries, ']: Failed to execute "').concat(func.name, '"'),
106+
"[Retry "
107+
.concat(retryCount, ']: Failed to execute "')
108+
.concat(func.name, '"'),
105109
);
106110

107111
if (args.includes(null) || args.includes(undefined)) {
@@ -116,7 +120,7 @@ var logError = (func, logLevel) => (error, args, tries) => {
116120

117121
var defaultOptions = {
118122
maxTries: 3,
119-
delay: (tries) => 1000,
123+
backoffStrategy: (retryCount) => 1000,
120124
// Wait one second as default,
121125
logLevel: 1, // 0 - 2,
122126
};
@@ -125,7 +129,7 @@ var retry = function retry(func) {
125129
var options =
126130
arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
127131

128-
var { maxTries, delay, logLevel } = _objectSpread2(
132+
var { maxTries, backoffStrategy, logLevel } = _objectSpread2(
129133
{},
130134
defaultOptions,
131135
{},
@@ -134,7 +138,7 @@ var retry = function retry(func) {
134138

135139
var logger = logError(func, logLevel);
136140

137-
var functionCaller = (tries) =>
141+
var functionCaller = (retryCount) =>
138142
/*#__PURE__*/ _asyncToGenerator(function* () {
139143
for (
140144
var _len = arguments.length, args = new Array(_len), _key = 0;
@@ -144,22 +148,22 @@ var retry = function retry(func) {
144148
args[_key] = arguments[_key];
145149
}
146150

147-
if (tries < maxTries) {
151+
if (retryCount < maxTries) {
148152
try {
149153
return yield func(...args);
150154
} catch (error) {
151-
logger(error, args, tries);
155+
logger(error, args, retryCount);
152156
return new Promise((resolve, reject) => {
153157
setTimeout(() => {
154-
functionCaller(tries + 1)(...args)
158+
functionCaller(retryCount + 1)(...args)
155159
.then((result) => {
156160
resolve(result);
157161
})
158162
.catch((error) => {
159163
// This is the last depth
160164
reject(error);
161165
});
162-
}, delay(tries));
166+
}, backoffStrategy(retryCount));
163167
});
164168
}
165169
} else {

src/index.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
const logError = (func, logLevel) => (error, args, tries) => {
1+
const logError = (func, logLevel) => (error, args, retryCount) => {
22
switch (logLevel) {
33
case 1: {
4-
console.warn(`[Try ${tries}]: Failed to execute "${func.name}"`);
4+
console.warn(`[Retry ${retryCount}]: Failed to execute "${func.name}"`);
55
break;
66
}
77
case 2: {
8-
console.warn(`[Try ${tries}]: Failed to execute "${func.name}"`);
8+
console.warn(`[Retry ${retryCount}]: Failed to execute "${func.name}"`);
99
if (args.includes(null) || args.includes(undefined)) {
1010
console.warn(`Some of your arguments include undefined or null`);
1111
}
@@ -20,36 +20,36 @@ const logError = (func, logLevel) => (error, args, tries) => {
2020

2121
const defaultOptions = {
2222
maxTries: 3,
23-
delay: (tries) => 1000, // Wait one second as default,
23+
backoffStrategy: (retryCount) => 1000, // Wait one second as default,
2424
logLevel: 1, // 0 - 2,
2525
};
2626

2727
const retry = (func, options = {}) => {
28-
const { maxTries, delay, logLevel } = {
28+
const { maxTries, backoffStrategy, logLevel } = {
2929
...defaultOptions,
3030
...options,
3131
};
3232

3333
const logger = logError(func, logLevel);
3434

35-
const functionCaller = (tries) => async (...args) => {
36-
if (tries < maxTries) {
35+
const functionCaller = (retryCount) => async (...args) => {
36+
if (retryCount < maxTries) {
3737
try {
3838
return await func(...args);
3939
} catch (error) {
40-
logger(error, args, tries);
40+
logger(error, args, retryCount);
4141

4242
return new Promise((resolve, reject) => {
4343
setTimeout(() => {
44-
functionCaller(tries + 1)(...args)
44+
functionCaller(retryCount + 1)(...args)
4545
.then((result) => {
4646
resolve(result);
4747
})
4848
.catch((error) => {
4949
// This is the last depth
5050
reject(error);
5151
});
52-
}, delay(tries));
52+
}, backoffStrategy(retryCount));
5353
});
5454
}
5555
} else {

tests/index.test.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ test("Test a success with async func (prod)", (done) => {
5555

5656
test("Test a failure (dev)", (done) => {
5757
console.warn = jest.fn();
58-
const options = { maxTries: 5, delay: (tries) => 100 };
58+
const options = { maxTries: 5, backoffStrategy: (tries) => 100 };
5959
devLib(
6060
foo,
6161
options,
@@ -71,7 +71,7 @@ test("Test a failure (dev)", (done) => {
7171

7272
test("Test a failure (prod)", (done) => {
7373
console.warn = jest.fn();
74-
const options = { maxTries: 5, delay: (tries) => 100 };
74+
const options = { maxTries: 5, backoffStrategy: (tries) => 100 };
7575
prodLib(
7676
foo,
7777
options,

0 commit comments

Comments
 (0)