@welshman/util 0.14.2 → 0.14.4
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskQueue.d.ts","sourceRoot":"","sources":["../../../../lib/src/TaskQueue.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,CAAC,IAAI,IAAI;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAA;IACpC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAA;CACrC,CAAA;AAED,qBAAa,SAAS,CAAC,IAAI;
|
|
1
|
+
{"version":3,"file":"TaskQueue.d.ts","sourceRoot":"","sources":["../../../../lib/src/TaskQueue.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,CAAC,IAAI,IAAI;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAA;IACpC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAA;CACrC,CAAA;AAED,qBAAa,SAAS,CAAC,IAAI;IAOb,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC;IANpD,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,EAAE,CAAK;IACpC,KAAK,EAAE,IAAI,EAAE,CAAK;IAClB,QAAQ,UAAQ;IAChB,YAAY,UAAQ;IACpB,WAAW,SAAI;gBAEM,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC;IAEpD,IAAI,CAAC,IAAI,EAAE,IAAI;IA+Bf,MAAM,CAAC,IAAI,EAAE,IAAI;IAIjB,SAAS,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI;IAQ1C,OAAO;IA8CP,IAAI;IAIJ,KAAK;IAKL,KAAK;CAGN"}
|
|
@@ -5,6 +5,7 @@ export class TaskQueue {
|
|
|
5
5
|
items = [];
|
|
6
6
|
isPaused = false;
|
|
7
7
|
isProcessing = false;
|
|
8
|
+
lastDrainAt = 0;
|
|
8
9
|
constructor(options) {
|
|
9
10
|
this.options = options;
|
|
10
11
|
}
|
|
@@ -53,6 +54,7 @@ export class TaskQueue {
|
|
|
53
54
|
this.isProcessing = false;
|
|
54
55
|
}
|
|
55
56
|
else {
|
|
57
|
+
this.lastDrainAt = Date.now();
|
|
56
58
|
// Taken one at a time, so an item stays removable until its turn
|
|
57
59
|
for (let i = 0; i < this.options.batchSize && this.items.length > 0; i++) {
|
|
58
60
|
const item = this.items.shift();
|
|
@@ -72,8 +74,10 @@ export class TaskQueue {
|
|
|
72
74
|
}
|
|
73
75
|
}
|
|
74
76
|
};
|
|
75
|
-
|
|
76
|
-
|
|
77
|
+
// The delay paces batches back to back, so a queue that has sat idle drains right away
|
|
78
|
+
const wait = this.lastDrainAt + this.options.batchDelay - Date.now();
|
|
79
|
+
if (wait > 0) {
|
|
80
|
+
setTimeout(drain, wait);
|
|
77
81
|
}
|
|
78
82
|
else {
|
|
79
83
|
queueMicrotask(drain);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskQueue.js","sourceRoot":"","sources":["../../../../lib/src/TaskQueue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,YAAY,CAAA;AASjC,MAAM,OAAO,SAAS;
|
|
1
|
+
{"version":3,"file":"TaskQueue.js","sourceRoot":"","sources":["../../../../lib/src/TaskQueue.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@welshman/util",
|
|
3
|
-
"version": "0.14.
|
|
3
|
+
"version": "0.14.4",
|
|
4
4
|
"author": "hodlbod",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "A collection of nostr-related utilities.",
|
|
@@ -22,13 +22,13 @@
|
|
|
22
22
|
"peerDependencies": {
|
|
23
23
|
"@noble/curves": "~2.0.1",
|
|
24
24
|
"@noble/hashes": "~2.0.1",
|
|
25
|
-
"@welshman/lib": "0.14.
|
|
25
|
+
"@welshman/lib": "0.14.4",
|
|
26
26
|
"nostr-tools": "^2.22.0"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@noble/curves": "~2.0.1",
|
|
30
30
|
"@noble/hashes": "~2.0.1",
|
|
31
|
-
"@welshman/lib": "0.14.
|
|
31
|
+
"@welshman/lib": "0.14.4",
|
|
32
32
|
"nostr-tools": "^2.22.0",
|
|
33
33
|
"rimraf": "~6.0.0",
|
|
34
34
|
"typescript": "~5.8.0"
|