@metriport/shared 0.12.2 → 0.13.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/common/titleCase.js +7 -3
- package/dist/common/titleCase.js.map +1 -1
- package/dist/domain/address/__tests__/normalize-zip.test.js +10 -8
- package/dist/domain/address/__tests__/normalize-zip.test.js.map +1 -1
- package/dist/domain/address/state.js +13 -8
- package/dist/domain/address/state.js.map +1 -1
- package/dist/domain/address/zip.js +7 -2
- package/dist/domain/address/zip.js.map +1 -1
- package/dist/domain/contact/email.js +12 -6
- package/dist/domain/contact/email.js.map +1 -1
- package/dist/domain/contact/phone.d.ts +1 -0
- package/dist/domain/contact/phone.d.ts.map +1 -1
- package/dist/domain/contact/phone.js +8 -1
- package/dist/domain/contact/phone.js.map +1 -1
- package/dist/domain/dob.js +14 -6
- package/dist/domain/dob.js.map +1 -1
- package/dist/domain/externalId.js +5 -1
- package/dist/domain/externalId.js.map +1 -1
- package/dist/domain/gender.js +7 -2
- package/dist/domain/gender.js.map +1 -1
- package/dist/fhir/resources.d.ts +65 -0
- package/dist/fhir/resources.d.ts.map +1 -0
- package/dist/fhir/resources.js +68 -0
- package/dist/fhir/resources.js.map +1 -0
- package/dist/index.d.ts +9 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -6
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/core/src/util/__tests__/file-downloader.d.ts +0 -2
- package/dist/core/src/util/__tests__/file-downloader.d.ts.map +0 -1
- package/dist/core/src/util/__tests__/file-downloader.js +0 -66
- package/dist/core/src/util/__tests__/file-downloader.js.map +0 -1
- package/dist/core/src/util/file-downloader.d.ts +0 -22
- package/dist/core/src/util/file-downloader.d.ts.map +0 -1
- package/dist/core/src/util/file-downloader.js +0 -67
- package/dist/core/src/util/file-downloader.js.map +0 -1
- package/dist/interface/indext.d.ts +0 -1
- package/dist/interface/indext.d.ts.map +0 -1
- package/dist/interface/indext.js +0 -2
- package/dist/interface/indext.js.map +0 -1
- package/dist/net/__tests__/file-downloader.d.ts +0 -2
- package/dist/net/__tests__/file-downloader.d.ts.map +0 -1
- package/dist/net/__tests__/file-downloader.js +0 -41
- package/dist/net/__tests__/file-downloader.js.map +0 -1
- package/dist/net/file-downloader.d.ts +0 -22
- package/dist/net/file-downloader.d.ts.map +0 -1
- package/dist/net/file-downloader.js +0 -35
- package/dist/net/file-downloader.js.map +0 -1
- package/dist/shared/src/__tests__/env-setup.d.ts +0 -2
- package/dist/shared/src/__tests__/env-setup.d.ts.map +0 -1
- package/dist/shared/src/__tests__/env-setup.js +0 -35
- package/dist/shared/src/__tests__/env-setup.js.map +0 -1
- package/dist/shared/src/common/__tests__/boolean.test.d.ts +0 -2
- package/dist/shared/src/common/__tests__/boolean.test.d.ts.map +0 -1
- package/dist/shared/src/common/__tests__/boolean.test.js +0 -46
- package/dist/shared/src/common/__tests__/boolean.test.js.map +0 -1
- package/dist/shared/src/common/__tests__/normalize-oid.test.d.ts +0 -2
- package/dist/shared/src/common/__tests__/normalize-oid.test.d.ts.map +0 -1
- package/dist/shared/src/common/__tests__/normalize-oid.test.js +0 -54
- package/dist/shared/src/common/__tests__/normalize-oid.test.js.map +0 -1
- package/dist/shared/src/common/__tests__/normalize-zip.test.d.ts +0 -2
- package/dist/shared/src/common/__tests__/normalize-zip.test.d.ts.map +0 -1
- package/dist/shared/src/common/__tests__/normalize-zip.test.js +0 -38
- package/dist/shared/src/common/__tests__/normalize-zip.test.js.map +0 -1
- package/dist/shared/src/common/__tests__/retry.test.d.ts +0 -2
- package/dist/shared/src/common/__tests__/retry.test.d.ts.map +0 -1
- package/dist/shared/src/common/__tests__/retry.test.js +0 -202
- package/dist/shared/src/common/__tests__/retry.test.js.map +0 -1
- package/dist/shared/src/common/__tests__/string.test.d.ts +0 -2
- package/dist/shared/src/common/__tests__/string.test.d.ts.map +0 -1
- package/dist/shared/src/common/__tests__/string.test.js +0 -62
- package/dist/shared/src/common/__tests__/string.test.js.map +0 -1
- package/dist/shared/src/common/array.d.ts +0 -2
- package/dist/shared/src/common/array.d.ts.map +0 -1
- package/dist/shared/src/common/array.js +0 -11
- package/dist/shared/src/common/array.js.map +0 -1
- package/dist/shared/src/common/boolean.d.ts +0 -9
- package/dist/shared/src/common/boolean.d.ts.map +0 -1
- package/dist/shared/src/common/boolean.js +0 -27
- package/dist/shared/src/common/boolean.js.map +0 -1
- package/dist/shared/src/common/date.d.ts +0 -8
- package/dist/shared/src/common/date.d.ts.map +0 -1
- package/dist/shared/src/common/date.js +0 -26
- package/dist/shared/src/common/date.js.map +0 -1
- package/dist/shared/src/common/duration.d.ts +0 -5
- package/dist/shared/src/common/duration.d.ts.map +0 -1
- package/dist/shared/src/common/duration.js +0 -30
- package/dist/shared/src/common/duration.js.map +0 -1
- package/dist/shared/src/common/email.d.ts +0 -5
- package/dist/shared/src/common/email.d.ts.map +0 -1
- package/dist/shared/src/common/email.js +0 -14
- package/dist/shared/src/common/email.js.map +0 -1
- package/dist/shared/src/common/env-var.d.ts +0 -10
- package/dist/shared/src/common/env-var.d.ts.map +0 -1
- package/dist/shared/src/common/env-var.js +0 -31
- package/dist/shared/src/common/env-var.js.map +0 -1
- package/dist/shared/src/common/error.d.ts +0 -16
- package/dist/shared/src/common/error.d.ts.map +0 -1
- package/dist/shared/src/common/error.js +0 -36
- package/dist/shared/src/common/error.js.map +0 -1
- package/dist/shared/src/common/general.d.ts +0 -2
- package/dist/shared/src/common/general.d.ts.map +0 -1
- package/dist/shared/src/common/general.js +0 -9
- package/dist/shared/src/common/general.js.map +0 -1
- package/dist/shared/src/common/metriport-organization.d.ts +0 -3
- package/dist/shared/src/common/metriport-organization.d.ts.map +0 -1
- package/dist/shared/src/common/metriport-organization.js +0 -24
- package/dist/shared/src/common/metriport-organization.js.map +0 -1
- package/dist/shared/src/common/net.d.ts +0 -2
- package/dist/shared/src/common/net.d.ts.map +0 -1
- package/dist/shared/src/common/net.js +0 -16
- package/dist/shared/src/common/net.js.map +0 -1
- package/dist/shared/src/common/normalize-oid.d.ts +0 -2
- package/dist/shared/src/common/normalize-oid.d.ts.map +0 -1
- package/dist/shared/src/common/normalize-oid.js +0 -34
- package/dist/shared/src/common/normalize-oid.js.map +0 -1
- package/dist/shared/src/common/normalize-zip.d.ts +0 -10
- package/dist/shared/src/common/normalize-zip.d.ts.map +0 -1
- package/dist/shared/src/common/normalize-zip.js +0 -30
- package/dist/shared/src/common/normalize-zip.js.map +0 -1
- package/dist/shared/src/common/numbers.d.ts +0 -7
- package/dist/shared/src/common/numbers.d.ts.map +0 -1
- package/dist/shared/src/common/numbers.js +0 -19
- package/dist/shared/src/common/numbers.js.map +0 -1
- package/dist/shared/src/common/purpose-of-use.d.ts +0 -30
- package/dist/shared/src/common/purpose-of-use.d.ts.map +0 -1
- package/dist/shared/src/common/purpose-of-use.js +0 -35
- package/dist/shared/src/common/purpose-of-use.js.map +0 -1
- package/dist/shared/src/common/retry.d.ts +0 -61
- package/dist/shared/src/common/retry.d.ts.map +0 -1
- package/dist/shared/src/common/retry.js +0 -117
- package/dist/shared/src/common/retry.js.map +0 -1
- package/dist/shared/src/common/sleep.d.ts +0 -2
- package/dist/shared/src/common/sleep.d.ts.map +0 -1
- package/dist/shared/src/common/sleep.js +0 -8
- package/dist/shared/src/common/sleep.js.map +0 -1
- package/dist/shared/src/common/string.d.ts +0 -3
- package/dist/shared/src/common/string.d.ts.map +0 -1
- package/dist/shared/src/common/string.js +0 -16
- package/dist/shared/src/common/string.js.map +0 -1
- package/dist/shared/src/common/types.d.ts +0 -9
- package/dist/shared/src/common/types.d.ts.map +0 -1
- package/dist/shared/src/common/types.js +0 -17
- package/dist/shared/src/common/types.js.map +0 -1
- package/dist/shared/src/common/validate-npi.d.ts +0 -10
- package/dist/shared/src/common/validate-npi.d.ts.map +0 -1
- package/dist/shared/src/common/validate-npi.js +0 -41
- package/dist/shared/src/common/validate-npi.js.map +0 -1
- package/dist/shared/src/domain/contact/__tests__/phone.test.d.ts +0 -2
- package/dist/shared/src/domain/contact/__tests__/phone.test.d.ts.map +0 -1
- package/dist/shared/src/domain/contact/__tests__/phone.test.js +0 -162
- package/dist/shared/src/domain/contact/__tests__/phone.test.js.map +0 -1
- package/dist/shared/src/domain/contact/phone.d.ts +0 -19
- package/dist/shared/src/domain/contact/phone.d.ts.map +0 -1
- package/dist/shared/src/domain/contact/phone.js +0 -49
- package/dist/shared/src/domain/contact/phone.js.map +0 -1
- package/dist/shared/src/domain/metriport.d.ts +0 -9
- package/dist/shared/src/domain/metriport.d.ts.map +0 -1
- package/dist/shared/src/domain/metriport.js +0 -13
- package/dist/shared/src/domain/metriport.js.map +0 -1
- package/dist/shared/src/error/bad-request.d.ts +0 -5
- package/dist/shared/src/error/bad-request.d.ts.map +0 -1
- package/dist/shared/src/error/bad-request.js +0 -18
- package/dist/shared/src/error/bad-request.js.map +0 -1
- package/dist/shared/src/error/metriport-error.d.ts +0 -8
- package/dist/shared/src/error/metriport-error.d.ts.map +0 -1
- package/dist/shared/src/error/metriport-error.js +0 -18
- package/dist/shared/src/error/metriport-error.js.map +0 -1
- package/dist/shared/src/error/not-found.d.ts +0 -5
- package/dist/shared/src/error/not-found.d.ts.map +0 -1
- package/dist/shared/src/error/not-found.js +0 -18
- package/dist/shared/src/error/not-found.js.map +0 -1
- package/dist/shared/src/error/shared.d.ts +0 -8
- package/dist/shared/src/error/shared.d.ts.map +0 -1
- package/dist/shared/src/error/shared.js +0 -34
- package/dist/shared/src/error/shared.js.map +0 -1
- package/dist/shared/src/index.d.ts +0 -27
- package/dist/shared/src/index.d.ts.map +0 -1
- package/dist/shared/src/index.js +0 -75
- package/dist/shared/src/index.js.map +0 -1
- package/dist/shared/src/medical/fhir/bundle.d.ts +0 -5
- package/dist/shared/src/medical/fhir/bundle.d.ts.map +0 -1
- package/dist/shared/src/medical/fhir/bundle.js +0 -3
- package/dist/shared/src/medical/fhir/bundle.js.map +0 -1
- package/dist/shared/src/medical/index.d.ts +0 -4
- package/dist/shared/src/medical/index.d.ts.map +0 -1
- package/dist/shared/src/medical/index.js +0 -20
- package/dist/shared/src/medical/index.js.map +0 -1
- package/dist/shared/src/medical/webhook/webhook-request.d.ts +0 -464
- package/dist/shared/src/medical/webhook/webhook-request.d.ts.map +0 -1
- package/dist/shared/src/medical/webhook/webhook-request.js +0 -109
- package/dist/shared/src/medical/webhook/webhook-request.js.map +0 -1
- package/dist/shared/src/medical/webhook/webhook-status-response.d.ts +0 -7
- package/dist/shared/src/medical/webhook/webhook-status-response.d.ts.map +0 -1
- package/dist/shared/src/medical/webhook/webhook-status-response.js +0 -3
- package/dist/shared/src/medical/webhook/webhook-status-response.js.map +0 -1
- package/dist/shared/src/net/__tests__/axios.d.ts +0 -42
- package/dist/shared/src/net/__tests__/axios.d.ts.map +0 -1
- package/dist/shared/src/net/__tests__/axios.js +0 -103
- package/dist/shared/src/net/__tests__/axios.js.map +0 -1
- package/dist/shared/src/net/__tests__/retry.test.d.ts +0 -2
- package/dist/shared/src/net/__tests__/retry.test.d.ts.map +0 -1
- package/dist/shared/src/net/__tests__/retry.test.js +0 -257
- package/dist/shared/src/net/__tests__/retry.test.js.map +0 -1
- package/dist/shared/src/net/error.d.ts +0 -22
- package/dist/shared/src/net/error.d.ts.map +0 -1
- package/dist/shared/src/net/error.js +0 -56
- package/dist/shared/src/net/error.js.map +0 -1
- package/dist/shared/src/net/retry.d.ts +0 -30
- package/dist/shared/src/net/retry.d.ts.map +0 -1
- package/dist/shared/src/net/retry.js +0 -102
- package/dist/shared/src/net/retry.js.map +0 -1
- package/dist/shared/src/net/url.d.ts +0 -2
- package/dist/shared/src/net/url.d.ts.map +0 -1
- package/dist/shared/src/net/url.js +0 -16
- package/dist/shared/src/net/url.js.map +0 -1
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.errorWithCauseAxiosError = exports.makeAxiosResponse = exports.mockAxios = void 0;
|
|
27
|
-
const axios_1 = __importStar(require("axios"));
|
|
28
|
-
jest.mock("axios");
|
|
29
|
-
function mockAxios() {
|
|
30
|
-
const mockedAxios = jest.mocked(axios_1.default);
|
|
31
|
-
return {
|
|
32
|
-
axios: mockedAxios.mockImplementation(),
|
|
33
|
-
get: mockedAxios.get.mockImplementation(),
|
|
34
|
-
post: mockedAxios.post.mockImplementation(),
|
|
35
|
-
put: mockedAxios.put.mockImplementation(),
|
|
36
|
-
delete: mockedAxios.delete.mockImplementation(),
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
exports.mockAxios = mockAxios;
|
|
40
|
-
function makeAxiosResponse({ method, status, data, statusText, headers, config, }) {
|
|
41
|
-
return {
|
|
42
|
-
status: status ?? 200,
|
|
43
|
-
data: data ?? {},
|
|
44
|
-
statusText: statusText ?? "OK",
|
|
45
|
-
headers: headers ?? {},
|
|
46
|
-
config: config ?? {
|
|
47
|
-
headers: new axios_1.AxiosHeaders(),
|
|
48
|
-
method: method ?? "get",
|
|
49
|
-
},
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
exports.makeAxiosResponse = makeAxiosResponse;
|
|
53
|
-
exports.errorWithCauseAxiosError = {
|
|
54
|
-
errorType: "Error",
|
|
55
|
-
errorMessage: "CW - Error downloading document",
|
|
56
|
-
cause: {
|
|
57
|
-
errorType: "Error",
|
|
58
|
-
errorMessage: "Error retrieve document",
|
|
59
|
-
cause: {
|
|
60
|
-
message: "connect ETIMEDOUT 107.21.162.233:443",
|
|
61
|
-
name: "Error",
|
|
62
|
-
stack: "Error: connect ETIMEDOUT 107.21.162.233:443...",
|
|
63
|
-
code: "ETIMEDOUT",
|
|
64
|
-
status: null,
|
|
65
|
-
isAxiosError: true,
|
|
66
|
-
},
|
|
67
|
-
additionalInfo: {
|
|
68
|
-
headers: {
|
|
69
|
-
Authorization: "Bearer ...",
|
|
70
|
-
},
|
|
71
|
-
inputUrl: "https://rest.api.commonwellalliance.org/v2/Binary/xxxxxx",
|
|
72
|
-
outputStream: "[object]",
|
|
73
|
-
},
|
|
74
|
-
stack: [
|
|
75
|
-
"Error: Error retrieve document",
|
|
76
|
-
" at Object.retrieve (/opt/nodejs/node_modules/@metriport/commonwell-sdk/dist/client/document.js:64:15)",
|
|
77
|
-
" at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
78
|
-
" at async executeWithRetries (/opt/nodejs/node_modules/@metriport/shared/dist/common/retry.js:46:28)",
|
|
79
|
-
" at async DocumentDownloaderLocal.downloadDocumentFromCW (/opt/nodejs/node_modules/@metriport/core/dist/external/commonwell/document/document-downloader-local.js:225:13)",
|
|
80
|
-
" at async DocumentDownloaderLocal.downloadFromCommonwellIntoS3 (/opt/nodejs/node_modules/@metriport/core/dist/external/commonwell/document/document-downloader-local.js:188:9)",
|
|
81
|
-
" at async executeWithRetries (/opt/nodejs/node_modules/@metriport/shared/dist/common/retry.js:46:28)",
|
|
82
|
-
" at async DocumentDownloaderLocal.download (/opt/nodejs/node_modules/@metriport/core/dist/external/commonwell/document/document-downloader-local.js:58:30)",
|
|
83
|
-
" at async /var/task/document-downloader.js:79:20",
|
|
84
|
-
" at async Runtime.handler (/opt/nodejs/node_modules/@sentry/serverless/cjs/awslambda.js:280:12)",
|
|
85
|
-
],
|
|
86
|
-
},
|
|
87
|
-
additionalInfo: {
|
|
88
|
-
documentLocation: "https://rest.api.commonwellalliance.org/v2/Binary/xxxxxx",
|
|
89
|
-
details: "Error retrieve document ({ headers: { Authorization: 'Bearer ...' }, inputUrl: 'https://rest.api.commonwellalliance.org/v2/Binary/xxxxxx', outputStream: '[object]' }); caused by connect ETIMEDOUT 107.21.162.233:443 (ETIMEDOUT); caused by connect ETIMEDOUT 107.21.162.233:443 (ETIMEDOUT)",
|
|
90
|
-
},
|
|
91
|
-
status: 500,
|
|
92
|
-
stack: [
|
|
93
|
-
"Error: CW - Error downloading document",
|
|
94
|
-
" at DocumentDownloaderLocal.downloadDocumentFromCW (/opt/nodejs/node_modules/@metriport/core/dist/external/commonwell/document/document-downloader-local.js:244:19)",
|
|
95
|
-
" at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
|
|
96
|
-
" at async DocumentDownloaderLocal.downloadFromCommonwellIntoS3 (/opt/nodejs/node_modules/@metriport/core/dist/external/commonwell/document/document-downloader-local.js:188:9)",
|
|
97
|
-
" at async executeWithRetries (/opt/nodejs/node_modules/@metriport/shared/dist/common/retry.js:46:28)",
|
|
98
|
-
" at async DocumentDownloaderLocal.download (/opt/nodejs/node_modules/@metriport/core/dist/external/commonwell/document/document-downloader-local.js:58:30)",
|
|
99
|
-
" at async /var/task/document-downloader.js:79:20",
|
|
100
|
-
" at async Runtime.handler (/opt/nodejs/node_modules/@sentry/serverless/cjs/awslambda.js:280:12)",
|
|
101
|
-
],
|
|
102
|
-
};
|
|
103
|
-
//# sourceMappingURL=axios.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"axios.js","sourceRoot":"","sources":["../../../../../src/net/__tests__/axios.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA2D;AAC3D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAEnB,SAAgB,SAAS;IACvB,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,eAAK,CAAC,CAAC;IACvC,OAAO;QACL,KAAK,EAAE,WAAW,CAAC,kBAAkB,EAAE;QACvC,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE;QACzC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,kBAAkB,EAAE;QAC3C,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE;QACzC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,kBAAkB,EAAE;KAChD,CAAC;AACJ,CAAC;AATD,8BASC;AAED,SAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,MAAM,EACN,IAAI,EACJ,UAAU,EACV,OAAO,EACP,MAAM,GAGP;IACC,OAAO;QACL,MAAM,EAAE,MAAM,IAAI,GAAG;QACrB,IAAI,EAAE,IAAI,IAAI,EAAE;QAChB,UAAU,EAAE,UAAU,IAAI,IAAI;QAC9B,OAAO,EAAE,OAAO,IAAI,EAAE;QACtB,MAAM,EAAE,MAAM,IAAI;YAChB,OAAO,EAAE,IAAI,oBAAY,EAAE;YAC3B,MAAM,EAAE,MAAM,IAAI,KAAK;SACxB;KACF,CAAC;AACJ,CAAC;AApBD,8CAoBC;AAEY,QAAA,wBAAwB,GAAG;IACtC,SAAS,EAAE,OAAO;IAClB,YAAY,EAAE,iCAAiC;IAC/C,KAAK,EAAE;QACL,SAAS,EAAE,OAAO;QAClB,YAAY,EAAE,yBAAyB;QACvC,KAAK,EAAE;YACL,OAAO,EAAE,sCAAsC;YAC/C,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,gDAAgD;YACvD,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,IAAI;SACnB;QACD,cAAc,EAAE;YACd,OAAO,EAAE;gBACP,aAAa,EAAE,YAAY;aAC5B;YACD,QAAQ,EAAE,0DAA0D;YACpE,YAAY,EAAE,UAAU;SACzB;QACD,KAAK,EAAE;YACL,gCAAgC;YAChC,2GAA2G;YAC3G,mFAAmF;YACnF,yGAAyG;YACzG,8KAA8K;YAC9K,mLAAmL;YACnL,yGAAyG;YACzG,+JAA+J;YAC/J,qDAAqD;YACrD,oGAAoG;SACrG;KACF;IACD,cAAc,EAAE;QACd,gBAAgB,EAAE,0DAA0D;QAC5E,OAAO,EACL,gSAAgS;KACnS;IACD,MAAM,EAAE,GAAG;IACX,KAAK,EAAE;QACL,wCAAwC;QACxC,wKAAwK;QACxK,mFAAmF;QACnF,mLAAmL;QACnL,yGAAyG;QACzG,+JAA+J;QAC/J,qDAAqD;QACrD,oGAAoG;KACrG;CACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"retry.test.d.ts","sourceRoot":"","sources":["../../../../../src/net/__tests__/retry.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,257 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
/* eslint-disable @typescript-eslint/no-empty-function */
|
|
27
|
-
const faker_1 = require("@faker-js/faker");
|
|
28
|
-
const axios_1 = require("axios");
|
|
29
|
-
const retry = __importStar(require("../../common/retry"));
|
|
30
|
-
const metriport_error_1 = require("../../error/metriport-error");
|
|
31
|
-
const retry_1 = require("../retry");
|
|
32
|
-
const axios_2 = require("./axios");
|
|
33
|
-
describe("net retry", () => {
|
|
34
|
-
describe("executeWithNetworkRetries", () => {
|
|
35
|
-
const fn = jest.fn();
|
|
36
|
-
afterEach(() => {
|
|
37
|
-
jest.resetAllMocks();
|
|
38
|
-
});
|
|
39
|
-
it("returns when no error", async () => {
|
|
40
|
-
const expectedResult = faker_1.faker.lorem.word();
|
|
41
|
-
fn.mockImplementation(() => expectedResult);
|
|
42
|
-
const resp = await (0, retry_1.executeWithNetworkRetries)(fn, {
|
|
43
|
-
initialDelay: 1,
|
|
44
|
-
maxAttempts: 2,
|
|
45
|
-
});
|
|
46
|
-
expect(resp).toEqual(expectedResult);
|
|
47
|
-
});
|
|
48
|
-
it("retries on ECONNREFUSED", async () => {
|
|
49
|
-
fn.mockImplementation(() => {
|
|
50
|
-
const error = new axios_1.AxiosError("mock error");
|
|
51
|
-
error.code = "ECONNREFUSED";
|
|
52
|
-
throw error;
|
|
53
|
-
});
|
|
54
|
-
await expect(async () => (0, retry_1.executeWithNetworkRetries)(fn, {
|
|
55
|
-
initialDelay: 1,
|
|
56
|
-
maxAttempts: 2,
|
|
57
|
-
})).rejects.toThrow();
|
|
58
|
-
expect(fn).toHaveBeenCalledTimes(2);
|
|
59
|
-
});
|
|
60
|
-
it("retries on ECONNRESET", async () => {
|
|
61
|
-
fn.mockImplementation(() => {
|
|
62
|
-
const error = new axios_1.AxiosError("mock error");
|
|
63
|
-
error.code = "ECONNRESET";
|
|
64
|
-
throw error;
|
|
65
|
-
});
|
|
66
|
-
await expect(async () => (0, retry_1.executeWithNetworkRetries)(fn, {
|
|
67
|
-
initialDelay: 1,
|
|
68
|
-
maxAttempts: 2,
|
|
69
|
-
})).rejects.toThrow();
|
|
70
|
-
expect(fn).toHaveBeenCalledTimes(2);
|
|
71
|
-
});
|
|
72
|
-
it("does not retry on AxiosError.ETIMEDOUT", async () => {
|
|
73
|
-
fn.mockImplementation(() => {
|
|
74
|
-
const error = new axios_1.AxiosError("mock error");
|
|
75
|
-
error.code = "ETIMEDOUT";
|
|
76
|
-
throw error;
|
|
77
|
-
});
|
|
78
|
-
await expect(async () => (0, retry_1.executeWithNetworkRetries)(fn, {
|
|
79
|
-
initialDelay: 1,
|
|
80
|
-
maxAttempts: 2,
|
|
81
|
-
})).rejects.toThrow();
|
|
82
|
-
expect(fn).toHaveBeenCalledTimes(1);
|
|
83
|
-
});
|
|
84
|
-
it("does not retry on AxiosError.ECONNABORTED", async () => {
|
|
85
|
-
fn.mockImplementation(() => {
|
|
86
|
-
const error = new axios_1.AxiosError("mock error");
|
|
87
|
-
error.code = "ECONNABORTED";
|
|
88
|
-
throw error;
|
|
89
|
-
});
|
|
90
|
-
await expect(async () => (0, retry_1.executeWithNetworkRetries)(fn, {
|
|
91
|
-
initialDelay: 1,
|
|
92
|
-
maxAttempts: 2,
|
|
93
|
-
})).rejects.toThrow();
|
|
94
|
-
expect(fn).toHaveBeenCalledTimes(1);
|
|
95
|
-
});
|
|
96
|
-
it("does not retry on ECONNREFUSED when gets array of status without ECONNREFUSED", async () => {
|
|
97
|
-
fn.mockImplementation(() => {
|
|
98
|
-
const error = new axios_1.AxiosError("mock error");
|
|
99
|
-
error.code = "ECONNREFUSED";
|
|
100
|
-
throw error;
|
|
101
|
-
});
|
|
102
|
-
await expect(async () => (0, retry_1.executeWithNetworkRetries)(fn, {
|
|
103
|
-
initialDelay: 1,
|
|
104
|
-
maxAttempts: 2,
|
|
105
|
-
httpCodesToRetry: ["ECONNRESET"],
|
|
106
|
-
})).rejects.toThrow();
|
|
107
|
-
expect(fn).toHaveBeenCalledTimes(1);
|
|
108
|
-
});
|
|
109
|
-
it("does not retry on ECONNRESET when gets array of status without ECONNRESET", async () => {
|
|
110
|
-
fn.mockImplementation(() => {
|
|
111
|
-
const error = new axios_1.AxiosError("mock error");
|
|
112
|
-
error.code = "ECONNRESET";
|
|
113
|
-
throw error;
|
|
114
|
-
});
|
|
115
|
-
await expect(async () => (0, retry_1.executeWithNetworkRetries)(fn, {
|
|
116
|
-
initialDelay: 1,
|
|
117
|
-
maxAttempts: 2,
|
|
118
|
-
httpCodesToRetry: ["ECONNREFUSED"],
|
|
119
|
-
})).rejects.toThrow();
|
|
120
|
-
expect(fn).toHaveBeenCalledTimes(1);
|
|
121
|
-
});
|
|
122
|
-
it("does not retry when error is not AxiosError", async () => {
|
|
123
|
-
fn.mockImplementation(() => {
|
|
124
|
-
throw new Error("mock error");
|
|
125
|
-
});
|
|
126
|
-
await expect(async () => (0, retry_1.executeWithNetworkRetries)(fn, {
|
|
127
|
-
initialDelay: 1,
|
|
128
|
-
maxAttempts: 2,
|
|
129
|
-
})).rejects.toThrow();
|
|
130
|
-
expect(fn).toHaveBeenCalledTimes(1);
|
|
131
|
-
});
|
|
132
|
-
it("does not retry when retryOnTimeout is false and error is timeout", async () => {
|
|
133
|
-
fn.mockImplementation(() => {
|
|
134
|
-
const error = new axios_1.AxiosError("mock error");
|
|
135
|
-
error.code = axios_1.AxiosError.ETIMEDOUT;
|
|
136
|
-
throw error;
|
|
137
|
-
});
|
|
138
|
-
await expect(async () => (0, retry_1.executeWithNetworkRetries)(fn, {
|
|
139
|
-
initialDelay: 1,
|
|
140
|
-
maxAttempts: 2,
|
|
141
|
-
retryOnTimeout: false,
|
|
142
|
-
})).rejects.toThrow();
|
|
143
|
-
expect(fn).toHaveBeenCalledTimes(1);
|
|
144
|
-
});
|
|
145
|
-
it("does not retry when retryOnTimeout is empty and error is timeout", async () => {
|
|
146
|
-
fn.mockImplementation(() => {
|
|
147
|
-
const error = new axios_1.AxiosError("mock error");
|
|
148
|
-
error.code = axios_1.AxiosError.ETIMEDOUT;
|
|
149
|
-
throw error;
|
|
150
|
-
});
|
|
151
|
-
await expect(async () => (0, retry_1.executeWithNetworkRetries)(fn, {
|
|
152
|
-
initialDelay: 1,
|
|
153
|
-
maxAttempts: 2,
|
|
154
|
-
})).rejects.toThrow();
|
|
155
|
-
expect(fn).toHaveBeenCalledTimes(1);
|
|
156
|
-
});
|
|
157
|
-
it("retries when retryOnTimeout is true and error is timeout", async () => {
|
|
158
|
-
fn.mockImplementation(() => {
|
|
159
|
-
const error = new axios_1.AxiosError("mock error");
|
|
160
|
-
error.code = axios_1.AxiosError.ETIMEDOUT;
|
|
161
|
-
throw error;
|
|
162
|
-
});
|
|
163
|
-
await expect(async () => (0, retry_1.executeWithNetworkRetries)(fn, {
|
|
164
|
-
initialDelay: 1,
|
|
165
|
-
maxAttempts: 2,
|
|
166
|
-
retryOnTimeout: true,
|
|
167
|
-
})).rejects.toThrow();
|
|
168
|
-
expect(fn).toHaveBeenCalledTimes(2);
|
|
169
|
-
});
|
|
170
|
-
it("retries when retryOnTimeout is false and error is timeout and httpCodesToRetry contains timeout code", async () => {
|
|
171
|
-
fn.mockImplementation(() => {
|
|
172
|
-
const error = new axios_1.AxiosError("mock error");
|
|
173
|
-
error.code = axios_1.AxiosError.ETIMEDOUT;
|
|
174
|
-
throw error;
|
|
175
|
-
});
|
|
176
|
-
await expect(async () => (0, retry_1.executeWithNetworkRetries)(fn, {
|
|
177
|
-
initialDelay: 1,
|
|
178
|
-
maxAttempts: 2,
|
|
179
|
-
retryOnTimeout: false,
|
|
180
|
-
httpCodesToRetry: [axios_1.AxiosError.ETIMEDOUT],
|
|
181
|
-
})).rejects.toThrow();
|
|
182
|
-
expect(fn).toHaveBeenCalledTimes(2);
|
|
183
|
-
});
|
|
184
|
-
it("retries when 429 Too Many Requests and uses modified delay", async () => {
|
|
185
|
-
const spyDefaultGetTimeToWait = jest.spyOn(retry, "defaultGetTimeToWait");
|
|
186
|
-
fn.mockImplementation(() => {
|
|
187
|
-
const error = new axios_1.AxiosError("mock error");
|
|
188
|
-
error.response = {
|
|
189
|
-
status: 429,
|
|
190
|
-
data: {},
|
|
191
|
-
statusText: "Too Many Requests",
|
|
192
|
-
headers: {},
|
|
193
|
-
config: {
|
|
194
|
-
headers: new axios_1.AxiosHeaders(),
|
|
195
|
-
method: "post",
|
|
196
|
-
url: "",
|
|
197
|
-
},
|
|
198
|
-
};
|
|
199
|
-
throw error;
|
|
200
|
-
});
|
|
201
|
-
await expect(async () => (0, retry_1.executeWithNetworkRetries)(fn, {
|
|
202
|
-
initialDelay: 1,
|
|
203
|
-
maxAttempts: 2,
|
|
204
|
-
})).rejects.toThrow();
|
|
205
|
-
expect(fn).toHaveBeenCalledTimes(2);
|
|
206
|
-
expect(spyDefaultGetTimeToWait).toHaveBeenCalledWith(expect.objectContaining({
|
|
207
|
-
initialDelay: 3,
|
|
208
|
-
}));
|
|
209
|
-
});
|
|
210
|
-
});
|
|
211
|
-
describe("getHttpCodeFromError", () => {
|
|
212
|
-
it("returns undefined when error is not Axios", async () => {
|
|
213
|
-
const resp = (0, retry_1.getHttpCodeFromError)(new Error("something"));
|
|
214
|
-
expect(resp).toBeFalsy();
|
|
215
|
-
});
|
|
216
|
-
it("returns code when error is Axios", async () => {
|
|
217
|
-
const expectedCode = faker_1.faker.lorem.word();
|
|
218
|
-
const error = new axios_1.AxiosError("something");
|
|
219
|
-
error.code = expectedCode;
|
|
220
|
-
const resp = (0, retry_1.getHttpCodeFromError)(error);
|
|
221
|
-
expect(resp).toEqual(expectedCode);
|
|
222
|
-
});
|
|
223
|
-
it("returns code when error is not axios but the cause is", async () => {
|
|
224
|
-
const expectedCode = faker_1.faker.lorem.word();
|
|
225
|
-
const error = new axios_1.AxiosError("something");
|
|
226
|
-
error.code = expectedCode;
|
|
227
|
-
const resp = (0, retry_1.getHttpCodeFromError)(new metriport_error_1.MetriportError("something", error));
|
|
228
|
-
expect(resp).toEqual(expectedCode);
|
|
229
|
-
});
|
|
230
|
-
it("returns code when error is not axios but the 2nd cause is", async () => {
|
|
231
|
-
const expectedCode = "ETIMEDOUT";
|
|
232
|
-
const resp = (0, retry_1.getHttpCodeFromError)(axios_2.errorWithCauseAxiosError);
|
|
233
|
-
expect(resp).toEqual(expectedCode);
|
|
234
|
-
});
|
|
235
|
-
});
|
|
236
|
-
describe("getHttpStatusFromError", () => {
|
|
237
|
-
it("returns undefined when error is not Axios", async () => {
|
|
238
|
-
const resp = (0, retry_1.getHttpStatusFromError)(new Error("something"));
|
|
239
|
-
expect(resp).toBeFalsy();
|
|
240
|
-
});
|
|
241
|
-
it("returns status when error is Axios", async () => {
|
|
242
|
-
const expectedStatus = faker_1.faker.number.int();
|
|
243
|
-
const error = new axios_1.AxiosError("something");
|
|
244
|
-
error.response = (0, axios_2.makeAxiosResponse)({ status: expectedStatus });
|
|
245
|
-
const resp = (0, retry_1.getHttpStatusFromError)(error);
|
|
246
|
-
expect(resp).toEqual(expectedStatus);
|
|
247
|
-
});
|
|
248
|
-
it("returns status when error is not axios but the cause is", async () => {
|
|
249
|
-
const expectedStatus = faker_1.faker.number.int();
|
|
250
|
-
const error = new axios_1.AxiosError("something");
|
|
251
|
-
error.response = (0, axios_2.makeAxiosResponse)({ status: expectedStatus });
|
|
252
|
-
const resp = (0, retry_1.getHttpStatusFromError)(new metriport_error_1.MetriportError("something", error));
|
|
253
|
-
expect(resp).toEqual(expectedStatus);
|
|
254
|
-
});
|
|
255
|
-
});
|
|
256
|
-
});
|
|
257
|
-
//# sourceMappingURL=retry.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"retry.test.js","sourceRoot":"","sources":["../../../../../src/net/__tests__/retry.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
export declare const nodeConnRefusedErrorCodes: readonly ["ECONNREFUSED", "ECONNRESET"];
|
|
2
|
-
export type NodeConnRefusedNetworkError = (typeof nodeConnRefusedErrorCodes)[number];
|
|
3
|
-
export declare const nodeTimeoutErrorCodes: readonly ["ETIMEDOUT"];
|
|
4
|
-
export type NodeTimeoutNetworkError = (typeof nodeTimeoutErrorCodes)[number];
|
|
5
|
-
export declare const nodeNetworkErrorCodes: readonly ["ECONNREFUSED", "ECONNRESET", "ETIMEDOUT", "ENOTFOUND"];
|
|
6
|
-
export type NodeNetworkError = (typeof nodeNetworkErrorCodes)[number];
|
|
7
|
-
export declare const axiosTimeoutErrorCodes: readonly ["ECONNABORTED", "ETIMEDOUT"];
|
|
8
|
-
export type AxiosTimeoutError = (typeof axiosTimeoutErrorCodes)[number];
|
|
9
|
-
export declare const axiosResponseErrorCodes: readonly ["ERR_BAD_RESPONSE"];
|
|
10
|
-
export type AxiosResponseError = (typeof axiosResponseErrorCodes)[number];
|
|
11
|
-
export declare const axiosNetworkErrors: readonly ["ERR_BAD_RESPONSE", "ECONNABORTED", "ETIMEDOUT"];
|
|
12
|
-
export type AxiosNetworkError = (typeof axiosNetworkErrors)[number];
|
|
13
|
-
export declare const networkTimeoutErrors: ("ETIMEDOUT" | "ECONNABORTED")[];
|
|
14
|
-
export type NetworkTimeoutError = (typeof networkTimeoutErrors)[number];
|
|
15
|
-
export declare const networkErrors: readonly ["ECONNREFUSED", "ECONNRESET", "ETIMEDOUT", "ENOTFOUND", "ERR_BAD_RESPONSE", "ECONNABORTED", "ETIMEDOUT"];
|
|
16
|
-
export type NetworkError = (typeof networkErrors)[number];
|
|
17
|
-
export declare function getNetworkErrorDetails(error: unknown): {
|
|
18
|
-
details: string;
|
|
19
|
-
code: string | undefined;
|
|
20
|
-
status?: number | undefined;
|
|
21
|
-
};
|
|
22
|
-
//# sourceMappingURL=error.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../../src/net/error.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,yBAAyB,yCAA0C,CAAC;AACjF,MAAM,MAAM,2BAA2B,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAErF,eAAO,MAAM,qBAAqB,wBAAyB,CAAC;AAC5D,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7E,eAAO,MAAM,qBAAqB,mEAIxB,CAAC;AACX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAItE,eAAO,MAAM,sBAAsB,wCAA2D,CAAC;AAC/F,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAExE,eAAO,MAAM,uBAAuB,+BAAyC,CAAC;AAC9E,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E,eAAO,MAAM,kBAAkB,4DAAmE,CAAC;AACnG,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAIpE,eAAO,MAAM,oBAAoB,kCAAwD,CAAC;AAC1F,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAExE,eAAO,MAAM,aAAa,oHAA6D,CAAC;AACxF,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1D,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B,CAUA"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.getNetworkErrorDetails = exports.networkErrors = exports.networkTimeoutErrors = exports.axiosNetworkErrors = exports.axiosResponseErrorCodes = exports.axiosTimeoutErrorCodes = exports.nodeNetworkErrorCodes = exports.nodeTimeoutErrorCodes = exports.nodeConnRefusedErrorCodes = void 0;
|
|
27
|
-
const axios_1 = __importStar(require("axios"));
|
|
28
|
-
const shared_1 = require("../error/shared");
|
|
29
|
-
// https://nodejs.org/docs/latest-v18.x/api/errors.html#common-system-errors
|
|
30
|
-
exports.nodeConnRefusedErrorCodes = ["ECONNREFUSED", "ECONNRESET"];
|
|
31
|
-
exports.nodeTimeoutErrorCodes = ["ETIMEDOUT"];
|
|
32
|
-
exports.nodeNetworkErrorCodes = [
|
|
33
|
-
...exports.nodeConnRefusedErrorCodes,
|
|
34
|
-
...exports.nodeTimeoutErrorCodes,
|
|
35
|
-
"ENOTFOUND",
|
|
36
|
-
];
|
|
37
|
-
// Axios error codes that are timeout errors
|
|
38
|
-
exports.axiosTimeoutErrorCodes = [axios_1.AxiosError.ECONNABORTED, axios_1.AxiosError.ETIMEDOUT];
|
|
39
|
-
exports.axiosResponseErrorCodes = [axios_1.AxiosError.ERR_BAD_RESPONSE];
|
|
40
|
-
exports.axiosNetworkErrors = [...exports.axiosResponseErrorCodes, ...exports.axiosTimeoutErrorCodes];
|
|
41
|
-
// General Network errors
|
|
42
|
-
exports.networkTimeoutErrors = [...exports.nodeTimeoutErrorCodes, ...exports.axiosTimeoutErrorCodes];
|
|
43
|
-
exports.networkErrors = [...exports.nodeNetworkErrorCodes, ...exports.axiosNetworkErrors];
|
|
44
|
-
function getNetworkErrorDetails(error) {
|
|
45
|
-
const details = (0, shared_1.errorToString)(error);
|
|
46
|
-
if (axios_1.default.isAxiosError(error)) {
|
|
47
|
-
return {
|
|
48
|
-
details,
|
|
49
|
-
code: error.code,
|
|
50
|
-
status: error.response?.status,
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
return { details, code: undefined, status: undefined };
|
|
54
|
-
}
|
|
55
|
-
exports.getNetworkErrorDetails = getNetworkErrorDetails;
|
|
56
|
-
//# sourceMappingURL=error.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../src/net/error.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0C;AAC1C,4CAAgD;AAEhD,4EAA4E;AAC/D,QAAA,yBAAyB,GAAG,CAAC,cAAc,EAAE,YAAY,CAAU,CAAC;AAGpE,QAAA,qBAAqB,GAAG,CAAC,WAAW,CAAU,CAAC;AAG/C,QAAA,qBAAqB,GAAG;IACnC,GAAG,iCAAyB;IAC5B,GAAG,6BAAqB;IACxB,WAAW;CACH,CAAC;AAGX,4CAA4C;AAE/B,QAAA,sBAAsB,GAAG,CAAC,kBAAU,CAAC,YAAY,EAAE,kBAAU,CAAC,SAAS,CAAU,CAAC;AAGlF,QAAA,uBAAuB,GAAG,CAAC,kBAAU,CAAC,gBAAgB,CAAU,CAAC;AAGjE,QAAA,kBAAkB,GAAG,CAAC,GAAG,+BAAuB,EAAE,GAAG,8BAAsB,CAAU,CAAC;AAGnG,yBAAyB;AAEZ,QAAA,oBAAoB,GAAG,CAAC,GAAG,6BAAqB,EAAE,GAAG,8BAAsB,CAAC,CAAC;AAG7E,QAAA,aAAa,GAAG,CAAC,GAAG,6BAAqB,EAAE,GAAG,0BAAkB,CAAU,CAAC;AAGxF,SAAgB,sBAAsB,CAAC,KAAc;IAKnD,MAAM,OAAO,GAAG,IAAA,sBAAa,EAAC,KAAK,CAAC,CAAC;IACrC,IAAI,eAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;QAC7B,OAAO;YACL,OAAO;YACP,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM;SAC/B,CAAC;KACH;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AACzD,CAAC;AAdD,wDAcC"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { ExecuteWithRetriesOptions } from "../common/retry";
|
|
2
|
-
import { NetworkError } from "./error";
|
|
3
|
-
export type ExecuteWithNetworkRetriesOptions = Omit<ExecuteWithRetriesOptions<unknown>, "shouldRetry"> & {
|
|
4
|
-
/** The network error codes to retry. See `defaultOptions` for defaults. */
|
|
5
|
-
httpCodesToRetry: NetworkError[];
|
|
6
|
-
httpStatusCodesToRetry: number[];
|
|
7
|
-
/** Whether to retry on timeout errors. Default is false. */
|
|
8
|
-
retryOnTimeout?: boolean;
|
|
9
|
-
};
|
|
10
|
-
export declare function getHttpStatusFromError(error: any): number | undefined;
|
|
11
|
-
export declare function getHttpCodeFromError(error: any): string | undefined;
|
|
12
|
-
/**
|
|
13
|
-
* Executes a function with retries and backoff with jitter. If the function throws a network
|
|
14
|
-
* error, it will retry up to maxAttempts-1, waiting between each retry.
|
|
15
|
-
* If the function throws an error on the last attempt, it will throw the error.
|
|
16
|
-
* If the function succeeds, it will return the result.
|
|
17
|
-
* This is a specialization of `executeWithRetries` for network errors.
|
|
18
|
-
* By default it retries on ECONNREFUSED and ECONNRESET (customize the errors to retry
|
|
19
|
-
* setting the option `httpCodesToRetry`).
|
|
20
|
-
* By default it also retries on HTTP status code 429 (Too Many Requests).
|
|
21
|
-
*
|
|
22
|
-
* @param fn the function to be executed
|
|
23
|
-
* @param options the options to be used; see `ExecuteWithHttpRetriesOptions` for components and
|
|
24
|
-
* `defaultOptions` for defaults.
|
|
25
|
-
* @returns the result of calling the `fn` function
|
|
26
|
-
* @see `executeWithRetries()`
|
|
27
|
-
*
|
|
28
|
-
*/
|
|
29
|
-
export declare function executeWithNetworkRetries<T>(fn: () => Promise<T>, options?: Partial<ExecuteWithNetworkRetriesOptions>): Promise<T>;
|
|
30
|
-
//# sourceMappingURL=retry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../../../src/net/retry.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,yBAAyB,EAE1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAwB,MAAM,SAAS,CAAC;AAK7D,MAAM,MAAM,gCAAgC,GAAG,IAAI,CACjD,yBAAyB,CAAC,OAAO,CAAC,EAClC,aAAa,CACd,GAAG;IACF,2EAA2E;IAC3E,gBAAgB,EAAE,YAAY,EAAE,CAAC;IACjC,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,4DAA4D;IAC5D,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAgBF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CAKrE;AAGD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CAKnE;AA6BD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,yBAAyB,CAAC,CAAC,EAC/C,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,CAAC,EAAE,OAAO,CAAC,gCAAgC,CAAC,GAClD,OAAO,CAAC,CAAC,CAAC,CAwBZ"}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.executeWithNetworkRetries = exports.getHttpCodeFromError = exports.getHttpStatusFromError = void 0;
|
|
7
|
-
const axios_1 = __importDefault(require("axios"));
|
|
8
|
-
const retry_1 = require("../common/retry");
|
|
9
|
-
const error_1 = require("./error");
|
|
10
|
-
const tooManyRequestsStatus = 429;
|
|
11
|
-
const tooManyRequestsMultiplier = 3;
|
|
12
|
-
const defaultOptions = {
|
|
13
|
-
...retry_1.defaultOptions,
|
|
14
|
-
initialDelay: 1000,
|
|
15
|
-
httpCodesToRetry: [
|
|
16
|
-
// https://nodejs.org/docs/latest-v18.x/api/errors.html#common-system-errors
|
|
17
|
-
"ECONNREFUSED",
|
|
18
|
-
"ECONNRESET",
|
|
19
|
-
"ENOTFOUND", // (DNS lookup failed): Indicates a DNS failure of either EAI_NODATA or EAI_NONAME. This is not a standard POSIX error.
|
|
20
|
-
],
|
|
21
|
-
httpStatusCodesToRetry: [tooManyRequestsStatus],
|
|
22
|
-
retryOnTimeout: false,
|
|
23
|
-
};
|
|
24
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
25
|
-
function getHttpStatusFromError(error) {
|
|
26
|
-
if (!error)
|
|
27
|
-
return undefined;
|
|
28
|
-
if (axios_1.default.isAxiosError(error))
|
|
29
|
-
return error.response?.status;
|
|
30
|
-
if ("cause" in error)
|
|
31
|
-
return getHttpStatusFromError(error.cause);
|
|
32
|
-
return undefined;
|
|
33
|
-
}
|
|
34
|
-
exports.getHttpStatusFromError = getHttpStatusFromError;
|
|
35
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
36
|
-
function getHttpCodeFromError(error) {
|
|
37
|
-
if (!error)
|
|
38
|
-
return undefined;
|
|
39
|
-
if (axios_1.default.isAxiosError(error))
|
|
40
|
-
return error.code;
|
|
41
|
-
if ("cause" in error)
|
|
42
|
-
return getHttpCodeFromError(error.cause);
|
|
43
|
-
return undefined;
|
|
44
|
-
}
|
|
45
|
-
exports.getHttpCodeFromError = getHttpCodeFromError;
|
|
46
|
-
/**
|
|
47
|
-
* Custom getTimeToWait function for network retries. Has special handling for 429 Too Many Requests. Else regular backoff.
|
|
48
|
-
* @param initialDelay The initial delay in milliseconds.
|
|
49
|
-
* @param backoffMultiplier The backoff multiplier.
|
|
50
|
-
* @param attempt The current attempt number.
|
|
51
|
-
* @param maxDelay The maximum delay in milliseconds.
|
|
52
|
-
* @param error The error that occurred.
|
|
53
|
-
* @returns The time to wait before the next retry.
|
|
54
|
-
*/
|
|
55
|
-
function networkGetTimeToWait({ initialDelay, backoffMultiplier, attempt, maxDelay, error, }) {
|
|
56
|
-
const status = getHttpStatusFromError(error);
|
|
57
|
-
const effectiveInitialDelay = status === tooManyRequestsStatus ? initialDelay * tooManyRequestsMultiplier : initialDelay;
|
|
58
|
-
return (0, retry_1.defaultGetTimeToWait)({
|
|
59
|
-
initialDelay: effectiveInitialDelay,
|
|
60
|
-
backoffMultiplier,
|
|
61
|
-
attempt,
|
|
62
|
-
maxDelay,
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Executes a function with retries and backoff with jitter. If the function throws a network
|
|
67
|
-
* error, it will retry up to maxAttempts-1, waiting between each retry.
|
|
68
|
-
* If the function throws an error on the last attempt, it will throw the error.
|
|
69
|
-
* If the function succeeds, it will return the result.
|
|
70
|
-
* This is a specialization of `executeWithRetries` for network errors.
|
|
71
|
-
* By default it retries on ECONNREFUSED and ECONNRESET (customize the errors to retry
|
|
72
|
-
* setting the option `httpCodesToRetry`).
|
|
73
|
-
* By default it also retries on HTTP status code 429 (Too Many Requests).
|
|
74
|
-
*
|
|
75
|
-
* @param fn the function to be executed
|
|
76
|
-
* @param options the options to be used; see `ExecuteWithHttpRetriesOptions` for components and
|
|
77
|
-
* `defaultOptions` for defaults.
|
|
78
|
-
* @returns the result of calling the `fn` function
|
|
79
|
-
* @see `executeWithRetries()`
|
|
80
|
-
*
|
|
81
|
-
*/
|
|
82
|
-
async function executeWithNetworkRetries(fn, options) {
|
|
83
|
-
const actualOptions = { ...defaultOptions, ...options };
|
|
84
|
-
const { httpCodesToRetry: httpCodesFromParams, httpStatusCodesToRetry } = actualOptions;
|
|
85
|
-
const httpCodesToRetry = actualOptions.retryOnTimeout
|
|
86
|
-
? [...httpCodesFromParams, ...error_1.networkTimeoutErrors]
|
|
87
|
-
: httpCodesFromParams;
|
|
88
|
-
const codesAsString = httpCodesToRetry.map(String);
|
|
89
|
-
return (0, retry_1.executeWithRetries)(fn, {
|
|
90
|
-
...actualOptions,
|
|
91
|
-
shouldRetry: (_, error) => {
|
|
92
|
-
const networkCode = getHttpCodeFromError(error);
|
|
93
|
-
const networkStatus = getHttpStatusFromError(error);
|
|
94
|
-
return ((networkCode && codesAsString.includes(networkCode)) ||
|
|
95
|
-
(networkStatus && httpStatusCodesToRetry.includes(networkStatus)) ||
|
|
96
|
-
false);
|
|
97
|
-
},
|
|
98
|
-
getTimeToWait: networkGetTimeToWait,
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
exports.executeWithNetworkRetries = executeWithNetworkRetries;
|
|
102
|
-
//# sourceMappingURL=retry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../../../src/net/retry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../../src/net/url.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAQ3D"}
|