timequeue 4.0.0 → 4.0.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/README.md CHANGED
@@ -2,7 +2,8 @@
2
2
 
3
3
  A queue with custom concurrency and time limits. Inspired by [async/queue](https://caolan.github.io/async/v3/docs.html#queue), but also with variable number of arguments in the worker, events, and with optional time limits.
4
4
 
5
- ![Depfu](https://img.shields.io/depfu/fent/timequeue.js)
5
+ [![npm](https://img.shields.io/npm/v/timequeue)](https://www.npmjs.com/package/timequeue)
6
+ [![Node.js CI](https://github.com/fent/timequeue.js/actions/workflows/nodejs.yml/badge.svg)](https://github.com/fent/timequeue.js/actions/workflows/nodejs.yml)
6
7
  [![codecov](https://codecov.io/gh/fent/timequeue.js/branch/master/graph/badge.svg)](https://codecov.io/gh/fent/timequeue.js)
7
8
 
8
9
  # Usage
package/dist/index.d.ts CHANGED
@@ -1,8 +1,7 @@
1
- /// <reference types="node" />
2
- import { EventEmitter } from 'events';
3
- import { Store } from './store';
4
- export { Store, StoreOptions } from './store';
5
- export declare type Worker = (...args: any[]) => void | Promise<any>;
1
+ import { EventEmitter } from 'node:events';
2
+ import type { Store } from './store';
3
+ export type { Store, StoreOptions } from './store';
4
+ export type Worker = (...args: any[]) => void | Promise<any>;
6
5
  export interface Options {
7
6
  concurrency?: number;
8
7
  every?: number;
package/dist/index.js CHANGED
@@ -12,15 +12,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.TaskError = exports.StoreOptions = void 0;
16
- const events_1 = require("events");
15
+ exports.TaskError = void 0;
16
+ const node_events_1 = require("node:events");
17
17
  const mem_store_1 = __importDefault(require("./mem-store"));
18
- var store_1 = require("./store");
19
- Object.defineProperty(exports, "StoreOptions", { enumerable: true, get: function () { return store_1.StoreOptions; } });
20
18
  class TaskError extends Error {
21
19
  }
22
20
  exports.TaskError = TaskError;
23
- class TimeQueue extends events_1.EventEmitter {
21
+ class TimeQueue extends node_events_1.EventEmitter {
24
22
  /**
25
23
  * @constructor
26
24
  * @extends {EventEmitter}
@@ -41,12 +39,13 @@ class TimeQueue extends events_1.EventEmitter {
41
39
  // How many tasks have finished.
42
40
  this.finished = 0;
43
41
  this.worker = worker;
44
- this._isWorkerAsync = worker.constructor.name == 'AsyncFunction';
42
+ this._isWorkerAsync = worker.constructor.name === 'AsyncFunction';
45
43
  this.concurrency = options.concurrency || 1;
46
44
  this.every = options.every || 0;
47
45
  this.maxQueued = options.maxQueued || Infinity;
48
46
  this.timeout = options.timeout || 0;
49
- this.store = options.store || new mem_store_1.default({ maxQueued: this.maxQueued });
47
+ this.store =
48
+ options.store || new mem_store_1.default({ maxQueued: this.maxQueued });
50
49
  this._timers = [];
51
50
  }
52
51
  /**
@@ -56,11 +55,12 @@ class TimeQueue extends events_1.EventEmitter {
56
55
  * @param {Function(!Error, ...)} callback
57
56
  * @return {Promise?}
58
57
  */
58
+ // biome-ignore lint/suspicious/noExplicitAny: tasks accept arbitrary arguments
59
59
  push(...args) {
60
60
  return __awaiter(this, void 0, void 0, function* () {
61
61
  // Returns a promise when no `callback` is given.
62
- if (this._isWorkerAsync && args.length === this.worker.length ||
63
- !this._isWorkerAsync && args.length < this.worker.length) {
62
+ if ((this._isWorkerAsync && args.length === this.worker.length) ||
63
+ (!this._isWorkerAsync && args.length < this.worker.length)) {
64
64
  return new Promise((resolve, reject) => {
65
65
  // Add any missing arguments.
66
66
  if (!this._isWorkerAsync) {
@@ -70,7 +70,9 @@ class TimeQueue extends events_1.EventEmitter {
70
70
  }
71
71
  // Calling from the prototype directly fixes an infinute loop bug that
72
72
  // occurs when this method is overwritten by a child class.
73
- TimeQueue.prototype.push.call(this, ...args, (err, results) => {
73
+ TimeQueue.prototype.push.call(this, ...args,
74
+ // biome-ignore lint/suspicious/noExplicitAny: callback can return arbitrary results
75
+ (err, results) => {
74
76
  if (err)
75
77
  return reject(err);
76
78
  resolve(results);
@@ -95,11 +97,12 @@ class TimeQueue extends events_1.EventEmitter {
95
97
  *
96
98
  * @param {Array.<Object>} args
97
99
  */
100
+ // biome-ignore lint/suspicious/noExplicitAny: task args are dynamically typed
98
101
  _process(args) {
99
102
  return __awaiter(this, void 0, void 0, function* () {
100
103
  const callback = args.pop();
101
104
  let finished = false;
102
- let every = ~~this.every;
105
+ const every = ~~this.every;
103
106
  let tookLongerThanEvery;
104
107
  if (every) {
105
108
  tookLongerThanEvery = false;
@@ -117,8 +120,9 @@ class TimeQueue extends events_1.EventEmitter {
117
120
  // If `timeout` option is set, set a timeout to check the task doesn't lag.
118
121
  let taskTimedOut = false;
119
122
  let callbackCalled = false;
120
- let timeout = ~~this.timeout;
123
+ const timeout = ~~this.timeout;
121
124
  let tid;
125
+ // biome-ignore lint/suspicious/noExplicitAny: worker result is arbitrary
122
126
  const taskCallback = (err, result) => {
123
127
  // If this task has timed out, and the callback is called again
124
128
  // from the worker, ignore it.
@@ -172,15 +176,18 @@ class TimeQueue extends events_1.EventEmitter {
172
176
  */
173
177
  _next() {
174
178
  return __awaiter(this, void 0, void 0, function* () {
175
- let task;
176
- if (this.intransit <= this.concurrency && (task = yield this.store.getNextTask())) {
177
- this.active++;
178
- yield this._process(task);
179
- if ((yield this.store.getQueueLen()) === 0) {
180
- this.emit('empty');
179
+ if (this.intransit <= this.concurrency) {
180
+ const task = yield this.store.getNextTask();
181
+ if (task) {
182
+ this.active++;
183
+ yield this._process(task);
184
+ if ((yield this.store.getQueueLen()) === 0) {
185
+ this.emit('empty');
186
+ }
187
+ return;
181
188
  }
182
189
  }
183
- else if (--this.intransit === 0) {
190
+ if (--this.intransit === 0) {
184
191
  this.emit('drain');
185
192
  }
186
193
  });
@@ -192,7 +199,9 @@ class TimeQueue extends events_1.EventEmitter {
192
199
  die() {
193
200
  return __awaiter(this, void 0, void 0, function* () {
194
201
  yield this.store.clear();
195
- this._timers.forEach(clearTimeout);
202
+ for (const t of this._timers) {
203
+ clearTimeout(t);
204
+ }
196
205
  this._timers = [];
197
206
  this.intransit = 0;
198
207
  this.active = 0;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Store, StoreOptions } from './store';
1
+ import type { Store, StoreOptions } from './store';
2
2
  export default class MemoryStore implements Store {
3
3
  maxQueued: number;
4
4
  private _queue;
package/dist/mem-store.js CHANGED
@@ -24,6 +24,7 @@ class MemoryStore {
24
24
  return this._queue.shift();
25
25
  });
26
26
  }
27
+ // biome-ignore lint/suspicious/noExplicitAny: arbitrary task arguments
27
28
  pushTask(args) {
28
29
  return __awaiter(this, void 0, void 0, function* () {
29
30
  if (this._queue.length < this.maxQueued) {
@@ -1 +1 @@
1
- {"version":3,"file":"mem-store.js","sourceRoot":"","sources":["../src/mem-store.ts"],"names":[],"mappings":";;;;;;;;;;;AAEA,MAAqB,WAAW;IAG9B,YAAY,OAAqB;QAC/B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;IACK,WAAW;;YACf,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAC5B,CAAC;KAAA;IACK,WAAW;;YACf,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC7B,CAAC;KAAA;IACK,QAAQ,CAAC,IAAW;;YACxB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE;gBACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxB;QACH,CAAC;KAAA;IACK,KAAK;;YACT,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,CAAC;KAAA;CACF;AArBD,8BAqBC"}
1
+ {"version":3,"file":"mem-store.js","sourceRoot":"","sources":["../src/mem-store.ts"],"names":[],"mappings":";;;;;;;;;;;AAEA,MAAqB,WAAW;IAI9B,YAAY,OAAqB;QAC/B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;IACK,WAAW;;YACf,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAC5B,CAAC;KAAA;IACK,WAAW;;YACf,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC7B,CAAC;KAAA;IACD,uEAAuE;IACjE,QAAQ,CAAC,IAAW;;YACxB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;KAAA;IACK,KAAK;;YACT,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,CAAC;KAAA;CACF;AAvBD,8BAuBC"}
package/dist/store.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export declare class StoreOptions {
1
+ export interface StoreOptions {
2
2
  maxQueued?: number;
3
3
  }
4
4
  export interface Store {
package/dist/store.js CHANGED
@@ -1,7 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StoreOptions = void 0;
4
- class StoreOptions {
5
- }
6
- exports.StoreOptions = StoreOptions;
7
3
  //# sourceMappingURL=store.js.map
package/dist/store.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":";;;AAAA,MAAa,YAAY;CAExB;AAFD,oCAEC"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "flow",
7
7
  "time"
8
8
  ],
9
- "version": "4.0.0",
9
+ "version": "4.0.2",
10
10
  "repository": {
11
11
  "type": "git",
12
12
  "url": "git://github.com/fent/timequeue.js.git"
@@ -19,21 +19,23 @@
19
19
  "scripts": {
20
20
  "prepare": "tsc -p tsconfig.build.json",
21
21
  "build": "tsc -p tsconfig.build.json",
22
+ "lint": "biome check .",
23
+ "lint:fix": "biome check --write .",
22
24
  "test": "nyc --extension .ts --reporter=lcov --reporter=text-summary npm run test:unit",
23
- "test:unit": "mocha -- --require ts-node/register test/*-test.ts"
25
+ "test:unit": "mocha --require ts-node/register test/*-test.ts"
24
26
  },
25
27
  "devDependencies": {
26
- "@types/mocha": "^7.0.0",
27
- "@types/node": "^13.1.6",
28
- "@types/sinon": "^9.0.8",
29
- "mocha": "^7.0.1",
30
- "nyc": "^15.0.0",
31
- "sinon": "^9.0.0",
32
- "ts-node": "^10.4.0",
33
- "typescript": "^4.5.4"
28
+ "@biomejs/biome": "2.5.15",
29
+ "@types/mocha": "^10.0.10",
30
+ "@types/node": "^20.1.2",
31
+ "mocha": "^12.0.3",
32
+ "nyc": "^18.0.0",
33
+ "ts-node": "^10.9.2",
34
+ "typescript": "^5.6.3"
34
35
  },
35
36
  "engines": {
36
- "node": ">=10"
37
+ "node": ">=20"
37
38
  },
39
+ "sideEffects": false,
38
40
  "license": "MIT"
39
41
  }