@alanszp/queue 14.0.4 → 15.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/dist/index.d.ts +6 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/queue/MockBaseQueue.d.ts +16 -0
- package/dist/queue/MockBaseQueue.js +42 -0
- package/dist/queue/MockBaseQueue.js.map +1 -0
- package/dist/queue/MockQueue.d.ts +13 -0
- package/dist/queue/MockQueue.js +20 -0
- package/dist/queue/MockQueue.js.map +1 -0
- package/dist/queue/MockRepeatableQueue.d.ts +9 -0
- package/dist/queue/MockRepeatableQueue.js +17 -0
- package/dist/queue/MockRepeatableQueue.js.map +1 -0
- package/dist/queue/QueueManager.d.ts +21 -0
- package/dist/queue/QueueManager.js +51 -0
- package/dist/queue/QueueManager.js.map +1 -0
- package/dist/queue/createQueue.d.ts +1 -1
- package/dist/queue/createQueue.js +2 -5
- package/dist/queue/createQueue.js.map +1 -1
- package/dist/queue/queue.d.ts +13 -0
- package/dist/queue/queue.js +21 -0
- package/dist/queue/queue.js.map +1 -1
- package/dist/queue/{repetableQueue.js → repeatableQueue.js} +1 -1
- package/dist/queue/repeatableQueue.js.map +1 -0
- package/dist/shutdownQueue.d.ts +3 -1
- package/dist/shutdownQueue.js +6 -3
- package/dist/shutdownQueue.js.map +1 -1
- package/package.json +7 -7
- package/dist/queue/queueRepository.d.ts +0 -9
- package/dist/queue/queueRepository.js +0 -23
- package/dist/queue/queueRepository.js.map +0 -1
- package/dist/queue/repetableQueue.js.map +0 -1
- /package/dist/queue/{repetableQueue.d.ts → repeatableQueue.d.ts} +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
export * from "./queue/createQueue";
|
|
2
2
|
export * from "./queue/queue";
|
|
3
|
+
export * from "./queue/repeatableQueue";
|
|
4
|
+
export * from "./queue/baseQueue";
|
|
5
|
+
export * from "./queue/MockBaseQueue";
|
|
6
|
+
export * from "./queue/MockQueue";
|
|
7
|
+
export * from "./queue/MockRepeatableQueue";
|
|
8
|
+
export * from "./queue/QueueManager";
|
|
3
9
|
export * from "./connectionManager";
|
|
4
10
|
export * from "./shutdownQueue";
|
|
5
11
|
export * from "./types";
|
package/dist/index.js
CHANGED
|
@@ -12,6 +12,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
__exportStar(require("./queue/createQueue"), exports);
|
|
14
14
|
__exportStar(require("./queue/queue"), exports);
|
|
15
|
+
__exportStar(require("./queue/repeatableQueue"), exports);
|
|
16
|
+
__exportStar(require("./queue/baseQueue"), exports);
|
|
17
|
+
__exportStar(require("./queue/MockBaseQueue"), exports);
|
|
18
|
+
__exportStar(require("./queue/MockQueue"), exports);
|
|
19
|
+
__exportStar(require("./queue/MockRepeatableQueue"), exports);
|
|
20
|
+
__exportStar(require("./queue/QueueManager"), exports);
|
|
15
21
|
__exportStar(require("./connectionManager"), exports);
|
|
16
22
|
__exportStar(require("./shutdownQueue"), exports);
|
|
17
23
|
__exportStar(require("./types"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAoC;AACpC,gDAA8B;AAC9B,sDAAoC;AACpC,kDAAgC;AAChC,0CAAwB;AACxB,2CAAyB;AACzB,kDAAgC;AAChC,4DAA0C;AAC1C,mDAAiC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAoC;AACpC,gDAA8B;AAC9B,0DAAwC;AACxC,oDAAkC;AAClC,wDAAsC;AACtC,oDAAkC;AAClC,8DAA4C;AAC5C,uDAAqC;AACrC,sDAAoC;AACpC,kDAAgC;AAChC,0CAAwB;AACxB,2CAAyB;AACzB,kDAAgC;AAChC,4DAA0C;AAC1C,mDAAiC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Job, JobData } from "bullmq";
|
|
2
|
+
import { ListResult } from "@alanszp/core";
|
|
3
|
+
import { JobReturnValue, JobTypeEnum, RawQueue } from "../types";
|
|
4
|
+
import { BaseQueue } from "./baseQueue";
|
|
5
|
+
export declare class MockBaseQueue<Data = JobData, ReturnValue = JobReturnValue> implements Omit<BaseQueue<Data, ReturnValue>, "_queue"> {
|
|
6
|
+
getName(): string;
|
|
7
|
+
getJobsAndCountByStatus(statuses: JobTypeEnum[], page?: number, pageSize?: number, ascending?: boolean): Promise<ListResult<Job<Data, ReturnValue, string>>>;
|
|
8
|
+
getJobCountByStatus(statuses: JobTypeEnum[]): Promise<number>;
|
|
9
|
+
getJobsByStatus(statuses: JobTypeEnum[], page?: number, pageSize?: number, ascending?: boolean): Promise<Job<Data, ReturnValue, string>[]>;
|
|
10
|
+
deleteJob(jobId: string): Promise<void>;
|
|
11
|
+
getJob(jobId: string): Promise<Job<Data, ReturnValue, string> | undefined>;
|
|
12
|
+
getJobOrFail(jobId: string): Promise<Job<Data, ReturnValue, string>>;
|
|
13
|
+
changeDelayToJob(jobId: string, delayMs: number): Promise<void>;
|
|
14
|
+
close(): Promise<void>;
|
|
15
|
+
protected get queue(): RawQueue<Data, ReturnValue, string>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MockBaseQueue = void 0;
|
|
4
|
+
class MockBaseQueue {
|
|
5
|
+
getName() {
|
|
6
|
+
return "Mocked queue";
|
|
7
|
+
}
|
|
8
|
+
getJobsAndCountByStatus(statuses, page, pageSize, ascending) {
|
|
9
|
+
return Promise.resolve({
|
|
10
|
+
elements: [],
|
|
11
|
+
total: 0,
|
|
12
|
+
page: page !== null && page !== void 0 ? page : 1,
|
|
13
|
+
pageSize: pageSize !== null && pageSize !== void 0 ? pageSize : 50,
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
getJobCountByStatus(statuses) {
|
|
17
|
+
return Promise.resolve(0);
|
|
18
|
+
}
|
|
19
|
+
getJobsByStatus(statuses, page, pageSize, ascending) {
|
|
20
|
+
return Promise.resolve([]);
|
|
21
|
+
}
|
|
22
|
+
deleteJob(jobId) {
|
|
23
|
+
return Promise.resolve();
|
|
24
|
+
}
|
|
25
|
+
getJob(jobId) {
|
|
26
|
+
return Promise.resolve({});
|
|
27
|
+
}
|
|
28
|
+
getJobOrFail(jobId) {
|
|
29
|
+
return Promise.resolve({});
|
|
30
|
+
}
|
|
31
|
+
changeDelayToJob(jobId, delayMs) {
|
|
32
|
+
return Promise.resolve();
|
|
33
|
+
}
|
|
34
|
+
close() {
|
|
35
|
+
return Promise.resolve();
|
|
36
|
+
}
|
|
37
|
+
get queue() {
|
|
38
|
+
throw new Error("Method not implemented.");
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.MockBaseQueue = MockBaseQueue;
|
|
42
|
+
//# sourceMappingURL=MockBaseQueue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MockBaseQueue.js","sourceRoot":"","sources":["../../src/queue/MockBaseQueue.ts"],"names":[],"mappings":";;;AAKA,MAAa,aAAa;IAGjB,OAAO;QACZ,OAAO,cAAc,CAAC;IACxB,CAAC;IAEM,uBAAuB,CAC5B,QAAuB,EACvB,IAAa,EACb,QAAiB,EACjB,SAAmB;QAEnB,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,CAAC;YACf,QAAQ,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE;SACzB,CAAC,CAAC;IACL,CAAC;IAEM,mBAAmB,CAAC,QAAuB;QAChD,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAEM,eAAe,CACpB,QAAuB,EACvB,IAAa,EACb,QAAiB,EACjB,SAAmB;QAEnB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAEM,SAAS,CAAC,KAAa;QAC5B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEM,MAAM,CACX,KAAa;QAEb,OAAO,OAAO,CAAC,OAAO,CAAC,EAAoC,CAAC,CAAC;IAC/D,CAAC;IAEM,YAAY,CAAC,KAAa;QAC/B,OAAO,OAAO,CAAC,OAAO,CAAC,EAAoC,CAAC,CAAC;IAC/D,CAAC;IAEM,gBAAgB,CAAC,KAAa,EAAE,OAAe;QACpD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEM,KAAK;QACV,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,IAAc,KAAK;QACjB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;CACF;AA3DD,sCA2DC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Job, JobData, JobsOptions } from "bullmq";
|
|
2
|
+
import { JobReturnValue } from "../types";
|
|
3
|
+
import { Queue } from "./queue";
|
|
4
|
+
import { MockBaseQueue } from "./MockBaseQueue";
|
|
5
|
+
export declare class MockQueue<Data = JobData, ReturnValue = JobReturnValue> extends MockBaseQueue<Data, ReturnValue> implements Omit<Queue<Data, ReturnValue>, "_queue"> {
|
|
6
|
+
publishJob(job: Data, opts?: JobsOptions | undefined): Promise<Job<Data, ReturnValue, string>>;
|
|
7
|
+
publishBulkJob(jobDatas: Data[]): Promise<Job<Data, ReturnValue, string>[]>;
|
|
8
|
+
publishBulkJobWithOptions(jobDefinitions: {
|
|
9
|
+
jobData: Data;
|
|
10
|
+
opts: JobsOptions;
|
|
11
|
+
}[]): Promise<Job<Data, ReturnValue, string>[]>;
|
|
12
|
+
debouncePublishJob(debounceMs: number, job: Data, opts?: JobsOptions | undefined): Promise<Job<Data, ReturnValue, string>>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MockQueue = void 0;
|
|
4
|
+
const MockBaseQueue_1 = require("./MockBaseQueue");
|
|
5
|
+
class MockQueue extends MockBaseQueue_1.MockBaseQueue {
|
|
6
|
+
publishJob(job, opts) {
|
|
7
|
+
return Promise.resolve({});
|
|
8
|
+
}
|
|
9
|
+
publishBulkJob(jobDatas) {
|
|
10
|
+
return Promise.resolve(jobDatas.map(() => ({})));
|
|
11
|
+
}
|
|
12
|
+
publishBulkJobWithOptions(jobDefinitions) {
|
|
13
|
+
return Promise.resolve(jobDefinitions.map(() => ({})));
|
|
14
|
+
}
|
|
15
|
+
debouncePublishJob(debounceMs, job, opts) {
|
|
16
|
+
return Promise.resolve({});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.MockQueue = MockQueue;
|
|
20
|
+
//# sourceMappingURL=MockQueue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MockQueue.js","sourceRoot":"","sources":["../../src/queue/MockQueue.ts"],"names":[],"mappings":";;;AAGA,mDAAgD;AAEhD,MAAa,SACX,SAAQ,6BAAgC;IAGjC,UAAU,CACf,GAAS,EACT,IAA8B;QAE9B,OAAO,OAAO,CAAC,OAAO,CAAC,EAAoC,CAAC,CAAC;IAC/D,CAAC;IAEM,cAAc,CACnB,QAAgB;QAEhB,OAAO,OAAO,CAAC,OAAO,CACpB,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAqC,CAAA,CAAC,CAC3D,CAAC;IACJ,CAAC;IAEM,yBAAyB,CAC9B,cAAsD;QAEtD,OAAO,OAAO,CAAC,OAAO,CACpB,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAqC,CAAA,CAAC,CACjE,CAAC;IACJ,CAAC;IAEM,kBAAkB,CACvB,UAAkB,EAClB,GAAS,EACT,IAA8B;QAE9B,OAAO,OAAO,CAAC,OAAO,CAAC,EAAoC,CAAC,CAAC;IAC/D,CAAC;CACF;AAlCD,8BAkCC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Job, JobData, JobsOptions, RepeatOptions } from "bullmq";
|
|
2
|
+
import { JobReturnValue } from "../types";
|
|
3
|
+
import { MockBaseQueue } from "./MockBaseQueue";
|
|
4
|
+
import { RepeatableQueue } from "./repeatableQueue";
|
|
5
|
+
export declare class MockRepeatableQueue<Data = JobData, ReturnValue = JobReturnValue> extends MockBaseQueue<Data, ReturnValue> implements Omit<RepeatableQueue<Data, ReturnValue>, "_queue"> {
|
|
6
|
+
publishRepeatableJob(job: Data, repeatOptions: RepeatOptions, jobId: string, opts?: JobsOptions | undefined): Promise<Job<Data, ReturnValue, string>>;
|
|
7
|
+
removeRepeatableJobByKey(repeatJobKey: string): Promise<boolean>;
|
|
8
|
+
removeRepeatableJobByConfig(repeatOptions: RepeatOptions, jobId: string): Promise<boolean>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MockRepeatableQueue = void 0;
|
|
4
|
+
const MockBaseQueue_1 = require("./MockBaseQueue");
|
|
5
|
+
class MockRepeatableQueue extends MockBaseQueue_1.MockBaseQueue {
|
|
6
|
+
publishRepeatableJob(job, repeatOptions, jobId, opts) {
|
|
7
|
+
return Promise.resolve({});
|
|
8
|
+
}
|
|
9
|
+
removeRepeatableJobByKey(repeatJobKey) {
|
|
10
|
+
return Promise.resolve(true);
|
|
11
|
+
}
|
|
12
|
+
removeRepeatableJobByConfig(repeatOptions, jobId) {
|
|
13
|
+
return Promise.resolve(true);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.MockRepeatableQueue = MockRepeatableQueue;
|
|
17
|
+
//# sourceMappingURL=MockRepeatableQueue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MockRepeatableQueue.js","sourceRoot":"","sources":["../../src/queue/MockRepeatableQueue.ts"],"names":[],"mappings":";;;AAEA,mDAAgD;AAGhD,MAAa,mBACX,SAAQ,6BAAgC;IAGjC,oBAAoB,CACzB,GAAS,EACT,aAA4B,EAC5B,KAAa,EACb,IAA8B;QAE9B,OAAO,OAAO,CAAC,OAAO,CAAC,EAAoC,CAAC,CAAC;IAC/D,CAAC;IAEM,wBAAwB,CAAC,YAAoB;QAClD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,2BAA2B,CACzB,aAA4B,EAC5B,KAAa;QAEb,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;CACF;AAvBD,kDAuBC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ILogger } from "@alanszp/logger";
|
|
2
|
+
import { SharedContext } from "@alanszp/shared-context";
|
|
3
|
+
import { RedisOptions } from "ioredis";
|
|
4
|
+
import { BaseQueue } from "./baseQueue";
|
|
5
|
+
export declare class QueueManager<EnumKey extends string | number | symbol, EnumValue extends string, QueueType extends BaseQueue> {
|
|
6
|
+
private serviceNameAsPrefix;
|
|
7
|
+
private redisConfig;
|
|
8
|
+
private getLogger;
|
|
9
|
+
private getContext;
|
|
10
|
+
private queueCreator;
|
|
11
|
+
private instancedQueues;
|
|
12
|
+
private queueNames;
|
|
13
|
+
constructor(serviceNameAsPrefix: string | (() => string), redisConfig: RedisOptions | (() => RedisOptions), getLogger: () => ILogger, getContext: () => SharedContext, queueCreator: (queueName: EnumValue, getContext: () => SharedContext) => QueueType, queueNamesEnum: {
|
|
14
|
+
[key in EnumKey]: EnumValue;
|
|
15
|
+
});
|
|
16
|
+
connectAll(): Promise<void>;
|
|
17
|
+
disconnectAll(): Promise<void[]>;
|
|
18
|
+
get(queueName: EnumValue): QueueType;
|
|
19
|
+
overrideQueue(queueName: EnumValue, queue: QueueType | Omit<QueueType, "_queue">): void;
|
|
20
|
+
clearQueues(): void;
|
|
21
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.QueueManager = void 0;
|
|
4
|
+
const connectionManager_1 = require("../connectionManager");
|
|
5
|
+
class QueueManager {
|
|
6
|
+
constructor(serviceNameAsPrefix, redisConfig, getLogger, getContext, queueCreator, queueNamesEnum) {
|
|
7
|
+
this.serviceNameAsPrefix = serviceNameAsPrefix;
|
|
8
|
+
this.redisConfig = redisConfig;
|
|
9
|
+
this.getLogger = getLogger;
|
|
10
|
+
this.getContext = getContext;
|
|
11
|
+
this.queueCreator = queueCreator;
|
|
12
|
+
this.instancedQueues = new Map();
|
|
13
|
+
this.queueNames = Object.values(queueNamesEnum);
|
|
14
|
+
}
|
|
15
|
+
connectAll() {
|
|
16
|
+
const connManager = connectionManager_1.ConnectionManager.getInstance();
|
|
17
|
+
connManager.setConfiguration(typeof this.redisConfig === "function"
|
|
18
|
+
? this.redisConfig()
|
|
19
|
+
: this.redisConfig, typeof this.serviceNameAsPrefix === "function"
|
|
20
|
+
? this.serviceNameAsPrefix()
|
|
21
|
+
: this.serviceNameAsPrefix, this.getLogger);
|
|
22
|
+
const connectionReady = new Promise((resolve) => {
|
|
23
|
+
connManager.getConnection().on("ready", () => {
|
|
24
|
+
resolve();
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
this.queueNames.forEach((queueName) => {
|
|
28
|
+
if (this.instancedQueues.has(queueName))
|
|
29
|
+
return;
|
|
30
|
+
this.instancedQueues.set(queueName, this.queueCreator(queueName, this.getContext));
|
|
31
|
+
});
|
|
32
|
+
return connectionReady;
|
|
33
|
+
}
|
|
34
|
+
disconnectAll() {
|
|
35
|
+
return Promise.all([...this.instancedQueues.values()].map((q) => q.close()));
|
|
36
|
+
}
|
|
37
|
+
get(queueName) {
|
|
38
|
+
const q = this.instancedQueues.get(queueName);
|
|
39
|
+
if (!q)
|
|
40
|
+
throw new Error("Queue not initialized");
|
|
41
|
+
return q;
|
|
42
|
+
}
|
|
43
|
+
overrideQueue(queueName, queue) {
|
|
44
|
+
this.instancedQueues.set(queueName, queue);
|
|
45
|
+
}
|
|
46
|
+
clearQueues() {
|
|
47
|
+
this.instancedQueues.clear();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.QueueManager = QueueManager;
|
|
51
|
+
//# sourceMappingURL=QueueManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueueManager.js","sourceRoot":"","sources":["../../src/queue/QueueManager.ts"],"names":[],"mappings":";;;AAGA,4DAAyD;AAGzD,MAAa,YAAY;IASvB,YACU,mBAA4C,EAC5C,WAAgD,EAChD,SAAwB,EACxB,UAA+B,EAC/B,YAGM,EACd,cAA+C;QARvC,wBAAmB,GAAnB,mBAAmB,CAAyB;QAC5C,gBAAW,GAAX,WAAW,CAAqC;QAChD,cAAS,GAAT,SAAS,CAAe;QACxB,eAAU,GAAV,UAAU,CAAqB;QAC/B,iBAAY,GAAZ,YAAY,CAGN;QAGd,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAClD,CAAC;IAED,UAAU;QACR,MAAM,WAAW,GAAG,qCAAiB,CAAC,WAAW,EAAE,CAAC;QACpD,WAAW,CAAC,gBAAgB,CAC1B,OAAO,IAAI,CAAC,WAAW,KAAK,UAAU;YACpC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE;YACpB,CAAC,CAAC,IAAI,CAAC,WAAW,EACpB,OAAO,IAAI,CAAC,mBAAmB,KAAK,UAAU;YAC5C,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC5B,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAC5B,IAAI,CAAC,SAAS,CACf,CAAC;QAEF,MAAM,eAAe,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACpD,WAAW,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBAC3C,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YACpC,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,OAAO;YAEhD,IAAI,CAAC,eAAe,CAAC,GAAG,CACtB,SAAS,EACT,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAC9C,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,aAAa;QACX,OAAO,OAAO,CAAC,GAAG,CAChB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CACzD,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,SAAoB;QACtB,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACjD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,aAAa,CACX,SAAoB,EACpB,KAA4C;QAE5C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,KAAkB,CAAC,CAAC;IAC1D,CAAC;IAED,WAAW;QACT,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;CACF;AA5ED,oCA4EC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Queue } from "./queue";
|
|
2
2
|
import { JobData, QueueOptions } from "../types";
|
|
3
3
|
import { SharedContext } from "@alanszp/shared-context";
|
|
4
|
-
import { RepeatableQueue } from "./
|
|
4
|
+
import { RepeatableQueue } from "./repeatableQueue";
|
|
5
5
|
export declare function createQueue<Data = JobData>(name: string, getContext: () => SharedContext, queueOptions?: QueueOptions): Queue<Data>;
|
|
6
6
|
export declare function createRepeatableQueue<Data = JobData>(name: string, getContext: () => SharedContext, queueOptions?: QueueOptions): RepeatableQueue<Data>;
|
|
@@ -2,20 +2,17 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createRepeatableQueue = exports.createQueue = void 0;
|
|
4
4
|
const queue_1 = require("./queue");
|
|
5
|
-
const queueRepository_1 = require("./queueRepository");
|
|
6
5
|
const connectionManager_1 = require("../connectionManager");
|
|
7
|
-
const
|
|
6
|
+
const repeatableQueue_1 = require("./repeatableQueue");
|
|
8
7
|
function createQueue(name, getContext, queueOptions) {
|
|
9
8
|
const connection = connectionManager_1.ConnectionManager.getInstance().getConnection();
|
|
10
9
|
const queue = new queue_1.Queue(connection, name, connectionManager_1.ConnectionManager.getInstance().getServiceName(), getContext, queueOptions);
|
|
11
|
-
queueRepository_1.QueueRepository.Instance.registerQueue(queue);
|
|
12
10
|
return queue;
|
|
13
11
|
}
|
|
14
12
|
exports.createQueue = createQueue;
|
|
15
13
|
function createRepeatableQueue(name, getContext, queueOptions) {
|
|
16
14
|
const connection = connectionManager_1.ConnectionManager.getInstance().getConnection();
|
|
17
|
-
const queue = new
|
|
18
|
-
queueRepository_1.QueueRepository.Instance.registerQueue(queue);
|
|
15
|
+
const queue = new repeatableQueue_1.RepeatableQueue(connection, name, connectionManager_1.ConnectionManager.getInstance().getServiceName(), getContext, queueOptions);
|
|
19
16
|
return queue;
|
|
20
17
|
}
|
|
21
18
|
exports.createRepeatableQueue = createRepeatableQueue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createQueue.js","sourceRoot":"","sources":["../../src/queue/createQueue.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAChC,
|
|
1
|
+
{"version":3,"file":"createQueue.js","sourceRoot":"","sources":["../../src/queue/createQueue.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAChC,4DAAyD;AAGzD,uDAAoD;AAEpD,SAAgB,WAAW,CACzB,IAAY,EACZ,UAA+B,EAC/B,YAA2B;IAE3B,MAAM,UAAU,GAAG,qCAAiB,CAAC,WAAW,EAAE,CAAC,aAAa,EAAE,CAAC;IACnE,MAAM,KAAK,GAAG,IAAI,aAAK,CACrB,UAAU,EACV,IAAI,EACJ,qCAAiB,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,EAChD,UAAU,EACV,YAAY,CACb,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAdD,kCAcC;AAED,SAAgB,qBAAqB,CACnC,IAAY,EACZ,UAA+B,EAC/B,YAA2B;IAE3B,MAAM,UAAU,GAAG,qCAAiB,CAAC,WAAW,EAAE,CAAC,aAAa,EAAE,CAAC;IACnE,MAAM,KAAK,GAAG,IAAI,iCAAe,CAC/B,UAAU,EACV,IAAI,EACJ,qCAAiB,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,EAChD,UAAU,EACV,YAAY,CACb,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAdD,sDAcC"}
|
package/dist/queue/queue.d.ts
CHANGED
|
@@ -10,4 +10,17 @@ export declare class Queue<Data = JobData, ReturnValue = JobReturnValue> extends
|
|
|
10
10
|
jobData: Data;
|
|
11
11
|
opts: JobsOptions;
|
|
12
12
|
}[]): Promise<Job<Data, ReturnValue>[]>;
|
|
13
|
+
/**
|
|
14
|
+
* This method is used to debounce a job.
|
|
15
|
+
* It will check if there are any jobs waiting to be processed, if there are it
|
|
16
|
+
* will not schedule the job and let finish the current scheduled one.
|
|
17
|
+
*
|
|
18
|
+
* This type of publishing will have a max of 1 job waiting to be processed.
|
|
19
|
+
*
|
|
20
|
+
* @param debounceMs Time in MS to debounce the job
|
|
21
|
+
* @param job Job data
|
|
22
|
+
* @param opts Job options
|
|
23
|
+
* @returns Returns undefined if the job was already scheduled, else returns the job published
|
|
24
|
+
*/
|
|
25
|
+
debouncePublishJob(debounceMs: number, job: Data, opts?: JobsOptions): Promise<Job<Data, ReturnValue> | undefined>;
|
|
13
26
|
}
|
package/dist/queue/queue.js
CHANGED
|
@@ -11,6 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.Queue = void 0;
|
|
13
13
|
const lodash_1 = require("lodash");
|
|
14
|
+
const types_1 = require("../types");
|
|
14
15
|
const baseQueue_1 = require("./baseQueue");
|
|
15
16
|
const DEFAULT_COMPLETED_JOB_MAX_AGE_IN_SECONDS = 60 * 60 * 24 * 30;
|
|
16
17
|
const DEFAULT_COMPLETED_JOB_MAX_COUNT = 500;
|
|
@@ -59,6 +60,26 @@ class Queue extends baseQueue_1.BaseQueue {
|
|
|
59
60
|
return this.queue.addBulk(jobs);
|
|
60
61
|
});
|
|
61
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* This method is used to debounce a job.
|
|
65
|
+
* It will check if there are any jobs waiting to be processed, if there are it
|
|
66
|
+
* will not schedule the job and let finish the current scheduled one.
|
|
67
|
+
*
|
|
68
|
+
* This type of publishing will have a max of 1 job waiting to be processed.
|
|
69
|
+
*
|
|
70
|
+
* @param debounceMs Time in MS to debounce the job
|
|
71
|
+
* @param job Job data
|
|
72
|
+
* @param opts Job options
|
|
73
|
+
* @returns Returns undefined if the job was already scheduled, else returns the job published
|
|
74
|
+
*/
|
|
75
|
+
debouncePublishJob(debounceMs, job, opts) {
|
|
76
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
77
|
+
const countWaiting = yield this.getJobCountByStatus([types_1.JobTypeEnum.DELAYED]);
|
|
78
|
+
if (countWaiting !== 0)
|
|
79
|
+
return;
|
|
80
|
+
yield this.publishJob(job, Object.assign(Object.assign({}, opts), { delay: debounceMs }));
|
|
81
|
+
});
|
|
82
|
+
}
|
|
62
83
|
}
|
|
63
84
|
exports.Queue = Queue;
|
|
64
85
|
//# sourceMappingURL=queue.js.map
|
package/dist/queue/queue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/queue/queue.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAA+B;
|
|
1
|
+
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/queue/queue.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAA+B;AAG/B,oCAMkB;AAClB,2CAAwC;AAExC,MAAM,wCAAwC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AACnE,MAAM,+BAA+B,GAAG,GAAG,CAAC;AAC5C,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAC1C,MAAM,eAAe,GAAG;IACtB,iBAAiB,EAAE;QACjB,gBAAgB,EAAE;YAChB,GAAG,EAAE,wCAAwC;YAC7C,KAAK,EAAE,+BAA+B;SACvC;QACD,YAAY,EAAE;YACZ,KAAK,EAAE,4BAA4B;SACpC;QACD,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE;YACP,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,IAAI;SACZ;KACF;CACF,CAAC;AAEF,MAAa,KAGX,SAAQ,qBAA4B;IACpC,YACE,UAA6B,EAC7B,IAAY,EACZ,MAAc,EACd,gBAAqC,EACrC,eAA6B,EAAE;QAE/B,KAAK,CACH,UAAU,EACV,IAAI,EACJ,MAAM,EACN,gBAAgB,EAChB,IAAA,cAAK,EAAC,eAAe,EAAE,YAAY,CAAC,CACrC,CAAC;IACJ,CAAC;IAEK,UAAU,CACd,GAAS,EACT,IAAkB;;YAElB,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,kCAAO,GAAG,KAAE,GAAG,EAAE,GAAG,KAAI,IAAI,CAAC,CAAC;QAC/D,CAAC;KAAA;IAEK,cAAc,CAAC,QAAgB;;YACnC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACjE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;KAAA;IAEK,yBAAyB,CAC7B,cAAsD;;YAEtD,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC5D,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI;gBACJ,IAAI;aACL,CAAC,CAAC,CAAC;YACJ,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;KAAA;IAED;;;;;;;;;;;OAWG;IACG,kBAAkB,CACtB,UAAkB,EAClB,GAAS,EACT,IAAkB;;YAElB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,CAAC,mBAAW,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3E,IAAI,YAAY,KAAK,CAAC;gBAAE,OAAO;YAE/B,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,kCACpB,IAAI,KACP,KAAK,EAAE,UAAU,IACjB,CAAC;QACL,CAAC;KAAA;CACF;AAvED,sBAuEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repeatableQueue.js","sourceRoot":"","sources":["../../src/queue/repeatableQueue.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,2CAAwC;AAExC,MAAa,eAGX,SAAQ,qBAA4B;IAC9B,oBAAoB,CACxB,GAAS,EACT,aAA4B,EAC5B,KAAa,EACb,IAAkB;;YAElB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,kCAC/B,IAAI,KACP,MAAM,oBAAO,aAAa,GAC1B,KAAK,IACL,CAAC;QACL,CAAC;KAAA;IAEK,wBAAwB,CAAC,YAAoB;;YACjD,OAAO,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;QACxD,CAAC;KAAA;IAEK,2BAA2B,CAC/B,aAA4B,EAC5B,KAAa;;YAEb,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QACtE,CAAC;KAAA;CACF;AA3BD,0CA2BC"}
|
package/dist/shutdownQueue.d.ts
CHANGED
|
@@ -1 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
import { QueueManager } from "./queue/QueueManager";
|
|
2
|
+
import { BaseQueue } from "./queue/baseQueue";
|
|
3
|
+
export declare function shutdownQueue<EnumKey extends string | number | symbol, EnumValue extends string, QueueType extends BaseQueue>(queueManagers: QueueManager<EnumKey, EnumValue, QueueType> | QueueManager<EnumKey, EnumValue, QueueType>[]): Promise<void>;
|
package/dist/shutdownQueue.js
CHANGED
|
@@ -10,14 +10,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.shutdownQueue = void 0;
|
|
13
|
-
const
|
|
13
|
+
const lodash_1 = require("lodash");
|
|
14
14
|
const connectionManager_1 = require("./connectionManager");
|
|
15
15
|
const workerRepository_1 = require("./worker/workerRepository");
|
|
16
|
-
function shutdownQueue() {
|
|
16
|
+
function shutdownQueue(queueManagers) {
|
|
17
17
|
return __awaiter(this, void 0, void 0, function* () {
|
|
18
|
+
const queueManagersArray = (0, lodash_1.isArray)(queueManagers)
|
|
19
|
+
? queueManagers
|
|
20
|
+
: [queueManagers];
|
|
18
21
|
yield Promise.all([
|
|
19
22
|
...workerRepository_1.WorkerRepository.Instance.getCloseConnections(),
|
|
20
|
-
...
|
|
23
|
+
...queueManagersArray.map((q) => q.disconnectAll()),
|
|
21
24
|
]);
|
|
22
25
|
connectionManager_1.ConnectionManager.getInstance().close();
|
|
23
26
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shutdownQueue.js","sourceRoot":"","sources":["../src/shutdownQueue.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"shutdownQueue.js","sourceRoot":"","sources":["../src/shutdownQueue.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAiC;AACjC,2DAAwD;AAGxD,gEAA6D;AAE7D,SAAsB,aAAa,CAKjC,aAEiD;;QAEjD,MAAM,kBAAkB,GAAG,IAAA,gBAAO,EAAC,aAAa,CAAC;YAC/C,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QAEpB,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,GAAG,mCAAgB,CAAC,QAAQ,CAAC,mBAAmB,EAAE;YAClD,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;SACpD,CAAC,CAAC;QAEH,qCAAiB,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC;IAC1C,CAAC;CAAA;AAnBD,sCAmBC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alanszp/queue",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "15.0.2",
|
|
4
4
|
"description": "Workers and queues",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"typings": "dist/index.d.ts",
|
|
@@ -23,15 +23,15 @@
|
|
|
23
23
|
"typescript": "^4.3.4"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@alanszp/audit": "^
|
|
27
|
-
"@alanszp/core": "^
|
|
28
|
-
"@alanszp/logger": "^
|
|
29
|
-
"@alanszp/shared-context": "^
|
|
30
|
-
"@alanszp/validations": "^
|
|
26
|
+
"@alanszp/audit": "^15.0.0",
|
|
27
|
+
"@alanszp/core": "^15.0.0",
|
|
28
|
+
"@alanszp/logger": "^15.0.0",
|
|
29
|
+
"@alanszp/shared-context": "^15.0.0",
|
|
30
|
+
"@alanszp/validations": "^15.0.0",
|
|
31
31
|
"@paralleldrive/cuid2": "^2.2.2",
|
|
32
32
|
"bullmq": "^5.4.4",
|
|
33
33
|
"ioredis": "^5.3.2",
|
|
34
34
|
"lodash": "^4.17.21"
|
|
35
35
|
},
|
|
36
|
-
"gitHead": "
|
|
36
|
+
"gitHead": "1e57435ee00a55960e277541bd120eaba4d12d71"
|
|
37
37
|
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { BaseQueue } from "./baseQueue";
|
|
2
|
-
export declare class QueueRepository {
|
|
3
|
-
private _queues;
|
|
4
|
-
private static _instance;
|
|
5
|
-
private constructor();
|
|
6
|
-
static get Instance(): QueueRepository;
|
|
7
|
-
registerQueue(queue: BaseQueue): void;
|
|
8
|
-
getCloseConnections(): Promise<void>[];
|
|
9
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.QueueRepository = void 0;
|
|
4
|
-
class QueueRepository {
|
|
5
|
-
constructor() {
|
|
6
|
-
this._queues = [];
|
|
7
|
-
}
|
|
8
|
-
static get Instance() {
|
|
9
|
-
if (this._instance) {
|
|
10
|
-
return this._instance;
|
|
11
|
-
}
|
|
12
|
-
this._instance = new this();
|
|
13
|
-
return this._instance;
|
|
14
|
-
}
|
|
15
|
-
registerQueue(queue) {
|
|
16
|
-
this._queues.push(queue);
|
|
17
|
-
}
|
|
18
|
-
getCloseConnections() {
|
|
19
|
-
return this._queues.map((q) => q.close());
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
exports.QueueRepository = QueueRepository;
|
|
23
|
-
//# sourceMappingURL=queueRepository.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"queueRepository.js","sourceRoot":"","sources":["../../src/queue/queueRepository.ts"],"names":[],"mappings":";;;AAEA,MAAa,eAAe;IAK1B;QACE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAEM,MAAM,KAAK,QAAQ;QACxB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,OAAO,IAAI,CAAC,SAAS,CAAC;SACvB;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEM,aAAa,CAAC,KAAgB;QACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAEM,mBAAmB;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;CACF;AAxBD,0CAwBC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"repetableQueue.js","sourceRoot":"","sources":["../../src/queue/repetableQueue.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,2CAAwC;AAExC,MAAa,eAGX,SAAQ,qBAA4B;IAC9B,oBAAoB,CACxB,GAAS,EACT,aAA4B,EAC5B,KAAa,EACb,IAAkB;;YAElB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,kCAC/B,IAAI,KACP,MAAM,oBAAO,aAAa,GAC1B,KAAK,IACL,CAAC;QACL,CAAC;KAAA;IAEK,wBAAwB,CAAC,YAAoB;;YACjD,OAAO,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;QACxD,CAAC;KAAA;IAEK,2BAA2B,CAC/B,aAA4B,EAC5B,KAAa;;YAEb,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QACtE,CAAC;KAAA;CACF;AA3BD,0CA2BC"}
|
|
File without changes
|