@studyportals/sp-r2d2
Version:
A framework that contains various components used when developing projects that will be deployed via AWS λ.
18 lines (17 loc) • 1.31 kB
TypeScript
import { Context } from 'aws-lambda';
import { IRequestHandlerFactory } from '../../application';
import { IResponseSenderFactory } from '../core/response-sending-interfaces/i-response-sender-factory.interface';
import { IBootstrapperFactory } from '../bootstrapping-interfaces/i-bootstrapper-factory.interface';
import { IEventTranslatorFactory } from '../core/event-translation-interfaces/i-event-translator-factory.interface';
import { IEventHandler } from '../core/event-handling-interfaces/i-event-handler.interface';
export declare class LambdaHandler<TEvent> {
protected readonly responseSenderFactory: IResponseSenderFactory;
protected readonly bootstrapperFactory: IBootstrapperFactory;
protected readonly eventTranslatorFactory: IEventTranslatorFactory<TEvent>;
protected readonly requestHandlerFactory: IRequestHandlerFactory;
constructor(responseSenderFactory: IResponseSenderFactory, bootstrapperFactory: IBootstrapperFactory, eventTranslatorFactory: IEventTranslatorFactory<TEvent>, requestHandlerFactory: IRequestHandlerFactory);
run(event: TEvent, lambdaContext: Context): Promise<unknown>;
toFunction(): (event: TEvent, lambdaContext: Context) => Promise<unknown>;
protected createApplicationEventHandler(): IEventHandler<TEvent>;
private createEventHandler;
}