@message-queue-toolkit/core
Version:
Useful utilities, interfaces and base classes for message queue handling. Supports AMQP and SQS with a common abstraction on top currently
17 lines (16 loc) • 856 B
TypeScript
import type { Either } from '@lokalise/node-core';
import type { CommonEventDefinition } from '@message-queue-toolkit/schemas';
import type { ZodSchema } from 'zod/v4';
export type MessageSchemaContainerOptions<MessagePayloadSchemas extends object> = {
messageDefinitions: readonly CommonEventDefinition[];
messageSchemas: readonly ZodSchema<MessagePayloadSchemas>[];
messageTypeField?: string;
};
export declare class MessageSchemaContainer<MessagePayloadSchemas extends object> {
readonly messageDefinitions: Record<string | symbol, CommonEventDefinition>;
private readonly messageSchemas;
private readonly messageTypeField?;
constructor(options: MessageSchemaContainerOptions<MessagePayloadSchemas>);
resolveSchema(message: Record<string, any>): Either<Error, ZodSchema<MessagePayloadSchemas>>;
private resolveMap;
}