hono-adapter-aws-lambda
v1.3.0
Published
[![npm version][npm-version-src]][npm-version-href] [![npm downloads][npm-downloads-src]][npm-downloads-href] [![Codecov][codecov-src]][codecov-href] [![Bundlejs][bundlejs-src]][bundlejs-href] [![jsDocs.io][jsDocs-src]][jsDocs-href]
Downloads
245
Readme
hono-adapter-aws-lambda
hono-adapter-aws-lambda is a fork of hono's aws-lambda
adapter, experimenting and adding some extra features
Features, Changes & Roadmap
- [x] Codebase is refactored quite a bit.
- [x] Add routing support for trigger events.
I.e, support for S3, SQS, etc. triggers, which would also support a simpler cross-function call interface.
- Multiple routes on the same eventSource support.
- Uses a factory pattern, the internal trigger context (middlewares, env bindings) is decoupled from the main Hono app.
- See #10 for more information.
- [x] Support returning a Lambda response result directly, useful for returning the response of another invoked function.
Usage
Install package:
# pnpm (recommended)
pnpm install hono-adapter-aws-lambda
Import:
// ESM
import { handle, streamHandle } from 'hono-adapter-aws-lambda'
Examples:
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 '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