@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
TypeScript
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;
}>;