Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@message-queue-toolkit/core

Package Overview
Dependencies
Maintainers
3
Versions
59
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@message-queue-toolkit/core - npm Package Compare versions

Comparing version 13.1.0 to 13.2.0

5

dist/lib/events/DomainEventEmitter.d.ts

@@ -0,3 +1,4 @@

import type { MessageMetadataType } from '../messages/baseMessageSchemas';
import type { EventRegistry } from './EventRegistry';
import type { AnyEventHandler, SingleEventHandler, CommonEventDefinition, CommonEventDefinitionSchemaType, EventTypeNames } from './eventTypes';
import type { AnyEventHandler, SingleEventHandler, CommonEventDefinition, EventTypeNames, CommonEventDefinitionPublisherSchemaType } from './eventTypes';
export declare class DomainEventEmitter<SupportedEvents extends CommonEventDefinition[]> {

@@ -10,3 +11,3 @@ private readonly eventRegistry;

});
emit<SupportedEvent extends SupportedEvents[number]>(supportedEvent: SupportedEvent, data: Omit<CommonEventDefinitionSchemaType<SupportedEvent>, 'type'>): Promise<void>;
emit<SupportedEvent extends SupportedEvents[number]>(supportedEvent: SupportedEvent, data: Omit<CommonEventDefinitionPublisherSchemaType<SupportedEvent>, 'type'>, metadata?: Partial<MessageMetadataType>): Promise<void>;
/**

@@ -13,0 +14,0 @@ * Register handler for a specific event

8

dist/lib/events/DomainEventEmitter.js

@@ -12,4 +12,4 @@ "use strict";

}
async emit(supportedEvent, data) {
const eventTypeName = supportedEvent.consumerSchema.shape.type.value;
async emit(supportedEvent, data, metadata) {
const eventTypeName = supportedEvent.publisherSchema.shape.type.value;
if (!this.eventRegistry.isSupportedEvent(eventTypeName)) {

@@ -34,7 +34,7 @@ throw new node_core_1.InternalError({

for (const handler of eventHandlers) {
await handler.handleEvent(validatedEvent);
await handler.handleEvent(validatedEvent, metadata);
}
}
for (const handler of this.anyHandlers) {
await handler.handleEvent(validatedEvent);
await handler.handleEvent(validatedEvent, metadata);
}

@@ -41,0 +41,0 @@ }

import type { ZodObject, ZodTypeAny } from 'zod';
import type z from 'zod';
import type { MessageMetadataType } from '../messages/baseMessageSchemas';
import type { CONSUMER_BASE_EVENT_SCHEMA, PUBLISHER_BASE_EVENT_SCHEMA } from './baseEventSchemas';
export type EventTypeNames<EventDefinition extends CommonEventDefinition> = CommonEventDefinitionSchemaType<EventDefinition>['type'];
export type EventTypeNames<EventDefinition extends CommonEventDefinition> = CommonEventDefinitionConsumerSchemaType<EventDefinition>['type'];
export type CommonEventDefinition = {

@@ -14,11 +15,12 @@ consumerSchema: ZodObject<Omit<(typeof CONSUMER_BASE_EVENT_SCHEMA)['shape'], 'payload'> & {

};
export type CommonEventDefinitionSchemaType<T extends CommonEventDefinition> = z.infer<T['consumerSchema']>;
export type EventHandler<EventDefinitionSchema extends CommonEventDefinitionSchemaType<CommonEventDefinition> = CommonEventDefinitionSchemaType<CommonEventDefinition>> = {
handleEvent(event: EventDefinitionSchema): void | Promise<void>;
export type CommonEventDefinitionConsumerSchemaType<T extends CommonEventDefinition> = z.infer<T['consumerSchema']>;
export type CommonEventDefinitionPublisherSchemaType<T extends CommonEventDefinition> = z.infer<T['publisherSchema']>;
export type EventHandler<EventDefinitionSchema extends CommonEventDefinitionConsumerSchemaType<CommonEventDefinition> = CommonEventDefinitionConsumerSchemaType<CommonEventDefinition>, MetadataDefinitionSchema extends Partial<MessageMetadataType> = Partial<MessageMetadataType>> = {
handleEvent(event: EventDefinitionSchema, metadata?: MetadataDefinitionSchema): void | Promise<void>;
};
export type AnyEventHandler<EventDefinitions extends CommonEventDefinition[]> = EventHandler<CommonEventDefinitionSchemaType<EventDefinitions[number]>>;
export type AnyEventHandler<EventDefinitions extends CommonEventDefinition[]> = EventHandler<CommonEventDefinitionConsumerSchemaType<EventDefinitions[number]>>;
export type SingleEventHandler<EventDefinition extends CommonEventDefinition[], EventTypeName extends EventTypeNames<EventDefinition[number]>> = EventHandler<EventFromArrayByTypeName<EventDefinition, EventTypeName>>;
type EventFromArrayByTypeName<EventDefinition extends CommonEventDefinition[], EventTypeName extends EventTypeNames<EventDefinition[number]>> = Extract<CommonEventDefinitionSchemaType<EventDefinition[number]>, {
type EventFromArrayByTypeName<EventDefinition extends CommonEventDefinition[], EventTypeName extends EventTypeNames<EventDefinition[number]>> = Extract<CommonEventDefinitionConsumerSchemaType<EventDefinition[number]>, {
type: EventTypeName;
}>;
export {};

@@ -0,6 +1,8 @@

import type { MessageMetadataType } from '../../messages/baseMessageSchemas';
import type { AnyEventHandler, CommonEventDefinition } from '../eventTypes';
export declare class FakeListener<SupportedEvents extends CommonEventDefinition[]> implements AnyEventHandler<SupportedEvents> {
receivedEvents: SupportedEvents[number]['consumerSchema']['_output'][];
receivedMetadata: MessageMetadataType[];
constructor(_supportedEvents: SupportedEvents);
handleEvent(event: SupportedEvents[number]['consumerSchema']['_output']): void | Promise<void>;
handleEvent(event: SupportedEvents[number]['consumerSchema']['_output'], metadata: MessageMetadataType): void | Promise<void>;
}

@@ -6,7 +6,9 @@ "use strict";

receivedEvents = [];
receivedMetadata = [];
constructor(_supportedEvents) {
this.receivedEvents = [];
}
handleEvent(event) {
handleEvent(event, metadata) {
this.receivedEvents.push(event);
this.receivedMetadata.push(metadata);
}

@@ -13,0 +15,0 @@ }

{
"name": "@message-queue-toolkit/core",
"version": "13.1.0",
"version": "13.2.0",
"private": false,

@@ -5,0 +5,0 @@ "license": "MIT",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc