squiss-ts 5.2.1 → 5.2.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.
- package/dist/Squiss.d.ts +1 -0
- package/dist/Squiss.js +20 -10
- package/package.json +10 -9
package/dist/Squiss.d.ts
CHANGED
package/dist/Squiss.js
CHANGED
|
@@ -79,9 +79,9 @@ class Squiss extends events_1.EventEmitter {
|
|
|
79
79
|
return res.QueueUrl;
|
|
80
80
|
});
|
|
81
81
|
}
|
|
82
|
-
deleteMessage(msg) {
|
|
82
|
+
async deleteMessage(msg) {
|
|
83
83
|
if (!msg.raw) {
|
|
84
|
-
|
|
84
|
+
throw new Error('Squiss.deleteMessage requires a Message object');
|
|
85
85
|
}
|
|
86
86
|
const promise = new Promise((resolve, reject) => {
|
|
87
87
|
this._delQueue.set(msg.raw.MessageId, { msg, Id: msg.raw.MessageId, ReceiptHandle: msg.raw.ReceiptHandle, resolve, reject });
|
|
@@ -94,12 +94,12 @@ class Squiss extends events_1.EventEmitter {
|
|
|
94
94
|
clearTimeout(this._delTimer);
|
|
95
95
|
this._delTimer = undefined;
|
|
96
96
|
}
|
|
97
|
-
this._deleteXMessages(this._opts.deleteBatchSize);
|
|
97
|
+
await this._deleteXMessages(this._opts.deleteBatchSize);
|
|
98
98
|
}
|
|
99
99
|
else if (!this._delTimer) {
|
|
100
|
-
this._delTimer = setTimeout(() => {
|
|
100
|
+
this._delTimer = setTimeout(async () => {
|
|
101
101
|
this._delTimer = undefined;
|
|
102
|
-
this._deleteXMessages();
|
|
102
|
+
await this._deleteXMessages();
|
|
103
103
|
}, this._opts.deleteWaitMs);
|
|
104
104
|
}
|
|
105
105
|
return promise;
|
|
@@ -268,17 +268,18 @@ class Squiss extends events_1.EventEmitter {
|
|
|
268
268
|
this._running = true;
|
|
269
269
|
return this._startPoller();
|
|
270
270
|
}
|
|
271
|
-
stop(soft, timeout) {
|
|
271
|
+
async stop(soft, timeout) {
|
|
272
272
|
if (!soft && this._activeReq) {
|
|
273
273
|
this._activeReq.abort();
|
|
274
274
|
}
|
|
275
275
|
this._running = this._paused = false;
|
|
276
276
|
if (!this._inFlight) {
|
|
277
|
-
|
|
277
|
+
await this._drainDeleteQueue();
|
|
278
|
+
return true;
|
|
278
279
|
}
|
|
279
280
|
let resolved = false;
|
|
280
281
|
let timer;
|
|
281
|
-
|
|
282
|
+
const result = await new Promise(async (resolve) => {
|
|
282
283
|
this.on('drained', () => {
|
|
283
284
|
if (!resolved) {
|
|
284
285
|
resolved = true;
|
|
@@ -294,6 +295,8 @@ class Squiss extends events_1.EventEmitter {
|
|
|
294
295
|
resolve(false);
|
|
295
296
|
}, timeout) : undefined;
|
|
296
297
|
});
|
|
298
|
+
await this._drainDeleteQueue();
|
|
299
|
+
return result;
|
|
297
300
|
}
|
|
298
301
|
getS3() {
|
|
299
302
|
if (!this._s3) {
|
|
@@ -301,6 +304,13 @@ class Squiss extends events_1.EventEmitter {
|
|
|
301
304
|
}
|
|
302
305
|
return this._s3;
|
|
303
306
|
}
|
|
307
|
+
async _drainDeleteQueue() {
|
|
308
|
+
if (this._delTimer) {
|
|
309
|
+
clearTimeout(this._delTimer);
|
|
310
|
+
this._delTimer = undefined;
|
|
311
|
+
}
|
|
312
|
+
await this._deleteXMessages();
|
|
313
|
+
}
|
|
304
314
|
_initS3() {
|
|
305
315
|
if (this._opts.S3) {
|
|
306
316
|
if (typeof this._opts.S3 === 'function') {
|
|
@@ -446,7 +456,7 @@ class Squiss extends events_1.EventEmitter {
|
|
|
446
456
|
this._getBatch(queueUrl);
|
|
447
457
|
});
|
|
448
458
|
}
|
|
449
|
-
_deleteXMessages(x) {
|
|
459
|
+
async _deleteXMessages(x) {
|
|
450
460
|
const delQueue = this._delQueue;
|
|
451
461
|
const iterator = delQueue.entries();
|
|
452
462
|
const delBatch = Array.from({ length: x || delQueue.size }, function () {
|
|
@@ -454,7 +464,7 @@ class Squiss extends events_1.EventEmitter {
|
|
|
454
464
|
delQueue.delete(element[0]);
|
|
455
465
|
return element[1];
|
|
456
466
|
}, iterator);
|
|
457
|
-
this._deleteMessages(delBatch);
|
|
467
|
+
await this._deleteMessages(delBatch);
|
|
458
468
|
}
|
|
459
469
|
_isLargeMessage(message, minSize) {
|
|
460
470
|
const messageSize = (0, messageSizeUtils_1.getMessageSize)(message);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "squiss-ts",
|
|
3
|
-
"version": "5.2.
|
|
3
|
+
"version": "5.2.2",
|
|
4
4
|
"description": "High-volume SQS poller",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -48,9 +48,9 @@
|
|
|
48
48
|
},
|
|
49
49
|
"homepage": "https://github.com/PruvoNet/squiss-ts#readme",
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@aws-sdk/client-s3": "^3.
|
|
52
|
-
"@aws-sdk/client-sqs": "^3.
|
|
53
|
-
"@aws-sdk/types": "^3.
|
|
51
|
+
"@aws-sdk/client-s3": "^3.385.0",
|
|
52
|
+
"@aws-sdk/client-sqs": "^3.385.0",
|
|
53
|
+
"@aws-sdk/types": "^3.378.0",
|
|
54
54
|
"linked-list": "2.1.0",
|
|
55
55
|
"ts-type-guards": "^0.7.0",
|
|
56
56
|
"uuid": "^9.0.0"
|
|
@@ -60,9 +60,9 @@
|
|
|
60
60
|
"@types/chai": "^4.3.5",
|
|
61
61
|
"@types/chai-as-promised": "^7.1.5",
|
|
62
62
|
"@types/mocha": "^10.0.1",
|
|
63
|
-
"@types/node": "^
|
|
63
|
+
"@types/node": "^16.18.39",
|
|
64
64
|
"@types/proxyquire": "^1.3.28",
|
|
65
|
-
"@types/uuid": "^9.0.
|
|
65
|
+
"@types/uuid": "^9.0.2",
|
|
66
66
|
"chai": "^4.3.7",
|
|
67
67
|
"chai-as-promised": "^7.1.1",
|
|
68
68
|
"delay": "5.0.0",
|
|
@@ -70,12 +70,12 @@
|
|
|
70
70
|
"mocha": "^10.2.0",
|
|
71
71
|
"nyc": "^15.1.0",
|
|
72
72
|
"proxyquire": "^2.1.3",
|
|
73
|
-
"sinon": "^15.
|
|
73
|
+
"sinon": "^15.2.0",
|
|
74
74
|
"sinon-chai": "^3.7.0",
|
|
75
75
|
"source-map-support": "^0.5.21",
|
|
76
76
|
"ts-node": "^10.9.1",
|
|
77
77
|
"tslint": "^6.1.3",
|
|
78
|
-
"typescript": "^5.1.
|
|
78
|
+
"typescript": "^5.1.6"
|
|
79
79
|
},
|
|
80
80
|
"nyc": {
|
|
81
81
|
"extends": "@istanbuljs/nyc-config-typescript",
|
|
@@ -83,7 +83,8 @@
|
|
|
83
83
|
"all": true,
|
|
84
84
|
"exclude": [
|
|
85
85
|
"src/test/**",
|
|
86
|
-
"e2e**"
|
|
86
|
+
"e2e**",
|
|
87
|
+
"build**"
|
|
87
88
|
],
|
|
88
89
|
"reporter": [
|
|
89
90
|
"html",
|