UNPKG

@teamsight/flight

Version:

Lambda life cycles

16 lines (15 loc) 842 B
import "reflect-metadata"; import { Context } from "aws-lambda"; export interface IHandler<TEvent = any, TResult = any> { execute(event: TEvent, context: Context): Promise<TResult>; } export declare abstract class Handler<TEvent, TResult> implements IHandler<TEvent, TResult> { execute(event: TEvent, context: Context): Promise<TResult>; protected validateEvent(event: TEvent): Promise<TEvent>; protected preRun(event: TEvent, context: Context): Promise<void>; protected postRun(event: TEvent, context: Context): Promise<void>; protected abstract run(event: TEvent, context: Context): Promise<TResult>; protected abstract processEvent(event: TEvent): Promise<TEvent>; protected abstract processResponse(response: TResult): Promise<TResult>; protected abstract processError(err: Error): Promise<TResult>; }