@platformatic/job-queue 0.1.0-alpha.3 → 0.2.0

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.
Files changed (42) hide show
  1. package/README.md +54 -3
  2. package/dist/consumer.d.ts +2 -1
  3. package/dist/consumer.d.ts.map +1 -1
  4. package/dist/consumer.js +71 -17
  5. package/dist/consumer.js.map +1 -1
  6. package/dist/index.d.ts +1 -1
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/producer.d.ts +6 -2
  10. package/dist/producer.d.ts.map +1 -1
  11. package/dist/producer.js +38 -2
  12. package/dist/producer.js.map +1 -1
  13. package/dist/queue.d.ts +5 -1
  14. package/dist/queue.d.ts.map +1 -1
  15. package/dist/queue.js +13 -4
  16. package/dist/queue.js.map +1 -1
  17. package/dist/reaper.js +3 -3
  18. package/dist/reaper.js.map +1 -1
  19. package/dist/storage/file.d.ts +5 -2
  20. package/dist/storage/file.d.ts.map +1 -1
  21. package/dist/storage/file.js +170 -47
  22. package/dist/storage/file.js.map +1 -1
  23. package/dist/storage/memory.d.ts +2 -2
  24. package/dist/storage/memory.d.ts.map +1 -1
  25. package/dist/storage/memory.js +5 -5
  26. package/dist/storage/memory.js.map +1 -1
  27. package/dist/storage/redis.d.ts +2 -2
  28. package/dist/storage/redis.d.ts.map +1 -1
  29. package/dist/storage/redis.js +12 -13
  30. package/dist/storage/redis.js.map +1 -1
  31. package/dist/storage/types.d.ts +2 -2
  32. package/dist/storage/types.d.ts.map +1 -1
  33. package/dist/storage/utils.d.ts +2 -0
  34. package/dist/storage/utils.d.ts.map +1 -0
  35. package/dist/storage/utils.js +31 -0
  36. package/dist/storage/utils.js.map +1 -0
  37. package/dist/types.d.ts +38 -0
  38. package/dist/types.d.ts.map +1 -1
  39. package/dist/utils/id.d.ts.map +1 -1
  40. package/dist/utils/id.js +1 -4
  41. package/dist/utils/id.js.map +1 -1
  42. package/package.json +6 -3
package/README.md CHANGED
@@ -44,9 +44,15 @@ await queue.start()
44
44
  // Enqueue jobs
45
45
  await queue.enqueue('email-1', { email: 'user@example.com' })
46
46
 
47
+ // Optional per-job TTL override for cached result/error
48
+ await queue.enqueue('email-ttl', { email: 'ttl@example.com' }, {
49
+ resultTTL: 5 * 60 * 1000 // 5 minutes
50
+ })
51
+
47
52
  // Or wait for the result
48
53
  const result = await queue.enqueueAndWait('email-2', { email: 'another@example.com' }, {
49
- timeout: 30000
54
+ timeout: 30000,
55
+ resultTTL: 24 * 60 * 60 * 1000 // keep this result for 24h
50
56
  })
51
57
  console.log('Result:', result) // { sent: true }
52
58
 
@@ -77,6 +83,7 @@ const queue = new Queue<TPayload, TResult>(config)
77
83
  | `blockTimeout` | `number` | `5` | Seconds to wait when polling for jobs |
78
84
  | `visibilityTimeout` | `number` | `30000` | Milliseconds before a processing job is considered stalled |
79
85
  | `resultTTL` | `number` | `3600000` | Milliseconds to cache job results (1 hour) |
86
+ | `afterExecution` | `AfterExecutionHook<TPayload, TResult>` | `undefined` | Hook called after execution and before persisting terminal state |
80
87
  | `payloadSerde` | `Serde<TPayload>` | `JsonSerde` | Custom serializer for job payloads |
81
88
  | `resultSerde` | `Serde<TResult>` | `JsonSerde` | Custom serializer for job results |
82
89
 
