UNPKG

@worktif/purews

Version:

Work TIF TypeScript-based AWS infrastructure toolkit featuring DynamoDB integration, AppSync support, SES functionality, and GraphQL capabilities with comprehensive audit logging and AWS Signature V4 authentication.

37 lines (36 loc) 2.22 kB
import 'reflect-metadata'; import middy from '@middy/core'; import { z } from 'zod'; import { SQSEvent } from 'aws-lambda'; import { APIGatewayProxyEventBase } from 'aws-lambda/trigger/api-gateway-proxy'; import { ApiResponse, LoggerInstance, Maybe } from '@worktif/utils'; import { LambdaContext } from '@utils/utils.types'; import { InternalContext, LambdaEventApi, LambdaEventMethod, LambdaEventSqs } from '@services/lambda'; /** * Composes a lambda logger. * * @param {any} event - The event object. * @param {LambdaContext} context - The context object. * @param {InternalContext} [internalContext] - The internal context object. * @returns {Promise<Maybe<LoggerInstance>>} - A Promise that resolves to a Maybe<LoggerInstance> object. */ export declare function composeLambdaLogger(event: any, context: LambdaContext, internalContext?: InternalContext): Promise<Maybe<LoggerInstance>>; /** * Wraps a lambda purenow.handler function with API Gateway proxy event and context into a middy middleware. * @param {Function} lambdaHandler - The lambda purenow.handler function to be wrapped. * @param {Object} internalContext - Internal context object. Optional. * @returns {Function} - The wrapped lambda purenow.handler function. */ export declare const lambdaApi: <T, TMethod extends LambdaEventMethod>(lambdaHandler: <TEvent extends T>(event: LambdaEventApi<TEvent, TMethod>, context: LambdaContext, internalContext?: InternalContext) => Promise<ApiResponse>, internalContext?: InternalContext, schema?: z.ZodSchema<any>) => middy.MiddyfiedHandler<APIGatewayProxyEventBase<any>, any, Error, import("aws-lambda").Context, { [key: string]: unknown; }>; /** * Executes a Lambda function that handles SQS events. * * @param {Function} lambdaHandler - The Lambda handler function. * @param {object} [internalContext] - Internal context object. * @returns {Function} - The executed Lambda function. */ export declare const lambdaSqs: <T>(lambdaHandler: (event: LambdaEventSqs<T>, context: LambdaContext, internalContext?: InternalContext) => Promise<void>, internalContext?: InternalContext) => middy.MiddyfiedHandler<SQSEvent, any, Error, import("aws-lambda").Context, { [key: string]: unknown; }>;