EventHandlingMixin

Hierarchy

↳ OneToManyHandlingMixin

  • OneToManyHandlingMixin

    ↳ EventHandlingMixin

Implements

Index

Constructors

Properties

Methods

Constructors

constructor

+ new EventHandlingMixin(): EventHandlingMixin

Inherited from HandlingMixin.constructor

Overrides void

Returns: EventHandlingMixin

Properties

eventBus

• eventBus: EventBus

Methods

ensureHandleability

▸ ensureHandleability(messageType: MessageType‹Message›, handleableTypes?: MessageType‹Message› | MessageType‹Message›[]): boolean

Implementation of Publisher

Inherited from HandlingMixin.ensureHandleability

Overrides CancelingEmployment.ensureHandleability

Parameters:

NameType
messageTypeMessageType‹Message›
handleableTypes?MessageType‹Message› | MessageType‹Message›[]

Returns: boolean


getHandleableTypes

▸ getHandleableTypes(): MessageType‹Message›[]

Implementation of Publisher

Inherited from HandlingMixin.getHandleableTypes

Overrides CancelingEmployment.getHandleableTypes

Returns: MessageType‹Message›[]


getHandled

▸ getHandled(messageType: MessageType‹Message›): MessageType‹Message›[]

Implementation of Publisher

Inherited from HandlingMixin.getHandled

Overrides CancelingEmployment.getHandled

Parameters:

NameType
messageTypeMessageType‹Message›

Returns: MessageType‹Message›[]


getHandledCommands

▸ getHandledCommands(): MessageType‹Command›[]

Inherited from HandlingMixin.getHandledCommands

Overrides CancelingEmployment.getHandledCommands

Returns: MessageType‹Command›[]


getHandledEvents

▸ getHandledEvents(): MessageType‹Event›[]

Inherited from HandlingMixin.getHandledEvents

Overrides CancelingEmployment.getHandledEvents

Returns: MessageType‹Event›[]


getHandledMessages

▸ getHandledMessages(): MessageType‹Message›[]

Inherited from HandlingMixin.getHandledMessages

Overrides CancelingEmployment.getHandledMessages

Returns: MessageType‹Message›[]


getHandledTypes

▸ getHandledTypes(): MessageType‹Message›[]

Implementation of Publisher

Inherited from HandlingMixin.getHandledTypes

Overrides CancelingEmployment.getHandledTypes

Returns: MessageType‹Message›[]


getHandledTypesNames

▸ getHandledTypesNames(): TypeName[]

Inherited from HandlingMixin.getHandledTypesNames

Overrides CancelingEmployment.getHandledTypesNames

Returns: TypeName[]


getHandler

▸ getHandler(messageType: MessageType‹Message›): Handler[] | undefined

Implementation of Publisher

Inherited from OneToManyHandlingMixin.getHandler

Overrides void

Parameters:

NameType
messageTypeMessageType‹Message›

Returns: Handler[] | undefined


getHandlerOrThrow

▸ getHandlerOrThrow(messageType: MessageType‹Message›): Handler[]

Implementation of Publisher

Inherited from OneToManyHandlingMixin.getHandlerOrThrow

Overrides void

Parameters:

NameType
messageTypeMessageType‹Message›

Returns: Handler[]


getHandlers

▸ getHandlers(): Map‹MessageType‹Message›, Handler | Handler[]›

Implementation of Publisher

Inherited from HandlingMixin.getHandlers

Overrides CancelingEmployment.getHandlers

Returns: Map‹MessageType‹Message›, Handler | Handler[]›


getSubscribedEvents

▸ getSubscribedEvents(): MessageType‹Event›[]

alias getHandledEvents

Returns: MessageType‹Event›[]


getTypeByHandler

▸ getTypeByHandler(handlerReference: Handler): any | undefined

Inherited from OneToManyHandlingMixin.getTypeByHandler

Overrides void

Parameters:

NameType
handlerReferenceHandler

Returns: any | undefined


handle

▸ handle(message: Message, execution?: Execution): Promise‹void›

Implementation of Publisher

Inherited from OneToManyHandlingMixin.handle

Overrides void

Parameters:

NameType
messageMessage
execution?Execution

Returns: Promise‹void›


