@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
18 lines (17 loc) • 883 B
TypeScript
import type { Either } from '@lokalise/node-core';
import type { CommonEventDefinition } from '@message-queue-toolkit/schemas';
import type { ZodSchema } from 'zod';
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, CommonEventDefinition>;
private readonly messageSchemas;
private readonly messageTypeField;
constructor(options: MessageSchemaContainerOptions<MessagePayloadSchemas>);
resolveSchema(message: Record<string, any>): Either<Error, ZodSchema<MessagePayloadSchemas>>;
private resolveSchemaMap;
private resolveDefinitionsMap;
}