UNPKG

@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
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; }