@message-queue-toolkit/core
Advanced tools
Comparing version 2.0.0 to 3.0.0
@@ -1,6 +0,11 @@ | ||
export type { QueueConsumer, AsyncPublisher, SyncPublisher, TransactionObservabilityManager, Logger, } from './lib/types/MessageQueueTypes'; | ||
export type { QueueConsumer, AsyncPublisher, SyncPublisher, TransactionObservabilityManager, Logger, SchemaMap, } from './lib/types/MessageQueueTypes'; | ||
export { AbstractQueueService } from './lib/queues/AbstractQueueService'; | ||
export type { NewQueueOptions, ExistingQueueOptions, QueueDependencies, QueueConsumerDependencies, Deserializer, CommonQueueLocator, } from './lib/queues/AbstractQueueService'; | ||
export type { NewQueueOptions, ExistingQueueOptions, NewQueueOptionsMultiSchema, ExistingQueueOptionsMultiSchema, MonoSchemaQueueOptions, MultiSchemaConsumerOptions, QueueDependencies, QueueConsumerDependencies, Deserializer, CommonQueueLocator, } from './lib/queues/AbstractQueueService'; | ||
export { isMessageError, MessageValidationError, MessageInvalidFormatError, } from './lib/errors/Errors'; | ||
export { HandlerContainer, MessageHandlerConfig, MessageHandlerConfigBuilder, } from './lib/queues/HandlerContainer'; | ||
export type { HandlerContainerOptions, Handler } from './lib/queues/HandlerContainer'; | ||
export { MessageSchemaContainer } from './lib/queues/MessageSchemaContainer'; | ||
export type { MessageSchemaContainerOptions } from './lib/queues/MessageSchemaContainer'; | ||
export { objectToBuffer } from './lib/utils/queueUtils'; | ||
export { waitAndRetry } from './lib/utils/waitUtils'; | ||
export { parseMessage } from './lib/utils/parseUtils'; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.waitAndRetry = exports.objectToBuffer = exports.MessageInvalidFormatError = exports.MessageValidationError = exports.isMessageError = exports.AbstractQueueService = void 0; | ||
exports.parseMessage = exports.waitAndRetry = exports.objectToBuffer = exports.MessageSchemaContainer = exports.MessageHandlerConfigBuilder = exports.MessageHandlerConfig = exports.HandlerContainer = exports.MessageInvalidFormatError = exports.MessageValidationError = exports.isMessageError = exports.AbstractQueueService = void 0; | ||
var AbstractQueueService_1 = require("./lib/queues/AbstractQueueService"); | ||
@@ -10,2 +10,8 @@ Object.defineProperty(exports, "AbstractQueueService", { enumerable: true, get: function () { return AbstractQueueService_1.AbstractQueueService; } }); | ||
Object.defineProperty(exports, "MessageInvalidFormatError", { enumerable: true, get: function () { return Errors_1.MessageInvalidFormatError; } }); | ||
var HandlerContainer_1 = require("./lib/queues/HandlerContainer"); | ||
Object.defineProperty(exports, "HandlerContainer", { enumerable: true, get: function () { return HandlerContainer_1.HandlerContainer; } }); | ||
Object.defineProperty(exports, "MessageHandlerConfig", { enumerable: true, get: function () { return HandlerContainer_1.MessageHandlerConfig; } }); | ||
Object.defineProperty(exports, "MessageHandlerConfigBuilder", { enumerable: true, get: function () { return HandlerContainer_1.MessageHandlerConfigBuilder; } }); | ||
var MessageSchemaContainer_1 = require("./lib/queues/MessageSchemaContainer"); | ||
Object.defineProperty(exports, "MessageSchemaContainer", { enumerable: true, get: function () { return MessageSchemaContainer_1.MessageSchemaContainer; } }); | ||
var queueUtils_1 = require("./lib/utils/queueUtils"); | ||
@@ -15,2 +21,4 @@ Object.defineProperty(exports, "objectToBuffer", { enumerable: true, get: function () { return queueUtils_1.objectToBuffer; } }); | ||
Object.defineProperty(exports, "waitAndRetry", { enumerable: true, get: function () { return waitUtils_1.waitAndRetry; } }); | ||
var parseUtils_1 = require("./lib/utils/parseUtils"); | ||
Object.defineProperty(exports, "parseMessage", { enumerable: true, get: function () { return parseUtils_1.parseMessage; } }); | ||
//# sourceMappingURL=index.js.map |
@@ -5,2 +5,3 @@ import type { ErrorReporter, ErrorResolver, Either } from '@lokalise/node-core'; | ||
import type { Logger, TransactionObservabilityManager } from '../types/MessageQueueTypes'; | ||
import type { MessageHandlerConfig } from './HandlerContainer'; | ||
export type QueueDependencies = { | ||
@@ -14,5 +15,6 @@ errorReporter: ErrorReporter; | ||
}; | ||
export type Deserializer<MessagePayloadType extends object, QueueEngineMessageType extends object> = (message: QueueEngineMessageType, type: ZodType<MessagePayloadType>, errorProcessor: ErrorResolver) => Either<MessageInvalidFormatError | MessageValidationError, MessagePayloadType>; | ||
export type NewQueueOptions<MessagePayloadType extends object, CreationConfigType extends object> = { | ||
messageSchema: ZodSchema<MessagePayloadType>; | ||
export type Deserializer<MessagePayloadType extends object> = (message: unknown, type: ZodType<MessagePayloadType>, errorProcessor: ErrorResolver) => Either<MessageInvalidFormatError | MessageValidationError, MessagePayloadType>; | ||
export type NewQueueOptionsMultiSchema<MessagePayloadSchemas extends object, CreationConfigType extends object, ExecutionContext> = NewQueueOptions<CreationConfigType> & MultiSchemaConsumerOptions<MessagePayloadSchemas, ExecutionContext>; | ||
export type ExistingQueueOptionsMultiSchema<MessagePayloadSchemas extends object, QueueLocatorType extends object, ExecutionContext> = ExistingQueueOptions<QueueLocatorType> & MultiSchemaConsumerOptions<MessagePayloadSchemas, ExecutionContext>; | ||
export type NewQueueOptions<CreationConfigType extends object> = { | ||
messageTypeField: string; | ||
@@ -22,4 +24,3 @@ locatorConfig?: never; | ||
}; | ||
export type ExistingQueueOptions<MessagePayloadType extends object, QueueLocatorType extends object> = { | ||
messageSchema: ZodSchema<MessagePayloadType>; | ||
export type ExistingQueueOptions<QueueLocatorType extends object> = { | ||
messageTypeField: string; | ||
@@ -29,8 +30,13 @@ locatorConfig: QueueLocatorType; | ||
}; | ||
export type MultiSchemaConsumerOptions<MessagePayloadSchemas extends object, ExecutionContext> = { | ||
handlers: MessageHandlerConfig<MessagePayloadSchemas, ExecutionContext>[]; | ||
}; | ||
export type MonoSchemaQueueOptions<MessagePayloadType extends object> = { | ||
messageSchema: ZodSchema<MessagePayloadType>; | ||
}; | ||
export type CommonQueueLocator = { | ||
queueName: string; | ||
}; | ||
export declare abstract class AbstractQueueService<MessagePayloadType extends object, DependenciesType extends QueueDependencies, QueueConfiguration extends object, QueueLocatorType extends object = CommonQueueLocator, OptionsType extends NewQueueOptions<MessagePayloadType, QueueConfiguration> | ExistingQueueOptions<MessagePayloadType, QueueLocatorType> = NewQueueOptions<MessagePayloadType, QueueConfiguration> | ExistingQueueOptions<MessagePayloadType, QueueLocatorType>> { | ||
export declare abstract class AbstractQueueService<MessagePayloadSchemas extends object, MessageEnvelopeType extends object, DependenciesType extends QueueDependencies, QueueConfiguration extends object, QueueLocatorType extends object = CommonQueueLocator, OptionsType extends NewQueueOptions<QueueConfiguration> | ExistingQueueOptions<QueueLocatorType> = NewQueueOptions<QueueConfiguration> | ExistingQueueOptions<QueueLocatorType>> { | ||
protected readonly errorReporter: ErrorReporter; | ||
protected readonly messageSchema: ZodSchema<MessagePayloadType>; | ||
protected readonly logger: Logger; | ||
@@ -40,5 +46,7 @@ protected readonly messageTypeField: string; | ||
protected readonly locatorConfig?: QueueLocatorType; | ||
constructor({ errorReporter, logger }: DependenciesType, { messageSchema, messageTypeField, creationConfig, locatorConfig }: OptionsType); | ||
constructor({ errorReporter, logger }: DependenciesType, { messageTypeField, creationConfig, locatorConfig }: OptionsType); | ||
protected abstract resolveSchema(message: MessagePayloadSchemas): Either<Error, ZodSchema<MessagePayloadSchemas>>; | ||
protected abstract resolveMessage(message: MessageEnvelopeType): Either<MessageInvalidFormatError | MessageValidationError, unknown>; | ||
protected handleError(err: unknown): void; | ||
abstract close(): Promise<unknown>; | ||
} |
@@ -8,3 +8,2 @@ "use strict"; | ||
errorReporter; | ||
messageSchema; | ||
logger; | ||
@@ -14,6 +13,5 @@ messageTypeField; | ||
locatorConfig; | ||
constructor({ errorReporter, logger }, { messageSchema, messageTypeField, creationConfig, locatorConfig }) { | ||
constructor({ errorReporter, logger }, { messageTypeField, creationConfig, locatorConfig }) { | ||
this.errorReporter = errorReporter; | ||
this.logger = logger; | ||
this.messageSchema = messageSchema; | ||
this.messageTypeField = messageTypeField; | ||
@@ -20,0 +18,0 @@ this.creationConfig = creationConfig; |
@@ -0,1 +1,2 @@ | ||
import type { ZodSchema } from 'zod'; | ||
export interface QueueConsumer { | ||
@@ -28,1 +29,2 @@ start(): Promise<unknown>; | ||
}; | ||
export type SchemaMap<SupportedMessageTypes extends string> = Record<SupportedMessageTypes, ZodSchema<any>>; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.waitAndRetry = void 0; | ||
const waitAndRetry = async (predicateFn, sleepTime = 100, maxRetryCount = 0) => { | ||
const waitAndRetry = async (predicateFn, sleepTime = 20, maxRetryCount = 15) => { | ||
return new Promise((resolve, reject) => { | ||
@@ -6,0 +6,0 @@ let retryCount = 0; |
{ | ||
"name": "@message-queue-toolkit/core", | ||
"version": "2.0.0", | ||
"version": "3.0.0", | ||
"private": false, | ||
@@ -30,4 +30,4 @@ "license": "MIT", | ||
"@types/node": "^20.4.1", | ||
"@typescript-eslint/eslint-plugin": "^5.62.0", | ||
"@typescript-eslint/parser": "^5.62.0", | ||
"@typescript-eslint/eslint-plugin": "^6.2.1", | ||
"@typescript-eslint/parser": "^6.2.1", | ||
"del-cli": "^5.0.0", | ||
@@ -34,0 +34,0 @@ "eslint": "^8.44.0", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
25715
28
366