@@ -109,7 +116,10 @@ queue.execute(async (job) => {
109
116
  Enqueue a job (fire-and-forget).
110
117
 
111
118
  ```typescript
112
- const result = await queue.enqueue('job-123', { data: 'value' })
119
+ const result = await queue.enqueue('job-123', { data: 'value' }, {
120
+ maxAttempts: 5,
121
+ resultTTL: 60_000 // optional per-job TTL override (ms)
122
+ })
113
123
 
114
124
  // result.status can be:
115
125
  // - 'queued': Job was added to the queue
@@ -124,12 +134,37 @@ Enqueue a job and wait for the result.
124
134
  ```typescript
125
135
  const result = await queue.enqueueAndWait('job-123', payload, {
126
136
  timeout: 30000, // Timeout in milliseconds
127
- maxAttempts: 5 // Override default max retries
137
+ maxAttempts: 5, // Override default max retries
138
+ resultTTL: 300000 // Optional per-job TTL override (ms)
128
139
  })
129
140
  ```
130
141
 
131
142
  Throws `TimeoutError` if the job doesn't complete within the timeout.
132
143
 
144
+ `resultTTL` behavior:
145
+ - If provided in `enqueue()` / `enqueueAndWait()`, it overrides the queue default for that job.
146
+ - If omitted, the producer uses the queue default `resultTTL` at enqueue time.
147
+ - For duplicate IDs, the first accepted enqueue defines the TTL for that job.
148
+
149
+ `afterExecution` hook behavior:
150
+ - Runs after a successful execution or after the final failed attempt, before terminal state is persisted.
151
+ - Receives a mutable context object (passed by reference), including `result`/`error` and `ttl`.
152
+ - You can update `context.ttl` to change the stored result/error TTL dynamically.
153
+ - You can replace `context.result` / `context.error` to affect what is persisted.
154
+ - `id` and `status` are informational; changing them has no effect on persistence.
155
+
156
+ ```typescript
157
+ const queue = new Queue<{ url: string }, { body: string; maxAgeMs?: number }>({
158
+ storage,
159
+ resultTTL: 60_000,
160
+ afterExecution: async (context) => {
161
+ if (context.status === 'completed' && context.result?.maxAgeMs) {
162
+ context.ttl = context.result.maxAgeMs
163
+ }
164
+ }
165
+ })
166
+ ```
167
+
133
168
  ##### `queue.cancel(id): Promise<CancelResult>`
134
169
 
135
170
  Cancel a queued job.
@@ -148,6 +183,22 @@ const result = await queue.cancel('job-123')
148
183
 
149
184
  Get the cached result of a completed job.
150
185
 
186
+ ##### `queue.updateResultTTL(id, ttlMs): Promise<UpdateResultTTLResult>`
187
+
188
+ Update TTL for a terminal job payload:
189
+ - completed jobs: updates cached result TTL
190
+ - failed jobs: updates cached error TTL
191
+
192
+ ```typescript
193
+ const update = await queue.updateResultTTL('job-123', 5 * 60_000)
194
+
195
+ // update.status can be:
196
+ // - 'updated'
197
+ // - 'not_found'
198
+ // - 'not_terminal'
199
+ // - 'missing_payload'
200
+ ```
201
+
151
202
  ##### `queue.getStatus(id): Promise<MessageStatus | null>`
152
203
 
153
204
  Get the current status of a job.
@@ -1,7 +1,7 @@
1
1
  import { EventEmitter } from 'node:events';
2
2
  import type { Storage } from './storage/types.ts';
3
3
  import type { Serde } from './serde/index.ts';
4
- import type { JobHandler } from './types.ts';
4
+ import type { JobHandler, AfterExecutionHook } from './types.ts';
5
5
  interface ConsumerConfig<TPayload, TResult> {
6
6
  storage: Storage;
7
7
  workerId: string;
@@ -12,6 +12,7 @@ interface ConsumerConfig<TPayload, TResult> {
12
12
  maxRetries?: number;
13
13
  resultTTL?: number;
14
14
  visibilityTimeout?: number;
15
+ afterExecution?: AfterExecutionHook<TPayload, TResult>;
15
16
  }
16
17
  interface ConsumerEvents<TResult> {
17
18
  error: [error: Error];
@@ -1 +1 @@
1
- {"version":3,"file":"consumer.d.ts","sourceRoot":"","sources":["../src/consumer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAqB,UAAU,EAAE,MAAM,YAAY,CAAA;AAI/D,UAAU,cAAc,CAAC,QAAQ,EAAE,OAAO;IACxC,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC9B,WAAW,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,UAAU,cAAc,CAAC,OAAO;IAC9B,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACrB,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IACxC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;IAClC,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;IACpD,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;CACvB;AAED;;GAEG;AACH,qBAAa,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAE,SAAQ,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;;gBAiBvE,MAAM,EAAE,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC;IAatD;;OAEG;IACH,OAAO,CAAE,OAAO,EAAE,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,IAAI;IAItD;;OAEG;IACG,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAwB7B;;OAEG;IACG,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;CA6K7B"}
1
+ {"version":3,"file":"consumer.d.ts","sourceRoot":"","sources":["../src/consumer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAqB,UAAU,EAAE,kBAAkB,EAAyB,MAAM,YAAY,CAAA;AAI1G,UAAU,cAAc,CAAC,QAAQ,EAAE,OAAO;IACxC,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC9B,WAAW,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,cAAc,CAAC,EAAE,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;CACvD;AAED,UAAU,cAAc,CAAC,OAAO;IAC9B,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACrB,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IACxC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;IAClC,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;IACpD,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;CACvB;AAQD;;GAEG;AACH,qBAAa,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAE,SAAQ,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;;gBAkBvE,MAAM,EAAE,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC;IActD;;OAEG;IACH,OAAO,CAAE,OAAO,EAAE,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,IAAI;IAItD;;OAEG;IACG,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAwB7B;;OAEG;IACG,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;CA4O7B"}
package/dist/consumer.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { EventEmitter } from 'node:events';
2
2
  import { MaxRetriesError } from "./errors.js";
3
3
  import { createJsonSerde } from "./serde/index.js";
4
+ const noopAfterExecution = async (_context) => { };
4
5
  /**
5
6
  * Consumer handles processing jobs from the queue
6
7
  */
@@ -14,6 +15,7 @@ export class Consumer extends EventEmitter {
14
15
  #maxRetries;
15
16
  #resultTTL;
16
17
  #visibilityTimeout;
18
+ #afterExecution;
17
19
  #handler = null;
18
20
  #running = false;
19
21
  #activeJobs = 0;
@@ -30,6 +32,7 @@ export class Consumer extends EventEmitter {
30
32
  this.#maxRetries = config.maxRetries ?? 3;
31
33
  this.#resultTTL = config.resultTTL ?? 3600000;
32
34
  this.#visibilityTimeout = config.visibilityTimeout ?? 30000;
35
+ this.#afterExecution = config.afterExecution ?? noopAfterExecution;
33
36
  }
34
37
  /**
35
38
  * Register a job handler
@@ -56,7 +59,7 @@ export class Consumer extends EventEmitter {
56
59
  loops.push(this.#workerLoop());
57
60
  }
58
61
  // Don't await - let them run in background
59
- Promise.all(loops).catch((err) => {
62
+ Promise.all(loops).catch(err => {
60
63
  this.emit('error', err);
61
64
  });
62
65
  }
@@ -74,7 +77,7 @@ export class Consumer extends EventEmitter {
74
77
  // Wait for active jobs to complete (with timeout)
75
78
  const maxWait = this.#visibilityTimeout;
76
79
  const startTime = Date.now();
77
- while (this.#activeJobs > 0 && (Date.now() - startTime) < maxWait) {
80
+ while (this.#activeJobs > 0 && Date.now() - startTime < maxWait) {
78
81
  await new Promise(resolve => setTimeout(resolve, 100));
79
82
  }
80
83
  // Abort any remaining jobs
@@ -121,7 +124,8 @@ export class Consumer extends EventEmitter {
121
124
  */
122
125
  async #processJob(message) {
123
126
  const queueMessage = this.#deserializeMessage(message);
124
- const { id, payload, attempts, maxAttempts } = queueMessage;
127
+ const { id, payload, attempts, maxAttempts, createdAt } = queueMessage;
128
+ const resolvedTTL = queueMessage.resultTTL ?? this.#resultTTL;
125
129
  // Check if job was cancelled (deleted from jobs hash)
126
130
  const state = await this.#storage.getJobState(id);
127
131
  if (!state) {
@@ -137,30 +141,46 @@ export class Consumer extends EventEmitter {
137
141
  const visibilityTimer = setTimeout(() => {
138
142
  jobAbortController.abort();
139
143
  }, this.#visibilityTimeout);
144
+ const currentAttempts = attempts + 1;
140
145
  // Update state to processing
141
- const timestamp = Date.now();
142
- await this.#storage.setJobState(id, `processing:${timestamp}:${this.#workerId}`);
146
+ const startedAt = Date.now();
147
+ await this.#storage.setJobState(id, `processing:${startedAt}:${this.#workerId}`);
143
148
  await this.#storage.publishEvent(id, 'processing');
144
149
  try {
145
150
  const job = {
146
151
  id,
147
152
  payload,
148
- attempts: attempts + 1,
153
+ attempts: currentAttempts,
149
154
  signal: jobAbortController.signal
150
155
  };
151
156
  const result = await this.#executeHandler(job);
152
157
  // Clear visibility timer
153
158
  clearTimeout(visibilityTimer);
159
+ const finishedAt = Date.now();
160
+ const context = await this.#runAfterExecution({
161
+ id,
162
+ payload,
163
+ attempts: currentAttempts,
164
+ maxAttempts,
165
+ createdAt,
166
+ status: 'completed',
167
+ result,
168
+ ttl: resolvedTTL,
169
+ workerId: this.#workerId,
170
+ startedAt,
171
+ finishedAt,
172
+ durationMs: finishedAt - startedAt
173
+ });
174
+ const finalResult = context.result;
154
175
  // Complete the job
155
- const serializedResult = this.#resultSerde.serialize(result);
156
- await this.#storage.completeJob(id, message, this.#workerId, serializedResult, this.#resultTTL);
157
- this.emit('completed', id, result);
176
+ const serializedResult = this.#resultSerde.serialize(finalResult);
177
+ await this.#storage.completeJob(id, message, this.#workerId, serializedResult, context.ttl);
178
+ this.emit('completed', id, finalResult);
158
179
  }
159
180
  catch (err) {
160
181
  // Clear visibility timer
161
182
  clearTimeout(visibilityTimer);
162
183
  const error = err;
163
- const currentAttempts = attempts + 1;
164
184
  if (currentAttempts < maxAttempts) {
165
185
  // Retry - update message with incremented attempts
166
186
  const updatedMessage = {
@@ -173,13 +193,31 @@ export class Consumer extends EventEmitter {
173
193
  }
174
194
  else {
175
195
  // Max retries exceeded - fail the job
176
- const maxRetriesError = new MaxRetriesError(id, currentAttempts, error);
177
- const serializedError = Buffer.from(JSON.stringify({
178
- message: error.message,
179
- code: error.code,
180
- stack: error.stack
181
- }));
182
- await this.#storage.failJob(id, message, this.#workerId, serializedError, this.#resultTTL);
196
+ const finishedAt = Date.now();
197
+ const context = await this.#runAfterExecution({
198
+ id,
199
+ payload,
200
+ attempts: currentAttempts,
201
+ maxAttempts,
202
+ createdAt,
203
+ status: 'failed',
204
+ error,
205
+ ttl: resolvedTTL,
206
+ workerId: this.#workerId,
207
+ startedAt,
208
+ finishedAt,
209
+ durationMs: finishedAt - startedAt
210
+ });
211
+ const finalError = context.error ?? error;
212
+ const maxRetriesError = new MaxRetriesError(id, currentAttempts, finalError);
213
+ const serializedError = Buffer.from(JSON.stringify(typeof finalError.toJSON === 'function'
214
+ ? finalError.toJSON()
215
+ : {
216
+ message: finalError.message,
217
+ code: finalError.code,
218
+ stack: finalError.stack
219
+ }));
220
+ await this.#storage.failJob(id, message, this.#workerId, serializedError, context.ttl);
183
221
  this.emit('failed', id, maxRetriesError);
184
222
  }
185
223
  }
@@ -188,6 +226,21 @@ export class Consumer extends EventEmitter {
188
226
  this.#activeJobs--;
189
227
  }
190
228
  }
