@bitblit/ratchet-epsilon-common
Version:
Tiny adapter to simplify building API gateway Lambda APIS
31 lines (30 loc) • 1.59 kB
TypeScript
import { Context, ProxyResult, SNSEvent } from 'aws-lambda';
import { ModelValidator } from '@bitblit/ratchet-misc/model-validator/model-validator';
import { BackgroundConfig } from '../config/background/background-config.js';
import { InternalBackgroundEntry } from './internal-background-entry.js';
import { EpsilonLambdaEventHandler } from '../config/epsilon-lambda-event-handler.js';
import { BackgroundManagerLike } from './manager/background-manager-like.js';
export declare class BackgroundHandler implements EpsilonLambdaEventHandler<SNSEvent> {
private cfg;
private mgr;
private modelValidator?;
private processors;
private validator;
constructor(cfg: BackgroundConfig, mgr: BackgroundManagerLike, modelValidator?: ModelValidator);
get validProcessorNames(): string[];
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;
}