@message-queue-toolkit/core 20.0.0 → 21.0.1
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/errors/DoNotProcessError.js +11 -0
- package/dist/errors/DoNotProcessError.js.map +1 -0
- package/dist/{lib/errors → errors}/Errors.js +4 -10
- package/dist/errors/Errors.js.map +1 -0
- package/dist/errors/RetryMessageLaterError.js +11 -0
- package/dist/errors/RetryMessageLaterError.js.map +1 -0
- package/dist/{lib/events → events}/DomainEventEmitter.d.ts +4 -4
- package/dist/{lib/events → events}/DomainEventEmitter.js +8 -12
- package/dist/events/DomainEventEmitter.js.map +1 -0
- package/dist/{lib/events → events}/EventRegistry.d.ts +1 -1
- package/dist/{lib/events → events}/EventRegistry.js +2 -5
- package/dist/events/EventRegistry.js.map +1 -0
- package/dist/events/baseEventSchemas.d.ts +1 -0
- package/dist/events/baseEventSchemas.js +2 -0
- package/dist/events/baseEventSchemas.js.map +1 -0
- package/dist/events/eventTypes.d.ts +1 -0
- package/dist/events/eventTypes.js +2 -0
- package/dist/{lib/events → events}/eventTypes.js.map +1 -1
- package/dist/{lib/events → events}/fakes/FakeListener.d.ts +1 -1
- package/dist/events/fakes/FakeListener.js +16 -0
- package/dist/events/fakes/FakeListener.js.map +1 -0
- package/dist/index.d.ts +30 -30
- package/dist/index.js +25 -57
- package/dist/index.js.map +1 -1
- package/dist/{lib/message-deduplication → message-deduplication}/messageDeduplicationTypes.d.ts +5 -4
- package/dist/message-deduplication/messageDeduplicationTypes.js +16 -0
- package/dist/message-deduplication/messageDeduplicationTypes.js.map +1 -0
- package/dist/{lib/messages → messages}/MetadataFiller.d.ts +3 -3
- package/dist/{lib/messages → messages}/MetadataFiller.js +3 -7
- package/dist/messages/MetadataFiller.js.map +1 -0
- package/dist/messages/baseMessageSchemas.d.ts +1 -0
- package/dist/messages/baseMessageSchemas.js +2 -0
- package/dist/messages/baseMessageSchemas.js.map +1 -0
- package/dist/{lib/payload-store → payload-store}/JsonStreamStringifySerializer.d.ts +1 -1
- package/dist/payload-store/JsonStreamStringifySerializer.js +25 -0
- package/dist/payload-store/JsonStreamStringifySerializer.js.map +1 -0
- package/dist/payload-store/offloadedPayloadMessageSchemas.js +16 -0
- package/dist/payload-store/offloadedPayloadMessageSchemas.js.map +1 -0
- package/dist/payload-store/payloadStoreTypes.js +4 -0
- package/dist/payload-store/payloadStoreTypes.js.map +1 -0
- package/dist/{lib/queues → queues}/AbstractPublisherManager.d.ts +7 -7
- package/dist/{lib/queues → queues}/AbstractPublisherManager.js +1 -5
- package/dist/queues/AbstractPublisherManager.js.map +1 -0
- package/dist/{lib/queues → queues}/AbstractQueueService.d.ts +10 -10
- package/dist/{lib/queues → queues}/AbstractQueueService.js +34 -38
- package/dist/queues/AbstractQueueService.js.map +1 -0
- package/dist/{lib/queues → queues}/HandlerContainer.d.ts +2 -2
- package/dist/{lib/queues → queues}/HandlerContainer.js +8 -16
- package/dist/queues/HandlerContainer.js.map +1 -0
- package/dist/{lib/queues → queues}/HandlerSpy.d.ts +1 -1
- package/dist/{lib/queues → queues}/HandlerSpy.js +11 -18
- package/dist/queues/HandlerSpy.js.map +1 -0
- package/dist/{lib/queues → queues}/MessageSchemaContainer.js +1 -5
- package/dist/queues/MessageSchemaContainer.js.map +1 -0
- package/dist/{lib/types → types}/MessageQueueTypes.d.ts +1 -1
- package/dist/types/MessageQueueTypes.js +2 -0
- package/dist/types/MessageQueueTypes.js.map +1 -0
- package/dist/{lib/types → types}/queueOptionsTypes.d.ts +5 -5
- package/dist/types/queueOptionsTypes.js +2 -0
- package/dist/types/queueOptionsTypes.js.map +1 -0
- package/dist/utils/dateUtils.js +11 -0
- package/dist/utils/dateUtils.js.map +1 -0
- package/dist/utils/envUtils.js +9 -0
- package/dist/utils/envUtils.js.map +1 -0
- package/dist/{lib/utils → utils}/matchUtils.js +6 -13
- package/dist/utils/matchUtils.js.map +1 -0
- package/dist/{lib/utils → utils}/parseUtils.d.ts +1 -1
- package/dist/{lib/utils → utils}/parseUtils.js +1 -4
- package/dist/utils/parseUtils.js.map +1 -0
- package/dist/utils/queueUtils.js +4 -0
- package/dist/utils/queueUtils.js.map +1 -0
- package/dist/{lib/utils → utils}/streamUtils.js +1 -4
- package/dist/utils/streamUtils.js.map +1 -0
- package/dist/utils/toDateProcessor.js +2 -0
- package/dist/utils/toDateProcessor.js.map +1 -0
- package/dist/{lib/utils → utils}/waitUtils.js +1 -5
- package/dist/utils/waitUtils.js.map +1 -0
- package/package.json +69 -64
- package/dist/lib/errors/DoNotProcessError.js +0 -15
- package/dist/lib/errors/DoNotProcessError.js.map +0 -1
- package/dist/lib/errors/Errors.js.map +0 -1
- package/dist/lib/errors/RetryMessageLaterError.js +0 -15
- package/dist/lib/errors/RetryMessageLaterError.js.map +0 -1
- package/dist/lib/events/DomainEventEmitter.js.map +0 -1
- package/dist/lib/events/EventRegistry.js.map +0 -1
- package/dist/lib/events/baseEventSchemas.d.ts +0 -1
- package/dist/lib/events/baseEventSchemas.js +0 -11
- package/dist/lib/events/baseEventSchemas.js.map +0 -1
- package/dist/lib/events/eventTypes.d.ts +0 -1
- package/dist/lib/events/eventTypes.js +0 -3
- package/dist/lib/events/fakes/FakeListener.js +0 -20
- package/dist/lib/events/fakes/FakeListener.js.map +0 -1
- package/dist/lib/message-deduplication/messageDeduplicationTypes.js +0 -21
- package/dist/lib/message-deduplication/messageDeduplicationTypes.js.map +0 -1
- package/dist/lib/messages/MetadataFiller.js.map +0 -1
- package/dist/lib/messages/baseMessageSchemas.d.ts +0 -1
- package/dist/lib/messages/baseMessageSchemas.js +0 -10
- package/dist/lib/messages/baseMessageSchemas.js.map +0 -1
- package/dist/lib/payload-store/JsonStreamStringifySerializer.js +0 -30
- package/dist/lib/payload-store/JsonStreamStringifySerializer.js.map +0 -1
- package/dist/lib/payload-store/offloadedPayloadMessageSchemas.js +0 -20
- package/dist/lib/payload-store/offloadedPayloadMessageSchemas.js.map +0 -1
- package/dist/lib/payload-store/payloadStoreTypes.js +0 -7
- package/dist/lib/payload-store/payloadStoreTypes.js.map +0 -1
- package/dist/lib/queues/AbstractPublisherManager.js.map +0 -1
- package/dist/lib/queues/AbstractQueueService.js.map +0 -1
- package/dist/lib/queues/HandlerContainer.js.map +0 -1
- package/dist/lib/queues/HandlerSpy.js.map +0 -1
- package/dist/lib/queues/MessageSchemaContainer.js.map +0 -1
- package/dist/lib/types/MessageQueueTypes.js +0 -3
- package/dist/lib/types/MessageQueueTypes.js.map +0 -1
- package/dist/lib/types/queueOptionsTypes.js +0 -3
- package/dist/lib/types/queueOptionsTypes.js.map +0 -1
- package/dist/lib/utils/dateUtils.js +0 -15
- package/dist/lib/utils/dateUtils.js.map +0 -1
- package/dist/lib/utils/envUtils.js +0 -13
- package/dist/lib/utils/envUtils.js.map +0 -1
- package/dist/lib/utils/matchUtils.js.map +0 -1
- package/dist/lib/utils/parseUtils.js.map +0 -1
- package/dist/lib/utils/queueUtils.js +0 -8
- package/dist/lib/utils/queueUtils.js.map +0 -1
- package/dist/lib/utils/streamUtils.js.map +0 -1
- package/dist/lib/utils/toDateProcessor.js +0 -6
- package/dist/lib/utils/toDateProcessor.js.map +0 -1
- package/dist/lib/utils/waitUtils.js.map +0 -1
- /package/dist/{lib/errors → errors}/DoNotProcessError.d.ts +0 -0
- /package/dist/{lib/errors → errors}/Errors.d.ts +0 -0
- /package/dist/{lib/errors → errors}/RetryMessageLaterError.d.ts +0 -0
- /package/dist/{lib/payload-store → payload-store}/offloadedPayloadMessageSchemas.d.ts +0 -0
- /package/dist/{lib/payload-store → payload-store}/payloadStoreTypes.d.ts +0 -0
- /package/dist/{lib/queues → queues}/MessageSchemaContainer.d.ts +0 -0
- /package/dist/{lib/utils → utils}/dateUtils.d.ts +0 -0
- /package/dist/{lib/utils → utils}/envUtils.d.ts +0 -0
- /package/dist/{lib/utils → utils}/matchUtils.d.ts +0 -0
- /package/dist/{lib/utils → utils}/queueUtils.d.ts +0 -0
- /package/dist/{lib/utils → utils}/streamUtils.d.ts +0 -0
- /package/dist/{lib/utils → utils}/toDateProcessor.d.ts +0 -0
- /package/dist/{lib/utils → utils}/waitUtils.d.ts +0 -0
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AbstractPublisherManager = void 0;
|
|
4
|
-
class AbstractPublisherManager {
|
|
1
|
+
export class AbstractPublisherManager {
|
|
5
2
|
publisherFactory;
|
|
6
3
|
newPublisherOptions;
|
|
7
4
|
metadataFiller;
|
|
@@ -127,5 +124,4 @@ class AbstractPublisherManager {
|
|
|
127
124
|
return publisher.handlerSpy;
|
|
128
125
|
}
|
|
129
126
|
}
|
|
130
|
-
exports.AbstractPublisherManager = AbstractPublisherManager;
|
|
131
127
|
//# sourceMappingURL=AbstractPublisherManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AbstractPublisherManager.js","sourceRoot":"","sources":["../../lib/queues/AbstractPublisherManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type CommonLogger, type Either, type ErrorReporter, type ErrorResolver } from '@lokalise/node-core';
|
|
2
2
|
import type { ZodSchema, ZodType } from 'zod';
|
|
3
|
-
import type { MessageInvalidFormatError, MessageValidationError } from '../errors/Errors';
|
|
4
|
-
import { AcquireLockTimeoutError, DeduplicationRequester, type MessageDeduplicationConfig, type ReleasableLock } from '../message-deduplication/messageDeduplicationTypes';
|
|
5
|
-
import { type OffloadedPayloadPointerPayload } from '../payload-store/offloadedPayloadMessageSchemas';
|
|
6
|
-
import type { PayloadStoreConfig } from '../payload-store/payloadStoreTypes';
|
|
7
|
-
import type { MessageProcessingResult } from '../types/MessageQueueTypes';
|
|
8
|
-
import type { DeletionConfig, MessageMetricsManager, QueueDependencies, QueueOptions } from '../types/queueOptionsTypes';
|
|
9
|
-
import type { BarrierCallback, BarrierResult, MessageHandlerConfig, PreHandlingOutputs, Prehandler, PrehandlerResult } from './HandlerContainer';
|
|
10
|
-
import type { HandlerSpy, PublicHandlerSpy } from './HandlerSpy';
|
|
11
|
-
import { MessageSchemaContainer } from './MessageSchemaContainer';
|
|
3
|
+
import type { MessageInvalidFormatError, MessageValidationError } from '../errors/Errors.ts';
|
|
4
|
+
import { AcquireLockTimeoutError, type DeduplicationRequester, type MessageDeduplicationConfig, type ReleasableLock } from '../message-deduplication/messageDeduplicationTypes.ts';
|
|
5
|
+
import { type OffloadedPayloadPointerPayload } from '../payload-store/offloadedPayloadMessageSchemas.ts';
|
|
6
|
+
import type { PayloadStoreConfig } from '../payload-store/payloadStoreTypes.ts';
|
|
7
|
+
import type { MessageProcessingResult } from '../types/MessageQueueTypes.ts';
|
|
8
|
+
import type { DeletionConfig, MessageMetricsManager, QueueDependencies, QueueOptions } from '../types/queueOptionsTypes.ts';
|
|
9
|
+
import type { BarrierCallback, BarrierResult, MessageHandlerConfig, PreHandlingOutputs, Prehandler, PrehandlerResult } from './HandlerContainer.ts';
|
|
10
|
+
import type { HandlerSpy, PublicHandlerSpy } from './HandlerSpy.ts';
|
|
11
|
+
import { MessageSchemaContainer } from './MessageSchemaContainer.ts';
|
|
12
12
|
export type Deserializer<MessagePayloadType extends object> = (message: unknown, type: ZodType<MessagePayloadType>, errorProcessor: ErrorResolver) => Either<MessageInvalidFormatError | MessageValidationError, MessagePayloadType>;
|
|
13
13
|
type CommonQueueLocator = {
|
|
14
14
|
queueName: string;
|
|
@@ -1,19 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const MessageSchemaContainer_1 = require("./MessageSchemaContainer");
|
|
16
|
-
class AbstractQueueService {
|
|
1
|
+
import { types } from 'node:util';
|
|
2
|
+
import { stringValueSerializer, } from '@lokalise/node-core';
|
|
3
|
+
import { resolveGlobalErrorLogObject } from '@lokalise/node-core';
|
|
4
|
+
import { MESSAGE_DEDUPLICATION_OPTIONS_SCHEMA, } from '@message-queue-toolkit/schemas';
|
|
5
|
+
import { AcquireLockTimeoutError, DEFAULT_MESSAGE_DEDUPLICATION_OPTIONS, DeduplicationRequesterEnum, noopReleasableLock, } from "../message-deduplication/messageDeduplicationTypes.js";
|
|
6
|
+
import { jsonStreamStringifySerializer } from "../payload-store/JsonStreamStringifySerializer.js";
|
|
7
|
+
import { OFFLOADED_PAYLOAD_POINTER_PAYLOAD_SCHEMA, } from "../payload-store/offloadedPayloadMessageSchemas.js";
|
|
8
|
+
import { isDestroyable } from "../payload-store/payloadStoreTypes.js";
|
|
9
|
+
import { isRetryDateExceeded } from "../utils/dateUtils.js";
|
|
10
|
+
import { streamWithKnownSizeToString } from "../utils/streamUtils.js";
|
|
11
|
+
import { toDatePreprocessor } from "../utils/toDateProcessor.js";
|
|
12
|
+
import { resolveHandlerSpy } from "./HandlerSpy.js";
|
|
13
|
+
import { MessageSchemaContainer } from "./MessageSchemaContainer.js";
|
|
14
|
+
export class AbstractQueueService {
|
|
17
15
|
/**
|
|
18
16
|
* Used to keep track of the number of `retryLater` results received for a message to be able to
|
|
19
17
|
* calculate the delay for the next retry
|
|
@@ -66,13 +64,13 @@ class AbstractQueueService {
|
|
|
66
64
|
this.deletionConfig = options.deletionConfig;
|
|
67
65
|
this.payloadStoreConfig = options.payloadStoreConfig
|
|
68
66
|
? {
|
|
69
|
-
serializer:
|
|
67
|
+
serializer: jsonStreamStringifySerializer,
|
|
70
68
|
...options.payloadStoreConfig,
|
|
71
69
|
}
|
|
72
70
|
: undefined;
|
|
73
71
|
this.messageDeduplicationConfig = options.messageDeduplicationConfig;
|
|
74
72
|
this.logMessages = options.logMessages ?? false;
|
|
75
|
-
this._handlerSpy =
|
|
73
|
+
this._handlerSpy = resolveHandlerSpy(options);
|
|
76
74
|
this.isInitted = false;
|
|
77
75
|
}
|
|
78
76
|
resolveConsumerMessageSchemaContainer(options) {
|
|
@@ -80,7 +78,7 @@ class AbstractQueueService {
|
|
|
80
78
|
const messageDefinitions = options.handlers
|
|
81
79
|
.map((entry) => entry.definition)
|
|
82
80
|
.filter((entry) => entry !== undefined);
|
|
83
|
-
return new
|
|
81
|
+
return new MessageSchemaContainer({
|
|
84
82
|
messageSchemas,
|
|
85
83
|
messageDefinitions,
|
|
86
84
|
messageTypeField: options.messageTypeField,
|
|
@@ -89,7 +87,7 @@ class AbstractQueueService {
|
|
|
89
87
|
resolvePublisherMessageSchemaContainer(options) {
|
|
90
88
|
const messageSchemas = options.messageSchemas;
|
|
91
89
|
const messageDefinitions = [];
|
|
92
|
-
return new
|
|
90
|
+
return new MessageSchemaContainer({
|
|
93
91
|
messageSchemas,
|
|
94
92
|
messageDefinitions,
|
|
95
93
|
messageTypeField: options.messageTypeField,
|
|
@@ -108,12 +106,12 @@ class AbstractQueueService {
|
|
|
108
106
|
this.logger.debug(messageLogEntry);
|
|
109
107
|
}
|
|
110
108
|
handleError(err, context) {
|
|
111
|
-
const logObject =
|
|
109
|
+
const logObject = resolveGlobalErrorLogObject(err);
|
|
112
110
|
this.logger.error({
|
|
113
111
|
...logObject,
|
|
114
112
|
...context,
|
|
115
113
|
});
|
|
116
|
-
if (
|
|
114
|
+
if (types.isNativeError(err)) {
|
|
117
115
|
this.errorReporter.report({ error: err, context });
|
|
118
116
|
}
|
|
119
117
|
}
|
|
@@ -129,7 +127,7 @@ class AbstractQueueService {
|
|
|
129
127
|
return;
|
|
130
128
|
const processedMessageMetadata = this.resolveProcessedMessageMetadata(message, processingResult, params.messageProcessingStartTimestamp, messageProcessingEndTimestamp, params.queueName, messageId);
|
|
131
129
|
if (debugLoggingEnabled) {
|
|
132
|
-
this.logger.debug(processedMessageMetadata, `Finished processing message ${processedMessageMetadata.messageId}`);
|
|
130
|
+
this.logger.debug({ processedMessageMetadata: stringValueSerializer(processedMessageMetadata) }, `Finished processing message ${processedMessageMetadata.messageId}`);
|
|
133
131
|
}
|
|
134
132
|
if (this.messageMetricsManager) {
|
|
135
133
|
this.messageMetricsManager.registerProcessedMessage(processedMessageMetadata);
|
|
@@ -187,7 +185,7 @@ class AbstractQueueService {
|
|
|
187
185
|
}
|
|
188
186
|
shouldBeRetried(message, maxRetryDuration) {
|
|
189
187
|
const timestamp = this.tryToExtractTimestamp(message) ?? new Date();
|
|
190
|
-
return !
|
|
188
|
+
return !isRetryDateExceeded(timestamp, maxRetryDuration);
|
|
191
189
|
}
|
|
192
190
|
getMessageRetryDelayInSeconds(message) {
|
|
193
191
|
// if not defined, this is the first attempt
|
|
@@ -220,7 +218,7 @@ class AbstractQueueService {
|
|
|
220
218
|
// @ts-ignore
|
|
221
219
|
if (this.messageTimestampField in message) {
|
|
222
220
|
// @ts-ignore
|
|
223
|
-
const res =
|
|
221
|
+
const res = toDatePreprocessor(message[this.messageTimestampField]);
|
|
224
222
|
if (!(res instanceof Date)) {
|
|
225
223
|
throw new Error(`${this.messageTimestampField} invalid type`);
|
|
226
224
|
}
|
|
@@ -236,7 +234,6 @@ class AbstractQueueService {
|
|
|
236
234
|
}
|
|
237
235
|
return undefined;
|
|
238
236
|
}
|
|
239
|
-
// eslint-disable-next-line max-params
|
|
240
237
|
resolveNextPreHandlerFunctionInternal(preHandlers, executionContext, message, index, preHandlerOutput, resolve, reject) {
|
|
241
238
|
return (preHandlerResult) => {
|
|
242
239
|
if (preHandlerResult.error) {
|
|
@@ -246,7 +243,7 @@ class AbstractQueueService {
|
|
|
246
243
|
resolve(preHandlerOutput);
|
|
247
244
|
}
|
|
248
245
|
else {
|
|
249
|
-
//
|
|
246
|
+
// biome-ignore lint/style/noNonNullAssertion: <explanation>
|
|
250
247
|
preHandlers[index](message, executionContext,
|
|
251
248
|
// @ts-ignore
|
|
252
249
|
preHandlerOutput, this.resolveNextPreHandlerFunctionInternal(preHandlers, executionContext, message, index + 1, preHandlerOutput, resolve, reject));
|
|
@@ -269,7 +266,7 @@ class AbstractQueueService {
|
|
|
269
266
|
offloadedPayloadPointer = await this.payloadStoreConfig.store.storePayload(serializedPayload);
|
|
270
267
|
}
|
|
271
268
|
finally {
|
|
272
|
-
if (
|
|
269
|
+
if (isDestroyable(serializedPayload)) {
|
|
273
270
|
await serializedPayload.destroy();
|
|
274
271
|
}
|
|
275
272
|
}
|
|
@@ -298,7 +295,7 @@ class AbstractQueueService {
|
|
|
298
295
|
error: new Error('Payload store is not configured, cannot retrieve offloaded message payload'),
|
|
299
296
|
};
|
|
300
297
|
}
|
|
301
|
-
const pointerPayloadParseResult =
|
|
298
|
+
const pointerPayloadParseResult = OFFLOADED_PAYLOAD_POINTER_PAYLOAD_SCHEMA.safeParse(maybeOffloadedPayloadPointerPayload);
|
|
302
299
|
if (!pointerPayloadParseResult.success) {
|
|
303
300
|
return {
|
|
304
301
|
error: new Error('Given payload is not a valid offloaded payload pointer payload', {
|
|
@@ -312,7 +309,7 @@ class AbstractQueueService {
|
|
|
312
309
|
error: new Error(`Payload with key ${pointerPayloadParseResult.data.offloadedPayloadPointer} was not found in the store`),
|
|
313
310
|
};
|
|
314
311
|
}
|
|
315
|
-
const serializedOffloadedPayloadString = await
|
|
312
|
+
const serializedOffloadedPayloadString = await streamWithKnownSizeToString(serializedOffloadedPayloadReadable, pointerPayloadParseResult.data.offloadedPayloadSize);
|
|
316
313
|
try {
|
|
317
314
|
return { result: JSON.parse(serializedOffloadedPayloadString) };
|
|
318
315
|
}
|
|
@@ -371,15 +368,15 @@ class AbstractQueueService {
|
|
|
371
368
|
*/
|
|
372
369
|
async acquireLockForMessage(message) {
|
|
373
370
|
if (!this.isDeduplicationEnabledForMessage(message)) {
|
|
374
|
-
return { result:
|
|
371
|
+
return { result: noopReleasableLock };
|
|
375
372
|
}
|
|
376
373
|
const deduplicationId = this.getMessageDeduplicationId(message);
|
|
377
374
|
const deduplicationOptions = this.getParsedMessageDeduplicationOptions(message);
|
|
378
375
|
const deduplicationConfig = this.messageDeduplicationConfig;
|
|
379
|
-
const acquireLockResult = await deduplicationConfig.deduplicationStore.acquireLock(`${
|
|
380
|
-
if (acquireLockResult.error && !(acquireLockResult.error instanceof
|
|
376
|
+
const acquireLockResult = await deduplicationConfig.deduplicationStore.acquireLock(`${DeduplicationRequesterEnum.Consumer.toString()}:${deduplicationId}`, deduplicationOptions);
|
|
377
|
+
if (acquireLockResult.error && !(acquireLockResult.error instanceof AcquireLockTimeoutError)) {
|
|
381
378
|
this.handleError(acquireLockResult.error);
|
|
382
|
-
return { result:
|
|
379
|
+
return { result: noopReleasableLock };
|
|
383
380
|
}
|
|
384
381
|
return acquireLockResult;
|
|
385
382
|
}
|
|
@@ -391,18 +388,17 @@ class AbstractQueueService {
|
|
|
391
388
|
return message[this.messageDeduplicationIdField];
|
|
392
389
|
}
|
|
393
390
|
getParsedMessageDeduplicationOptions(message) {
|
|
394
|
-
const parsedOptions =
|
|
391
|
+
const parsedOptions = MESSAGE_DEDUPLICATION_OPTIONS_SCHEMA.safeParse(
|
|
395
392
|
// @ts-expect-error
|
|
396
393
|
message[this.messageDeduplicationOptionsField] ?? {});
|
|
397
394
|
if (parsedOptions.error) {
|
|
398
395
|
this.logger.warn({ error: parsedOptions.error.message }, `${this.messageDeduplicationOptionsField} contains one or more invalid values, falling back to default options`);
|
|
399
|
-
return
|
|
396
|
+
return DEFAULT_MESSAGE_DEDUPLICATION_OPTIONS;
|
|
400
397
|
}
|
|
401
398
|
return {
|
|
402
|
-
...
|
|
399
|
+
...DEFAULT_MESSAGE_DEDUPLICATION_OPTIONS,
|
|
403
400
|
...Object.fromEntries(Object.entries(parsedOptions.data).filter(([_, value]) => value !== undefined)),
|
|
404
401
|
};
|
|
405
402
|
}
|
|
406
403
|
}
|
|
407
|
-
exports.AbstractQueueService = AbstractQueueService;
|
|
408
404
|
//# sourceMappingURL=AbstractQueueService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AbstractQueueService.js","sourceRoot":"","sources":["../../lib/queues/AbstractQueueService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Either } from '@lokalise/node-core';
|
|
2
2
|
import type { CommonEventDefinition } from '@message-queue-toolkit/schemas';
|
|
3
3
|
import type { ZodSchema } from 'zod';
|
|
4
|
-
import type { DoNotProcessMessageError } from '../errors/DoNotProcessError';
|
|
5
|
-
import type { RetryMessageLaterError } from '../errors/RetryMessageLaterError';
|
|
4
|
+
import type { DoNotProcessMessageError } from '../errors/DoNotProcessError.ts';
|
|
5
|
+
import type { RetryMessageLaterError } from '../errors/RetryMessageLaterError.ts';
|
|
6
6
|
export type PreHandlingOutputs<PrehandlerOutput = undefined, BarrierOutput = undefined> = {
|
|
7
7
|
preHandlerOutput: PrehandlerOutput;
|
|
8
8
|
barrierOutput: BarrierOutput;
|
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const schemas_1 = require("@message-queue-toolkit/schemas");
|
|
5
|
-
const defaultLogFormatter = (message) => message;
|
|
6
|
-
exports.defaultLogFormatter = defaultLogFormatter;
|
|
7
|
-
class MessageHandlerConfig {
|
|
1
|
+
import { isCommonEventDefinition } from '@message-queue-toolkit/schemas';
|
|
2
|
+
export const defaultLogFormatter = (message) => message;
|
|
3
|
+
export class MessageHandlerConfig {
|
|
8
4
|
schema;
|
|
9
5
|
definition;
|
|
10
6
|
handler;
|
|
@@ -15,23 +11,22 @@ class MessageHandlerConfig {
|
|
|
15
11
|
this.schema = schema;
|
|
16
12
|
this.definition = eventDefinition;
|
|
17
13
|
this.handler = handler;
|
|
18
|
-
this.messageLogFormatter = options?.messageLogFormatter ??
|
|
14
|
+
this.messageLogFormatter = options?.messageLogFormatter ?? defaultLogFormatter;
|
|
19
15
|
this.preHandlerBarrier = options?.preHandlerBarrier;
|
|
20
16
|
this.preHandlers = options?.preHandlers ?? [];
|
|
21
17
|
}
|
|
22
18
|
}
|
|
23
|
-
|
|
24
|
-
class MessageHandlerConfigBuilder {
|
|
19
|
+
export class MessageHandlerConfigBuilder {
|
|
25
20
|
configs;
|
|
26
21
|
constructor() {
|
|
27
22
|
this.configs = [];
|
|
28
23
|
}
|
|
29
24
|
addConfig(schema, handler, options) {
|
|
30
|
-
const resolvedSchema =
|
|
25
|
+
const resolvedSchema = isCommonEventDefinition(schema)
|
|
31
26
|
? // @ts-ignore
|
|
32
27
|
schema.consumerSchema
|
|
33
28
|
: schema;
|
|
34
|
-
const definition =
|
|
29
|
+
const definition = isCommonEventDefinition(schema) ? schema : undefined;
|
|
35
30
|
this.configs.push(
|
|
36
31
|
// @ts-ignore
|
|
37
32
|
new MessageHandlerConfig(resolvedSchema,
|
|
@@ -43,8 +38,7 @@ class MessageHandlerConfigBuilder {
|
|
|
43
38
|
return this.configs;
|
|
44
39
|
}
|
|
45
40
|
}
|
|
46
|
-
|
|
47
|
-
class HandlerContainer {
|
|
41
|
+
export class HandlerContainer {
|
|
48
42
|
messageHandlers;
|
|
49
43
|
messageTypeField;
|
|
50
44
|
constructor(options) {
|
|
@@ -57,7 +51,6 @@ class HandlerContainer {
|
|
|
57
51
|
throw new Error(`Unsupported message type: ${messageType}`);
|
|
58
52
|
}
|
|
59
53
|
// @ts-ignore
|
|
60
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
61
54
|
return handler;
|
|
62
55
|
}
|
|
63
56
|
resolveHandlerMap(supportedHandlers) {
|
|
@@ -70,5 +63,4 @@ class HandlerContainer {
|
|
|
70
63
|
}, {});
|
|
71
64
|
}
|
|
72
65
|
}
|
|
73
|
-
exports.HandlerContainer = HandlerContainer;
|
|
74
66
|
//# sourceMappingURL=HandlerContainer.js.map
|
|
@@ -0,0 +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,cAAc,GAAoC,uBAAuB,CAAC,MAAM,CAAC;YACrF,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;QACf,aAAa;QACb,IAAI,oBAAoB,CAMtB,cAAc;QACd,aAAa;QACb,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,aAAa;QACb,OAAO,OAAO,CAAA;IAChB,CAAC;IAEO,iBAAiB,CACvB,iBAIG;QAKH,OAAO,iBAAiB,CAAC,MAAM,CAC7B,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YACb,aAAa;YACb,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAA;YACnE,aAAa;YACb,GAAG,CAAC,WAAW,CAAC,GAAG,KAAK,CAAA;YACxB,OAAO,GAAG,CAAA;QACZ,CAAC,EACD,EAGC,CACF,CAAA;IACH,CAAC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { MessageProcessingResult, MessageProcessingResultStatus } from '../types/MessageQueueTypes';
|
|
1
|
+
import type { MessageProcessingResult, MessageProcessingResultStatus } from '../types/MessageQueueTypes.ts';
|
|
2
2
|
export type HandlerSpyParams = {
|
|
3
3
|
bufferSize?: number;
|
|
4
4
|
messageIdField?: string;
|
|
@@ -1,17 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const node_core_1 = require("@lokalise/node-core");
|
|
8
|
-
const toad_cache_1 = require("toad-cache");
|
|
9
|
-
const matchUtils_1 = require("../utils/matchUtils");
|
|
10
|
-
function isHandlerSpy(value) {
|
|
11
|
-
return ((0, node_core_1.isObject)(value) &&
|
|
1
|
+
import { randomUUID } from 'node:crypto';
|
|
2
|
+
import { isObject } from '@lokalise/node-core';
|
|
3
|
+
import { Fifo } from 'toad-cache';
|
|
4
|
+
import { objectMatches } from "../utils/matchUtils.js";
|
|
5
|
+
export function isHandlerSpy(value) {
|
|
6
|
+
return (isObject(value) &&
|
|
12
7
|
(value instanceof HandlerSpy || value.name === 'HandlerSpy'));
|
|
13
8
|
}
|
|
14
|
-
class HandlerSpy {
|
|
9
|
+
export class HandlerSpy {
|
|
15
10
|
name = 'HandlerSpy';
|
|
16
11
|
// biome-ignore lint/suspicious/noExplicitAny: This is expected
|
|
17
12
|
messageBuffer;
|
|
@@ -19,7 +14,7 @@ class HandlerSpy {
|
|
|
19
14
|
messageTypeField;
|
|
20
15
|
spyPromises;
|
|
21
16
|
constructor(params = {}) {
|
|
22
|
-
this.messageBuffer = new
|
|
17
|
+
this.messageBuffer = new Fifo(params.bufferSize ?? 100);
|
|
23
18
|
// @ts-ignore
|
|
24
19
|
this.messageIdField = params.messageIdField ?? 'id';
|
|
25
20
|
// @ts-ignore
|
|
@@ -27,7 +22,7 @@ class HandlerSpy {
|
|
|
27
22
|
this.spyPromises = [];
|
|
28
23
|
}
|
|
29
24
|
messageMatchesFilter(spyResult, fields, status) {
|
|
30
|
-
return (
|
|
25
|
+
return (objectMatches(fields, spyResult.message) &&
|
|
31
26
|
(!status || spyResult.processingResult.status === status));
|
|
32
27
|
}
|
|
33
28
|
waitForMessageWithId(id, status) {
|
|
@@ -63,7 +58,7 @@ class HandlerSpy {
|
|
|
63
58
|
this.messageBuffer.clear();
|
|
64
59
|
}
|
|
65
60
|
addProcessedMessage(processingResult, messageId) {
|
|
66
|
-
const resolvedMessageId = processingResult.message?.[this.messageIdField] ?? messageId ??
|
|
61
|
+
const resolvedMessageId = processingResult.message?.[this.messageIdField] ?? messageId ?? randomUUID();
|
|
67
62
|
const resolvedMessageType = processingResult.message?.[this.messageTypeField] ?? 'FAILED_TO_RESOLVE';
|
|
68
63
|
// If we failed to parse message, let's store id and type at least
|
|
69
64
|
const resolvedProcessingResult = processingResult.message
|
|
@@ -84,7 +79,6 @@ class HandlerSpy {
|
|
|
84
79
|
return this.messageMatchesFilter(resolvedProcessingResult, spyPromise.fields, spyPromise.status);
|
|
85
80
|
});
|
|
86
81
|
if (foundPromise) {
|
|
87
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
88
82
|
foundPromise.resolve(processingResult);
|
|
89
83
|
const index = this.spyPromises.indexOf(foundPromise);
|
|
90
84
|
if (index > -1) {
|
|
@@ -94,8 +88,7 @@ class HandlerSpy {
|
|
|
94
88
|
}
|
|
95
89
|
}
|
|
96
90
|
}
|
|
97
|
-
|
|
98
|
-
function resolveHandlerSpy(queueOptions) {
|
|
91
|
+
export function resolveHandlerSpy(queueOptions) {
|
|
99
92
|
if (isHandlerSpy(queueOptions.handlerSpy)) {
|
|
100
93
|
return queueOptions.handlerSpy;
|
|
101
94
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HandlerSpy.js","sourceRoot":"","sources":["../../lib/queues/HandlerSpy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MessageSchemaContainer = void 0;
|
|
4
|
-
class MessageSchemaContainer {
|
|
1
|
+
export class MessageSchemaContainer {
|
|
5
2
|
messageDefinitions;
|
|
6
3
|
messageSchemas;
|
|
7
4
|
messageTypeField;
|
|
@@ -38,5 +35,4 @@ class MessageSchemaContainer {
|
|
|
38
35
|
}, {});
|
|
39
36
|
}
|
|
40
37
|
}
|
|
41
|
-
exports.MessageSchemaContainer = MessageSchemaContainer;
|
|
42
38
|
//# sourceMappingURL=MessageSchemaContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageSchemaContainer.js","sourceRoot":"","sources":["../../lib/queues/MessageSchemaContainer.ts"],"names":[],"mappings":"AAUA,MAAM,OAAO,sBAAsB;IACjB,kBAAkB,CAAuC;IACxD,cAAc,CAAkD;IAChE,gBAAgB,CAAQ;IAEzC,YAAY,OAA6D;QACvE,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAA;QAChD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QACnE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAA;IACxF,CAAC;IAEM,aAAa;IAClB,+DAA+D;IAC/D,OAA4B;QAE5B,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAA;QAClE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;gBACL,KAAK,EAAE,IAAI,KAAK,CAAC,6BAA6B,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;aAChF,CAAA;QACH,CAAC;QACD,OAAO;YACL,MAAM,EAAE,MAAM;SACf,CAAA;IACH,CAAC;IAEO,gBAAgB,CACtB,gBAA6D;QAE7D,OAAO,gBAAgB,CAAC,MAAM,CAC5B,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACd,aAAa;YACb,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,GAAG,MAAM,CAAA;YACvD,OAAO,GAAG,CAAA;QACZ,CAAC,EACD,EAAsD,CACvD,CAAA;IACH,CAAC;IAEO,qBAAqB,CAC3B,oBAAsD;QAEtD,OAAO,oBAAoB,CAAC,MAAM,CAChC,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE;YAClB,aAAa;YACb,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,GAAG,UAAU,CAAA;YAC/E,OAAO,GAAG,CAAA;QACZ,CAAC,EACD,EAA2C,CAC5C,CAAA;IACH,CAAC;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CommonLogger, TransactionObservabilityManager } from '@lokalise/node-core';
|
|
2
2
|
import type { ZodSchema } from 'zod';
|
|
3
|
-
import type { PublicHandlerSpy } from '../queues/HandlerSpy';
|
|
3
|
+
import type { PublicHandlerSpy } from '../queues/HandlerSpy.ts';
|
|
4
4
|
export interface QueueConsumer {
|
|
5
5
|
start(): Promise<unknown>;
|
|
6
6
|
close(): Promise<unknown>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageQueueTypes.js","sourceRoot":"","sources":["../../lib/types/MessageQueueTypes.ts"],"names":[],"mappings":""}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { CommonLogger, ErrorReporter, ErrorResolver } from '@lokalise/node-core';
|
|
2
2
|
import type { ZodSchema } from 'zod';
|
|
3
|
-
import type { PayloadStoreConfig } from '../payload-store/payloadStoreTypes';
|
|
4
|
-
import type { MessageHandlerConfig } from '../queues/HandlerContainer';
|
|
5
|
-
import type { HandlerSpy, HandlerSpyParams } from '../queues/HandlerSpy';
|
|
6
|
-
import type { MessageDeduplicationConfig } from '../message-deduplication/messageDeduplicationTypes';
|
|
7
|
-
import type { MessageProcessingResult, TransactionObservabilityManager } from './MessageQueueTypes';
|
|
3
|
+
import type { PayloadStoreConfig } from '../payload-store/payloadStoreTypes.ts';
|
|
4
|
+
import type { MessageHandlerConfig } from '../queues/HandlerContainer.ts';
|
|
5
|
+
import type { HandlerSpy, HandlerSpyParams } from '../queues/HandlerSpy.ts';
|
|
6
|
+
import type { MessageDeduplicationConfig } from '../message-deduplication/messageDeduplicationTypes.ts';
|
|
7
|
+
import type { MessageProcessingResult, TransactionObservabilityManager } from './MessageQueueTypes.ts';
|
|
8
8
|
export type QueueDependencies = {
|
|
9
9
|
errorReporter: ErrorReporter;
|
|
10
10
|
logger: CommonLogger;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queueOptionsTypes.js","sourceRoot":"","sources":["../../lib/types/queueOptionsTypes.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Check if the retry date is exceeded
|
|
3
|
+
*
|
|
4
|
+
* @param timestamp
|
|
5
|
+
* @param maxRetryDuration max retry duration in seconds
|
|
6
|
+
*/
|
|
7
|
+
export const isRetryDateExceeded = (timestamp, maxRetryDuration) => {
|
|
8
|
+
const lastRetryDate = new Date(timestamp.getTime() + maxRetryDuration * 1000);
|
|
9
|
+
return new Date() > lastRetryDate;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=dateUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dateUtils.js","sourceRoot":"","sources":["../../lib/utils/dateUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,SAAe,EAAE,gBAAwB,EAAW,EAAE;IACxF,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,gBAAgB,GAAG,IAAI,CAAC,CAAA;IAC7E,OAAO,IAAI,IAAI,EAAE,GAAG,aAAa,CAAA;AACnC,CAAC,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ConfigScope } from '@lokalise/node-core';
|
|
2
|
+
const configScope = new ConfigScope();
|
|
3
|
+
export function reloadConfig() {
|
|
4
|
+
configScope.updateEnv();
|
|
5
|
+
}
|
|
6
|
+
export function isProduction() {
|
|
7
|
+
return configScope.isProduction();
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=envUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"envUtils.js","sourceRoot":"","sources":["../../lib/utils/envUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEjD,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAA;AAErC,MAAM,UAAU,YAAY;IAC1B,WAAW,CAAC,SAAS,EAAE,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,WAAW,CAAC,YAAY,EAAE,CAAA;AACnC,CAAC"}
|
|
@@ -1,17 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isShallowSubset = isShallowSubset;
|
|
4
|
-
exports.objectMatches = objectMatches;
|
|
5
|
-
const fast_equals_1 = require("fast-equals");
|
|
1
|
+
import { deepEqual } from 'fast-equals';
|
|
6
2
|
/**
|
|
7
3
|
* Returns true if `maybeSubset` does not contain any fields in addition to the fields that `maybeSuperset` contain, and all of the overlapping fields are equal on a shallow level.
|
|
8
4
|
*/
|
|
9
|
-
function isShallowSubset(maybeSubset, maybeSuperset) {
|
|
5
|
+
export function isShallowSubset(maybeSubset, maybeSuperset) {
|
|
10
6
|
if (!maybeSubset) {
|
|
11
7
|
return true;
|
|
12
8
|
}
|
|
13
9
|
const keysSubset = Object.keys(maybeSubset);
|
|
14
|
-
//
|
|
10
|
+
// biome-ignore lint/style/noNonNullAssertion: <explanation>
|
|
15
11
|
const keysSuperset = Object.keys(maybeSuperset);
|
|
16
12
|
if (keysSubset.length === 0) {
|
|
17
13
|
return true;
|
|
@@ -19,9 +15,8 @@ function isShallowSubset(maybeSubset, maybeSuperset) {
|
|
|
19
15
|
if (keysSubset.length > keysSuperset.length) {
|
|
20
16
|
return false;
|
|
21
17
|
}
|
|
22
|
-
// eslint-disable-next-line prefer-const
|
|
23
18
|
for (const key of keysSubset) {
|
|
24
|
-
//
|
|
19
|
+
// biome-ignore lint/style/noNonNullAssertion: <explanation>
|
|
25
20
|
if (maybeSubset[key] !== maybeSuperset[key]) {
|
|
26
21
|
return false;
|
|
27
22
|
}
|
|
@@ -32,7 +27,7 @@ function isShallowSubset(maybeSubset, maybeSuperset) {
|
|
|
32
27
|
* Returns true if `validatedObject` contains all of the fields included on `matcher`, and their values are deeply equal
|
|
33
28
|
*/
|
|
34
29
|
// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: <explanation>
|
|
35
|
-
function objectMatches(
|
|
30
|
+
export function objectMatches(
|
|
36
31
|
// biome-ignore lint/suspicious/noExplicitAny: This is expected
|
|
37
32
|
matcher,
|
|
38
33
|
// biome-ignore lint/suspicious/noExplicitAny: This is expected
|
|
@@ -47,13 +42,11 @@ validatedObject) {
|
|
|
47
42
|
if (typeof validatedObject[key] !== 'object' || validatedObject[key] === null) {
|
|
48
43
|
return false;
|
|
49
44
|
}
|
|
50
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
51
45
|
if (!objectMatches(matcher[key], validatedObject[key])) {
|
|
52
46
|
return false;
|
|
53
47
|
}
|
|
54
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
55
48
|
}
|
|
56
|
-
else if (!
|
|
49
|
+
else if (!deepEqual(matcher[key], validatedObject[key])) {
|
|
57
50
|
return false;
|
|
58
51
|
}
|
|
59
52
|
}
|
|
@@ -0,0 +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,4DAA4D;IAC5D,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,4DAA4D;QAC5D,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,6EAA6E;AAC7E,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,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC;YAAE,SAAQ;QAEjE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,EAAE,CAAC;YAChE,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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Either, ErrorResolver } from '@lokalise/node-core';
|
|
2
2
|
import type { ZodSchema } from 'zod';
|
|
3
|
-
import type { MessageInvalidFormatError, MessageValidationError } from '../errors/Errors';
|
|
3
|
+
import type { MessageInvalidFormatError, MessageValidationError } from '../errors/Errors.ts';
|
|
4
4
|
export type ParseMessageResult<T> = {
|
|
5
5
|
originalMessage: T;
|
|
6
6
|
parsedMessage: T;
|