@super-protocol/sdk-js 2.0.3-beta.0 → 2.0.3-beta.2

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.
@@ -70,6 +70,15 @@ class BlockchainEventsListener extends BaseConnector_1.BaseConnector {
70
70
  }, config.reconnect);
71
71
  this.logger.info(`Initializing events listener with reconnect options: ${JSON.stringify(reconnectOptions)}`);
72
72
  const provider = new web3_1.WebSocketProvider(config.blockchainUrl, {} /* ClientOptions */, reconnectOptions);
73
+ provider.on('connect', (info) => {
74
+ this.logger.info(info, 'Events listener connect');
75
+ });
76
+ provider.on('disconnect', (err) => {
77
+ this.logger.error({ err }, 'Events listener disconnect');
78
+ });
79
+ provider.on('error', (err) => {
80
+ this.logger.error({ err }, 'Events listener error');
81
+ });
73
82
  store_1.default.web3Wss = new web3_1.default(provider);
74
83
  const web3Context = new web3_1.Web3Context({
75
84
  provider: store_1.default.web3Wss.currentProvider,
@@ -90,4 +99,4 @@ class BlockchainEventsListener extends BaseConnector_1.BaseConnector {
90
99
  }
91
100
  }
92
101
  exports.default = BlockchainEventsListener;
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmxvY2tjaGFpbkV2ZW50c0xpc3RlbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Nvbm5lY3RvcnMvQmxvY2tjaGFpbkV2ZW50c0xpc3RlbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtREFBd0Q7QUFDeEQsNkNBQTREO0FBRTVELDBDQUF1QztBQUV2QyxpQ0FBaUM7QUFDakMscURBQTZCO0FBQzdCLHdFQUFnRDtBQUNoRCxrRkFBMEQ7QUFFMUQsTUFBTSx3QkFBeUIsU0FBUSw2QkFBYTtJQUlsRDtRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQUVNLE1BQU0sQ0FBQyxXQUFXO1FBQ3ZCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUU7WUFDdEMsd0JBQXdCLENBQUMsUUFBUSxHQUFHLElBQUksd0JBQXdCLEVBQUUsQ0FBQztTQUNwRTtRQUVELE9BQU8sd0JBQXdCLENBQUMsUUFBUSxDQUFDO0lBQzNDLENBQUM7SUFFTSxXQUFXOztRQUNoQixPQUEwQixNQUFBLGVBQUssQ0FBQyxPQUFPLDBDQUFFLFFBQVEsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ1UsVUFBVSxDQUFDLE1BQWM7O1lBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQztZQUUxQyxNQUFNLGdCQUFnQixHQUFxQixNQUFNLENBQUMsTUFBTSxDQUN0RDtnQkFDRSxhQUFhLEVBQUUsSUFBSTtnQkFDbkIsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osV0FBVyxFQUFFLElBQUk7YUFDbEIsRUFDRCxNQUFNLENBQUMsU0FBUyxDQUNqQixDQUFDO1lBRUYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsd0RBQXdELElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFFN0csTUFBTSxRQUFRLEdBQUcsSUFBSSx3QkFBaUIsQ0FBQyxNQUFNLENBQUMsYUFBYyxFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBRXhHLGVBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxjQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbkMsTUFBTSxXQUFXLEdBQUcsSUFBSSxrQkFBVyxDQUFDO2dCQUNsQyxRQUFRLEVBQUUsZUFBSyxDQUFDLE9BQU8sQ0FBQyxlQUFlO2dCQUN2QyxNQUFNLEVBQUUsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUU7YUFDMUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLGVBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxTQUFHLEVBQUUsTUFBTSxDQUFDLGVBQWUsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUN6RixrQkFBUSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDO1lBQzFDLHVCQUFhLENBQUMsVUFBVSxHQUFHLE1BQU0sa0JBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRXpFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBRXhCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ25DLENBQUM7S0FBQTtJQUVNLFFBQVE7O1FBQ2IsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLE1BQUEsTUFBQSxlQUFLLENBQUMsT0FBTywwQ0FBRSxRQUFRLDBDQUFFLFVBQVUsRUFBRSxDQUFDO1FBQ3RDLGVBQUssQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDO0lBQzVCLENBQUM7Q0FDRjtBQUVELGtCQUFlLHdCQUF3QixDQUFDIn0=
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmxvY2tjaGFpbkV2ZW50c0xpc3RlbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Nvbm5lY3RvcnMvQmxvY2tjaGFpbkV2ZW50c0xpc3RlbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtREFBd0Q7QUFDeEQsNkNBQTREO0FBRzVELDBDQUF1QztBQUV2QyxpQ0FBaUM7QUFDakMscURBQTZCO0FBQzdCLHdFQUFnRDtBQUNoRCxrRkFBMEQ7QUFFMUQsTUFBTSx3QkFBeUIsU0FBUSw2QkFBYTtJQUlsRDtRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQUVNLE1BQU0sQ0FBQyxXQUFXO1FBQ3ZCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUU7WUFDdEMsd0JBQXdCLENBQUMsUUFBUSxHQUFHLElBQUksd0JBQXdCLEVBQUUsQ0FBQztTQUNwRTtRQUVELE9BQU8sd0JBQXdCLENBQUMsUUFBUSxDQUFDO0lBQzNDLENBQUM7SUFFTSxXQUFXOztRQUNoQixPQUEwQixNQUFBLGVBQUssQ0FBQyxPQUFPLDBDQUFFLFFBQVEsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ1UsVUFBVSxDQUFDLE1BQWM7O1lBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQztZQUUxQyxNQUFNLGdCQUFnQixHQUFxQixNQUFNLENBQUMsTUFBTSxDQUN0RDtnQkFDRSxhQUFhLEVBQUUsSUFBSTtnQkFDbkIsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osV0FBVyxFQUFFLElBQUk7YUFDbEIsRUFDRCxNQUFNLENBQUMsU0FBUyxDQUNqQixDQUFDO1lBRUYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ2Qsd0RBQXdELElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUMzRixDQUFDO1lBRUYsTUFBTSxRQUFRLEdBQUcsSUFBSSx3QkFBaUIsQ0FDcEMsTUFBTSxDQUFDLGFBQWMsRUFDckIsRUFBRSxDQUFDLG1CQUFtQixFQUN0QixnQkFBZ0IsQ0FDakIsQ0FBQztZQUVGLFFBQVEsQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBeUIsRUFBRSxFQUFFO2dCQUNuRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUseUJBQXlCLENBQUMsQ0FBQztZQUNwRCxDQUFDLENBQUMsQ0FBQztZQUNILFFBQVEsQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsR0FBcUIsRUFBRSxFQUFFO2dCQUNsRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLDRCQUE0QixDQUFDLENBQUM7WUFDM0QsQ0FBQyxDQUFDLENBQUM7WUFDSCxRQUFRLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQVksRUFBRSxFQUFFO2dCQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLHVCQUF1QixDQUFDLENBQUM7WUFDdEQsQ0FBQyxDQUFDLENBQUM7WUFFSCxlQUFLLENBQUMsT0FBTyxHQUFHLElBQUksY0FBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25DLE1BQU0sV0FBVyxHQUFHLElBQUksa0JBQVcsQ0FBQztnQkFDbEMsUUFBUSxFQUFFLGVBQUssQ0FBQyxPQUFPLENBQUMsZUFBZTtnQkFDdkMsTUFBTSxFQUFFLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFO2FBQzFDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxlQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsU0FBRyxFQUFFLE1BQU0sQ0FBQyxlQUFlLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDekYsa0JBQVEsQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQztZQUMxQyx1QkFBYSxDQUFDLFVBQVUsR0FBRyxNQUFNLGtCQUFRLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUV6RSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUV4QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNuQyxDQUFDO0tBQUE7SUFFTSxRQUFROztRQUNiLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixNQUFBLE1BQUEsZUFBSyxDQUFDLE9BQU8sMENBQUUsUUFBUSwwQ0FBRSxVQUFVLEVBQUUsQ0FBQztRQUN0QyxlQUFLLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQztJQUM1QixDQUFDO0NBQ0Y7QUFFRCxrQkFBZSx3QkFBd0IsQ0FBQyJ9
@@ -19,7 +19,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
19
19
  exports.S3StorageProvider = void 0;
20
20
  const client_s3_1 = require("@aws-sdk/client-s3");
21
21
  const stream_1 = require("stream");
22
- const lib_storage_1 = require("@aws-sdk/lib-storage");
22
+ const getStreamChunks_1 = require("../../utils/helpers/getStreamChunks");
23
23
  class S3StorageProvider {
24
24
  constructor(storageAccess) {
25
25
  this.multipartChunkSizeInBytes = 64 * 1024 * 1024; // 64MB
@@ -49,29 +49,22 @@ class S3StorageProvider {
49
49
  return __awaiter(this, void 0, void 0, function* () {
50
50
  // For performance & cost optimization
51
51
  // https://docs.storj.io/dcs/api-reference/s3-compatible-gateway/multipart-upload/multipart-part-size
52
- if (inputStream.readableHighWaterMark >= this.multipartChunkSizeInBytes) {
52
+ if (contentLength >= this.multipartChunkSizeInBytes) {
53
53
  return this.multipartUpload(inputStream, remotePath, contentLength, progressListener);
54
54
  }
55
- const upload = new lib_storage_1.Upload({
56
- client: this.s3Client,
57
- params: {
58
- Body: inputStream,
59
- Bucket: this.bucket,
60
- Key: remotePath,
61
- ContentLength: contentLength,
62
- },
63
- });
64
- upload.on('httpUploadProgress', ({ total, loaded }) => {
65
- if (!!progressListener && total !== undefined && loaded !== undefined) {
66
- progressListener(total, loaded);
67
- }
55
+ const putObjectCommand = new client_s3_1.PutObjectCommand({
56
+ Body: inputStream,
57
+ Bucket: this.bucket,
58
+ Key: remotePath,
59
+ ContentLength: contentLength,
68
60
  });
69
- yield upload.done();
61
+ progressListener === null || progressListener === void 0 ? void 0 : progressListener(contentLength, 0);
62
+ yield this.s3Client.send(putObjectCommand);
63
+ progressListener === null || progressListener === void 0 ? void 0 : progressListener(contentLength, contentLength);
70
64
  });
71
65
  }
72
66
  multipartUpload(inputStream, remotePath, contentLength, progressListener) {
73
- var _a, inputStream_1, inputStream_1_1;
74
- var _b, e_1, _c, _d;
67
+ var _a, e_1, _b, _c;
75
68
  return __awaiter(this, void 0, void 0, function* () {
76
69
  const createMultipartUploadCommand = new client_s3_1.CreateMultipartUploadCommand({
77
70
  Bucket: this.bucket,
@@ -83,42 +76,40 @@ class S3StorageProvider {
83
76
  }
84
77
  try {
85
78
  let totalWritten = 0;
86
- let partNumber = 0;
87
79
  const uploadId = multipart.UploadId;
88
80
  const parts = [];
89
81
  try {
90
- for (_a = true, inputStream_1 = __asyncValues(inputStream); inputStream_1_1 = yield inputStream_1.next(), _b = inputStream_1_1.done, !_b;) {
91
- _d = inputStream_1_1.value;
92
- _a = false;
82
+ for (var _d = true, _e = __asyncValues((0, getStreamChunks_1.getStreamChunks)(inputStream, this.multipartChunkSizeInBytes)), _f; _f = yield _e.next(), _a = _f.done, !_a;) {
83
+ _c = _f.value;
84
+ _d = false;
93
85
  try {
94
- const buffer = _d;
95
- partNumber++;
86
+ const streamChunk = _c;
96
87
  const uploadPartCommand = new client_s3_1.UploadPartCommand({
97
- Body: buffer,
88
+ Body: streamChunk.data,
98
89
  Bucket: this.bucket,
99
90
  Key: remotePath,
100
91
  UploadId: uploadId,
101
- PartNumber: partNumber,
92
+ PartNumber: streamChunk.partNumber,
102
93
  });
103
94
  const response = yield this.s3Client.send(uploadPartCommand);
104
95
  parts.push({
105
96
  ETag: response.ETag,
106
- PartNumber: partNumber,
97
+ PartNumber: streamChunk.partNumber,
107
98
  });
108
- totalWritten += buffer.length;
99
+ totalWritten += streamChunk.data.length;
109
100
  if (!!progressListener) {
110
101
  progressListener(contentLength, totalWritten);
111
102
  }
112
103
  }
113
104
  finally {
114
- _a = true;
105
+ _d = true;
115
106
  }
116
107
  }
117
108
  }
118
109
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
119
110
  finally {
120
111
  try {
121
- if (!_a && !_b && (_c = inputStream_1.return)) yield _c.call(inputStream_1);
112
+ if (!_d && !_a && (_b = _e.return)) yield _b.call(_e);
122
113
  }
123
114
  finally { if (e_1) throw e_1.error; }
124
115
  }
@@ -143,11 +134,11 @@ class S3StorageProvider {
143
134
  }
144
135
  deleteObject(remotePath) {
145
136
  return __awaiter(this, void 0, void 0, function* () {
146
- const command = new client_s3_1.DeleteObjectCommand({
137
+ const deleteObjectCommand = new client_s3_1.DeleteObjectCommand({
147
138
  Bucket: this.bucket,
148
139
  Key: remotePath,
149
140
  });
150
- yield this.s3Client.send(command);
141
+ yield this.s3Client.send(deleteObjectCommand);
151
142
  });
152
143
  }
153
144
  downloadFile(remotePath, config, progressListener) {
@@ -161,8 +152,8 @@ class S3StorageProvider {
161
152
  const end = start + (config.length || 0);
162
153
  getObjectParams.Range = `bytes=${start}-${end || ''}`;
163
154
  }
164
- const command = new client_s3_1.GetObjectCommand(getObjectParams);
165
- const getObjectResult = yield this.s3Client.send(command);
155
+ const getObjectCommand = new client_s3_1.GetObjectCommand(getObjectParams);
156
+ const getObjectResult = yield this.s3Client.send(getObjectCommand);
166
157
  if (!getObjectResult.Body || !(getObjectResult.Body instanceof stream_1.Readable)) {
167
158
  throw new Error('download Body is undefined');
168
159
  }
@@ -180,11 +171,11 @@ class S3StorageProvider {
180
171
  listObjects(remotePath) {
181
172
  return __awaiter(this, void 0, void 0, function* () {
182
173
  const prefix = remotePath.endsWith('/') ? remotePath : `${remotePath}/`;
183
- const command = new client_s3_1.ListObjectsV2Command({
174
+ const listObjectsCommand = new client_s3_1.ListObjectsV2Command({
184
175
  Bucket: this.bucket,
185
176
  Prefix: prefix,
186
177
  });
187
- const listObjects = yield this.s3Client.send(command);
178
+ const listObjects = yield this.s3Client.send(listObjectsCommand);
188
179
  let result = [];
189
180
  if (listObjects.Contents) {
190
181
  result = listObjects.Contents.map((object) => ({
@@ -198,11 +189,11 @@ class S3StorageProvider {
198
189
  }
199
190
  getMetadata(remotePath) {
200
191
  return __awaiter(this, void 0, void 0, function* () {
201
- const command = new client_s3_1.HeadObjectCommand({
192
+ const headObjectCommand = new client_s3_1.HeadObjectCommand({
202
193
  Bucket: this.bucket,
203
194
  Key: remotePath,
204
195
  });
205
- return yield this.s3Client.send(command);
196
+ return yield this.s3Client.send(headObjectCommand);
206
197
  });
207
198
  }
208
199
  getObjectSize(remotePath) {
@@ -225,4 +216,4 @@ class S3StorageProvider {
225
216
  }
226
217
  }
227
218
  exports.S3StorageProvider = S3StorageProvider;
228
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUzNTdG9yYWdlUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3N0b3JhZ2UvUzNTdG9yYWdlUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGtEQWE0QjtBQUU1QixtQ0FBa0M7QUFFbEMsc0RBQThDO0FBVTlDLE1BQWEsaUJBQWlCO0lBSzVCLFlBQVksYUFBNkI7UUFGeEIsOEJBQXlCLEdBQUcsRUFBRSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxPQUFPO1FBR3BFLE1BQU0sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsYUFBYSxDQUFDO1FBQ2pGLElBQUksQ0FBQyxXQUFXO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxlQUFlO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxRQUFRO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxNQUFNO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxNQUFNO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRXBELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBRXJCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxvQkFBUSxDQUFDO1lBQzNCLFdBQVcsRUFBRTtnQkFDWCxXQUFXO2dCQUNYLGVBQWU7YUFDaEI7WUFDRCxNQUFNO1lBQ04sUUFBUTtZQUNSLGNBQWMsRUFBRSxJQUFJO1NBQ3JCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFSyxVQUFVLENBQ2QsV0FB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
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUzNTdG9yYWdlUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3N0b3JhZ2UvUzNTdG9yYWdlUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGtEQWM0QjtBQUU1QixtQ0FBa0M7QUFFbEMseUVBQXNFO0FBVXRFLE1BQWEsaUJBQWlCO0lBSzVCLFlBQVksYUFBNkI7UUFGeEIsOEJBQXlCLEdBQUcsRUFBRSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxPQUFPO1FBR3BFLE1BQU0sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsYUFBYSxDQUFDO1FBQ2pGLElBQUksQ0FBQyxXQUFXO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxlQUFlO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxRQUFRO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxNQUFNO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxNQUFNO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRXBELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBRXJCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxvQkFBUSxDQUFDO1lBQzNCLFdBQVcsRUFBRTtnQkFDWCxXQUFXO2dCQUNYLGVBQWU7YUFDaEI7WUFDRCxNQUFNO1lBQ04sUUFBUTtZQUNSLGNBQWMsRUFBRSxJQUFJO1NBQ3JCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFSyxVQUFVLENBQ2QsV0FB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
@@ -0,0 +1,9 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { Readable } from 'stream';
4
+ export interface ChunkPart {
5
+ partNumber: number;
6
+ data: Buffer;
7
+ lastPart?: boolean;
8
+ }
9
+ export declare function getStreamChunks(data: Readable, chunkSize: number): AsyncGenerator<ChunkPart, void, undefined>;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ var __asyncValues = (this && this.__asyncValues) || function (o) {
3
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
4
+ var m = o[Symbol.asyncIterator], i;
5
+ 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);
6
+ 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); }); }; }
7
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
8
+ };
9
+ var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
10
+ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
11
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
12
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
13
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
14
+ function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
15
+ function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
16
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
17
+ function fulfill(value) { resume("next", value); }
18
+ function reject(value) { resume("throw", value); }
19
+ function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.getStreamChunks = void 0;
23
+ function getStreamChunks(data, chunkSize) {
24
+ return __asyncGenerator(this, arguments, function* getStreamChunks_1() {
25
+ var _a, e_1, _b, _c;
26
+ let partNumber = 1;
27
+ const currentBuffer = { chunks: [], length: 0 };
28
+ try {
29
+ for (var _d = true, data_1 = __asyncValues(data), data_1_1; data_1_1 = yield __await(data_1.next()), _a = data_1_1.done, !_a;) {
30
+ _c = data_1_1.value;
31
+ _d = false;
32
+ try {
33
+ const buffer = _c;
34
+ currentBuffer.chunks.push(buffer);
35
+ currentBuffer.length += buffer.length;
36
+ while (currentBuffer.length >= chunkSize) {
37
+ /**
38
+ * Concat all the buffers together once if there is more than one to concat. Attempt
39
+ * to minimize concats as Buffer.Concat is an extremely expensive operation.
40
+ */
41
+ const dataChunk = currentBuffer.chunks.length > 1
42
+ ? Buffer.concat(currentBuffer.chunks)
43
+ : currentBuffer.chunks[0];
44
+ yield yield __await({
45
+ partNumber,
46
+ data: dataChunk.slice(0, chunkSize),
47
+ });
48
+ // Reset the buffer.
49
+ currentBuffer.chunks = [dataChunk.slice(chunkSize)];
50
+ currentBuffer.length = currentBuffer.chunks[0].length;
51
+ partNumber += 1;
52
+ }
53
+ }
54
+ finally {
55
+ _d = true;
56
+ }
57
+ }
58
+ }
59
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
60
+ finally {
61
+ try {
62
+ if (!_d && !_a && (_b = data_1.return)) yield __await(_b.call(data_1));
63
+ }
64
+ finally { if (e_1) throw e_1.error; }
65
+ }
66
+ yield yield __await({
67
+ partNumber,
68
+ data: Buffer.concat(currentBuffer.chunks),
69
+ lastPart: true,
70
+ });
71
+ });
72
+ }
73
+ exports.getStreamChunks = getStreamChunks;
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0U3RyZWFtQ2h1bmtzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2hlbHBlcnMvZ2V0U3RyZWFtQ2h1bmtzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRQSxTQUF1QixlQUFlLENBQ3BDLElBQWMsRUFDZCxTQUFpQjs7O1FBRWpCLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztRQUNuQixNQUFNLGFBQWEsR0FBeUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQzs7WUFFdEYsS0FBMkIsZUFBQSxTQUFBLGNBQUEsSUFBSSxDQUFBLFVBQUE7Z0JBQUosb0JBQUk7Z0JBQUosV0FBSTs7b0JBQXBCLE1BQU0sTUFBTSxLQUFBLENBQUE7b0JBQ3JCLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUNsQyxhQUFhLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUM7b0JBRXRDLE9BQU8sYUFBYSxDQUFDLE1BQU0sSUFBSSxTQUFTLEVBQUU7d0JBQ3hDOzs7MkJBR0c7d0JBQ0gsTUFBTSxTQUFTLEdBQ2IsYUFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQzs0QkFDN0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQzs0QkFDckMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBRTlCLG9CQUFNOzRCQUNKLFVBQVU7NEJBQ1YsSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQzt5QkFDcEMsQ0FBQSxDQUFDO3dCQUVGLG9CQUFvQjt3QkFDcEIsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQzt3QkFDcEQsYUFBYSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQzt3QkFDdEQsVUFBVSxJQUFJLENBQUMsQ0FBQztxQkFDakI7Ozs7O2FBQ0Y7Ozs7Ozs7OztRQUNELG9CQUFNO1lBQ0osVUFBVTtZQUNWLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7WUFDekMsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFBLENBQUM7SUFDSixDQUFDO0NBQUE7QUFyQ0QsMENBcUNDIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@super-protocol/sdk-js",
3
- "version": "2.0.3-beta.0",
3
+ "version": "2.0.3-beta.2",
4
4
  "main": "build/index.js",
5
5
  "license": "MIT",
6
6
  "files": [
@@ -58,7 +58,6 @@
58
58
  },
59
59
  "dependencies": {
60
60
  "@aws-sdk/client-s3": "^3.470.0",
61
- "@aws-sdk/lib-storage": "^3.472.0",
62
61
  "@fidm/x509": "^1.2.1",
63
62
  "@super-protocol/dto-js": "^0.0.30",
64
63
  "@super-protocol/tee-lib": "^0.1.2",