@dolittle/sdk.events.handling
Version:
Dolittle is a decentralized, distributed, event-driven microservice platform built to harness the power of events.
36 lines • 1.82 kB
TypeScript
import { IEquatable } from '@dolittle/rudiments';
import { IClientBuildResults } from '@dolittle/sdk.common';
import { IServiceProviderBuilder } from '@dolittle/sdk.dependencyinversion';
import { IEventTypes } from '@dolittle/sdk.events';
import { EventHandlerDecoratedType } from './EventHandlerDecoratedType';
import { IEventHandler } from '../IEventHandler';
/**
* Represents a builder for building an event handler from a class.
* @template T The event handler class type.
*/
export declare class EventHandlerClassBuilder<T> implements IEquatable {
readonly type: EventHandlerDecoratedType;
readonly instance?: T | undefined;
private readonly _bindingCallback;
/**
* Initialises a new instance of the {@link EventHandlerClassBuilder} class.
* @param {EventHandlerDecoratedType} type - The decorated event handler type of the class.
* @param {T} [instance] - An optional instance of the class to use when processing.
*/
constructor(type: EventHandlerDecoratedType, instance?: T | undefined);
/** @inheritdoc */
equals(other: any): boolean;
/**
* Builds the event handler.
* @param {IEventTypes} eventTypes - For event types resolution.
* @param {IServiceProviderBuilder} bindings - For registering the bindings for the event handler class.
* @param {IClientBuildResults} results - For keeping track of build results.
* @returns {IEventHandler | undefined} The built event handler if successful.
*/
build(eventTypes: IEventTypes, bindings: IServiceProviderBuilder, results: IClientBuildResults): IEventHandler | undefined;
private tryAddAllEventHandlerMethods;
private createEventHandlerMethod;
private tryGetEventTypeFromMethod;
private eventTypeIsId;
}
//# sourceMappingURL=EventHandlerClassBuilder.d.ts.map