@shrub/queue 0.5.73 → 0.5.76

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 CHANGED
@@ -15,6 +15,8 @@ export interface IQueue<TData = any, TReturnValue = any> {
15
15
  }
16
16
  /** Responsible for providing access to a queue. */
17
17
  export interface IQueueAdapter {
18
+ /** Optional callback to dispose the adapter. */
19
+ readonly dispose?: () => Promise<void>;
18
20
  /** Gets a queue with the specified name or undefined if the adapter does not support/recognize the given queue name. */
19
21
  getQueue(name: string): IQueue | undefined;
20
22
  }
@@ -101,4 +103,5 @@ export declare class QueueAdapterCollection {
101
103
  private readonly adapters;
102
104
  addQueueAdapter(adapter: IQueueAdapter): void;
103
105
  asQueueAdapter(): IQueueAdapter;
106
+ dispose(): Promise<void>;
104
107
  }
package/dist/queue.js CHANGED
@@ -39,6 +39,15 @@ class QueueAdapterCollection {
39
39
  }
40
40
  };
41
41
  }
42
+ async dispose() {
43
+ const promises = [];
44
+ for (const adapter of this.adapters.splice(0)) {
45
+ if (adapter.dispose) {
46
+ promises.push(adapter.dispose());
47
+ }
48
+ }
49
+ await Promise.all(promises);
50
+ }
42
51
  }
43
52
  exports.QueueAdapterCollection = QueueAdapterCollection;
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcXVldWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkNBQW9EO0FBc0dwRCxzSEFBc0g7QUFDdEgsTUFBc0IsWUFBWTtJQUc5QixZQUFZLGlCQUEyQjtRQUNuQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksaUNBQXFCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsb0JBQW9CLENBQUMsaUJBQTJCO1FBQzVDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFZO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDM0YsQ0FBQztJQUlTLGdCQUFnQixDQUFDLGlCQUFrRDtRQUN6RSxPQUFPLE9BQU8saUJBQWlCLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztJQUN6RyxDQUFDO0NBQ0o7QUFwQkQsb0NBb0JDO0FBRUQseUhBQXlIO0FBQ3pILE1BQWEsc0JBQXNCO0lBQW5DO1FBQ3FCLGFBQVEsR0FBb0IsRUFBRSxDQUFDO0lBb0JwRCxDQUFDO0lBbEJHLGVBQWUsQ0FBQyxPQUFzQjtRQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsY0FBYztRQUNWLE9BQU87WUFDSCxRQUFRLEVBQUUsSUFBSSxDQUFDLEVBQUU7Z0JBQ2IsS0FBSyxNQUFNLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO29CQUNqQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUNyQyxJQUFJLEtBQUssRUFBRTt3QkFDUCxPQUFPLEtBQUssQ0FBQztxQkFDaEI7aUJBQ0o7Z0JBRUQsT0FBTyxTQUFTLENBQUM7WUFDckIsQ0FBQztTQUNKLENBQUM7SUFDTixDQUFDO0NBQ0o7QUFyQkQsd0RBcUJDIn0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcXVldWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkNBQW9EO0FBd0dwRCxzSEFBc0g7QUFDdEgsTUFBc0IsWUFBWTtJQUc5QixZQUFZLGlCQUEyQjtRQUNuQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksaUNBQXFCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsb0JBQW9CLENBQUMsaUJBQTJCO1FBQzVDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFZO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDM0YsQ0FBQztJQUlTLGdCQUFnQixDQUFDLGlCQUFrRDtRQUN6RSxPQUFPLE9BQU8saUJBQWlCLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztJQUN6RyxDQUFDO0NBQ0o7QUFwQkQsb0NBb0JDO0FBRUQseUhBQXlIO0FBQ3pILE1BQWEsc0JBQXNCO0lBQW5DO1FBQ3FCLGFBQVEsR0FBb0IsRUFBRSxDQUFDO0lBZ0NwRCxDQUFDO0lBOUJHLGVBQWUsQ0FBQyxPQUFzQjtRQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsY0FBYztRQUNWLE9BQU87WUFDSCxRQUFRLEVBQUUsSUFBSSxDQUFDLEVBQUU7Z0JBQ2IsS0FBSyxNQUFNLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO29CQUNqQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUNyQyxJQUFJLEtBQUssRUFBRTt3QkFDUCxPQUFPLEtBQUssQ0FBQztxQkFDaEI7aUJBQ0o7Z0JBRUQsT0FBTyxTQUFTLENBQUM7WUFDckIsQ0FBQztTQUNKLENBQUM7SUFDTixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU87UUFDVCxNQUFNLFFBQVEsR0FBb0IsRUFBRSxDQUFDO1FBRXJDLEtBQUssTUFBTSxPQUFPLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDM0MsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFO2dCQUNqQixRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO2FBQ3BDO1NBQ0o7UUFFRCxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEMsQ0FBQztDQUNKO0FBakNELHdEQWlDQyJ9
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.73",
4
+ "version": "0.5.76",
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.73",
29
- "@shrub/logging": "0.5.73",
30
- "@sprig/event-emitter": "^0.2.2"
28
+ "@shrub/core": "0.5.76",
29
+ "@shrub/logging": "0.5.76",
30
+ "@sprig/event-emitter": "^0.2.3"
31
31
  },
32
- "gitHead": "4b72fb6f2fbff3de73759c4f4228d24b3e553cb4"
32
+ "gitHead": "87719308248db7b81238aae60a7eceb0d9a0cb42"
33
33
  }