@namesmt/hono-adapter-aws-lambda is a fork of hono's aws-lambda
adapter, experimenting and adding some extra features
- add router support for trigger events.
-
I.e, support for S3, SQS, etc. triggers, which would also support a simpler cross-function call interface.
Support is added with a few noticesMust usegetTriggerPath()
when defining a trigger routeMust usefixTriggerRoute()
to support basePath / grouping
- A refactor of the trigger routing support have been released, it now supports multiple routes on the same eventSource, uses a factory pattern, and decoupled the trigger context (middlewares, env bindings) from our main Hono app, see #10 for more information.
-
# pnpm (recommended)
pnpm install @namesmt/hono-adapter-aws-lambda
// ESM
import { handle, streamHandle } from '@namesmt/hono-adapter-aws-lambda'
Fast example of accepting an S3 trigger event
import type { S3Event } from 'aws-lambda' // You need to install `@types/aws-lambda`
import { createTriggerFactory, handle, streamHandle } from '@namesmt/hono-adapter-aws-lambda'
interface Bindings {
event: { Records: Array<{ eventName: string }> }
}
const app = new Hono<{ Bindings: Bindings }>()
const triggerFactory = createTriggerFactory(app)
triggerFactory.on('aws:s3', '$!', c => c.text((c.env.event as S3Event).Records[0].eventName))
See some more examples in the test file: test/index.test.ts