@aligent/microservice-util-lib 0.2.1 → 1.0.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/getAwsIdFromArn/getAwsIdFromArn.d.ts +12 -0
- package/dist/getAwsIdFromArn/getAwsIdFromArn.js +21 -0
- package/dist/getAwsIdFromArn/getAwsIdFromArn.js.map +1 -0
- package/dist/getAwsIdFromArn/getAwsIdFromArn.test.d.ts +1 -0
- package/dist/getAwsIdFromArn/getAwsIdFromArn.test.js +20 -0
- package/dist/getAwsIdFromArn/getAwsIdFromArn.test.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/s3/s3.d.ts +1 -4
- package/dist/s3/s3.js +12 -11
- package/dist/s3/s3.js.map +1 -1
- package/dist/s3/s3.test.d.ts +1 -0
- package/dist/s3/s3.test.js +126 -0
- package/dist/s3/s3.test.js.map +1 -0
- package/docs/classes/S3Dao.md +10 -10
- package/docs/interfaces/RetryConfig.md +4 -4
- package/docs/modules.md +43 -8
- package/package.json +1 -1
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get the AWS ID from its resource ARN
|
|
3
|
+
* @param resourceArn the ARN of the AWS resource
|
|
4
|
+
* @returns the ID (if present in the ARN) of the AWS resource/execution
|
|
5
|
+
* @throws when the provided ARN is empty
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* getAwsIdFromArn('arn:aws:states:ap-southeast-2:123123123:execution:prj-int-entity-ac-dc-dev-machine-name:this-is-the-id')
|
|
9
|
+
* ```
|
|
10
|
+
*/
|
|
11
|
+
declare const getAwsIdFromArn: (resourceArn: string) => string;
|
|
12
|
+
export default getAwsIdFromArn;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* Get the AWS ID from its resource ARN
|
|
5
|
+
* @param resourceArn the ARN of the AWS resource
|
|
6
|
+
* @returns the ID (if present in the ARN) of the AWS resource/execution
|
|
7
|
+
* @throws when the provided ARN is empty
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* getAwsIdFromArn('arn:aws:states:ap-southeast-2:123123123:execution:prj-int-entity-ac-dc-dev-machine-name:this-is-the-id')
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
var getAwsIdFromArn = function (resourceArn) {
|
|
14
|
+
if (resourceArn.length === 0) {
|
|
15
|
+
throw new Error('Received an empty resourceArn, unable to get an ID.');
|
|
16
|
+
}
|
|
17
|
+
var startIdx = resourceArn.lastIndexOf(':') + 1;
|
|
18
|
+
return resourceArn.substring(startIdx);
|
|
19
|
+
};
|
|
20
|
+
exports.default = getAwsIdFromArn;
|
|
21
|
+
//# sourceMappingURL=getAwsIdFromArn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getAwsIdFromArn.js","sourceRoot":"","sources":["../../src/getAwsIdFromArn/getAwsIdFromArn.ts"],"names":[],"mappings":";;AAAA;;;;;;;;;GASG;AACH,IAAM,eAAe,GAAG,UAAC,WAAmB;IAC1C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;KACxE;IACD,IAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClD,OAAO,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC,CAAC;AACF,kBAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
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
|
+
var getAwsIdFromArn_1 = __importDefault(require("./getAwsIdFromArn"));
|
|
7
|
+
describe('getAWsIdFromArn', function () {
|
|
8
|
+
it('should return the short execution ID when given a valid ARN', function () {
|
|
9
|
+
expect((0, getAwsIdFromArn_1.default)('arn:aws:states:ap-southeast-2:123123123:execution:prj-int-entity-ac-dc-dev-machine-name:this-is-the-id')).toEqual('this-is-the-id');
|
|
10
|
+
});
|
|
11
|
+
it('should throw an error when an empty string is given', function () {
|
|
12
|
+
expect(function () {
|
|
13
|
+
(0, getAwsIdFromArn_1.default)('');
|
|
14
|
+
}).toThrowError('Received an empty resourceArn, unable to get an ID.');
|
|
15
|
+
});
|
|
16
|
+
it('returns the provided string where it is assumed to be already a short ID', function () {
|
|
17
|
+
expect((0, getAwsIdFromArn_1.default)('my-execution')).toEqual('my-execution');
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=getAwsIdFromArn.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getAwsIdFromArn.test.js","sourceRoot":"","sources":["../../src/getAwsIdFromArn/getAwsIdFromArn.test.ts"],"names":[],"mappings":";;;;;AAAA,sEAAgD;AAEhD,QAAQ,CAAC,iBAAiB,EAAE;IAC1B,EAAE,CAAC,6DAA6D,EAAE;QAChE,MAAM,CACJ,IAAA,yBAAe,EACb,wGAAwG,CACzG,CACF,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE;QACxD,MAAM,CAAC;YACL,IAAA,yBAAe,EAAC,EAAE,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC,YAAY,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAC3E;QACE,MAAM,CAAC,IAAA,yBAAe,EAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,4 +4,5 @@ import retryWrapper, { RetryConfig } from './retryWrapper/retryWrapper';
|
|
|
4
4
|
import fetchSsmParams from './fetchSsmParams/fetchSsmParams';
|
|
5
5
|
import S3Dao from './s3/s3';
|
|
6
6
|
import hasDefinedProperties from './hasPropertiesDefined/hasPropertiesDefined';
|
|
7
|
-
|
|
7
|
+
import getAwsIdFromArn from './getAwsIdFromArn/getAwsIdFromArn';
|
|
8
|
+
export { chunkBy, remap, Remap, ObjectMap, retryWrapper, RetryConfig, fetchSsmParams, S3Dao, hasDefinedProperties, getAwsIdFromArn };
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.hasDefinedProperties = exports.S3Dao = exports.fetchSsmParams = exports.retryWrapper = exports.remap = exports.chunkBy = void 0;
|
|
6
|
+
exports.getAwsIdFromArn = exports.hasDefinedProperties = exports.S3Dao = exports.fetchSsmParams = exports.retryWrapper = exports.remap = exports.chunkBy = void 0;
|
|
7
7
|
var chunkBy_1 = __importDefault(require("./chunkBy/chunkBy"));
|
|
8
8
|
exports.chunkBy = chunkBy_1.default;
|
|
9
9
|
var remap_1 = __importDefault(require("./remap/remap"));
|
|
@@ -16,4 +16,6 @@ var s3_1 = __importDefault(require("./s3/s3"));
|
|
|
16
16
|
exports.S3Dao = s3_1.default;
|
|
17
17
|
var hasPropertiesDefined_1 = __importDefault(require("./hasPropertiesDefined/hasPropertiesDefined"));
|
|
18
18
|
exports.hasDefinedProperties = hasPropertiesDefined_1.default;
|
|
19
|
+
var getAwsIdFromArn_1 = __importDefault(require("./getAwsIdFromArn/getAwsIdFromArn"));
|
|
20
|
+
exports.getAwsIdFromArn = getAwsIdFromArn_1.default;
|
|
19
21
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAwC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAwC;AAStC,kBATK,iBAAO,CASL;AART,wDAAwD;AAStD,gBATK,eAAK,CASL;AARP,6EAAwE;AAWtE,uBAXK,sBAAY,CAWL;AAVd,mFAA6D;AAY3D,yBAZK,wBAAc,CAYL;AAXhB,+CAA4B;AAY1B,gBAZK,YAAK,CAYL;AAXP,qGAA+E;AAY7E,+BAZK,8BAAoB,CAYL;AAXtB,sFAAgE;AAY9D,0BAZK,yBAAe,CAYL"}
|
package/dist/s3/s3.d.ts
CHANGED
|
@@ -34,10 +34,7 @@ declare class S3Dao {
|
|
|
34
34
|
fetchChunks<T>(chunks: GetObjectCommandInput[]): AsyncGenerator<{
|
|
35
35
|
chunk: T;
|
|
36
36
|
s3Object: GetObjectCommandInput;
|
|
37
|
-
},
|
|
38
|
-
chunk: T;
|
|
39
|
-
s3Object: GetObjectCommandInput;
|
|
40
|
-
}, unknown>;
|
|
37
|
+
}, Awaited<T>, unknown>;
|
|
41
38
|
/**
|
|
42
39
|
* Delete an object from the S3 bucket
|
|
43
40
|
* @param objectDetails the object to delete
|
package/dist/s3/s3.js
CHANGED
|
@@ -124,13 +124,16 @@ var S3Dao = /** @class */ (function () {
|
|
|
124
124
|
*/
|
|
125
125
|
S3Dao.prototype.fetchData = function (objectDetails) {
|
|
126
126
|
return __awaiter(this, void 0, void 0, function () {
|
|
127
|
-
var data;
|
|
127
|
+
var data, body;
|
|
128
128
|
return __generator(this, function (_a) {
|
|
129
129
|
switch (_a.label) {
|
|
130
130
|
case 0: return [4 /*yield*/, this.s3.send(new client_s3_1.GetObjectCommand(objectDetails))];
|
|
131
131
|
case 1:
|
|
132
132
|
data = _a.sent();
|
|
133
|
-
return [
|
|
133
|
+
return [4 /*yield*/, data.Body.transformToString()];
|
|
134
|
+
case 2:
|
|
135
|
+
body = _a.sent();
|
|
136
|
+
return [2 /*return*/, JSON.parse(body)];
|
|
134
137
|
}
|
|
135
138
|
});
|
|
136
139
|
});
|
|
@@ -148,7 +151,7 @@ var S3Dao = /** @class */ (function () {
|
|
|
148
151
|
i = 0;
|
|
149
152
|
_a.label = 1;
|
|
150
153
|
case 1:
|
|
151
|
-
if (!(i < chunks.length)) return [3 /*break*/,
|
|
154
|
+
if (!(i < chunks.length)) return [3 /*break*/, 6];
|
|
152
155
|
return [4 /*yield*/, __await(this.fetchData(chunks[i]))];
|
|
153
156
|
case 2:
|
|
154
157
|
chunk = _a.sent();
|
|
@@ -156,18 +159,16 @@ var S3Dao = /** @class */ (function () {
|
|
|
156
159
|
chunk: chunk,
|
|
157
160
|
s3Object: chunks[i]
|
|
158
161
|
};
|
|
159
|
-
if (!(i === chunks.length - 1)) return [3 /*break*/, 4];
|
|
160
162
|
return [4 /*yield*/, __await(response)];
|
|
161
|
-
case 3: return [
|
|
162
|
-
case 4:
|
|
163
|
-
case 5: return [4 /*yield*/, _a.sent()];
|
|
164
|
-
case 6:
|
|
163
|
+
case 3: return [4 /*yield*/, _a.sent()];
|
|
164
|
+
case 4:
|
|
165
165
|
_a.sent();
|
|
166
|
-
_a.label =
|
|
167
|
-
case
|
|
166
|
+
_a.label = 5;
|
|
167
|
+
case 5:
|
|
168
168
|
i++;
|
|
169
169
|
return [3 /*break*/, 1];
|
|
170
|
-
case
|
|
170
|
+
case 6: return [4 /*yield*/, __await(null)];
|
|
171
|
+
case 7: return [2 /*return*/, _a.sent()];
|
|
171
172
|
}
|
|
172
173
|
});
|
|
173
174
|
});
|
package/dist/s3/s3.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3.js","sourceRoot":"","sources":["../../src/s3/s3.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAM4B;AAC5B,4DAA+B;AAC/B,+DAAyC;AAEzC,4CAA4C;AAC5C;IAIE;;OAEG;IACH,eAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,GAAG,IAAI,oBAAQ,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACU,yBAAS,GAAtB,UACE,IAAO,EACP,IAAa;;;;;;wBAEb,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;4BAC/B,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;yBACtC;wBAEK,SAAS,GAA0B;4BACvC,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,GAAG,EAAE,IAAI,IAAI,IAAA,qBAAI,EAAC,IAAW,CAAC;yBAC/B,CAAC;wBAEF,qBAAM,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,4BAAgB,uBAClC,SAAS,KACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAC1B,CAAC,EAAA;;wBAHH,SAGG,CAAC;wBAEJ,sBAAO,SAAS,EAAC;;;;KAClB;IAED;;;;;OAKG;IACU,4BAAY,GAAzB,UAA2C,IAAO,EAAE,SAAiB;;;;;gBAC7D,MAAM,GAAG,IAAA,iBAAO,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBACxC,sBAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,UAAA,KAAK,IAAI,OAAA,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAArB,CAAqB,CAAC,CAAC,EAAC;;;KAChE;IAED;;;;OAIG;IACU,yBAAS,GAAtB,UAA0B,aAAoC;;;;;4BAC/C,qBAAM,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,4BAAgB,CAAC,aAAa,CAAC,CAAC,EAAA;;wBAA9D,IAAI,GAAG,SAAuD;
|
|
1
|
+
{"version":3,"file":"s3.js","sourceRoot":"","sources":["../../src/s3/s3.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAM4B;AAC5B,4DAA+B;AAC/B,+DAAyC;AAEzC,4CAA4C;AAC5C;IAIE;;OAEG;IACH,eAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,GAAG,IAAI,oBAAQ,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACU,yBAAS,GAAtB,UACE,IAAO,EACP,IAAa;;;;;;wBAEb,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;4BAC/B,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;yBACtC;wBAEK,SAAS,GAA0B;4BACvC,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,GAAG,EAAE,IAAI,IAAI,IAAA,qBAAI,EAAC,IAAW,CAAC;yBAC/B,CAAC;wBAEF,qBAAM,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,4BAAgB,uBAClC,SAAS,KACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAC1B,CAAC,EAAA;;wBAHH,SAGG,CAAC;wBAEJ,sBAAO,SAAS,EAAC;;;;KAClB;IAED;;;;;OAKG;IACU,4BAAY,GAAzB,UAA2C,IAAO,EAAE,SAAiB;;;;;gBAC7D,MAAM,GAAG,IAAA,iBAAO,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBACxC,sBAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,UAAA,KAAK,IAAI,OAAA,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAArB,CAAqB,CAAC,CAAC,EAAC;;;KAChE;IAED;;;;OAIG;IACU,yBAAS,GAAtB,UAA0B,aAAoC;;;;;4BAC/C,qBAAM,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,4BAAgB,CAAC,aAAa,CAAC,CAAC,EAAA;;wBAA9D,IAAI,GAAG,SAAuD;wBACvD,qBAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAA;;wBAA1C,IAAI,GAAG,SAAmC;wBAChD,sBAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC;;;;KACzB;IAED;;;OAGG;IACW,2BAAW,GAAzB,UAA6B,MAA+B;;;;;;wBACjD,CAAC,GAAG,CAAC;;;6BAAE,CAAA,CAAC,GAAG,MAAM,CAAC,MAAM,CAAA;wBACd,6BAAM,IAAI,CAAC,SAAS,CAAI,MAAM,CAAC,CAAC,CAAC,CAAC,GAAA;;wBAA7C,KAAK,GAAM,SAAkC;wBAE7C,QAAQ,GAAG;4BACf,KAAK,OAAA;4BACL,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;yBACpB,CAAC;qDAEI,QAAQ;4BAAd,gCAAc;;wBAAd,SAAc,CAAC;;;wBARkB,CAAC,EAAE,CAAA;;yDAW/B,IAAS;4BAAhB,iCAAiB;;;;KAClB;IAED;;;OAGG;IACU,0BAAU,GAAvB,UAAwB,aAAoC;;;gBAC1D,sBAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,+BAAmB,CAAC,aAAa,CAAC,CAAC,EAAC;;;KAC7D;IACH,YAAC;AAAD,CAAC,AAvFD,IAuFC;AAED,kBAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __asyncValues = (this && this.__asyncValues) || function (o) {
|
|
39
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
40
|
+
var m = o[Symbol.asyncIterator], i;
|
|
41
|
+
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
|
|
42
|
+
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
|
43
|
+
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
|
44
|
+
};
|
|
45
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
46
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
47
|
+
};
|
|
48
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
|
+
var s3_1 = __importDefault(require("./s3"));
|
|
50
|
+
var client_s3_1 = require("@aws-sdk/client-s3");
|
|
51
|
+
var aws_sdk_client_mock_1 = require("aws-sdk-client-mock");
|
|
52
|
+
var util_stream_node_1 = require("@aws-sdk/util-stream-node");
|
|
53
|
+
var stream_1 = require("stream");
|
|
54
|
+
var s3Mock = (0, aws_sdk_client_mock_1.mockClient)(client_s3_1.S3Client);
|
|
55
|
+
var Bucket = 'bucket_name';
|
|
56
|
+
beforeEach(function () {
|
|
57
|
+
s3Mock.reset();
|
|
58
|
+
});
|
|
59
|
+
describe('fetchChunks', function () {
|
|
60
|
+
it('should yield all file contents in a for await ... of loop ', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
61
|
+
var iterations, chunks, data, responses, s3, result, _a, _b, _c, response, e_1_1;
|
|
62
|
+
var _d, e_1, _e, _f;
|
|
63
|
+
return __generator(this, function (_g) {
|
|
64
|
+
switch (_g.label) {
|
|
65
|
+
case 0:
|
|
66
|
+
iterations = [0, 1, 2, 3];
|
|
67
|
+
chunks = iterations.map(function (n) { return ({
|
|
68
|
+
Bucket: Bucket,
|
|
69
|
+
Key: "file_".concat(n)
|
|
70
|
+
}); });
|
|
71
|
+
data = iterations.map(function (n) { return ({ value: n }); });
|
|
72
|
+
responses = data.map(function (d) {
|
|
73
|
+
var stream = new stream_1.Readable();
|
|
74
|
+
stream.push(JSON.stringify(d));
|
|
75
|
+
stream.push(null);
|
|
76
|
+
return { Body: (0, util_stream_node_1.sdkStreamMixin)(stream) };
|
|
77
|
+
});
|
|
78
|
+
iterations.forEach(function (n) {
|
|
79
|
+
s3Mock.on(client_s3_1.GetObjectCommand, chunks[n]).resolvesOnce(responses[n]);
|
|
80
|
+
});
|
|
81
|
+
s3 = new s3_1.default(Bucket);
|
|
82
|
+
result = [];
|
|
83
|
+
_g.label = 1;
|
|
84
|
+
case 1:
|
|
85
|
+
_g.trys.push([1, 6, 7, 12]);
|
|
86
|
+
_a = true, _b = __asyncValues(s3.fetchChunks(chunks));
|
|
87
|
+
_g.label = 2;
|
|
88
|
+
case 2: return [4 /*yield*/, _b.next()];
|
|
89
|
+
case 3:
|
|
90
|
+
if (!(_c = _g.sent(), _d = _c.done, !_d)) return [3 /*break*/, 5];
|
|
91
|
+
_f = _c.value;
|
|
92
|
+
_a = false;
|
|
93
|
+
try {
|
|
94
|
+
response = _f;
|
|
95
|
+
result.push(response.chunk);
|
|
96
|
+
}
|
|
97
|
+
finally {
|
|
98
|
+
_a = true;
|
|
99
|
+
}
|
|
100
|
+
_g.label = 4;
|
|
101
|
+
case 4: return [3 /*break*/, 2];
|
|
102
|
+
case 5: return [3 /*break*/, 12];
|
|
103
|
+
case 6:
|
|
104
|
+
e_1_1 = _g.sent();
|
|
105
|
+
e_1 = { error: e_1_1 };
|
|
106
|
+
return [3 /*break*/, 12];
|
|
107
|
+
case 7:
|
|
108
|
+
_g.trys.push([7, , 10, 11]);
|
|
109
|
+
if (!(!_a && !_d && (_e = _b.return))) return [3 /*break*/, 9];
|
|
110
|
+
return [4 /*yield*/, _e.call(_b)];
|
|
111
|
+
case 8:
|
|
112
|
+
_g.sent();
|
|
113
|
+
_g.label = 9;
|
|
114
|
+
case 9: return [3 /*break*/, 11];
|
|
115
|
+
case 10:
|
|
116
|
+
if (e_1) throw e_1.error;
|
|
117
|
+
return [7 /*endfinally*/];
|
|
118
|
+
case 11: return [7 /*endfinally*/];
|
|
119
|
+
case 12:
|
|
120
|
+
expect(result).toEqual(data);
|
|
121
|
+
return [2 /*return*/];
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
}); });
|
|
125
|
+
});
|
|
126
|
+
//# sourceMappingURL=s3.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"s3.test.js","sourceRoot":"","sources":["../../src/s3/s3.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,gDAAgE;AAChE,2DAAiD;AACjD,8DAA2D;AAC3D,iCAAkC;AAGlC,IAAM,MAAM,GAAG,IAAA,gCAAU,EAAC,oBAAQ,CAAC,CAAC;AAEpC,IAAM,MAAM,GAAG,aAAa,CAAC;AAE7B,UAAU,CAAC;IACT,MAAM,CAAC,KAAK,EAAE,CAAC;AACjB,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,aAAa,EAAE;IACtB,EAAE,CAAC,4DAA4D,EAAE;;;;;;oBACzD,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC1B,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC;wBAClC,MAAM,QAAA;wBACN,GAAG,EAAE,eAAQ,CAAC,CAAE;qBACjB,CAAC,EAHiC,CAGjC,CAAC,CAAC;oBACE,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAd,CAAc,CAAC,CAAC;oBAI3C,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,UAAA,CAAC;wBAC1B,IAAM,MAAM,GAAG,IAAI,iBAAQ,EAAE,CAAC;wBAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAClB,OAAO,EAAE,IAAI,EAAE,IAAA,iCAAc,EAAC,MAAM,CAAC,EAAE,CAAC;oBAC1C,CAAC,CAAC,CAAC;oBAEH,UAAU,CAAC,OAAO,CAAC,UAAA,CAAC;wBAClB,MAAM,CAAC,EAAE,CAAC,4BAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpE,CAAC,CAAC,CAAC;oBAEG,EAAE,GAAG,IAAI,YAAK,CAAC,MAAM,CAAC,CAAC;oBAEvB,MAAM,GAAG,EAAE,CAAC;;;;+BACW,KAAA,cAAA,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;;;;;oBAAtB,cAAsB;oBAAtB,WAAsB;;wBAAlC,QAAQ,KAAA,CAAA;wBACvB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;oBAG9B,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;;;;SAC9B,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/docs/classes/S3Dao.md
CHANGED
|
@@ -37,7 +37,7 @@ A data access object for an S3 bucket
|
|
|
37
37
|
|
|
38
38
|
#### Defined in
|
|
39
39
|
|
|
40
|
-
[s3/s3.ts:19](https://bitbucket.org/aligent/microservice-util-lib/src/
|
|
40
|
+
[s3/s3.ts:19](https://bitbucket.org/aligent/microservice-util-lib/src/5ba81bd/src/s3/s3.ts#lines-19)
|
|
41
41
|
|
|
42
42
|
## Properties
|
|
43
43
|
|
|
@@ -47,7 +47,7 @@ A data access object for an S3 bucket
|
|
|
47
47
|
|
|
48
48
|
#### Defined in
|
|
49
49
|
|
|
50
|
-
[s3/s3.ts:14](https://bitbucket.org/aligent/microservice-util-lib/src/
|
|
50
|
+
[s3/s3.ts:14](https://bitbucket.org/aligent/microservice-util-lib/src/5ba81bd/src/s3/s3.ts#lines-14)
|
|
51
51
|
|
|
52
52
|
___
|
|
53
53
|
|
|
@@ -57,7 +57,7 @@ ___
|
|
|
57
57
|
|
|
58
58
|
#### Defined in
|
|
59
59
|
|
|
60
|
-
[s3/s3.ts:13](https://bitbucket.org/aligent/microservice-util-lib/src/
|
|
60
|
+
[s3/s3.ts:13](https://bitbucket.org/aligent/microservice-util-lib/src/5ba81bd/src/s3/s3.ts#lines-13)
|
|
61
61
|
|
|
62
62
|
## Methods
|
|
63
63
|
|
|
@@ -79,13 +79,13 @@ Delete an object from the S3 bucket
|
|
|
79
79
|
|
|
80
80
|
#### Defined in
|
|
81
81
|
|
|
82
|
-
[s3/s3.ts:96](https://bitbucket.org/aligent/microservice-util-lib/src/
|
|
82
|
+
[s3/s3.ts:96](https://bitbucket.org/aligent/microservice-util-lib/src/5ba81bd/src/s3/s3.ts#lines-96)
|
|
83
83
|
|
|
84
84
|
___
|
|
85
85
|
|
|
86
86
|
### <a id="fetchchunks" name="fetchchunks"></a> fetchChunks
|
|
87
87
|
|
|
88
|
-
▸ **fetchChunks**<`T`\>(`chunks`): `AsyncGenerator`<{ `chunk`: `T` ; `s3Object`: `GetObjectCommandInput` },
|
|
88
|
+
▸ **fetchChunks**<`T`\>(`chunks`): `AsyncGenerator`<{ `chunk`: `T` ; `s3Object`: `GetObjectCommandInput` }, `Awaited`<`T`\>, `unknown`\>
|
|
89
89
|
|
|
90
90
|
Generator to fetch chunked data, chunk by chunk
|
|
91
91
|
|
|
@@ -103,11 +103,11 @@ Generator to fetch chunked data, chunk by chunk
|
|
|
103
103
|
|
|
104
104
|
#### Returns
|
|
105
105
|
|
|
106
|
-
`AsyncGenerator`<{ `chunk`: `T` ; `s3Object`: `GetObjectCommandInput` },
|
|
106
|
+
`AsyncGenerator`<{ `chunk`: `T` ; `s3Object`: `GetObjectCommandInput` }, `Awaited`<`T`\>, `unknown`\>
|
|
107
107
|
|
|
108
108
|
#### Defined in
|
|
109
109
|
|
|
110
|
-
[s3/s3.ts:
|
|
110
|
+
[s3/s3.ts:77](https://bitbucket.org/aligent/microservice-util-lib/src/5ba81bd/src/s3/s3.ts#lines-77)
|
|
111
111
|
|
|
112
112
|
___
|
|
113
113
|
|
|
@@ -137,7 +137,7 @@ the body of the object
|
|
|
137
137
|
|
|
138
138
|
#### Defined in
|
|
139
139
|
|
|
140
|
-
[s3/s3.ts:67](https://bitbucket.org/aligent/microservice-util-lib/src/
|
|
140
|
+
[s3/s3.ts:67](https://bitbucket.org/aligent/microservice-util-lib/src/5ba81bd/src/s3/s3.ts#lines-67)
|
|
141
141
|
|
|
142
142
|
___
|
|
143
143
|
|
|
@@ -168,7 +168,7 @@ an array of objects which can be used to fetch the chunks
|
|
|
168
168
|
|
|
169
169
|
#### Defined in
|
|
170
170
|
|
|
171
|
-
[s3/s3.ts:57](https://bitbucket.org/aligent/microservice-util-lib/src/
|
|
171
|
+
[s3/s3.ts:57](https://bitbucket.org/aligent/microservice-util-lib/src/5ba81bd/src/s3/s3.ts#lines-57)
|
|
172
172
|
|
|
173
173
|
___
|
|
174
174
|
|
|
@@ -203,4 +203,4 @@ an object which can be used to fetch the data
|
|
|
203
203
|
|
|
204
204
|
#### Defined in
|
|
205
205
|
|
|
206
|
-
[s3/s3.ts:30](https://bitbucket.org/aligent/microservice-util-lib/src/
|
|
206
|
+
[s3/s3.ts:30](https://bitbucket.org/aligent/microservice-util-lib/src/5ba81bd/src/s3/s3.ts#lines-30)
|
|
@@ -27,7 +27,7 @@ The amount to increase the delay by each retry (in ms)
|
|
|
27
27
|
|
|
28
28
|
#### Defined in
|
|
29
29
|
|
|
30
|
-
[retryWrapper/retryWrapper.ts:17](https://bitbucket.org/aligent/microservice-util-lib/src/
|
|
30
|
+
[retryWrapper/retryWrapper.ts:17](https://bitbucket.org/aligent/microservice-util-lib/src/5ba81bd/src/retryWrapper/retryWrapper.ts#lines-17)
|
|
31
31
|
|
|
32
32
|
___
|
|
33
33
|
|
|
@@ -43,7 +43,7 @@ The base delay between retries (in ms)
|
|
|
43
43
|
|
|
44
44
|
#### Defined in
|
|
45
45
|
|
|
46
|
-
[retryWrapper/retryWrapper.ts:12](https://bitbucket.org/aligent/microservice-util-lib/src/
|
|
46
|
+
[retryWrapper/retryWrapper.ts:12](https://bitbucket.org/aligent/microservice-util-lib/src/5ba81bd/src/retryWrapper/retryWrapper.ts#lines-12)
|
|
47
47
|
|
|
48
48
|
___
|
|
49
49
|
|
|
@@ -71,7 +71,7 @@ A callback to run before each retry
|
|
|
71
71
|
|
|
72
72
|
#### Defined in
|
|
73
73
|
|
|
74
|
-
[retryWrapper/retryWrapper.ts:24](https://bitbucket.org/aligent/microservice-util-lib/src/
|
|
74
|
+
[retryWrapper/retryWrapper.ts:24](https://bitbucket.org/aligent/microservice-util-lib/src/5ba81bd/src/retryWrapper/retryWrapper.ts#lines-24)
|
|
75
75
|
|
|
76
76
|
___
|
|
77
77
|
|
|
@@ -87,4 +87,4 @@ The number of retries to attempt after the first run
|
|
|
87
87
|
|
|
88
88
|
#### Defined in
|
|
89
89
|
|
|
90
|
-
[retryWrapper/retryWrapper.ts:7](https://bitbucket.org/aligent/microservice-util-lib/src/
|
|
90
|
+
[retryWrapper/retryWrapper.ts:7](https://bitbucket.org/aligent/microservice-util-lib/src/5ba81bd/src/retryWrapper/retryWrapper.ts#lines-7)
|
package/docs/modules.md
CHANGED
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
|
|
22
22
|
- [chunkBy](modules.md#chunkby)
|
|
23
23
|
- [fetchSsmParams](modules.md#fetchssmparams)
|
|
24
|
+
- [getAwsIdFromArn](modules.md#getawsidfromarn)
|
|
24
25
|
- [hasDefinedProperties](modules.md#hasdefinedproperties)
|
|
25
26
|
- [remap](modules.md#remap-1)
|
|
26
27
|
- [retryWrapper](modules.md#retrywrapper)
|
|
@@ -35,7 +36,7 @@ A list of keys to keys, with an optional transformer function
|
|
|
35
36
|
|
|
36
37
|
#### Defined in
|
|
37
38
|
|
|
38
|
-
[remap/remap.ts:15](https://bitbucket.org/aligent/microservice-util-lib/src/
|
|
39
|
+
[remap/remap.ts:15](https://bitbucket.org/aligent/microservice-util-lib/src/5ba81bd/src/remap/remap.ts#lines-15)
|
|
39
40
|
|
|
40
41
|
___
|
|
41
42
|
|
|
@@ -52,7 +53,7 @@ ___
|
|
|
52
53
|
|
|
53
54
|
#### Defined in
|
|
54
55
|
|
|
55
|
-
[remap/remap.ts:159](https://bitbucket.org/aligent/microservice-util-lib/src/
|
|
56
|
+
[remap/remap.ts:159](https://bitbucket.org/aligent/microservice-util-lib/src/5ba81bd/src/remap/remap.ts#lines-159)
|
|
56
57
|
|
|
57
58
|
## Functions
|
|
58
59
|
|
|
@@ -87,7 +88,7 @@ chunkBy([1, 2, 3, 4, 5, 6, 7], 2) // [[1, 2], [3, 4], [5, 6], [7]]
|
|
|
87
88
|
|
|
88
89
|
#### Defined in
|
|
89
90
|
|
|
90
|
-
[chunkBy/chunkBy.ts:10](https://bitbucket.org/aligent/microservice-util-lib/src/
|
|
91
|
+
[chunkBy/chunkBy.ts:10](https://bitbucket.org/aligent/microservice-util-lib/src/5ba81bd/src/chunkBy/chunkBy.ts#lines-10)
|
|
91
92
|
|
|
92
93
|
___
|
|
93
94
|
|
|
@@ -109,7 +110,7 @@ Fetch one SSM parameter
|
|
|
109
110
|
|
|
110
111
|
#### Defined in
|
|
111
112
|
|
|
112
|
-
[fetchSsmParams/fetchSsmParams.ts:14](https://bitbucket.org/aligent/microservice-util-lib/src/
|
|
113
|
+
[fetchSsmParams/fetchSsmParams.ts:14](https://bitbucket.org/aligent/microservice-util-lib/src/5ba81bd/src/fetchSsmParams/fetchSsmParams.ts#lines-14)
|
|
113
114
|
|
|
114
115
|
▸ **fetchSsmParams**(`...params`): `Promise`<`Parameter`[]\>
|
|
115
116
|
|
|
@@ -127,7 +128,41 @@ Fetch a list of SSM parameters
|
|
|
127
128
|
|
|
128
129
|
#### Defined in
|
|
129
130
|
|
|
130
|
-
[fetchSsmParams/fetchSsmParams.ts:21](https://bitbucket.org/aligent/microservice-util-lib/src/
|
|
131
|
+
[fetchSsmParams/fetchSsmParams.ts:21](https://bitbucket.org/aligent/microservice-util-lib/src/5ba81bd/src/fetchSsmParams/fetchSsmParams.ts#lines-21)
|
|
132
|
+
|
|
133
|
+
___
|
|
134
|
+
|
|
135
|
+
### <a id="getawsidfromarn" name="getawsidfromarn"></a> getAwsIdFromArn
|
|
136
|
+
|
|
137
|
+
▸ **getAwsIdFromArn**(`resourceArn`): `string`
|
|
138
|
+
|
|
139
|
+
Get the AWS ID from its resource ARN
|
|
140
|
+
|
|
141
|
+
**`Throws`**
|
|
142
|
+
|
|
143
|
+
when the provided ARN is empty
|
|
144
|
+
|
|
145
|
+
**`Example`**
|
|
146
|
+
|
|
147
|
+
```ts
|
|
148
|
+
getAwsIdFromArn('arn:aws:states:ap-southeast-2:123123123:execution:prj-int-entity-ac-dc-dev-machine-name:this-is-the-id')
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
#### Parameters
|
|
152
|
+
|
|
153
|
+
| Name | Type | Description |
|
|
154
|
+
| :------ | :------ | :------ |
|
|
155
|
+
| `resourceArn` | `string` | the ARN of the AWS resource |
|
|
156
|
+
|
|
157
|
+
#### Returns
|
|
158
|
+
|
|
159
|
+
`string`
|
|
160
|
+
|
|
161
|
+
the ID (if present in the ARN) of the AWS resource/execution
|
|
162
|
+
|
|
163
|
+
#### Defined in
|
|
164
|
+
|
|
165
|
+
[getAwsIdFromArn/getAwsIdFromArn.ts:11](https://bitbucket.org/aligent/microservice-util-lib/src/5ba81bd/src/getAwsIdFromArn/getAwsIdFromArn.ts#lines-11)
|
|
131
166
|
|
|
132
167
|
___
|
|
133
168
|
|
|
@@ -173,7 +208,7 @@ obj is SimplifyIntersection<Required<Pick<T, K\>\> & Omit<T, K\>\>
|
|
|
173
208
|
|
|
174
209
|
#### Defined in
|
|
175
210
|
|
|
176
|
-
[hasPropertiesDefined/hasPropertiesDefined.ts:22](https://bitbucket.org/aligent/microservice-util-lib/src/
|
|
211
|
+
[hasPropertiesDefined/hasPropertiesDefined.ts:22](https://bitbucket.org/aligent/microservice-util-lib/src/5ba81bd/src/hasPropertiesDefined/hasPropertiesDefined.ts#lines-22)
|
|
177
212
|
|
|
178
213
|
___
|
|
179
214
|
|
|
@@ -240,7 +275,7 @@ the remapped object
|
|
|
240
275
|
|
|
241
276
|
#### Defined in
|
|
242
277
|
|
|
243
|
-
[remap/remap.ts:198](https://bitbucket.org/aligent/microservice-util-lib/src/
|
|
278
|
+
[remap/remap.ts:198](https://bitbucket.org/aligent/microservice-util-lib/src/5ba81bd/src/remap/remap.ts#lines-198)
|
|
244
279
|
|
|
245
280
|
___
|
|
246
281
|
|
|
@@ -278,4 +313,4 @@ retryWrapper(someAsyncFunction, {
|
|
|
278
313
|
|
|
279
314
|
#### Defined in
|
|
280
315
|
|
|
281
|
-
[retryWrapper/retryWrapper.ts:78](https://bitbucket.org/aligent/microservice-util-lib/src/
|
|
316
|
+
[retryWrapper/retryWrapper.ts:78](https://bitbucket.org/aligent/microservice-util-lib/src/5ba81bd/src/retryWrapper/retryWrapper.ts#lines-78)
|