@shrub/queue 0.5.66 → 0.5.69
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/queue.d.ts +6 -0
- package/dist/queue.js +25 -2
- package/dist/service.js +8 -9
- package/package.json +5 -5
package/dist/queue.d.ts
CHANGED
|
@@ -96,3 +96,9 @@ export declare abstract class QueueAdapter implements IQueueAdapter {
|
|
|
96
96
|
protected abstract getQueueInstance(name: string): IQueue;
|
|
97
97
|
protected getWorkerOptions(optionsOrCallback: IWorkerOptions | WorkerCallback): IWorkerOptions;
|
|
98
98
|
}
|
|
99
|
+
/** A collection of queue adaters and also exposes a queue adapter contract for requesting queues from the collection. */
|
|
100
|
+
export declare class QueueAdapterCollection {
|
|
101
|
+
private readonly adapters;
|
|
102
|
+
addQueueAdapter(adapter: IQueueAdapter): void;
|
|
103
|
+
asQueueAdapter(): IQueueAdapter;
|
|
104
|
+
}
|
package/dist/queue.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.QueueAdapter = void 0;
|
|
3
|
+
exports.QueueAdapterCollection = exports.QueueAdapter = void 0;
|
|
4
4
|
const whitelist_1 = require("./whitelist");
|
|
5
5
|
/** Base class for a queue adapter that accepts a set of names/patterns defining the queue(s) the adapter supports. */
|
|
6
6
|
class QueueAdapter {
|
|
@@ -18,4 +18,27 @@ class QueueAdapter {
|
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
exports.QueueAdapter = QueueAdapter;
|
|
21
|
-
|
|
21
|
+
/** A collection of queue adaters and also exposes a queue adapter contract for requesting queues from the collection. */
|
|
22
|
+
class QueueAdapterCollection {
|
|
23
|
+
constructor() {
|
|
24
|
+
this.adapters = [];
|
|
25
|
+
}
|
|
26
|
+
addQueueAdapter(adapter) {
|
|
27
|
+
this.adapters.push(adapter);
|
|
28
|
+
}
|
|
29
|
+
asQueueAdapter() {
|
|
30
|
+
return {
|
|
31
|
+
getQueue: name => {
|
|
32
|
+
for (const adapter of this.adapters) {
|
|
33
|
+
const queue = adapter.getQueue(name);
|
|
34
|
+
if (queue) {
|
|
35
|
+
return queue;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.QueueAdapterCollection = QueueAdapterCollection;
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcXVldWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkNBQW9EO0FBc0dwRCxzSEFBc0g7QUFDdEgsTUFBc0IsWUFBWTtJQUc5QixZQUFZLGlCQUEyQjtRQUNuQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksaUNBQXFCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsb0JBQW9CLENBQUMsaUJBQTJCO1FBQzVDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFZO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDM0YsQ0FBQztJQUlTLGdCQUFnQixDQUFDLGlCQUFrRDtRQUN6RSxPQUFPLE9BQU8saUJBQWlCLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztJQUN6RyxDQUFDO0NBQ0o7QUFwQkQsb0NBb0JDO0FBRUQseUhBQXlIO0FBQ3pILE1BQWEsc0JBQXNCO0lBQW5DO1FBQ3FCLGFBQVEsR0FBb0IsRUFBRSxDQUFDO0lBb0JwRCxDQUFDO0lBbEJHLGVBQWUsQ0FBQyxPQUFzQjtRQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsY0FBYztRQUNWLE9BQU87WUFDSCxRQUFRLEVBQUUsSUFBSSxDQUFDLEVBQUU7Z0JBQ2IsS0FBSyxNQUFNLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO29CQUNqQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUNyQyxJQUFJLEtBQUssRUFBRTt3QkFDUCxPQUFPLEtBQUssQ0FBQztxQkFDaEI7aUJBQ0o7Z0JBRUQsT0FBTyxTQUFTLENBQUM7WUFDckIsQ0FBQztTQUNKLENBQUM7SUFDTixDQUFDO0NBQ0o7QUFyQkQsd0RBcUJDIn0=
|
package/dist/service.js
CHANGED
|
@@ -8,29 +8,28 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.QueueService = exports.IQueueAdapterService = exports.IQueueService = void 0;
|
|
10
10
|
const core_1 = require("@shrub/core");
|
|
11
|
+
const queue_1 = require("./queue");
|
|
11
12
|
exports.IQueueService = core_1.createService("queue-service");
|
|
12
13
|
/** @internal */
|
|
13
14
|
exports.IQueueAdapterService = core_1.createService("queue-adapter-service");
|
|
14
15
|
/** @internal */
|
|
15
16
|
let QueueService = class QueueService {
|
|
16
17
|
constructor() {
|
|
17
|
-
this.adapters =
|
|
18
|
+
this.adapters = new queue_1.QueueAdapterCollection();
|
|
18
19
|
}
|
|
19
20
|
getQueue(name) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
return queue;
|
|
24
|
-
}
|
|
21
|
+
const queue = this.adapters.asQueueAdapter().getQueue(name);
|
|
22
|
+
if (!queue) {
|
|
23
|
+
throw new Error(`No queue adapter found to handle queue with name (${name}).`);
|
|
25
24
|
}
|
|
26
|
-
|
|
25
|
+
return queue;
|
|
27
26
|
}
|
|
28
27
|
register(adapter) {
|
|
29
|
-
this.adapters.
|
|
28
|
+
this.adapters.addQueueAdapter(adapter);
|
|
30
29
|
}
|
|
31
30
|
};
|
|
32
31
|
QueueService = __decorate([
|
|
33
32
|
core_1.Singleton
|
|
34
33
|
], QueueService);
|
|
35
34
|
exports.QueueService = QueueService;
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLHNDQUF1RDtBQUN2RCxtQ0FBd0U7QUFZM0QsUUFBQSxhQUFhLEdBQUcsb0JBQWEsQ0FBZ0IsZUFBZSxDQUFDLENBQUM7QUFFM0UsZ0JBQWdCO0FBQ0gsUUFBQSxvQkFBb0IsR0FBRyxvQkFBYSxDQUF1Qix1QkFBdUIsQ0FBQyxDQUFDO0FBRWpHLGdCQUFnQjtBQUVoQixJQUFhLFlBQVksR0FBekIsTUFBYSxZQUFZO0lBQXpCO1FBQ3FCLGFBQVEsR0FBRyxJQUFJLDhCQUFzQixFQUFFLENBQUM7SUFlN0QsQ0FBQztJQWJHLFFBQVEsQ0FBQyxJQUFZO1FBQ2pCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTVELElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDUixNQUFNLElBQUksS0FBSyxDQUFDLHFEQUFxRCxJQUFJLElBQUksQ0FBQyxDQUFDO1NBQ2xGO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVEsQ0FBQyxPQUFzQjtRQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQyxDQUFDO0NBQ0osQ0FBQTtBQWhCWSxZQUFZO0lBRHhCLGdCQUFTO0dBQ0csWUFBWSxDQWdCeEI7QUFoQlksb0NBQVkifQ==
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shrub/queue",
|
|
3
3
|
"description": "Provides a basic abstraction and support for job/task queues.",
|
|
4
|
-
"version": "0.5.
|
|
4
|
+
"version": "0.5.69",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -25,9 +25,9 @@
|
|
|
25
25
|
"test": "jest"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@shrub/core": "0.5.
|
|
29
|
-
"@shrub/logging": "0.5.
|
|
30
|
-
"@sprig/event-emitter": "^0.2.
|
|
28
|
+
"@shrub/core": "0.5.69",
|
|
29
|
+
"@shrub/logging": "0.5.69",
|
|
30
|
+
"@sprig/event-emitter": "^0.2.2"
|
|
31
31
|
},
|
|
32
|
-
"gitHead": "
|
|
32
|
+
"gitHead": "e0a8243ab8afd5ab416ac05257db96e1a25d6d39"
|
|
33
33
|
}
|