handles

▸ handles(): Map‹MessageType‹Command›, Handler›

Implementation of Publisher

Inherited from HandlingMixin.handles

Overrides CancelingEmployment.handles

Returns: Map‹MessageType‹Command›, Handler›


hasHandler

▸ hasHandler(messageType: MessageType‹Message›): boolean

Implementation of Publisher

Inherited from HandlingMixin.hasHandler

Overrides CancelingEmployment.hasHandler

Parameters:

NameType
messageTypeMessageType‹Message›

Returns: boolean


initialize

▸ initialize(): void

Implementation of Publisher

Overrides OneToManyHandlingMixin.initialize

Initializes EventHandlingMixin.

remarks By defining handler mappings on metadata with annotations: @subscribe and resolving those mapping with subscribes method - it ensures, that there is no leakage in between inheriting classes.

Returns: void


isHandleabe

▸ isHandleabe(messageType: MessageType‹Message›, handleableTypes?: MessageType‹Message› | MessageType‹Message›[]): boolean

Inherited from HandlingMixin.isHandleabe

Overrides CancelingEmployment.isHandleabe

Parameters:

NameType
messageTypeMessageType‹Message›
handleableTypes?MessageType‹Message› | MessageType‹Message›[]

Returns: boolean


on

▸ on(event: Event): Promise‹void›

alias handle

async

Parameters:

NameTypeDescription
eventEventInstance implementing Event interface.

Returns: Promise‹void›


overrideHandler

▸ overrideHandler(messageType: MessageType‹Message›, handler: Handler): void

Implementation of Publisher

Inherited from HandlingMixin.overrideHandler

Overrides CancelingEmployment.overrideHandler

Parameters:

NameType
messageTypeMessageType‹Message›
handlerHandler

Returns: void


publish

▸ publish(event: Event): Promise‹void›

Implementation of Publisher

Publishes(handles) event instance on event bus.

async

Parameters:

NameTypeDescription
eventEventInstance implementing Event interface.

Returns: Promise‹void›


registerEventHandler

▸ registerEventHandler(eventType: MessageType‹Event›, handler: Handler, shouldOverride?: boolean): void

Registers event handler and subscribes to that event on event bus.

throws {UnhandleableTypeError} Thrown if the type argument is not one of handleable types.

throws {InvalidHandlerError} Thrown if the handler argument is not a function.

Parameters:

NameTypeDescription
eventTypeMessageType‹Event›A Event type for which handler mapping will be created.
handlerHandlerHandler function that will executed upon handling type.
shouldOverride?booleanFlag indicating that handler should be overridden if exist.

Returns: void


registerHandler

▸ registerHandler(messageType: MessageType‹Message›, handler: Handler, shouldOverride?: boolean): void

Implementation of Publisher

Inherited from OneToManyHandlingMixin.registerHandler

Overrides HandlingMixin.registerHandler

Parameters:

NameType
messageTypeMessageType‹Message›
handlerHandler
shouldOverride?boolean

Returns: void


removeHandler

▸ removeHandler(messageType: MessageType‹Message›): void

Implementation of Publisher

Inherited from HandlingMixin.removeHandler

Overrides CancelingEmployment.removeHandler

Parameters:

NameType
messageTypeMessageType‹Message›

Returns: void


setHandleableTypes

▸ setHandleableTypes(handleableTypes: MessageType‹Message› | MessageType‹Message›[]): void

Implementation of Publisher

Inherited from HandlingMixin.setHandleableTypes

Overrides CancelingEmployment.setHandleableTypes

Parameters:

NameType
handleableTypesMessageType‹Message› | MessageType‹Message›[]

Returns: void


subscribeTo

▸ subscribeTo(eventType: MessageType‹Event›, handler: Handler, shouldOverride?: boolean): void

Subscribes to event(registers handler).

alias registerEventHandler

Parameters:

NameType
eventTypeMessageType‹Event›
handlerHandler
shouldOverride?boolean

Returns: void


subscribes

▸ subscribes(): Map‹MessageType‹Event›, Handler›

Implementation of Publisher

Inherited from HandlingMixin.subscribes

Overrides CancelingEmployment.subscribes

Returns: Map‹MessageType‹Event›, Handler›