@josselinesanchez/event-lambda-toolkit
v1.0.4
Published
Librería **TypeScript** que proporciona herramientas reutilizables para el formateo de eventos entrantes en AWS Lambda y la invocación de funciones Lambda, usando patrón **Facade**.
Readme
🗃️ @josselinesanchez/event-lambda-toolkit
Librería TypeScript que proporciona herramientas reutilizables para el formateo de eventos entrantes en AWS Lambda y la invocación de funciones Lambda, usando patrón Facade.
- Parseo avanzado de eventos entrantes (headers, body, auth).
- Invocación de otras Lambdas con AWS SDK v3.
Ideal para arquitecturas serverless en Node.js.
Toolkit modular para eventos Lambda, diseñado con buenas prácticas de arquitectura y extensibilidad.
📦 Instalación
npm install @josselinesanchez/event-lambda-toolkit🚀 Ejemplo de uso
import { LambdaToolkit } from '@josselinesanchez/event-lambda-toolkit'
// Parsear evento entrante (headers, body, auth, query, path)
const event = LambdaToolkit.formatEvent(rawEvent)
// Invocar otra función Lambda
const result = await LambdaToolkit.invokeFunction(
{ region: 'us-east-1' },
'function-name',
{ data: 'payload' }
)
console.log(result)🔍 Tipos y contratos
export interface Event {
body: any
headers: Record<string, any>
queryParams: Record<string, any>
pathParams: Record<string, any>
}export interface LambdaInvokerRepository {
invokeLambda(
options: LambdaInvokeOptions,
functionName: string,
payload: any,
invocationType?: InvocationType
): Promise<InvocationResponse>
}
📁 Estructura del proyecto
event-lambda-toolkit/
├─ .qodo/
├─ libs/
│ ├─ facade/
│ │ ├─ index.ts
│ │ └─ LambdaToolkit.ts
│ ├─ interfaces/
│ │ ├─ Event.ts
│ │ ├─ index.ts
│ │ └─ LambdaInvokerRepository.ts
│ ├─ services/
│ │ ├─ EventFormatter.ts
│ │ ├─ index.ts
│ │ └─ LambdaInvokerService.ts
│ └─ index.ts
├─ .editorconfig
├─ .gitignore
├─ .gitlab-ci.yml
├─ jest.config.js
├─ package-lock.json
├─ package.json
├─ README.md
└─ tsconfig.json
🧪 Testing
Incluye pruebas unitarias con Jest. Ejecuta:
📌 Roadmap
[x] Formateo de eventos Lambda
[x] Invocación de Lambdas remotas
[ ] Middleware para eventos API Gateway
[ ] Soporte para eventos SQS/SNS
[ ] Decoradores para autorización
🤝 Contribuciones
¡Las contribuciones son bienvenidas! Puedes enviar un PR o abrir un Issue para sugerencias, errores o mejoras.
📄 Licencia
MIT © Krafox by Josseline Sánchez
