@message-queue-toolkit/core 23.2.0 → 24.0.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.
- package/dist/events/DomainEventEmitter.d.ts +1 -1
- package/dist/events/DomainEventEmitter.js +4 -5
- package/dist/events/DomainEventEmitter.js.map +1 -1
- package/dist/events/EventRegistry.js +1 -1
- package/dist/events/EventRegistry.js.map +1 -1
- package/dist/events/baseEventSchemas.d.ts +1 -1
- package/dist/events/baseEventSchemas.js +1 -1
- package/dist/events/baseEventSchemas.js.map +1 -1
- package/dist/events/eventTypes.d.ts +1 -1
- package/dist/index.d.ts +24 -23
- package/dist/index.js +20 -19
- package/dist/index.js.map +1 -1
- package/dist/message-deduplication/messageDeduplicationTypes.d.ts +1 -1
- package/dist/messages/baseMessageSchemas.d.ts +1 -1
- package/dist/messages/baseMessageSchemas.js +1 -1
- package/dist/messages/baseMessageSchemas.js.map +1 -1
- package/dist/payload-store/offloadedPayloadMessageSchemas.d.ts +24 -3
- package/dist/payload-store/offloadedPayloadMessageSchemas.js +39 -5
- package/dist/payload-store/offloadedPayloadMessageSchemas.js.map +1 -1
- package/dist/payload-store/payloadStoreTypes.d.ts +63 -3
- package/dist/payload-store/payloadStoreTypes.js +27 -0
- package/dist/payload-store/payloadStoreTypes.js.map +1 -1
- package/dist/queues/AbstractPublisherManager.d.ts +1 -1
- package/dist/queues/AbstractPublisherManager.js +4 -4
- package/dist/queues/AbstractPublisherManager.js.map +1 -1
- package/dist/queues/AbstractQueueService.d.ts +33 -3
- package/dist/queues/AbstractQueueService.js +137 -28
- package/dist/queues/AbstractQueueService.js.map +1 -1
- package/dist/queues/HandlerContainer.d.ts +37 -0
- package/dist/queues/HandlerContainer.js +42 -8
- package/dist/queues/HandlerContainer.js.map +1 -1
- package/dist/queues/HandlerSpy.js +3 -5
- package/dist/queues/HandlerSpy.js.map +1 -1
- package/dist/queues/MessageSchemaContainer.js.map +1 -1
- package/dist/types/queueOptionsTypes.d.ts +1 -1
- package/dist/utils/matchUtils.js +5 -5
- package/dist/utils/matchUtils.js.map +1 -1
- package/dist/utils/waitUtils.js +1 -1
- package/dist/utils/waitUtils.js.map +1 -1
- package/package.json +14 -6
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { types } from 'node:util';
|
|
2
|
-
import { stringValueSerializer, } from '@lokalise/node-core';
|
|
3
|
-
import { resolveGlobalErrorLogObject } from '@lokalise/node-core';
|
|
2
|
+
import { resolveGlobalErrorLogObject, stringValueSerializer, } from '@lokalise/node-core';
|
|
4
3
|
import { MESSAGE_DEDUPLICATION_OPTIONS_SCHEMA, } from '@message-queue-toolkit/schemas';
|
|
5
|
-
import { isAcquireLockTimeoutError, } from
|
|
4
|
+
import { isAcquireLockTimeoutError, } from "../message-deduplication/AcquireLockTimeoutError.js";
|
|
6
5
|
import { DEFAULT_MESSAGE_DEDUPLICATION_OPTIONS, DeduplicationRequesterEnum, noopReleasableLock, } from "../message-deduplication/messageDeduplicationTypes.js";
|
|
7
6
|
import { jsonStreamStringifySerializer } from "../payload-store/JsonStreamStringifySerializer.js";
|
|
8
7
|
import { OFFLOADED_PAYLOAD_POINTER_PAYLOAD_SCHEMA, } from "../payload-store/offloadedPayloadMessageSchemas.js";
|
|
9
|
-
import { isDestroyable } from "../payload-store/payloadStoreTypes.js";
|
|
8
|
+
import { isDestroyable, isMultiPayloadStoreConfig } from "../payload-store/payloadStoreTypes.js";
|
|
10
9
|
import { isRetryDateExceeded } from "../utils/dateUtils.js";
|
|
11
10
|
import { streamWithKnownSizeToString } from "../utils/streamUtils.js";
|
|
12
11
|
import { toDatePreprocessor } from "../utils/toDateProcessor.js";
|
|
@@ -134,7 +133,7 @@ export class AbstractQueueService {
|
|
|
134
133
|
}
|
|
135
134
|
}
|
|
136
135
|
resolveProcessedMessageMetadata(message, processingResult, messageProcessingStartTimestamp, messageProcessingEndTimestamp, queueName, messageId) {
|
|
137
|
-
// @ts-
|
|
136
|
+
// @ts-expect-error
|
|
138
137
|
const resolvedMessageId = message?.[this.messageIdField] ?? messageId;
|
|
139
138
|
const messageTimestamp = message ? this.tryToExtractTimestamp(message)?.getTime() : undefined;
|
|
140
139
|
const messageType = message && this.messageTypeField in message
|
|
@@ -174,13 +173,12 @@ export class AbstractQueueService {
|
|
|
174
173
|
}
|
|
175
174
|
async preHandlerBarrierInternal(barrier, message, executionContext, preHandlerOutput) {
|
|
176
175
|
if (!barrier) {
|
|
177
|
-
// @ts-
|
|
176
|
+
// @ts-expect-error
|
|
178
177
|
return {
|
|
179
178
|
isPassing: true,
|
|
180
179
|
output: undefined,
|
|
181
180
|
};
|
|
182
181
|
}
|
|
183
|
-
// @ts-ignore
|
|
184
182
|
return await barrier(message, executionContext, preHandlerOutput);
|
|
185
183
|
}
|
|
186
184
|
shouldBeRetried(message, maxRetryDuration) {
|
|
@@ -201,7 +199,7 @@ export class AbstractQueueService {
|
|
|
201
199
|
* will be used to prevent infinite retries on the same message
|
|
202
200
|
*/
|
|
203
201
|
if (!this.tryToExtractTimestamp(message)) {
|
|
204
|
-
// @ts-
|
|
202
|
+
// @ts-expect-error
|
|
205
203
|
messageCopy[this.messageTimestampField] = new Date().toISOString();
|
|
206
204
|
this.logger.warn(`${this.messageTimestampField} not defined, adding it automatically`);
|
|
207
205
|
}
|
|
@@ -209,15 +207,14 @@ export class AbstractQueueService {
|
|
|
209
207
|
* add/increment the number of retries performed to exponential message delay
|
|
210
208
|
*/
|
|
211
209
|
const numberOfRetries = this.tryToExtractNumberOfRetries(message);
|
|
212
|
-
// @ts-
|
|
210
|
+
// @ts-expect-error
|
|
213
211
|
messageCopy[this.messageRetryLaterCountField] =
|
|
214
212
|
numberOfRetries !== undefined ? numberOfRetries + 1 : 0;
|
|
215
213
|
return messageCopy;
|
|
216
214
|
}
|
|
217
215
|
tryToExtractTimestamp(message) {
|
|
218
|
-
// @ts-ignore
|
|
219
216
|
if (this.messageTimestampField in message) {
|
|
220
|
-
// @ts-
|
|
217
|
+
// @ts-expect-error
|
|
221
218
|
const res = toDatePreprocessor(message[this.messageTimestampField]);
|
|
222
219
|
if (!(res instanceof Date)) {
|
|
223
220
|
throw new Error(`${this.messageTimestampField} invalid type`);
|
|
@@ -229,7 +226,7 @@ export class AbstractQueueService {
|
|
|
229
226
|
tryToExtractNumberOfRetries(message) {
|
|
230
227
|
if (this.messageRetryLaterCountField in message &&
|
|
231
228
|
typeof message[this.messageRetryLaterCountField] === 'number') {
|
|
232
|
-
// @ts-
|
|
229
|
+
// @ts-expect-error
|
|
233
230
|
return message[this.messageRetryLaterCountField];
|
|
234
231
|
}
|
|
235
232
|
return undefined;
|
|
@@ -243,51 +240,149 @@ export class AbstractQueueService {
|
|
|
243
240
|
resolve(preHandlerOutput);
|
|
244
241
|
}
|
|
245
242
|
else {
|
|
246
|
-
// biome-ignore lint/style/noNonNullAssertion:
|
|
247
|
-
preHandlers[index](message, executionContext,
|
|
248
|
-
// @ts-ignore
|
|
249
|
-
preHandlerOutput, this.resolveNextPreHandlerFunctionInternal(preHandlers, executionContext, message, index + 1, preHandlerOutput, resolve, reject));
|
|
243
|
+
// biome-ignore lint/style/noNonNullAssertion: It's ok
|
|
244
|
+
preHandlers[index](message, executionContext, preHandlerOutput, this.resolveNextPreHandlerFunctionInternal(preHandlers, executionContext, message, index + 1, preHandlerOutput, resolve, reject));
|
|
250
245
|
}
|
|
251
246
|
};
|
|
252
247
|
}
|
|
248
|
+
/**
|
|
249
|
+
* Resolves the store and store name for outgoing (publishing) messages.
|
|
250
|
+
* For multi-store: uses outgoingStore from config.
|
|
251
|
+
* For single-store: uses the configured store and storeName.
|
|
252
|
+
* @throws Error if payloadStoreConfig is not configured or the named store is not found.
|
|
253
|
+
*/
|
|
254
|
+
resolveOutgoingStore() {
|
|
255
|
+
if (!this.payloadStoreConfig) {
|
|
256
|
+
throw new Error('Payload store is not configured');
|
|
257
|
+
}
|
|
258
|
+
if (isMultiPayloadStoreConfig(this.payloadStoreConfig)) {
|
|
259
|
+
const storeName = this.payloadStoreConfig.outgoingStore;
|
|
260
|
+
const store = this.payloadStoreConfig.stores[storeName];
|
|
261
|
+
if (!store) {
|
|
262
|
+
throw new Error(`Outgoing store "${storeName}" not found in stores configuration. Available stores: ${Object.keys(this.payloadStoreConfig.stores).join(', ')}`);
|
|
263
|
+
}
|
|
264
|
+
return { store, storeName };
|
|
265
|
+
}
|
|
266
|
+
// Single-store configuration
|
|
267
|
+
return { store: this.payloadStoreConfig.store, storeName: this.payloadStoreConfig.storeName };
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Resolves store from payloadRef (new format).
|
|
271
|
+
*/
|
|
272
|
+
resolveStoreFromPayloadRef(config, payloadRef) {
|
|
273
|
+
if (isMultiPayloadStoreConfig(config)) {
|
|
274
|
+
const store = config.stores[payloadRef.store];
|
|
275
|
+
if (!store) {
|
|
276
|
+
return {
|
|
277
|
+
error: new Error(`Store "${payloadRef.store}" specified in payloadRef not found in stores configuration. Available stores: ${Object.keys(config.stores).join(', ')}`),
|
|
278
|
+
};
|
|
279
|
+
}
|
|
280
|
+
return { result: { store, payloadId: payloadRef.id } };
|
|
281
|
+
}
|
|
282
|
+
// Single-store config - validate that payloadRef.store matches configured store name
|
|
283
|
+
if (payloadRef.store !== config.storeName) {
|
|
284
|
+
return {
|
|
285
|
+
error: new Error(`Store "${payloadRef.store}" specified in payloadRef does not match configured store name "${config.storeName}". ` +
|
|
286
|
+
'This may indicate a misconfiguration or that the message was published by a different system. ' +
|
|
287
|
+
'If you need to consume messages from multiple stores, consider using MultiPayloadStoreConfig.'),
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
return { result: { store: config.store, payloadId: payloadRef.id } };
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Resolves store from legacy pointer (old format).
|
|
294
|
+
*/
|
|
295
|
+
resolveStoreFromLegacyPointer(config, legacyPointer) {
|
|
296
|
+
if (isMultiPayloadStoreConfig(config)) {
|
|
297
|
+
if (!config.defaultIncomingStore) {
|
|
298
|
+
return {
|
|
299
|
+
error: new Error('Message contains legacy offloadedPayloadPointer format, but no defaultIncomingStore is configured in multi-store setup. Please configure defaultIncomingStore or migrate messages to use payloadRef format.'),
|
|
300
|
+
};
|
|
301
|
+
}
|
|
302
|
+
const store = config.stores[config.defaultIncomingStore];
|
|
303
|
+
if (!store) {
|
|
304
|
+
return {
|
|
305
|
+
error: new Error(`Default incoming store "${config.defaultIncomingStore}" not found in stores configuration. Available stores: ${Object.keys(config.stores).join(', ')}`),
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
return { result: { store, payloadId: legacyPointer } };
|
|
309
|
+
}
|
|
310
|
+
return { result: { store: config.store, payloadId: legacyPointer } };
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Resolves the store for incoming (consuming) messages based on payload reference.
|
|
314
|
+
* For multi-store with payloadRef: uses the store specified in payloadRef.
|
|
315
|
+
* For multi-store with legacy format: uses defaultIncomingStore.
|
|
316
|
+
* For single-store: always uses the configured store.
|
|
317
|
+
*/
|
|
318
|
+
resolveIncomingStore(payloadRef, legacyPointer) {
|
|
319
|
+
if (!this.payloadStoreConfig) {
|
|
320
|
+
return { error: new Error('Payload store is not configured') };
|
|
321
|
+
}
|
|
322
|
+
if (payloadRef) {
|
|
323
|
+
return this.resolveStoreFromPayloadRef(this.payloadStoreConfig, payloadRef);
|
|
324
|
+
}
|
|
325
|
+
if (legacyPointer) {
|
|
326
|
+
return this.resolveStoreFromLegacyPointer(this.payloadStoreConfig, legacyPointer);
|
|
327
|
+
}
|
|
328
|
+
return {
|
|
329
|
+
error: new Error('Invalid offloaded payload: neither payloadRef nor offloadedPayloadPointer is present'),
|
|
330
|
+
};
|
|
331
|
+
}
|
|
253
332
|
/**
|
|
254
333
|
* Offload message payload to an external store if it exceeds the threshold.
|
|
255
334
|
* Returns a special type that contains a pointer to the offloaded payload or the original payload if it was not offloaded.
|
|
256
335
|
* Requires message size as only the implementation knows how to calculate it.
|
|
336
|
+
*
|
|
337
|
+
* For multi-store configuration, uses the configured outgoingStore.
|
|
338
|
+
* For single-store configuration, uses the single store.
|
|
339
|
+
*
|
|
340
|
+
* The returned payload includes both the new payloadRef format and legacy fields for backward compatibility.
|
|
257
341
|
*/
|
|
258
342
|
async offloadMessagePayloadIfNeeded(message, messageSizeFn) {
|
|
259
343
|
if (!this.payloadStoreConfig ||
|
|
260
344
|
messageSizeFn() <= this.payloadStoreConfig.messageSizeThreshold) {
|
|
261
345
|
return message;
|
|
262
346
|
}
|
|
263
|
-
|
|
347
|
+
const { store, storeName } = this.resolveOutgoingStore();
|
|
264
348
|
const serializedPayload = await this.payloadStoreConfig.serializer.serialize(message);
|
|
349
|
+
let payloadId;
|
|
265
350
|
try {
|
|
266
|
-
|
|
351
|
+
payloadId = await store.storePayload(serializedPayload);
|
|
267
352
|
}
|
|
268
353
|
finally {
|
|
269
354
|
if (isDestroyable(serializedPayload)) {
|
|
270
355
|
await serializedPayload.destroy();
|
|
271
356
|
}
|
|
272
357
|
}
|
|
358
|
+
// Return message with both new and legacy formats for backward compatibility
|
|
273
359
|
return {
|
|
274
|
-
|
|
360
|
+
// Extended payload reference format
|
|
361
|
+
payloadRef: {
|
|
362
|
+
id: payloadId,
|
|
363
|
+
store: storeName,
|
|
364
|
+
size: serializedPayload.size,
|
|
365
|
+
},
|
|
366
|
+
// Legacy format for backward compatibility
|
|
367
|
+
offloadedPayloadPointer: payloadId,
|
|
275
368
|
offloadedPayloadSize: serializedPayload.size,
|
|
276
|
-
// @ts-
|
|
369
|
+
// @ts-expect-error
|
|
277
370
|
[this.messageIdField]: message[this.messageIdField],
|
|
278
|
-
// @ts-
|
|
371
|
+
// @ts-expect-error
|
|
279
372
|
[this.messageTypeField]: message[this.messageTypeField],
|
|
280
|
-
// @ts-
|
|
373
|
+
// @ts-expect-error
|
|
281
374
|
[this.messageTimestampField]: message[this.messageTimestampField],
|
|
282
|
-
// @ts-
|
|
375
|
+
// @ts-expect-error
|
|
283
376
|
[this.messageDeduplicationIdField]: message[this.messageDeduplicationIdField],
|
|
284
|
-
// @ts-
|
|
377
|
+
// @ts-expect-error
|
|
285
378
|
[this.messageDeduplicationOptionsField]: message[this.messageDeduplicationOptionsField],
|
|
286
379
|
};
|
|
287
380
|
}
|
|
288
381
|
/**
|
|
289
382
|
* Retrieve previously offloaded message payload using provided pointer payload.
|
|
290
383
|
* Returns the original payload or an error if the payload was not found or could not be parsed.
|
|
384
|
+
*
|
|
385
|
+
* Supports both new multi-store format (payloadRef) and legacy format (offloadedPayloadPointer).
|
|
291
386
|
*/
|
|
292
387
|
async retrieveOffloadedMessagePayload(maybeOffloadedPayloadPointerPayload) {
|
|
293
388
|
if (!this.payloadStoreConfig) {
|
|
@@ -303,13 +398,27 @@ export class AbstractQueueService {
|
|
|
303
398
|
}),
|
|
304
399
|
};
|
|
305
400
|
}
|
|
306
|
-
const
|
|
401
|
+
const parsedPayload = pointerPayloadParseResult.data;
|
|
402
|
+
// Resolve which store to use
|
|
403
|
+
const storeResult = this.resolveIncomingStore(parsedPayload.payloadRef, parsedPayload.offloadedPayloadPointer);
|
|
404
|
+
if (storeResult.error) {
|
|
405
|
+
return storeResult;
|
|
406
|
+
}
|
|
407
|
+
const { store, payloadId } = storeResult.result;
|
|
408
|
+
const payloadSize = parsedPayload.payloadRef?.size ?? parsedPayload.offloadedPayloadSize;
|
|
409
|
+
if (payloadSize === undefined) {
|
|
410
|
+
return {
|
|
411
|
+
error: new Error('Invalid offloaded payload: payload size is missing from both payloadRef and offloadedPayloadSize'),
|
|
412
|
+
};
|
|
413
|
+
}
|
|
414
|
+
// Retrieve the payload from the resolved store
|
|
415
|
+
const serializedOffloadedPayloadReadable = await store.retrievePayload(payloadId);
|
|
307
416
|
if (serializedOffloadedPayloadReadable === null) {
|
|
308
417
|
return {
|
|
309
|
-
error: new Error(`Payload with key ${
|
|
418
|
+
error: new Error(`Payload with key ${payloadId} was not found in the store`),
|
|
310
419
|
};
|
|
311
420
|
}
|
|
312
|
-
const serializedOffloadedPayloadString = await streamWithKnownSizeToString(serializedOffloadedPayloadReadable,
|
|
421
|
+
const serializedOffloadedPayloadString = await streamWithKnownSizeToString(serializedOffloadedPayloadReadable, payloadSize);
|
|
313
422
|
try {
|
|
314
423
|
return { result: JSON.parse(serializedOffloadedPayloadString) };
|
|
315
424
|
}
|
|
@@ -384,7 +493,7 @@ export class AbstractQueueService {
|
|
|
384
493
|
return !!this.messageDeduplicationConfig && !!this.getMessageDeduplicationId(message);
|
|
385
494
|
}
|
|
386
495
|
getMessageDeduplicationId(message) {
|
|
387
|
-
// @ts-
|
|
496
|
+
// @ts-expect-error
|
|
388
497
|
return message[this.messageDeduplicationIdField];
|
|
389
498
|
}
|
|
390
499
|
getParsedMessageDeduplicationOptions(message) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractQueueService.js","sourceRoot":"","sources":["../../lib/queues/AbstractQueueService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AbstractQueueService.js","sourceRoot":"","sources":["../../lib/queues/AbstractQueueService.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,43 @@ export declare class MessageHandlerConfig<const MessagePayloadSchema extends obj
|
|
|
38
38
|
export declare class MessageHandlerConfigBuilder<MessagePayloadSchemas extends object, ExecutionContext, PrehandlerOutput = undefined> {
|
|
39
39
|
private readonly configs;
|
|
40
40
|
constructor();
|
|
41
|
+
/**
|
|
42
|
+
* Add a handler configuration for a specific message type.
|
|
43
|
+
* The schema is used for both routing (to match the message type) and validation (for the handler).
|
|
44
|
+
*
|
|
45
|
+
* The message type field (e.g., 'type' or 'detail-type') must be at the root level of the message
|
|
46
|
+
* and must be a literal value in the schema for routing to work.
|
|
47
|
+
*
|
|
48
|
+
* Example:
|
|
49
|
+
* ```typescript
|
|
50
|
+
* const USER_CREATED_SCHEMA = z.object({
|
|
51
|
+
* type: z.literal('user.created'),
|
|
52
|
+
* userId: z.string(),
|
|
53
|
+
* email: z.string()
|
|
54
|
+
* })
|
|
55
|
+
*
|
|
56
|
+
* builder.addConfig(USER_CREATED_SCHEMA, async (message) => {
|
|
57
|
+
* // message has type 'user.created', userId, and email
|
|
58
|
+
* })
|
|
59
|
+
* ```
|
|
60
|
+
*
|
|
61
|
+
* EventBridge example:
|
|
62
|
+
* ```typescript
|
|
63
|
+
* const USER_PRESENCE_SCHEMA = z.object({
|
|
64
|
+
* 'detail-type': z.literal('v2.users.{id}.presence'),
|
|
65
|
+
* time: z.string(),
|
|
66
|
+
* detail: z.object({
|
|
67
|
+
* userId: z.string(),
|
|
68
|
+
* presenceStatus: z.string()
|
|
69
|
+
* })
|
|
70
|
+
* })
|
|
71
|
+
*
|
|
72
|
+
* builder.addConfig(USER_PRESENCE_SCHEMA, async (message) => {
|
|
73
|
+
* // message is the full EventBridge envelope
|
|
74
|
+
* const detail = message.detail // Access nested payload directly
|
|
75
|
+
* })
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
41
78
|
addConfig<MessagePayloadSchema extends MessagePayloadSchemas, const BarrierOutput>(schema: ZodSchema<MessagePayloadSchema> | CommonEventDefinition, handler: Handler<MessagePayloadSchema, ExecutionContext, PrehandlerOutput, BarrierOutput>, options?: HandlerConfigOptions<MessagePayloadSchema, ExecutionContext, PrehandlerOutput, BarrierOutput>): this;
|
|
42
79
|
build(): MessageHandlerConfig<MessagePayloadSchemas, ExecutionContext, PrehandlerOutput, any>[];
|
|
43
80
|
}
|
|
@@ -21,16 +21,51 @@ export class MessageHandlerConfigBuilder {
|
|
|
21
21
|
constructor() {
|
|
22
22
|
this.configs = [];
|
|
23
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Add a handler configuration for a specific message type.
|
|
26
|
+
* The schema is used for both routing (to match the message type) and validation (for the handler).
|
|
27
|
+
*
|
|
28
|
+
* The message type field (e.g., 'type' or 'detail-type') must be at the root level of the message
|
|
29
|
+
* and must be a literal value in the schema for routing to work.
|
|
30
|
+
*
|
|
31
|
+
* Example:
|
|
32
|
+
* ```typescript
|
|
33
|
+
* const USER_CREATED_SCHEMA = z.object({
|
|
34
|
+
* type: z.literal('user.created'),
|
|
35
|
+
* userId: z.string(),
|
|
36
|
+
* email: z.string()
|
|
37
|
+
* })
|
|
38
|
+
*
|
|
39
|
+
* builder.addConfig(USER_CREATED_SCHEMA, async (message) => {
|
|
40
|
+
* // message has type 'user.created', userId, and email
|
|
41
|
+
* })
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* EventBridge example:
|
|
45
|
+
* ```typescript
|
|
46
|
+
* const USER_PRESENCE_SCHEMA = z.object({
|
|
47
|
+
* 'detail-type': z.literal('v2.users.{id}.presence'),
|
|
48
|
+
* time: z.string(),
|
|
49
|
+
* detail: z.object({
|
|
50
|
+
* userId: z.string(),
|
|
51
|
+
* presenceStatus: z.string()
|
|
52
|
+
* })
|
|
53
|
+
* })
|
|
54
|
+
*
|
|
55
|
+
* builder.addConfig(USER_PRESENCE_SCHEMA, async (message) => {
|
|
56
|
+
* // message is the full EventBridge envelope
|
|
57
|
+
* const detail = message.detail // Access nested payload directly
|
|
58
|
+
* })
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
24
61
|
addConfig(schema, handler, options) {
|
|
25
|
-
const
|
|
62
|
+
const payloadSchema = isCommonEventDefinition(schema)
|
|
26
63
|
? // @ts-ignore
|
|
27
64
|
schema.consumerSchema
|
|
28
65
|
: schema;
|
|
29
66
|
const definition = isCommonEventDefinition(schema) ? schema : undefined;
|
|
30
|
-
this.configs.push(
|
|
31
|
-
// @ts-
|
|
32
|
-
new MessageHandlerConfig(resolvedSchema,
|
|
33
|
-
// @ts-ignore
|
|
67
|
+
this.configs.push(new MessageHandlerConfig(payloadSchema,
|
|
68
|
+
// @ts-expect-error
|
|
34
69
|
handler, options, definition));
|
|
35
70
|
return this;
|
|
36
71
|
}
|
|
@@ -50,14 +85,13 @@ export class HandlerContainer {
|
|
|
50
85
|
if (!handler) {
|
|
51
86
|
throw new Error(`Unsupported message type: ${messageType}`);
|
|
52
87
|
}
|
|
53
|
-
// @ts-
|
|
88
|
+
// @ts-expect-error
|
|
54
89
|
return handler;
|
|
55
90
|
}
|
|
56
91
|
resolveHandlerMap(supportedHandlers) {
|
|
57
92
|
return supportedHandlers.reduce((acc, entry) => {
|
|
58
|
-
// @ts-
|
|
93
|
+
// @ts-expect-error
|
|
59
94
|
const messageType = entry.schema.shape[this.messageTypeField].value;
|
|
60
|
-
// @ts-ignore
|
|
61
95
|
acc[messageType] = entry;
|
|
62
96
|
return acc;
|
|
63
97
|
}, {});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HandlerContainer.js","sourceRoot":"","sources":["../../lib/queues/HandlerContainer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AA+CxE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAuB,OAA6B,EAAE,EAAE,CAAC,OAAO,CAAA;AAkBnG,MAAM,OAAO,oBAAoB;IAMf,MAAM,CAAiC;IACvC,UAAU,CAAwB;IAClC,OAAO,CAKtB;IACe,mBAAmB,CAAoC;IACvD,iBAAiB,CAKhC;IACe,WAAW,CAIxB;IAEH,YACE,MAAuC,EACvC,OAAyF,EACzF,OAKC,EACD,eAAuC;QAEvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,UAAU,GAAG,eAAe,CAAA;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,mBAAmB,GAAG,OAAO,EAAE,mBAAmB,IAAI,mBAAmB,CAAA;QAC9E,IAAI,CAAC,iBAAiB,GAAG,OAAO,EAAE,iBAAiB,CAAA;QACnD,IAAI,CAAC,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,EAAE,CAAA;IAC/C,CAAC;CACF;AAED,MAAM,OAAO,2BAA2B;IAKrB,OAAO,CAMrB;IAEH;QACE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;IACnB,CAAC;IAED,SAAS,CACP,MAA+D,EAC/D,OAAyF,EACzF,OAKC;QAED,MAAM,
|
|
1
|
+
{"version":3,"file":"HandlerContainer.js","sourceRoot":"","sources":["../../lib/queues/HandlerContainer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AA+CxE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAuB,OAA6B,EAAE,EAAE,CAAC,OAAO,CAAA;AAkBnG,MAAM,OAAO,oBAAoB;IAMf,MAAM,CAAiC;IACvC,UAAU,CAAwB;IAClC,OAAO,CAKtB;IACe,mBAAmB,CAAoC;IACvD,iBAAiB,CAKhC;IACe,WAAW,CAIxB;IAEH,YACE,MAAuC,EACvC,OAAyF,EACzF,OAKC,EACD,eAAuC;QAEvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,UAAU,GAAG,eAAe,CAAA;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,mBAAmB,GAAG,OAAO,EAAE,mBAAmB,IAAI,mBAAmB,CAAA;QAC9E,IAAI,CAAC,iBAAiB,GAAG,OAAO,EAAE,iBAAiB,CAAA;QACnD,IAAI,CAAC,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,EAAE,CAAA;IAC/C,CAAC;CACF;AAED,MAAM,OAAO,2BAA2B;IAKrB,OAAO,CAMrB;IAEH;QACE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;IACnB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,SAAS,CACP,MAA+D,EAC/D,OAAyF,EACzF,OAKC;QAED,MAAM,aAAa,GAAG,uBAAuB,CAAC,MAAM,CAAC;YACnD,CAAC,CAAC,aAAa;gBACZ,MAAM,CAAC,cAAkD;YAC5D,CAAC,CAAC,MAAM,CAAA;QACV,MAAM,UAAU,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;QAEvE,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,IAAI,oBAAoB,CAMtB,aAAa;QACb,mBAAmB;QACnB,OAAO,EACP,OAAO,EACP,UAAU,CACX,CACF,CAAA;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;CACF;AAuBD,MAAM,OAAO,gBAAgB;IAKV,eAAe,CAG/B;IACgB,gBAAgB,CAAQ;IAEzC,YACE,OAA2F;QAE3F,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAA;QAChD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;IACxE,CAAC;IAEM,cAAc,CACnB,WAAmB;QAOnB,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAA;QACjD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,6BAA6B,WAAW,EAAE,CAAC,CAAA;QAC7D,CAAC;QACD,mBAAmB;QACnB,OAAO,OAAO,CAAA;IAChB,CAAC;IAEO,iBAAiB,CACvB,iBAIG;QAKH,OAAO,iBAAiB,CAAC,MAAM,CAC7B,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YACb,mBAAmB;YACnB,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAA;YACnE,GAAG,CAAC,WAAW,CAAC,GAAG,KAAK,CAAA;YACxB,OAAO,GAAG,CAAA;QACZ,CAAC,EACD,EAGC,CACF,CAAA;IACH,CAAC;CACF"}
|
|
@@ -15,9 +15,9 @@ export class HandlerSpy {
|
|
|
15
15
|
spyPromises;
|
|
16
16
|
constructor(params = {}) {
|
|
17
17
|
this.messageBuffer = new Fifo(params.bufferSize ?? 100);
|
|
18
|
-
// @ts-
|
|
18
|
+
// @ts-expect-error
|
|
19
19
|
this.messageIdField = params.messageIdField ?? 'id';
|
|
20
|
-
// @ts-
|
|
20
|
+
// @ts-expect-error
|
|
21
21
|
this.messageTypeField = params.messageTypeField ?? 'type';
|
|
22
22
|
this.spyPromises = [];
|
|
23
23
|
}
|
|
@@ -48,10 +48,9 @@ export class HandlerSpy {
|
|
|
48
48
|
promise: spyPromise,
|
|
49
49
|
status,
|
|
50
50
|
fields: expectedFields,
|
|
51
|
-
// @ts-
|
|
51
|
+
// @ts-expect-error
|
|
52
52
|
resolve,
|
|
53
53
|
});
|
|
54
|
-
// @ts-ignore
|
|
55
54
|
return spyPromise;
|
|
56
55
|
}
|
|
57
56
|
clear() {
|
|
@@ -70,7 +69,6 @@ export class HandlerSpy {
|
|
|
70
69
|
[this.messageTypeField]: resolvedMessageType,
|
|
71
70
|
},
|
|
72
71
|
};
|
|
73
|
-
// @ts-ignore
|
|
74
72
|
const cacheId = `${resolvedMessageId}-${Date.now()}-${(Math.random() + 1)
|
|
75
73
|
.toString(36)
|
|
76
74
|
.substring(7)}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HandlerSpy.js","sourceRoot":"","sources":["../../lib/queues/HandlerSpy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAMjC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AA6BtD,MAAM,UAAU,YAAY,CAAmB,KAAc;IAC3D,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,CAAC,KAAK,YAAY,UAAU,IAAK,KAAuC,CAAC,IAAI,KAAK,YAAY,CAAC,CAChG,CAAA;AACH,CAAC;AAoBD,MAAM,OAAO,UAAU;IACd,IAAI,GAAG,YAAY,CAAA;IAC1B,+DAA+D;IAC9C,aAAa,CAA2B;IACxC,cAAc,CAA6B;IAC3C,gBAAgB,CAA6B;IAC7C,WAAW,CAA6C;IAEzE,YAAY,SAA2B,EAAE;QACvC,IAAI,CAAC,aAAa,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC,CAAA;QACvD,
|
|
1
|
+
{"version":3,"file":"HandlerSpy.js","sourceRoot":"","sources":["../../lib/queues/HandlerSpy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageSchemaContainer.js","sourceRoot":"","sources":["../../lib/queues/MessageSchemaContainer.ts"],"names":[],"mappings":"AAUA,MAAM,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAA;AAEpD,MAAM,OAAO,sBAAsB;IACjB,kBAAkB,CAAgD;
|
|
1
|
+
{"version":3,"file":"MessageSchemaContainer.js","sourceRoot":"","sources":["../../lib/queues/MessageSchemaContainer.ts"],"names":[],"mappings":"AAUA,MAAM,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAA;AAEpD,MAAM,OAAO,sBAAsB;IACjB,kBAAkB,CAAgD;IAEjE,cAAc,CAA2D;IACzE,gBAAgB,CAAS;IAE1C,YAAY,OAA6D;QACvE,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAA;QAChD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QAC7D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAA;IAC7E,CAAC;IAEM,aAAa;IAClB,+DAA+D;IAC/D,OAA4B;QAE5B,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAEtF,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,kBAAkB,CAAC,CAAA;QACrE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;gBACL,KAAK,EAAE,IAAI,KAAK,CACd,6BAA6B,WAAW,IAAI,kBAAkB,CAAC,QAAQ,EAAE,EAAE,CAC5E;aACF,CAAA;QACH,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;IAC3B,CAAC;IAEO,UAAU,CAChB,KAAmB;QAEnB,MAAM,MAAM,GAA+B,EAAE,CAAA;QAE7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAwB,CAAA;YAE5B,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,IAAI;oBACF,iBAAiB,IAAI,IAAI;wBACvB,CAAC,CAAC,mBAAmB;4BACnB,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,KAAK;wBAC3D,CAAC,CAAC,mBAAmB;4BACnB,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAA;YAClD,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,IAAI,kBAAkB,CAAA;YACtC,IAAI,MAAM,CAAC,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;YAEhF,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;QACpB,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { CommonLogger, ErrorReporter, ErrorResolver } from '@lokalise/node-core';
|
|
2
2
|
import type { ZodSchema } from 'zod/v4';
|
|
3
|
+
import type { MessageDeduplicationConfig } from '../message-deduplication/messageDeduplicationTypes.ts';
|
|
3
4
|
import type { PayloadStoreConfig } from '../payload-store/payloadStoreTypes.ts';
|
|
4
5
|
import type { MessageHandlerConfig } from '../queues/HandlerContainer.ts';
|
|
5
6
|
import type { HandlerSpy, HandlerSpyParams } from '../queues/HandlerSpy.ts';
|
|
6
|
-
import type { MessageDeduplicationConfig } from '../message-deduplication/messageDeduplicationTypes.ts';
|
|
7
7
|
import type { MessageProcessingResult, TransactionObservabilityManager } from './MessageQueueTypes.ts';
|
|
8
8
|
export type QueueDependencies = {
|
|
9
9
|
errorReporter: ErrorReporter;
|
package/dist/utils/matchUtils.js
CHANGED
|
@@ -7,7 +7,7 @@ export function isShallowSubset(maybeSubset, maybeSuperset) {
|
|
|
7
7
|
return true;
|
|
8
8
|
}
|
|
9
9
|
const keysSubset = Object.keys(maybeSubset);
|
|
10
|
-
// biome-ignore lint/style/noNonNullAssertion:
|
|
10
|
+
// biome-ignore lint/style/noNonNullAssertion: It's ok
|
|
11
11
|
const keysSuperset = Object.keys(maybeSuperset);
|
|
12
12
|
if (keysSubset.length === 0) {
|
|
13
13
|
return true;
|
|
@@ -16,7 +16,7 @@ export function isShallowSubset(maybeSubset, maybeSuperset) {
|
|
|
16
16
|
return false;
|
|
17
17
|
}
|
|
18
18
|
for (const key of keysSubset) {
|
|
19
|
-
// biome-ignore lint/style/noNonNullAssertion:
|
|
19
|
+
// biome-ignore lint/style/noNonNullAssertion: It's ok
|
|
20
20
|
if (maybeSubset[key] !== maybeSuperset[key]) {
|
|
21
21
|
return false;
|
|
22
22
|
}
|
|
@@ -26,16 +26,16 @@ export function isShallowSubset(maybeSubset, maybeSuperset) {
|
|
|
26
26
|
/**
|
|
27
27
|
* Returns true if `validatedObject` contains all of the fields included on `matcher`, and their values are deeply equal
|
|
28
28
|
*/
|
|
29
|
-
// biome-ignore lint/complexity/noExcessiveCognitiveComplexity:
|
|
29
|
+
// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: fixme
|
|
30
30
|
export function objectMatches(
|
|
31
31
|
// biome-ignore lint/suspicious/noExplicitAny: This is expected
|
|
32
32
|
matcher,
|
|
33
33
|
// biome-ignore lint/suspicious/noExplicitAny: This is expected
|
|
34
34
|
validatedObject) {
|
|
35
35
|
for (const key in matcher) {
|
|
36
|
-
if (!Object.
|
|
36
|
+
if (!Object.hasOwn(matcher, key))
|
|
37
37
|
continue;
|
|
38
|
-
if (!Object.
|
|
38
|
+
if (!Object.hasOwn(validatedObject, key)) {
|
|
39
39
|
return false;
|
|
40
40
|
}
|
|
41
41
|
if (typeof matcher[key] === 'object' && matcher[key] !== null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matchUtils.js","sourceRoot":"","sources":["../../lib/utils/matchUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,WAAqC,EACrC,aAAuC;IAEvC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC3C,
|
|
1
|
+
{"version":3,"file":"matchUtils.js","sourceRoot":"","sources":["../../lib/utils/matchUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,WAAqC,EACrC,aAAuC;IAEvC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC3C,sDAAsD;IACtD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,aAAc,CAAC,CAAA;IAEhD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,sDAAsD;QACtD,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,aAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;GAEG;AACH,qEAAqE;AACrE,MAAM,UAAU,aAAa;AAC3B,+DAA+D;AAC/D,OAA4B;AAC5B,+DAA+D;AAC/D,eAAoC;IAEpC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC;YAAE,SAAQ;QAE1C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,EAAE,CAAC;YACzC,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;YAC9D,IAAI,OAAO,eAAe,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC9E,OAAO,KAAK,CAAA;YACd,CAAC;YAED,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACvD,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC1D,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
|
package/dist/utils/waitUtils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waitUtils.js","sourceRoot":"","sources":["../../lib/utils/waitUtils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,
|
|
1
|
+
{"version":3,"file":"waitUtils.js","sourceRoot":"","sources":["../../lib/utils/waitUtils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,WAAoB,EACpB,SAAS,GAAG,EAAE,EACd,aAAa,GAAG,EAAE,EACN,EAAE;IACd,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,UAAU,GAAG,CAAC,CAAA;QAClB,SAAS,YAAY;YACnB,IAAI,aAAa,KAAK,CAAC,IAAI,UAAU,GAAG,aAAa,EAAE,CAAC;gBACtD,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;YACxB,CAAC;YACD,OAAO,CAAC,OAAO,EAAE;iBACd,IAAI,CAAC,GAAG,EAAE;gBACT,OAAO,WAAW,EAAE,CAAA;YACtB,CAAC,CAAC;iBACD,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBACf,IAAI,MAAM,EAAE,CAAC;oBACX,OAAO,CAAC,MAAM,CAAC,CAAA;gBACjB,CAAC;qBAAM,CAAC;oBACN,UAAU,EAAE,CAAA;oBACZ,UAAU,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;gBACrC,CAAC;YACH,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,MAAM,CAAC,GAAG,CAAC,CAAA;YACb,CAAC,CAAC,CAAA;QACN,CAAC;QAED,YAAY,EAAE,CAAA;IAChB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
|