/
githubmirror
/
trpc
Обзор
Документация
Войти
/
githubmirror
/
trpc
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
examples/lambda-api-gateway/src/server.ts
35 строк
1022 B
Alex / KATT
chore: remove overzealous destructuring (#6930)
05 сен 2025, 19:46
Не верифицирован
05 сен 2025, 19:46
029196b
Код
Авторство
О чём код?
import { initTRPC } from '@trpc/server'; import type { CreateAWSLambdaContextOptions } from '@trpc/server/adapters/aws-lambda'; import { awsLambdaRequestHandler } from '@trpc/server/adapters/aws-lambda'; import type { APIGatewayProxyEvent } from 'aws-lambda'; import { z } from 'zod'; function createContext({ event, context, }: CreateAWSLambdaContextOptions<APIGatewayProxyEvent>) { return { event: event, apiVersion: (event as { version?: string }).version ?? '1.0', user: event.headers['x-user'], }; } type Context = Awaited<ReturnType<typeof createContext>>; const t = initTRPC.context<Context>().create(); const publicProcedure = t.procedure; const router = t.router; const appRouter = router({ greet: publicProcedure.input(z.object({ name: z.string() })).query((opts) => { return `Greetings, ${opts.input.name}. x-user?: ${opts.ctx.user}.`; }), }); export type AppRouter = typeof appRouter; export const handler = awsLambdaRequestHandler({ router: appRouter, createContext, });