229
+ async #runAfterExecution(context) {
230
+ const originalTTL = context.ttl;
231
+ try {
232
+ await this.#afterExecution(context);
233
+ }
234
+ catch (err) {
235
+ this.emit('error', err);
236
+ context.ttl = originalTTL;
237
+ }
238
+ if (!Number.isFinite(context.ttl) || !Number.isInteger(context.ttl) || context.ttl <= 0) {
239
+ this.emit('error', new TypeError('resultTTL must be a positive integer in milliseconds'));
240
+ context.ttl = originalTTL;
241
+ }
242
+ return context;
243
+ }
191
244
  /**
192
245
  * Execute the job handler (supports both async and callback styles)
193
246
  */
@@ -196,6 +249,7 @@ export class Consumer extends EventEmitter {
196
249
  // Check if callback style (handler.length > 1)
197
250
  if (handler.length > 1) {
198
251
  return new Promise((resolve, reject) => {
252
+ ;
199
253
  handler(job, (err, result) => {
200
254
  if (err)
201
255
  reject(err);
@@ -1 +1 @@
1
- {"version":3,"file":"consumer.js","sourceRoot":"","sources":["../src/consumer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAI1C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAsBlD;;GAEG;AACH,MAAM,OAAO,QAA4B,SAAQ,YAAqC;IACpF,QAAQ,CAAS;IACjB,SAAS,CAAQ;IACjB,aAAa,CAAiB;IAC9B,YAAY,CAAgB;IAC5B,YAAY,CAAQ;IACpB,aAAa,CAAQ;IACrB,WAAW,CAAQ;IACnB,UAAU,CAAQ;IAClB,kBAAkB,CAAQ;IAE1B,QAAQ,GAAyC,IAAI,CAAA;IACrD,QAAQ,GAAG,KAAK,CAAA;IAChB,WAAW,GAAG,CAAC,CAAA;IACf,gBAAgB,GAA2B,IAAI,CAAA;IAC/C,oBAAoB,GAAiC,IAAI,GAAG,EAAE,CAAA;IAE9D,YAAa,MAAyC;QACpD,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAA;QAC9B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAA;QAChC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY,IAAI,eAAe,EAAY,CAAA;QACvE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,IAAI,eAAe,EAAW,CAAA;QACpE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,CAAA;QAC3C,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY,IAAI,CAAC,CAAA;QAC7C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,IAAI,CAAC,CAAA;QACzC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,IAAI,OAAO,CAAA;QAC7C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,IAAI,KAAK,CAAA;IAC7D,CAAC;IAED;;OAEG;IACH,OAAO,CAAE,OAAsC;QAC7C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;IACzB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAM;QACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;QACjE,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,gBAAgB,GAAG,IAAI,eAAe,EAAE,CAAA;QAE7C,kBAAkB;QAClB,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAA;QAE/E,0CAA0C;QAC1C,MAAM,KAAK,GAAoB,EAAE,CAAA;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;QAChC,CAAC;QAED,2CAA2C;QAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QACzB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAM;QAE1B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;QAErB,+BAA+B;QAC/B,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAA;QAC/B,CAAC;QAED,kDAAkD;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAA;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAE5B,OAAO,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,OAAO,EAAE,CAAC;YAClE,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;QACxD,CAAC;QAED,2BAA2B;QAC3B,KAAK,MAAM,CAAC,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACvD,UAAU,CAAC,KAAK,EAAE,CAAA;QACpB,CAAC;QACD,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAA;QAEjC,oBAAoB;QACpB,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACtD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;gBAE/E,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,kCAAkC;oBAClC,SAAQ;gBACV,CAAC;gBAED,mBAAmB;gBACnB,IAAI,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC1C,mBAAmB;oBACnB,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;oBACtD,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;oBACrE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,CAAC,CAAA;oBACtC,MAAK;gBACP,CAAC;gBAED,kBAAkB;gBAClB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;YACjC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,IAAI,CAAC,QAAQ;oBAAE,MAAK;gBACzB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAY,CAAC,CAAA;gBAChC,mCAAmC;gBACnC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;YACzD,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAE,OAAe;QAChC,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;QACtD,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,YAAY,CAAA;QAE3D,sDAAsD;QACtD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QACjD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,iCAAiC;YACjC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;YACpD,OAAM;QACR,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,uCAAuC;QACvC,MAAM,kBAAkB,GAAG,IAAI,eAAe,EAAE,CAAA;QAChD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAA;QAErD,4BAA4B;QAC5B,MAAM,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE;YACtC,kBAAkB,CAAC,KAAK,EAAE,CAAA;QAC5B,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAA;QAE3B,6BAA6B;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC5B,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,cAAc,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;QAChF,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,CAAC,CAAA;QAElD,IAAI,CAAC;YACH,MAAM,GAAG,GAAkB;gBACzB,EAAE;gBACF,OAAO;gBACP,QAAQ,EAAE,QAAQ,GAAG,CAAC;gBACtB,MAAM,EAAE,kBAAkB,CAAC,MAAM;aAClC,CAAA;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;YAE9C,yBAAyB;YACzB,YAAY,CAAC,eAAe,CAAC,CAAA;YAE7B,mBAAmB;YACnB,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;YAC5D,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,gBAAgB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;YAE/F,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;QACpC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,yBAAyB;YACzB,YAAY,CAAC,eAAe,CAAC,CAAA;YAE7B,MAAM,KAAK,GAAG,GAAY,CAAA;YAC1B,MAAM,eAAe,GAAG,QAAQ,GAAG,CAAC,CAAA;YAEpC,IAAI,eAAe,GAAG,WAAW,EAAE,CAAC;gBAClC,mDAAmD;gBACnD,MAAM,cAAc,GAA2B;oBAC7C,GAAG,YAAY;oBACf,QAAQ,EAAE,eAAe;iBAC1B,CAAA;gBACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,cAAqC,CAAC,CAAA;gBAE7F,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,iBAAiB,EAAE,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;gBAEpF,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,CAAA;YAClD,CAAC;iBAAM,CAAC;gBACN,sCAAsC;gBACtC,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,EAAE,EAAE,eAAe,EAAE,KAAK,CAAC,CAAA;gBACvE,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;oBACjD,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,IAAI,EAAG,KAAmC,CAAC,IAAI;oBAC/C,KAAK,EAAE,KAAK,CAAC,KAAK;iBACnB,CAAC,CAAC,CAAA;gBAEH,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;gBAE1F,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,eAAe,CAAC,CAAA;YAC1C,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACpC,IAAI,CAAC,WAAW,EAAE,CAAA;QACpB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAE,GAAkB;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAS,CAAA;QAE9B,+CAA+C;QAC/C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC7C,OAAiG,CAChG,GAAG,EACH,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;oBACd,IAAI,GAAG;wBAAE,MAAM,CAAC,GAAG,CAAC,CAAA;;wBACf,OAAO,CAAC,MAAiB,CAAC,CAAA;gBACjC,CAAC,CACF,CAAA;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,cAAc;QACd,OAAQ,OAAoD,CAAC,GAAG,CAAC,CAAA;IACnE,CAAC;IAED,mBAAmB,CAAE,OAAe;QAClC,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO,CAAsC,CAAA;IACrF,CAAC;CACF"}
1
+ {"version":3,"file":"consumer.js","sourceRoot":"","sources":["../src/consumer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAI1C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAyBlD,MAAM,kBAAkB,GAAG,KAAK,EAC9B,QAAkD,EACnC,EAAE,GAAE,CAAC,CAAA;AAEtB;;GAEG;AACH,MAAM,OAAO,QAA4B,SAAQ,YAAqC;IACpF,QAAQ,CAAS;IACjB,SAAS,CAAQ;IACjB,aAAa,CAAiB;IAC9B,YAAY,CAAgB;IAC5B,YAAY,CAAQ;IACpB,aAAa,CAAQ;IACrB,WAAW,CAAQ;IACnB,UAAU,CAAQ;IAClB,kBAAkB,CAAQ;IAC1B,eAAe,CAAuC;IAEtD,QAAQ,GAAyC,IAAI,CAAA;IACrD,QAAQ,GAAG,KAAK,CAAA;IAChB,WAAW,GAAG,CAAC,CAAA;IACf,gBAAgB,GAA2B,IAAI,CAAA;IAC/C,oBAAoB,GAAiC,IAAI,GAAG,EAAE,CAAA;IAE9D,YAAa,MAAyC;QACpD,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAA;QAC9B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAA;QAChC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY,IAAI,eAAe,EAAY,CAAA;QACvE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,IAAI,eAAe,EAAW,CAAA;QACpE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,CAAA;QAC3C,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY,IAAI,CAAC,CAAA;QAC7C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,IAAI,CAAC,CAAA;QACzC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,IAAI,OAAO,CAAA;QAC7C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,IAAI,KAAK,CAAA;QAC3D,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,cAAc,IAAI,kBAAkB,CAAA;IACpE,CAAC;IAED;;OAEG;IACH,OAAO,CAAE,OAAsC;QAC7C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;IACzB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAM;QACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;QACjE,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,gBAAgB,GAAG,IAAI,eAAe,EAAE,CAAA;QAE7C,kBAAkB;QAClB,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAA;QAE/E,0CAA0C;QAC1C,MAAM,KAAK,GAAoB,EAAE,CAAA;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;QAChC,CAAC;QAED,2CAA2C;QAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QACzB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAM;QAE1B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;QAErB,+BAA+B;QAC/B,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAA;QAC/B,CAAC;QAED,kDAAkD;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAA;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAE5B,OAAO,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,OAAO,EAAE,CAAC;YAChE,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;QACxD,CAAC;QAED,2BAA2B;QAC3B,KAAK,MAAM,CAAC,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACvD,UAAU,CAAC,KAAK,EAAE,CAAA;QACpB,CAAC;QACD,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAA;QAEjC,oBAAoB;QACpB,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACtD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;gBAE/E,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,kCAAkC;oBAClC,SAAQ;gBACV,CAAC;gBAED,mBAAmB;gBACnB,IAAI,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC1C,mBAAmB;oBACnB,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;oBACtD,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;oBACrE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,CAAC,CAAA;oBACtC,MAAK;gBACP,CAAC;gBAED,kBAAkB;gBAClB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;YACjC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,IAAI,CAAC,QAAQ;oBAAE,MAAK;gBACzB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAY,CAAC,CAAA;gBAChC,mCAAmC;gBACnC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;YACzD,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAE,OAAe;QAChC,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;QACtD,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,YAAY,CAAA;QACtE,MAAM,WAAW,GAAG,YAAY,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,CAAA;QAE7D,sDAAsD;QACtD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QACjD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,iCAAiC;YACjC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;YACpD,OAAM;QACR,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,uCAAuC;QACvC,MAAM,kBAAkB,GAAG,IAAI,eAAe,EAAE,CAAA;QAChD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAA;QAErD,4BAA4B;QAC5B,MAAM,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE;YACtC,kBAAkB,CAAC,KAAK,EAAE,CAAA;QAC5B,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAA;QAE3B,MAAM,eAAe,GAAG,QAAQ,GAAG,CAAC,CAAA;QAEpC,6BAA6B;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC5B,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,cAAc,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;QAChF,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,CAAC,CAAA;QAElD,IAAI,CAAC;YACH,MAAM,GAAG,GAAkB;gBACzB,EAAE;gBACF,OAAO;gBACP,QAAQ,EAAE,eAAe;gBACzB,MAAM,EAAE,kBAAkB,CAAC,MAAM;aAClC,CAAA;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;YAE9C,yBAAyB;YACzB,YAAY,CAAC,eAAe,CAAC,CAAA;YAE7B,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YAC7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC;gBAC5C,EAAE;gBACF,OAAO;gBACP,QAAQ,EAAE,eAAe;gBACzB,WAAW;gBACX,SAAS;gBACT,MAAM,EAAE,WAAW;gBACnB,MAAM;gBACN,GAAG,EAAE,WAAW;gBAChB,QAAQ,EAAE,IAAI,CAAC,SAAS;gBACxB,SAAS;gBACT,UAAU;gBACV,UAAU,EAAE,UAAU,GAAG,SAAS;aACnC,CAAC,CAAA;YAEF,MAAM,WAAW,GAAG,OAAO,CAAC,MAAiB,CAAA;YAE7C,mBAAmB;YACnB,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;YACjE,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;YAE3F,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,WAAW,CAAC,CAAA;QACzC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,yBAAyB;YACzB,YAAY,CAAC,eAAe,CAAC,CAAA;YAE7B,MAAM,KAAK,GAAG,GAAoB,CAAA;YAElC,IAAI,eAAe,GAAG,WAAW,EAAE,CAAC;gBAClC,mDAAmD;gBACnD,MAAM,cAAc,GAA2B;oBAC7C,GAAG,YAAY;oBACf,QAAQ,EAAE,eAAe;iBAC1B,CAAA;gBACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,cAAqC,CAAC,CAAA;gBAE7F,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,iBAAiB,EAAE,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;gBAEpF,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,CAAA;YAClD,CAAC;iBAAM,CAAC;gBACN,sCAAsC;gBACtC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;gBAC7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC;oBAC5C,EAAE;oBACF,OAAO;oBACP,QAAQ,EAAE,eAAe;oBACzB,WAAW;oBACX,SAAS;oBACT,MAAM,EAAE,QAAQ;oBAChB,KAAK;oBACL,GAAG,EAAE,WAAW;oBAChB,QAAQ,EAAE,IAAI,CAAC,SAAS;oBACxB,SAAS;oBACT,UAAU;oBACV,UAAU,EAAE,UAAU,GAAG,SAAS;iBACnC,CAAC,CAAA;gBAEF,MAAM,UAAU,GAAI,OAAO,CAAC,KAAuB,IAAI,KAAK,CAAA;gBAC5D,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,EAAE,EAAE,eAAe,EAAE,UAAU,CAAC,CAAA;gBAC5E,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CACjC,IAAI,CAAC,SAAS,CACZ,OAAO,UAAU,CAAC,MAAM,KAAK,UAAU;oBACrC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE;oBACrB,CAAC,CAAC;wBACE,OAAO,EAAE,UAAU,CAAC,OAAO;wBAC3B,IAAI,EAAE,UAAU,CAAC,IAAI;wBACrB,KAAK,EAAE,UAAU,CAAC,KAAK;qBACxB,CACN,CACF,CAAA;gBAED,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;gBAEtF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,eAAe,CAAC,CAAA;YAC1C,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACpC,IAAI,CAAC,WAAW,EAAE,CAAA;QACpB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,OAAiD;QAEjD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAA;QAE/B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QACrC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAY,CAAC,CAAA;YAChC,OAAO,CAAC,GAAG,GAAG,WAAW,CAAA;QAC3B,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;YACxF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,SAAS,CAAC,sDAAsD,CAAC,CAAC,CAAA;YACzF,OAAO,CAAC,GAAG,GAAG,WAAW,CAAA;QAC3B,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAE,GAAkB;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAS,CAAA;QAE9B,+CAA+C;QAC/C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC9C,CAAC;gBAAC,OAAiG,CAAC,GAAG,EAAE,CACvG,GAAG,EACH,MAAM,EACN,EAAE;oBACF,IAAI,GAAG;wBAAE,MAAM,CAAC,GAAG,CAAC,CAAA;;wBACf,OAAO,CAAC,MAAiB,CAAC,CAAA;gBACjC,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,cAAc;QACd,OAAQ,OAAoD,CAAC,GAAG,CAAC,CAAA;IACnE,CAAC;IAED,mBAAmB,CAAE,OAAe;QAClC,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO,CAAsC,CAAA;IACrF,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type { QueueMessage, MessageState, MessageStatus, EnqueueOptions, EnqueueAndWaitOptions, EnqueueResult, CancelResult, Job, JobHandler, QueueConfig, QueueEvents } from './types.ts';
1
+ export type { QueueMessage, MessageState, MessageStatus, UpdateResultTTLResult, EnqueueOptions, EnqueueAndWaitOptions, EnqueueResult, CancelResult, Job, AfterExecutionContext, AfterExecutionHook, JobHandler, QueueConfig, QueueEvents } from './types.ts';
2
2
  export { JobQueueError, TimeoutError, MaxRetriesError, JobNotFoundError, StorageError, JobCancelledError, JobFailedError } from './errors.ts';
3
3
  export type { Serde } from './serde/index.ts';
4
4
  export { JsonSerde, createJsonSerde } from './serde/index.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,GAAG,EACH,UAAU,EACV,WAAW,EACX,WAAW,EACZ,MAAM,YAAY,CAAA;AAGnB,OAAO,EACL,aAAa,EACb,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACf,MAAM,aAAa,CAAA;AAGpB,YAAY,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAG7D,YAAY,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAG/C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAGlC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAGpC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,GAAG,EACH,qBAAqB,EACrB,kBAAkB,EAClB,UAAU,EACV,WAAW,EACX,WAAW,EACZ,MAAM,YAAY,CAAA;AAGnB,OAAO,EACL,aAAa,EACb,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACf,MAAM,aAAa,CAAA;AAGpB,YAAY,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAG7D,YAAY,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAG/C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAGlC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAGpC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAeA,SAAS;AACT,OAAO,EACL,aAAa,EACb,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACf,MAAM,aAAa,CAAA;AAIpB,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAI7D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,QAAQ;AACR,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,SAAS;AACT,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,QAAQ;AACR,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkBA,SAAS;AACT,OAAO,EACL,aAAa,EACb,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACf,MAAM,aAAa,CAAA;AAIpB,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAI7D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,QAAQ;AACR,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,SAAS;AACT,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,QAAQ;AACR,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA"}
@@ -1,6 +1,6 @@
1
- import type { Storage } from './storage/types.ts';
2
1
  import type { Serde } from './serde/index.ts';
3
- import type { EnqueueOptions, EnqueueAndWaitOptions, EnqueueResult, CancelResult, MessageStatus } from './types.ts';
2
+ import type { Storage } from './storage/types.ts';
3
+ import type { CancelResult, EnqueueAndWaitOptions, EnqueueOptions, EnqueueResult, MessageStatus, UpdateResultTTLResult } from './types.ts';
4
4
  interface ProducerConfig<TPayload, TResult> {
5
5
  storage: Storage;
6
6
  payloadSerde?: Serde<TPayload>;
@@ -30,6 +30,10 @@ export declare class Producer<TPayload, TResult> {
30
30
  * Get the result of a completed job
31
31
  */
32
32
  getResult(id: string): Promise<TResult | null>;
33
+ /**
34
+ * Update TTL for a terminal job payload (result for completed jobs, error for failed jobs).
35
+ */
36
+ updateResultTTL(id: string, ttlMs: number): Promise<UpdateResultTTLResult>;
33
37
  /**
34
38
  * Get the status of a job
35
39
  */
@@ -1 +1 @@
1
- {"version":3,"file":"producer.d.ts","sourceRoot":"","sources":["../src/producer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAEV,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,aAAa,EAEd,MAAM,YAAY,CAAA;AAKnB,UAAU,cAAc,CAAC,QAAQ,EAAE,OAAO;IACxC,OAAO,EAAE,OAAO,CAAA;IAChB,YAAY,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC9B,WAAW,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,qBAAa,QAAQ,CAAC,QAAQ,EAAE,OAAO;;gBAOxB,MAAM,EAAE,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC;IAQtD;;OAEG;IACG,OAAO,CACX,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,QAAQ,EACjB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IA+BlC;;OAEG;IACG,cAAc,CAClB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,QAAQ,EACjB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,OAAO,CAAC;IAoDnB;;OAEG;IACG,MAAM,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA0BhD;;OAEG;IACG,SAAS,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAQrD;;OAEG;IACG,SAAS,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;CAkCrE"}
1
+ {"version":3,"file":"producer.d.ts","sourceRoot":"","sources":["../src/producer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,EACV,YAAY,EACZ,qBAAqB,EACrB,cAAc,EACd,aAAa,EACb,aAAa,EAGb,qBAAqB,EACtB,MAAM,YAAY,CAAA;AAGnB,UAAU,cAAc,CAAC,QAAQ,EAAE,OAAO;IACxC,OAAO,EAAE,OAAO,CAAA;IAChB,YAAY,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC9B,WAAW,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,qBAAa,QAAQ,CAAC,QAAQ,EAAE,OAAO;;gBAOxB,MAAM,EAAE,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC;IAQtD;;OAEG;IACG,OAAO,CAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAmCxG;;OAEG;IACG,cAAc,CAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC;IAoDvG;;OAEG;IACG,MAAM,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA0BhD;;OAEG;IACG,SAAS,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAQrD;;OAEG;IACG,eAAe,CAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA+BjF;;OAEG;IACG,SAAS,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;CAwCrE"}
package/dist/producer.js CHANGED
@@ -1,4 +1,4 @@
1
- import { TimeoutError, JobFailedError } from "./errors.js";
1
+ import { JobFailedError, TimeoutError } from "./errors.js";
2
2
  import { createJsonSerde } from "./serde/index.js";
3
3
  import { parseState } from "./utils/state.js";
4
4
  /**
@@ -23,12 +23,15 @@ export class Producer {
23
23
  async enqueue(id, payload, options) {
24
24
  const timestamp = Date.now();
25
25
  const maxAttempts = options?.maxAttempts ?? this.#maxRetries;
26
+ const resultTTL = options?.resultTTL ?? this.#resultTTL;
27
+ this.#validateResultTTL(resultTTL);
26
28
  const message = {
27
29
  id,
28
30
  payload,
29
31
  createdAt: timestamp,
30
32
  attempts: 0,
31
- maxAttempts
33
+ maxAttempts,
34
+ resultTTL
32
35
  };
33
36
  const serialized = this.#payloadSerde.serialize(message);
34
37
  const existingState = await this.#storage.enqueue(id, serialized, timestamp);
@@ -124,6 +127,34 @@ export class Producer {
124
127
  }
125
128
  return this.#resultSerde.deserialize(resultBuffer);
126
129
  }
130
+ /**
131
+ * Update TTL for a terminal job payload (result for completed jobs, error for failed jobs).
132
+ */
133
+ async updateResultTTL(id, ttlMs) {
134
+ this.#validateResultTTL(ttlMs);
135
+ const state = await this.#storage.getJobState(id);
136
+ if (!state) {
137
+ return { status: 'not_found' };
138
+ }
139
+ const { status } = parseState(state);
140
+ if (status !== 'completed' && status !== 'failed') {
141
+ return { status: 'not_terminal' };
142
+ }
143
+ if (status === 'completed') {
144
+ const existingResult = await this.#storage.getResult(id);
145
+ if (!existingResult) {
146
+ return { status: 'missing_payload' };
147
+ }
148
+ await this.#storage.setResult(id, existingResult, ttlMs);
149
+ return { status: 'updated' };
150
+ }
151
+ const existingError = await this.#storage.getError(id);
152
+ if (!existingError) {
153
+ return { status: 'missing_payload' };
154
+ }
155
+ await this.#storage.setError(id, existingError, ttlMs);
156
+ return { status: 'updated' };
157
+ }
127
158
  /**
128
159
  * Get the status of a job
129
160
  */
@@ -159,5 +190,10 @@ export class Producer {
159
190
  }
160
191
  return messageStatus;
161
192
  }
193
+ #validateResultTTL(resultTTL) {
194
+ if (!Number.isFinite(resultTTL) || !Number.isInteger(resultTTL) || resultTTL <= 0) {
195
+ throw new TypeError('resultTTL must be a positive integer in milliseconds');
196
+ }
197
+ }
162
198
  }
163
199
  //# sourceMappingURL=producer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"producer.js","sourceRoot":"","sources":["../src/producer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"producer.js","sourceRoot":"","sources":["../src/producer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAYlD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAU7C;;GAEG;AACH,MAAM,OAAO,QAAQ;IACnB,QAAQ,CAAS;IACjB,aAAa,CAAiB;IAC9B,YAAY,CAAgB;IAC5B,WAAW,CAAQ;IACnB,UAAU,CAAQ;IAElB,YAAa,MAAyC;QACpD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAA;QAC9B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY,IAAI,eAAe,EAAY,CAAA;QACvE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,IAAI,eAAe,EAAW,CAAA;QACpE,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,IAAI,CAAC,CAAA;QACzC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,IAAI,OAAO,CAAA,CAAC,SAAS;IACzD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAE,EAAU,EAAE,OAAiB,EAAE,OAAwB;QACpE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC5B,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,IAAI,CAAC,WAAW,CAAA;QAC5D,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,UAAU,CAAA;QAEvD,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAA;QAElC,MAAM,OAAO,GAA2B;YACtC,EAAE;YACF,OAAO;YACP,SAAS,EAAE,SAAS;YACpB,QAAQ,EAAE,CAAC;YACX,WAAW;YACX,SAAS;SACV,CAAA;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,OAA8B,CAAC,CAAA;QAC/E,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA;QAE5E,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,aAAa,CAAC,CAAA;YAE5C,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;gBAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;gBACvC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBACpB,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,CAAA;gBACxC,CAAC;YACH,CAAC;YAED,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,CAAA;QACvD,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;IAC7B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAE,EAAU,EAAE,OAAiB,EAAE,OAA+B;QAClF,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,KAAK,CAAA;QAEzC,oDAAoD;QACpD,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,aAAa,EAAW,CAAA;QAEjH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;YACxE,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;gBAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;gBACvC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBACpB,aAAa,CAAC,MAAM,CAAC,CAAA;gBACvB,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;gBAC9C,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,YAAY,CAAA;gBAC5D,YAAY,CAAC,IAAI,cAAc,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAA;YACpD,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,IAAI,SAAoD,CAAA;QAExD,IAAI,CAAC;YACH,cAAc;YACd,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;YAE9D,yDAAyD;YACzD,IAAI,aAAa,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACzC,OAAO,aAAa,CAAC,MAAM,CAAA;YAC7B,CAAC;YAED,qDAAqD;YACrD,IAAI,aAAa,CAAC,MAAM,KAAK,WAAW,IAAI,aAAa,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;gBACrF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;gBAC9C,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,YAAY,CAAA;gBAC5D,MAAM,IAAI,cAAc,CAAC,EAAE,EAAE,YAAY,CAAC,CAAA;YAC5C,CAAC;YAED,+BAA+B;YAC/B,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,aAAa,EAAS,CAAA;YACzF,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC1B,aAAa,CAAC,IAAI,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;YAC9C,CAAC,EAAE,OAAO,CAAC,CAAA;YAEX,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAA;QAC5D,CAAC;gBAAS,CAAC;YACT,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,YAAY,CAAC,SAAS,CAAC,CAAA;YACzB,CAAC;YACD,MAAM,WAAW,EAAE,CAAA;QACrB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAE,EAAU;QACtB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QAEjD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAA;QAChC,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;QAEpC,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3B,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAA;QAChC,CAAC;QAED,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5B,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAA;QACjC,CAAC;QAED,kCAAkC;QAClC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QACjD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAA;QAChC,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAA;IAChC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAE,EAAU;QACzB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QACtD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;IACpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAE,EAAU,EAAE,KAAa;QAC9C,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;QAE9B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QACjD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAA;QAChC,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;QAEpC,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YAClD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;QACnC,CAAC;QAED,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;YACxD,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAA;YACtC,CAAC;YACD,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,CAAC,CAAA;YACxD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;QAC9B,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACtD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAA;QACtC,CAAC;QACD,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,aAAa,EAAE,KAAK,CAAC,CAAA;QACtD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;IAC9B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAE,EAAU;QACzB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QACjD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;QAE/C,MAAM,aAAa,GAA2B;YAC5C,EAAE;YACF,KAAK,EAAE,MAAM;YACb,SAAS,EAAE,SAAS;YACpB,QAAQ,EAAE,CAAC;SACZ,CAAA;QAED,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;YACvC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,aAAa,CAAC,MAAM,GAAG,MAAM,CAAA;YAC/B,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;YACpD,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,CAAC;oBACH,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAoB,CAAA;gBAC7E,CAAC;gBAAC,MAAM,CAAC;oBACP,+BAA+B;oBAC/B,aAAa,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAA;gBAC3D,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,kBAAkB,CAAE,SAAiB;QACnC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YAClF,MAAM,IAAI,SAAS,CAAC,sDAAsD,CAAC,CAAA;QAC7E,CAAC;IACH,CAAC;CACF"}
package/dist/queue.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter } from 'node:events';
2
- import type { QueueConfig, EnqueueOptions, EnqueueAndWaitOptions, EnqueueResult, CancelResult, MessageStatus, JobHandler, QueueEvents } from './types.ts';
2
+ import type { QueueConfig, EnqueueOptions, EnqueueAndWaitOptions, EnqueueResult, CancelResult, MessageStatus, UpdateResultTTLResult, JobHandler, QueueEvents } from './types.ts';
3
3
  /**
4
4
  * Queue class combining Producer and Consumer functionality
5
5
  */
@@ -34,6 +34,10 @@ export declare class Queue<TPayload, TResult = void> extends EventEmitter<QueueE
34
34
  * Get the result of a completed job
35
35
  */
36
36
  getResult(id: string): Promise<TResult | null>;
37
+ /**
38
+ * Update TTL for a terminal job payload (result or error).
39
+ */
40
+ updateResultTTL(id: string, ttlMs: number): Promise<UpdateResultTTLResult>;
37
41
  /**
38
42
  * Get the status of a job
39
43
  */
@@ -1 +1 @@
1
- {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAI1C,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,UAAU,EACV,WAAW,EACZ,MAAM,YAAY,CAAA;AAKnB;;GAEG;AACH,qBAAa,KAAK,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAE,SAAQ,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;;gBAgBxE,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC;IAsBnD;;OAEG;IACG,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAc7B;;OAEG;IACG,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAa5B;;OAEG;IACH,OAAO,CAAE,OAAO,EAAE,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,IAAI;IAStD;;OAEG;IACG,OAAO,CACX,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,QAAQ,EACjB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAQlC;;OAEG;IACG,cAAc,CAClB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,QAAQ,EACjB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,OAAO,CAAC;IAInB;;OAEG;IACG,MAAM,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAQhD;;OAEG;IACG,SAAS,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAIrD;;OAEG;IACG,SAAS,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;CA6CrE"}
1
+ {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAI1C,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,UAAU,EACV,WAAW,EAEZ,MAAM,YAAY,CAAA;AAKnB;;GAEG;AACH,qBAAa,KAAK,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAE,SAAQ,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;;gBAiBxE,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC;IAuBnD;;OAEG;IACG,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAc7B;;OAEG;IACG,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAa5B;;OAEG;IACH,OAAO,CAAE,OAAO,EAAE,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,IAAI;IAStD;;OAEG;IACG,OAAO,CAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAQxG;;OAEG;IACG,cAAc,CAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvG;;OAEG;IACG,MAAM,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAQhD;;OAEG;IACG,SAAS,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAIrD;;OAEG;IACG,eAAe,CAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIjF;;OAEG;IACG,SAAS,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;CA8CrE"}
package/dist/queue.js CHANGED
@@ -20,6 +20,7 @@ export class Queue extends EventEmitter {
20
20
  #maxRetries;
21
21
  #resultTTL;
22
22
  #visibilityTimeout;
23
+ #afterExecution;
23
24
  constructor(config) {
24
25
  super();
25
26
  this.#storage = config.storage;
@@ -31,6 +32,7 @@ export class Queue extends EventEmitter {
31
32
  this.#maxRetries = config.maxRetries ?? 3;
32
33
  this.#resultTTL = config.resultTTL ?? 3600000;
33
34
  this.#visibilityTimeout = config.visibilityTimeout ?? 30000;
35
+ this.#afterExecution = config.afterExecution;
34
36
  this.#producer = new Producer({
35
37
  storage: this.#storage,
36
38
  payloadSerde: this.#payloadSerde,
@@ -108,6 +110,12 @@ export class Queue extends EventEmitter {
108
110
  async getResult(id) {
109
111
  return this.#producer.getResult(id);
110
112
  }
113
+ /**
114
+ * Update TTL for a terminal job payload (result or error).
115
+ */
116
+ async updateResultTTL(id, ttlMs) {
117
+ return this.#producer.updateResultTTL(id, ttlMs);
118
+ }
111
119
  /**
112
120
  * Get the status of a job
113
121
  */
@@ -126,10 +134,11 @@ export class Queue extends EventEmitter {
126
134
  blockTimeout: this.#blockTimeout,
127
135
  maxRetries: this.#maxRetries,
128
136
  resultTTL: this.#resultTTL,
129
- visibilityTimeout: this.#visibilityTimeout
137
+ visibilityTimeout: this.#visibilityTimeout,
138
+ afterExecution: this.#afterExecution
130
139
  });
131
140
  // Forward consumer events
132
- this.#consumer.on('error', (error) => {
141
+ this.#consumer.on('error', error => {
133
142
  this.emit('error', error);
134
143
  });
135
144
  this.#consumer.on('completed', (id, result) => {
@@ -141,11 +150,11 @@ export class Queue extends EventEmitter {
141
150
  this.#consumer.on('failing', (id, error, attempt) => {
142
151
  this.emit('failing', id, error, attempt);
143
152
  });
144
- this.#consumer.on('requeued', (id) => {
153
+ this.#consumer.on('requeued', id => {
145
154
  this.emit('requeued', id);
146
155
  });
147
156
  this.#consumer.execute(this.#handler);
148
- this.#consumer.start().catch((err) => {
157
+ this.#consumer.start().catch(err => {
149
158
  this.emit('error', err);
150
159
  });
151
160
  }
package/dist/queue.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"queue.js","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAaxC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD;;GAEG;AACH,MAAM,OAAO,KAAgC,SAAQ,YAAkC;IACrF,QAAQ,CAAS;IACjB,SAAS,CAA6B;IACtC,SAAS,GAAuC,IAAI,CAAA;IACpD,SAAS,CAAQ;IACjB,QAAQ,GAAyC,IAAI,CAAA;IACrD,QAAQ,GAAG,KAAK,CAAA;IAEhB,aAAa,CAAiB;IAC9B,YAAY,CAAgB;IAC5B,YAAY,CAAQ;IACpB,aAAa,CAAQ;IACrB,WAAW,CAAQ;IACnB,UAAU,CAAQ;IAClB,kBAAkB,CAAQ;IAE1B,YAAa,MAAsC;QACjD,KAAK,EAAE,CAAA;QAEP,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAA;QAC9B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,IAAI,UAAU,EAAE,CAAA;QAChD,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY,IAAI,eAAe,EAAY,CAAA;QACvE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,IAAI,eAAe,EAAW,CAAA;QACpE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,CAAA;QAC3C,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY,IAAI,CAAC,CAAA;QAC7C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,IAAI,CAAC,CAAA;QACzC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,IAAI,OAAO,CAAA;QAC7C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,IAAI,KAAK,CAAA;QAE3D,IAAI,CAAC,SAAS,GAAG,IAAI,QAAQ,CAAoB;YAC/C,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,WAAW,EAAE,IAAI,CAAC,YAAY;YAC9B,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,SAAS,EAAE,IAAI,CAAC,UAAU;SAC3B,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAM;QAEzB,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAA;QAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QAEpB,4CAA4C;QAC5C,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,cAAc,EAAE,CAAA;QACvB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACtB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAM;QAE1B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;QAC7B,CAAC;QAED,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAA;QAChC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;QAErB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACtB,CAAC;IAED;;OAEG;IACH,OAAO,CAAE,OAAsC;QAC7C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QAEvB,gDAAgD;QAChD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,cAAc,EAAE,CAAA;QACvB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CACX,EAAU,EACV,OAAiB,EACjB,OAAwB;QAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QACjE,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;QAC3B,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAClB,EAAU,EACV,OAAiB,EACjB,OAA+B;QAE/B,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC5D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAE,EAAU;QACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC9C,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;QAC5B,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAE,EAAU;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IACrC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAE,EAAU;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IACrC,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAM;QAE5C,IAAI,CAAC,SAAS,GAAG,IAAI,QAAQ,CAAoB;YAC/C,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,WAAW,EAAE,IAAI,CAAC,YAAY;YAC9B,WAAW,EAAE,IAAI,CAAC,YAAY;YAC9B,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,iBAAiB,EAAE,IAAI,CAAC,kBAAkB;SAC3C,CAAC,CAAA;QAEF,0BAA0B;QAC1B,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACnC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAC3B,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE;YAC5C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;QACpC,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;YACxC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAClD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;QAC1C,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE;YACnC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;QAC3B,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACrC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACnC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QACzB,CAAC,CAAC,CAAA;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"queue.js","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"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"}
package/dist/reaper.js CHANGED
@@ -232,7 +232,7 @@ export class Reaper extends EventEmitter {
232
232
  this.#cancelTimer(id);
233
233
  const timer = setTimeout(() => {
234
234
  this.#processingTimers.delete(id);
235
- this.#checkJob(id).catch((err) => {
235
+ this.#checkJob(id).catch(err => {
236
236
  this.emit('error', err);
237
237
  });
238
238
  }, this.#visibilityTimeout);
@@ -271,7 +271,7 @@ export class Reaper extends EventEmitter {
271
271
  const remaining = this.#visibilityTimeout - elapsed;
272
272
  const timer = setTimeout(() => {
273
273
  this.#processingTimers.delete(id);
274
- this.#checkJob(id).catch((err) => {
274
+ this.#checkJob(id).catch(err => {
275
275
  this.emit('error', err);
276
276
  });
277
277
  }, remaining);
@@ -359,7 +359,7 @@ export class Reaper extends EventEmitter {
359
359
  const remaining = this.#visibilityTimeout - elapsed;
360
360
  const timer = setTimeout(() => {
361
361
  this.#processingTimers.delete(queueMessage.id);
362
- this.#checkJob(queueMessage.id).catch((err) => {
362
+ this.#checkJob(queueMessage.id).catch(err => {
363
363
  this.emit('error', err);
364
364
  });
365
365
  }, remaining);