UNPKG

@bitblit/epsilon

Version:

Tiny adapter to simplify building API gateway Lambda APIS

34 lines (33 loc) 1.63 kB
import { Context, ProxyResult, SNSEvent } from 'aws-lambda'; import { BackgroundConfig } from '../config/background/background-config'; import { InternalBackgroundEntry } from './internal-background-entry'; import { EpsilonLambdaEventHandler } from '../config/epsilon-lambda-event-handler'; import { BackgroundManagerLike } from './manager/background-manager-like'; import { ModelValidator } from '@bitblit/ratchet/model-validator'; /** * We use a FIFO queue so that 2 different Lambdas don't both work on the same * thing at the same time. */ export declare class BackgroundHandler implements EpsilonLambdaEventHandler<SNSEvent> { private cfg; private mgr; private modelValidator?; private processors; private validator; constructor(cfg: BackgroundConfig, mgr: BackgroundManagerLike, modelValidator?: ModelValidator); extractLabel(evt: SNSEvent, context: Context): string; handlesEvent(evt: any): boolean; isBackgroundSNSEvent(event: any): boolean; isBackgroundStartSnsEvent(event: any): boolean; isBackgroundImmediateFireEvent(event: any): boolean; parseImmediateFireBackgroundEntry(event: any): InternalBackgroundEntry<any>; processEvent(event: any, context: Context): Promise<ProxyResult>; private takeAndProcessSingleBackgroundQueueEntry; private safeWriteToLogger; private conditionallyStartTransactionLog; private conditionallyCompleteTransactionLog; private conditionallyRunErrorProcessor; private fireListenerEvent; processSingleBackgroundEntry(inE: InternalBackgroundEntry<any>): Promise<boolean>; getConfig(): BackgroundConfig; }