[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-trpc-adapter-aws-lambda":3,"mdc-qzthk3-key":40,"related-org-trpc-adapter-aws-lambda":3183,"related-repo-trpc-adapter-aws-lambda":3339},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":35,"sourceUrl":38,"mdContent":39},"adapter-aws-lambda","deploy tRPC APIs on AWS Lambda","Deploy tRPC on AWS Lambda with awsLambdaRequestHandler() from @trpc\u002Fserver\u002Fadapters\u002Faws-lambda for API Gateway v1 (REST, APIGatewayProxyEvent) and v2 (HTTP, APIGatewayProxyEventV2), and Lambda Function URLs. Enable response streaming with awsLambdaStreamingRequestHandler() wrapped in awslambda.streamifyResponse(). CreateAWSLambdaContextOptions provides event and context for context creation.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"trpc","tRPC","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Ftrpc.png",[12,16,17,20],{"name":13,"slug":14,"type":15},"Backend","backend","tag",{"name":9,"slug":8,"type":15},{"name":18,"slug":19,"type":15},"API Development","api-development",{"name":21,"slug":22,"type":15},"AWS","aws",40424,"https:\u002F\u002Fgithub.com\u002Ftrpc\u002Ftrpc","2026-07-18T05:47:05.451869",null,1636,[29,30,31,32,33,34],"api","next","nextjs","prisma","react","typescript",{"repoUrl":24,"stars":23,"forks":27,"topics":36,"description":37},[29,30,31,32,33,34],"🧙‍♀️  Move Fast and Break Nothing. End-to-end typesafe APIs made easy. ","https:\u002F\u002Fgithub.com\u002Ftrpc\u002Ftrpc\u002Ftree\u002FHEAD\u002Fpackages\u002Fserver\u002Fskills\u002Fadapter-aws-lambda","---\nname: adapter-aws-lambda\ndescription: >\n  Deploy tRPC on AWS Lambda with awsLambdaRequestHandler() from\n  @trpc\u002Fserver\u002Fadapters\u002Faws-lambda for API Gateway v1 (REST, APIGatewayProxyEvent)\n  and v2 (HTTP, APIGatewayProxyEventV2), and Lambda Function URLs. Enable response\n  streaming with awsLambdaStreamingRequestHandler() wrapped in\n  awslambda.streamifyResponse(). CreateAWSLambdaContextOptions provides event and\n  context for context creation.\ntype: core\nlibrary: trpc\nlibrary_version: '11.16.0'\nrequires:\n  - server-setup\nsources:\n  - www\u002Fdocs\u002Fserver\u002Fadapters\u002Faws-lambda.md\n  - examples\u002Flambda-url\u002F\n  - examples\u002Flambda-api-gateway\u002F\n---\n\n# tRPC — Adapter: AWS Lambda\n\n## Setup\n\n```ts\n\u002F\u002F server.ts\nimport { initTRPC } from '@trpc\u002Fserver';\nimport type { CreateAWSLambdaContextOptions } from '@trpc\u002Fserver\u002Fadapters\u002Faws-lambda';\nimport { awsLambdaRequestHandler } from '@trpc\u002Fserver\u002Fadapters\u002Faws-lambda';\nimport type { APIGatewayProxyEventV2 } from 'aws-lambda';\nimport { z } from 'zod';\n\nconst t = initTRPC.create();\n\nconst appRouter = t.router({\n  greet: t.procedure\n    .input(z.object({ name: z.string() }))\n    .query(({ input }) => ({ greeting: `Hello, ${input.name}!` })),\n});\n\nexport type AppRouter = typeof appRouter;\n\nconst createContext = ({\n  event,\n  context,\n}: CreateAWSLambdaContextOptions\u003CAPIGatewayProxyEventV2>) => ({\n  event,\n  lambdaContext: context,\n});\n\nexport const handler = awsLambdaRequestHandler({\n  router: appRouter,\n  createContext,\n});\n```\n\n## Core Patterns\n\n### API Gateway v1 (REST) handler\n\n```ts\nimport type { CreateAWSLambdaContextOptions } from '@trpc\u002Fserver\u002Fadapters\u002Faws-lambda';\nimport { awsLambdaRequestHandler } from '@trpc\u002Fserver\u002Fadapters\u002Faws-lambda';\nimport type { APIGatewayProxyEvent } from 'aws-lambda';\nimport { appRouter } from '.\u002Frouter';\n\nconst createContext = ({\n  event,\n  context,\n}: CreateAWSLambdaContextOptions\u003CAPIGatewayProxyEvent>) => ({\n  user: event.requestContext.authorizer?.claims,\n});\n\nexport const handler = awsLambdaRequestHandler({\n  router: appRouter,\n  createContext,\n});\n```\n\nUse `APIGatewayProxyEvent` for REST API (v1 payload format) and `APIGatewayProxyEventV2` for HTTP API (v2 payload format).\n\n### Response streaming with awsLambdaStreamingRequestHandler\n\n```ts\n\u002F\u002F\u002F \u003Creference types=\"aws-lambda\" \u002F>\nimport type { CreateAWSLambdaContextOptions } from '@trpc\u002Fserver\u002Fadapters\u002Faws-lambda';\nimport { awsLambdaStreamingRequestHandler } from '@trpc\u002Fserver\u002Fadapters\u002Faws-lambda';\nimport type { APIGatewayProxyEventV2 } from 'aws-lambda';\nimport { appRouter } from '.\u002Frouter';\n\nconst createContext = ({\n  event,\n  context,\n}: CreateAWSLambdaContextOptions\u003CAPIGatewayProxyEventV2>) => ({});\n\nexport const handler = awslambda.streamifyResponse(\n  awsLambdaStreamingRequestHandler({\n    router: appRouter,\n    createContext,\n  }),\n);\n```\n\nResponse streaming is supported for Lambda Function URLs and API Gateway REST APIs (with `responseTransferMode: STREAM`). The `awslambda` namespace is provided by the Lambda execution environment.\n\n### Streaming async generator procedure\n\n```ts\nimport { initTRPC } from '@trpc\u002Fserver';\n\nconst t = initTRPC.create();\n\nexport const appRouter = t.router({\n  countdown: t.procedure.query(async function* () {\n    for (let i = 10; i >= 0; i--) {\n      await new Promise((resolve) => setTimeout(resolve, 500));\n      yield i;\n    }\n  }),\n});\n```\n\nPair with `httpBatchStreamLink` on the client for streamed responses.\n\n### Limiting batch size with maxBatchSize\n\n```ts\nimport { awsLambdaRequestHandler } from '@trpc\u002Fserver\u002Fadapters\u002Faws-lambda';\nimport { appRouter } from '.\u002Frouter';\n\nexport const handler = awsLambdaRequestHandler({\n  router: appRouter,\n  createContext,\n  maxBatchSize: 10,\n});\n```\n\nRequests batching more than `maxBatchSize` operations are rejected with a `400 Bad Request` error. Set `maxItems` on your client's `httpBatchLink` to the same value to avoid exceeding the limit.\n\n## Common Mistakes\n\n### HIGH Using httpBatchLink with per-procedure API Gateway resources\n\nWrong:\n\n```ts\n\u002F\u002F API Gateway has a separate resource for each procedure\n\u002F\u002F e.g., \u002FgetUser, \u002FcreateUser\n\u002F\u002F Client uses:\nimport { httpBatchLink } from '@trpc\u002Fclient';\n\nhttpBatchLink({ url: 'https:\u002F\u002Fapi.example.com' });\n\u002F\u002F Batch request to \u002FgetUser,createUser → 404\n```\n\nCorrect:\n\n```ts\nimport { httpBatchLink, httpLink } from '@trpc\u002Fclient';\n\n\u002F\u002F Option A: Single catch-all resource (e.g., \u002F{proxy+})\nhttpBatchLink({ url: 'https:\u002F\u002Fapi.example.com' });\n\n\u002F\u002F Option B: Per-procedure resources with httpLink (no batching)\nhttpLink({ url: 'https:\u002F\u002Fapi.example.com' });\n```\n\n`httpBatchLink` sends multiple procedure names in the URL path (e.g., `getUser,createUser`). If API Gateway routes are per-procedure, the combined path does not match any resource and returns 404. Use a single catch-all resource or switch to `httpLink`.\n\nSource: www\u002Fdocs\u002Fserver\u002Fadapters\u002Faws-lambda.md\n\n### HIGH Forgetting streamifyResponse wrapper for streaming\n\nWrong:\n\n```ts\nexport const handler = awsLambdaStreamingRequestHandler({\n  router: appRouter,\n  createContext,\n});\n```\n\nCorrect:\n\n```ts\nexport const handler = awslambda.streamifyResponse(\n  awsLambdaStreamingRequestHandler({\n    router: appRouter,\n    createContext,\n  }),\n);\n```\n\n`awsLambdaStreamingRequestHandler` requires wrapping with `awslambda.streamifyResponse()` to enable Lambda response streaming. Without it, Lambda treats the handler as a standard buffered response.\n\nSource: www\u002Fdocs\u002Fserver\u002Fadapters\u002Faws-lambda.md\n\n## See Also\n\n- **server-setup** -- `initTRPC.create()`, router\u002Fprocedure definition, context\n- **adapter-fetch** -- alternative for edge\u002Fserverless runtimes using Fetch API\n- **links** -- `httpBatchLink` vs `httpLink` for API Gateway routing considerations\n- AWS Lambda docs: https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Fdg\u002Fwelcome.html\n",{"data":41,"body":50},{"name":4,"description":6,"type":42,"library":8,"library_version":43,"requires":44,"sources":46},"core","11.16.0",[45],"server-setup",[47,48,49],"www\u002Fdocs\u002Fserver\u002Fadapters\u002Faws-lambda.md","examples\u002Flambda-url\u002F","examples\u002Flambda-api-gateway\u002F",{"type":51,"children":52},"root",[53,62,69,949,955,962,1374,1394,1400,1839,1860,1866,2258,2271,2277,2465,2502,2508,2514,2519,2655,2660,2840,2864,2869,2875,2879,2962,2966,3079,3098,3102,3108,3177],{"type":54,"tag":55,"props":56,"children":58},"element","h1",{"id":57},"trpc-adapter-aws-lambda",[59],{"type":60,"value":61},"text","tRPC — Adapter: AWS Lambda",{"type":54,"tag":63,"props":64,"children":66},"h2",{"id":65},"setup",[67],{"type":60,"value":68},"Setup",{"type":54,"tag":70,"props":71,"children":76},"pre",{"className":72,"code":73,"language":74,"meta":75,"style":75},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F server.ts\nimport { initTRPC } from '@trpc\u002Fserver';\nimport type { CreateAWSLambdaContextOptions } from '@trpc\u002Fserver\u002Fadapters\u002Faws-lambda';\nimport { awsLambdaRequestHandler } from '@trpc\u002Fserver\u002Fadapters\u002Faws-lambda';\nimport type { APIGatewayProxyEventV2 } from 'aws-lambda';\nimport { z } from 'zod';\n\nconst t = initTRPC.create();\n\nconst appRouter = t.router({\n  greet: t.procedure\n    .input(z.object({ name: z.string() }))\n    .query(({ input }) => ({ greeting: `Hello, ${input.name}!` })),\n});\n\nexport type AppRouter = typeof appRouter;\n\nconst createContext = ({\n  event,\n  context,\n}: CreateAWSLambdaContextOptions\u003CAPIGatewayProxyEventV2>) => ({\n  event,\n  lambdaContext: context,\n});\n\nexport const handler = awsLambdaRequestHandler({\n  router: appRouter,\n  createContext,\n});\n","ts","",[77],{"type":54,"tag":78,"props":79,"children":80},"code",{"__ignoreMap":75},[81,93,146,193,234,280,322,332,376,384,425,453,527,639,656,664,702,710,735,748,761,807,819,841,857,865,899,920,933],{"type":54,"tag":82,"props":83,"children":86},"span",{"class":84,"line":85},"line",1,[87],{"type":54,"tag":82,"props":88,"children":90},{"style":89},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[91],{"type":60,"value":92},"\u002F\u002F server.ts\n",{"type":54,"tag":82,"props":94,"children":96},{"class":84,"line":95},2,[97,103,109,115,120,125,130,136,141],{"type":54,"tag":82,"props":98,"children":100},{"style":99},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[101],{"type":60,"value":102},"import",{"type":54,"tag":82,"props":104,"children":106},{"style":105},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[107],{"type":60,"value":108}," {",{"type":54,"tag":82,"props":110,"children":112},{"style":111},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[113],{"type":60,"value":114}," initTRPC",{"type":54,"tag":82,"props":116,"children":117},{"style":105},[118],{"type":60,"value":119}," }",{"type":54,"tag":82,"props":121,"children":122},{"style":99},[123],{"type":60,"value":124}," from",{"type":54,"tag":82,"props":126,"children":127},{"style":105},[128],{"type":60,"value":129}," '",{"type":54,"tag":82,"props":131,"children":133},{"style":132},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[134],{"type":60,"value":135},"@trpc\u002Fserver",{"type":54,"tag":82,"props":137,"children":138},{"style":105},[139],{"type":60,"value":140},"'",{"type":54,"tag":82,"props":142,"children":143},{"style":105},[144],{"type":60,"value":145},";\n",{"type":54,"tag":82,"props":147,"children":149},{"class":84,"line":148},3,[150,154,159,163,168,172,176,180,185,189],{"type":54,"tag":82,"props":151,"children":152},{"style":99},[153],{"type":60,"value":102},{"type":54,"tag":82,"props":155,"children":156},{"style":99},[157],{"type":60,"value":158}," type",{"type":54,"tag":82,"props":160,"children":161},{"style":105},[162],{"type":60,"value":108},{"type":54,"tag":82,"props":164,"children":165},{"style":111},[166],{"type":60,"value":167}," CreateAWSLambdaContextOptions",{"type":54,"tag":82,"props":169,"children":170},{"style":105},[171],{"type":60,"value":119},{"type":54,"tag":82,"props":173,"children":174},{"style":99},[175],{"type":60,"value":124},{"type":54,"tag":82,"props":177,"children":178},{"style":105},[179],{"type":60,"value":129},{"type":54,"tag":82,"props":181,"children":182},{"style":132},[183],{"type":60,"value":184},"@trpc\u002Fserver\u002Fadapters\u002Faws-lambda",{"type":54,"tag":82,"props":186,"children":187},{"style":105},[188],{"type":60,"value":140},{"type":54,"tag":82,"props":190,"children":191},{"style":105},[192],{"type":60,"value":145},{"type":54,"tag":82,"props":194,"children":196},{"class":84,"line":195},4,[197,201,205,210,214,218,222,226,230],{"type":54,"tag":82,"props":198,"children":199},{"style":99},[200],{"type":60,"value":102},{"type":54,"tag":82,"props":202,"children":203},{"style":105},[204],{"type":60,"value":108},{"type":54,"tag":82,"props":206,"children":207},{"style":111},[208],{"type":60,"value":209}," awsLambdaRequestHandler",{"type":54,"tag":82,"props":211,"children":212},{"style":105},[213],{"type":60,"value":119},{"type":54,"tag":82,"props":215,"children":216},{"style":99},[217],{"type":60,"value":124},{"type":54,"tag":82,"props":219,"children":220},{"style":105},[221],{"type":60,"value":129},{"type":54,"tag":82,"props":223,"children":224},{"style":132},[225],{"type":60,"value":184},{"type":54,"tag":82,"props":227,"children":228},{"style":105},[229],{"type":60,"value":140},{"type":54,"tag":82,"props":231,"children":232},{"style":105},[233],{"type":60,"value":145},{"type":54,"tag":82,"props":235,"children":237},{"class":84,"line":236},5,[238,242,246,250,255,259,263,267,272,276],{"type":54,"tag":82,"props":239,"children":240},{"style":99},[241],{"type":60,"value":102},{"type":54,"tag":82,"props":243,"children":244},{"style":99},[245],{"type":60,"value":158},{"type":54,"tag":82,"props":247,"children":248},{"style":105},[249],{"type":60,"value":108},{"type":54,"tag":82,"props":251,"children":252},{"style":111},[253],{"type":60,"value":254}," APIGatewayProxyEventV2",{"type":54,"tag":82,"props":256,"children":257},{"style":105},[258],{"type":60,"value":119},{"type":54,"tag":82,"props":260,"children":261},{"style":99},[262],{"type":60,"value":124},{"type":54,"tag":82,"props":264,"children":265},{"style":105},[266],{"type":60,"value":129},{"type":54,"tag":82,"props":268,"children":269},{"style":132},[270],{"type":60,"value":271},"aws-lambda",{"type":54,"tag":82,"props":273,"children":274},{"style":105},[275],{"type":60,"value":140},{"type":54,"tag":82,"props":277,"children":278},{"style":105},[279],{"type":60,"value":145},{"type":54,"tag":82,"props":281,"children":283},{"class":84,"line":282},6,[284,288,292,297,301,305,309,314,318],{"type":54,"tag":82,"props":285,"children":286},{"style":99},[287],{"type":60,"value":102},{"type":54,"tag":82,"props":289,"children":290},{"style":105},[291],{"type":60,"value":108},{"type":54,"tag":82,"props":293,"children":294},{"style":111},[295],{"type":60,"value":296}," z",{"type":54,"tag":82,"props":298,"children":299},{"style":105},[300],{"type":60,"value":119},{"type":54,"tag":82,"props":302,"children":303},{"style":99},[304],{"type":60,"value":124},{"type":54,"tag":82,"props":306,"children":307},{"style":105},[308],{"type":60,"value":129},{"type":54,"tag":82,"props":310,"children":311},{"style":132},[312],{"type":60,"value":313},"zod",{"type":54,"tag":82,"props":315,"children":316},{"style":105},[317],{"type":60,"value":140},{"type":54,"tag":82,"props":319,"children":320},{"style":105},[321],{"type":60,"value":145},{"type":54,"tag":82,"props":323,"children":325},{"class":84,"line":324},7,[326],{"type":54,"tag":82,"props":327,"children":329},{"emptyLinePlaceholder":328},true,[330],{"type":60,"value":331},"\n",{"type":54,"tag":82,"props":333,"children":335},{"class":84,"line":334},8,[336,342,347,352,356,361,367,372],{"type":54,"tag":82,"props":337,"children":339},{"style":338},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[340],{"type":60,"value":341},"const",{"type":54,"tag":82,"props":343,"children":344},{"style":111},[345],{"type":60,"value":346}," t ",{"type":54,"tag":82,"props":348,"children":349},{"style":105},[350],{"type":60,"value":351},"=",{"type":54,"tag":82,"props":353,"children":354},{"style":111},[355],{"type":60,"value":114},{"type":54,"tag":82,"props":357,"children":358},{"style":105},[359],{"type":60,"value":360},".",{"type":54,"tag":82,"props":362,"children":364},{"style":363},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[365],{"type":60,"value":366},"create",{"type":54,"tag":82,"props":368,"children":369},{"style":111},[370],{"type":60,"value":371},"()",{"type":54,"tag":82,"props":373,"children":374},{"style":105},[375],{"type":60,"value":145},{"type":54,"tag":82,"props":377,"children":379},{"class":84,"line":378},9,[380],{"type":54,"tag":82,"props":381,"children":382},{"emptyLinePlaceholder":328},[383],{"type":60,"value":331},{"type":54,"tag":82,"props":385,"children":387},{"class":84,"line":386},10,[388,392,397,401,406,410,415,420],{"type":54,"tag":82,"props":389,"children":390},{"style":338},[391],{"type":60,"value":341},{"type":54,"tag":82,"props":393,"children":394},{"style":111},[395],{"type":60,"value":396}," appRouter ",{"type":54,"tag":82,"props":398,"children":399},{"style":105},[400],{"type":60,"value":351},{"type":54,"tag":82,"props":402,"children":403},{"style":111},[404],{"type":60,"value":405}," t",{"type":54,"tag":82,"props":407,"children":408},{"style":105},[409],{"type":60,"value":360},{"type":54,"tag":82,"props":411,"children":412},{"style":363},[413],{"type":60,"value":414},"router",{"type":54,"tag":82,"props":416,"children":417},{"style":111},[418],{"type":60,"value":419},"(",{"type":54,"tag":82,"props":421,"children":422},{"style":105},[423],{"type":60,"value":424},"{\n",{"type":54,"tag":82,"props":426,"children":428},{"class":84,"line":427},11,[429,435,440,444,448],{"type":54,"tag":82,"props":430,"children":432},{"style":431},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[433],{"type":60,"value":434},"  greet",{"type":54,"tag":82,"props":436,"children":437},{"style":105},[438],{"type":60,"value":439},":",{"type":54,"tag":82,"props":441,"children":442},{"style":111},[443],{"type":60,"value":405},{"type":54,"tag":82,"props":445,"children":446},{"style":105},[447],{"type":60,"value":360},{"type":54,"tag":82,"props":449,"children":450},{"style":111},[451],{"type":60,"value":452},"procedure\n",{"type":54,"tag":82,"props":454,"children":456},{"class":84,"line":455},12,[457,462,467,472,476,481,485,490,495,499,503,507,512,517,522],{"type":54,"tag":82,"props":458,"children":459},{"style":105},[460],{"type":60,"value":461},"    .",{"type":54,"tag":82,"props":463,"children":464},{"style":363},[465],{"type":60,"value":466},"input",{"type":54,"tag":82,"props":468,"children":469},{"style":111},[470],{"type":60,"value":471},"(z",{"type":54,"tag":82,"props":473,"children":474},{"style":105},[475],{"type":60,"value":360},{"type":54,"tag":82,"props":477,"children":478},{"style":363},[479],{"type":60,"value":480},"object",{"type":54,"tag":82,"props":482,"children":483},{"style":111},[484],{"type":60,"value":419},{"type":54,"tag":82,"props":486,"children":487},{"style":105},[488],{"type":60,"value":489},"{",{"type":54,"tag":82,"props":491,"children":492},{"style":431},[493],{"type":60,"value":494}," name",{"type":54,"tag":82,"props":496,"children":497},{"style":105},[498],{"type":60,"value":439},{"type":54,"tag":82,"props":500,"children":501},{"style":111},[502],{"type":60,"value":296},{"type":54,"tag":82,"props":504,"children":505},{"style":105},[506],{"type":60,"value":360},{"type":54,"tag":82,"props":508,"children":509},{"style":363},[510],{"type":60,"value":511},"string",{"type":54,"tag":82,"props":513,"children":514},{"style":111},[515],{"type":60,"value":516},"() ",{"type":54,"tag":82,"props":518,"children":519},{"style":105},[520],{"type":60,"value":521},"}",{"type":54,"tag":82,"props":523,"children":524},{"style":111},[525],{"type":60,"value":526},"))\n",{"type":54,"tag":82,"props":528,"children":530},{"class":84,"line":529},13,[531,535,540,544,549,555,560,565,570,574,579,583,588,593,598,602,606,611,615,620,625,629,634],{"type":54,"tag":82,"props":532,"children":533},{"style":105},[534],{"type":60,"value":461},{"type":54,"tag":82,"props":536,"children":537},{"style":363},[538],{"type":60,"value":539},"query",{"type":54,"tag":82,"props":541,"children":542},{"style":111},[543],{"type":60,"value":419},{"type":54,"tag":82,"props":545,"children":546},{"style":105},[547],{"type":60,"value":548},"({",{"type":54,"tag":82,"props":550,"children":552},{"style":551},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[553],{"type":60,"value":554}," input",{"type":54,"tag":82,"props":556,"children":557},{"style":105},[558],{"type":60,"value":559}," })",{"type":54,"tag":82,"props":561,"children":562},{"style":338},[563],{"type":60,"value":564}," =>",{"type":54,"tag":82,"props":566,"children":567},{"style":111},[568],{"type":60,"value":569}," (",{"type":54,"tag":82,"props":571,"children":572},{"style":105},[573],{"type":60,"value":489},{"type":54,"tag":82,"props":575,"children":576},{"style":431},[577],{"type":60,"value":578}," greeting",{"type":54,"tag":82,"props":580,"children":581},{"style":105},[582],{"type":60,"value":439},{"type":54,"tag":82,"props":584,"children":585},{"style":105},[586],{"type":60,"value":587}," `",{"type":54,"tag":82,"props":589,"children":590},{"style":132},[591],{"type":60,"value":592},"Hello, ",{"type":54,"tag":82,"props":594,"children":595},{"style":105},[596],{"type":60,"value":597},"${",{"type":54,"tag":82,"props":599,"children":600},{"style":111},[601],{"type":60,"value":466},{"type":54,"tag":82,"props":603,"children":604},{"style":105},[605],{"type":60,"value":360},{"type":54,"tag":82,"props":607,"children":608},{"style":111},[609],{"type":60,"value":610},"name",{"type":54,"tag":82,"props":612,"children":613},{"style":105},[614],{"type":60,"value":521},{"type":54,"tag":82,"props":616,"children":617},{"style":132},[618],{"type":60,"value":619},"!",{"type":54,"tag":82,"props":621,"children":622},{"style":105},[623],{"type":60,"value":624},"`",{"type":54,"tag":82,"props":626,"children":627},{"style":105},[628],{"type":60,"value":119},{"type":54,"tag":82,"props":630,"children":631},{"style":111},[632],{"type":60,"value":633},"))",{"type":54,"tag":82,"props":635,"children":636},{"style":105},[637],{"type":60,"value":638},",\n",{"type":54,"tag":82,"props":640,"children":642},{"class":84,"line":641},14,[643,647,652],{"type":54,"tag":82,"props":644,"children":645},{"style":105},[646],{"type":60,"value":521},{"type":54,"tag":82,"props":648,"children":649},{"style":111},[650],{"type":60,"value":651},")",{"type":54,"tag":82,"props":653,"children":654},{"style":105},[655],{"type":60,"value":145},{"type":54,"tag":82,"props":657,"children":659},{"class":84,"line":658},15,[660],{"type":54,"tag":82,"props":661,"children":662},{"emptyLinePlaceholder":328},[663],{"type":60,"value":331},{"type":54,"tag":82,"props":665,"children":667},{"class":84,"line":666},16,[668,673,677,683,688,693,698],{"type":54,"tag":82,"props":669,"children":670},{"style":99},[671],{"type":60,"value":672},"export",{"type":54,"tag":82,"props":674,"children":675},{"style":338},[676],{"type":60,"value":158},{"type":54,"tag":82,"props":678,"children":680},{"style":679},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[681],{"type":60,"value":682}," AppRouter",{"type":54,"tag":82,"props":684,"children":685},{"style":105},[686],{"type":60,"value":687}," =",{"type":54,"tag":82,"props":689,"children":690},{"style":105},[691],{"type":60,"value":692}," typeof",{"type":54,"tag":82,"props":694,"children":695},{"style":111},[696],{"type":60,"value":697}," appRouter",{"type":54,"tag":82,"props":699,"children":700},{"style":105},[701],{"type":60,"value":145},{"type":54,"tag":82,"props":703,"children":705},{"class":84,"line":704},17,[706],{"type":54,"tag":82,"props":707,"children":708},{"emptyLinePlaceholder":328},[709],{"type":60,"value":331},{"type":54,"tag":82,"props":711,"children":713},{"class":84,"line":712},18,[714,718,723,727,731],{"type":54,"tag":82,"props":715,"children":716},{"style":338},[717],{"type":60,"value":341},{"type":54,"tag":82,"props":719,"children":720},{"style":111},[721],{"type":60,"value":722}," createContext ",{"type":54,"tag":82,"props":724,"children":725},{"style":105},[726],{"type":60,"value":351},{"type":54,"tag":82,"props":728,"children":729},{"style":111},[730],{"type":60,"value":569},{"type":54,"tag":82,"props":732,"children":733},{"style":105},[734],{"type":60,"value":424},{"type":54,"tag":82,"props":736,"children":738},{"class":84,"line":737},19,[739,744],{"type":54,"tag":82,"props":740,"children":741},{"style":111},[742],{"type":60,"value":743},"  event",{"type":54,"tag":82,"props":745,"children":746},{"style":105},[747],{"type":60,"value":638},{"type":54,"tag":82,"props":749,"children":751},{"class":84,"line":750},20,[752,757],{"type":54,"tag":82,"props":753,"children":754},{"style":111},[755],{"type":60,"value":756},"  context",{"type":54,"tag":82,"props":758,"children":759},{"style":105},[760],{"type":60,"value":638},{"type":54,"tag":82,"props":762,"children":764},{"class":84,"line":763},21,[765,770,774,779,784,789,794,799,803],{"type":54,"tag":82,"props":766,"children":767},{"style":105},[768],{"type":60,"value":769},"}:",{"type":54,"tag":82,"props":771,"children":772},{"style":679},[773],{"type":60,"value":167},{"type":54,"tag":82,"props":775,"children":776},{"style":105},[777],{"type":60,"value":778},"\u003C",{"type":54,"tag":82,"props":780,"children":781},{"style":679},[782],{"type":60,"value":783},"APIGatewayProxyEventV2",{"type":54,"tag":82,"props":785,"children":786},{"style":105},[787],{"type":60,"value":788},">",{"type":54,"tag":82,"props":790,"children":791},{"style":111},[792],{"type":60,"value":793},") ",{"type":54,"tag":82,"props":795,"children":796},{"style":338},[797],{"type":60,"value":798},"=>",{"type":54,"tag":82,"props":800,"children":801},{"style":111},[802],{"type":60,"value":569},{"type":54,"tag":82,"props":804,"children":805},{"style":105},[806],{"type":60,"value":424},{"type":54,"tag":82,"props":808,"children":810},{"class":84,"line":809},22,[811,815],{"type":54,"tag":82,"props":812,"children":813},{"style":111},[814],{"type":60,"value":743},{"type":54,"tag":82,"props":816,"children":817},{"style":105},[818],{"type":60,"value":638},{"type":54,"tag":82,"props":820,"children":822},{"class":84,"line":821},23,[823,828,832,837],{"type":54,"tag":82,"props":824,"children":825},{"style":431},[826],{"type":60,"value":827},"  lambdaContext",{"type":54,"tag":82,"props":829,"children":830},{"style":105},[831],{"type":60,"value":439},{"type":54,"tag":82,"props":833,"children":834},{"style":111},[835],{"type":60,"value":836}," context",{"type":54,"tag":82,"props":838,"children":839},{"style":105},[840],{"type":60,"value":638},{"type":54,"tag":82,"props":842,"children":844},{"class":84,"line":843},24,[845,849,853],{"type":54,"tag":82,"props":846,"children":847},{"style":105},[848],{"type":60,"value":521},{"type":54,"tag":82,"props":850,"children":851},{"style":111},[852],{"type":60,"value":651},{"type":54,"tag":82,"props":854,"children":855},{"style":105},[856],{"type":60,"value":145},{"type":54,"tag":82,"props":858,"children":860},{"class":84,"line":859},25,[861],{"type":54,"tag":82,"props":862,"children":863},{"emptyLinePlaceholder":328},[864],{"type":60,"value":331},{"type":54,"tag":82,"props":866,"children":868},{"class":84,"line":867},26,[869,873,878,883,887,891,895],{"type":54,"tag":82,"props":870,"children":871},{"style":99},[872],{"type":60,"value":672},{"type":54,"tag":82,"props":874,"children":875},{"style":338},[876],{"type":60,"value":877}," const",{"type":54,"tag":82,"props":879,"children":880},{"style":111},[881],{"type":60,"value":882}," handler ",{"type":54,"tag":82,"props":884,"children":885},{"style":105},[886],{"type":60,"value":351},{"type":54,"tag":82,"props":888,"children":889},{"style":363},[890],{"type":60,"value":209},{"type":54,"tag":82,"props":892,"children":893},{"style":111},[894],{"type":60,"value":419},{"type":54,"tag":82,"props":896,"children":897},{"style":105},[898],{"type":60,"value":424},{"type":54,"tag":82,"props":900,"children":902},{"class":84,"line":901},27,[903,908,912,916],{"type":54,"tag":82,"props":904,"children":905},{"style":431},[906],{"type":60,"value":907},"  router",{"type":54,"tag":82,"props":909,"children":910},{"style":105},[911],{"type":60,"value":439},{"type":54,"tag":82,"props":913,"children":914},{"style":111},[915],{"type":60,"value":697},{"type":54,"tag":82,"props":917,"children":918},{"style":105},[919],{"type":60,"value":638},{"type":54,"tag":82,"props":921,"children":923},{"class":84,"line":922},28,[924,929],{"type":54,"tag":82,"props":925,"children":926},{"style":111},[927],{"type":60,"value":928},"  createContext",{"type":54,"tag":82,"props":930,"children":931},{"style":105},[932],{"type":60,"value":638},{"type":54,"tag":82,"props":934,"children":936},{"class":84,"line":935},29,[937,941,945],{"type":54,"tag":82,"props":938,"children":939},{"style":105},[940],{"type":60,"value":521},{"type":54,"tag":82,"props":942,"children":943},{"style":111},[944],{"type":60,"value":651},{"type":54,"tag":82,"props":946,"children":947},{"style":105},[948],{"type":60,"value":145},{"type":54,"tag":63,"props":950,"children":952},{"id":951},"core-patterns",[953],{"type":60,"value":954},"Core Patterns",{"type":54,"tag":956,"props":957,"children":959},"h3",{"id":958},"api-gateway-v1-rest-handler",[960],{"type":60,"value":961},"API Gateway v1 (REST) handler",{"type":54,"tag":70,"props":963,"children":965},{"className":72,"code":964,"language":74,"meta":75,"style":75},"import type { CreateAWSLambdaContextOptions } from '@trpc\u002Fserver\u002Fadapters\u002Faws-lambda';\nimport { awsLambdaRequestHandler } from '@trpc\u002Fserver\u002Fadapters\u002Faws-lambda';\nimport type { APIGatewayProxyEvent } from 'aws-lambda';\nimport { appRouter } from '.\u002Frouter';\n\nconst createContext = ({\n  event,\n  context,\n}: CreateAWSLambdaContextOptions\u003CAPIGatewayProxyEvent>) => ({\n  user: event.requestContext.authorizer?.claims,\n});\n\nexport const handler = awsLambdaRequestHandler({\n  router: appRouter,\n  createContext,\n});\n",[966],{"type":54,"tag":78,"props":967,"children":968},{"__ignoreMap":75},[969,1012,1051,1095,1135,1142,1165,1176,1187,1227,1276,1291,1298,1329,1348,1359],{"type":54,"tag":82,"props":970,"children":971},{"class":84,"line":85},[972,976,980,984,988,992,996,1000,1004,1008],{"type":54,"tag":82,"props":973,"children":974},{"style":99},[975],{"type":60,"value":102},{"type":54,"tag":82,"props":977,"children":978},{"style":99},[979],{"type":60,"value":158},{"type":54,"tag":82,"props":981,"children":982},{"style":105},[983],{"type":60,"value":108},{"type":54,"tag":82,"props":985,"children":986},{"style":111},[987],{"type":60,"value":167},{"type":54,"tag":82,"props":989,"children":990},{"style":105},[991],{"type":60,"value":119},{"type":54,"tag":82,"props":993,"children":994},{"style":99},[995],{"type":60,"value":124},{"type":54,"tag":82,"props":997,"children":998},{"style":105},[999],{"type":60,"value":129},{"type":54,"tag":82,"props":1001,"children":1002},{"style":132},[1003],{"type":60,"value":184},{"type":54,"tag":82,"props":1005,"children":1006},{"style":105},[1007],{"type":60,"value":140},{"type":54,"tag":82,"props":1009,"children":1010},{"style":105},[1011],{"type":60,"value":145},{"type":54,"tag":82,"props":1013,"children":1014},{"class":84,"line":95},[1015,1019,1023,1027,1031,1035,1039,1043,1047],{"type":54,"tag":82,"props":1016,"children":1017},{"style":99},[1018],{"type":60,"value":102},{"type":54,"tag":82,"props":1020,"children":1021},{"style":105},[1022],{"type":60,"value":108},{"type":54,"tag":82,"props":1024,"children":1025},{"style":111},[1026],{"type":60,"value":209},{"type":54,"tag":82,"props":1028,"children":1029},{"style":105},[1030],{"type":60,"value":119},{"type":54,"tag":82,"props":1032,"children":1033},{"style":99},[1034],{"type":60,"value":124},{"type":54,"tag":82,"props":1036,"children":1037},{"style":105},[1038],{"type":60,"value":129},{"type":54,"tag":82,"props":1040,"children":1041},{"style":132},[1042],{"type":60,"value":184},{"type":54,"tag":82,"props":1044,"children":1045},{"style":105},[1046],{"type":60,"value":140},{"type":54,"tag":82,"props":1048,"children":1049},{"style":105},[1050],{"type":60,"value":145},{"type":54,"tag":82,"props":1052,"children":1053},{"class":84,"line":148},[1054,1058,1062,1066,1071,1075,1079,1083,1087,1091],{"type":54,"tag":82,"props":1055,"children":1056},{"style":99},[1057],{"type":60,"value":102},{"type":54,"tag":82,"props":1059,"children":1060},{"style":99},[1061],{"type":60,"value":158},{"type":54,"tag":82,"props":1063,"children":1064},{"style":105},[1065],{"type":60,"value":108},{"type":54,"tag":82,"props":1067,"children":1068},{"style":111},[1069],{"type":60,"value":1070}," APIGatewayProxyEvent",{"type":54,"tag":82,"props":1072,"children":1073},{"style":105},[1074],{"type":60,"value":119},{"type":54,"tag":82,"props":1076,"children":1077},{"style":99},[1078],{"type":60,"value":124},{"type":54,"tag":82,"props":1080,"children":1081},{"style":105},[1082],{"type":60,"value":129},{"type":54,"tag":82,"props":1084,"children":1085},{"style":132},[1086],{"type":60,"value":271},{"type":54,"tag":82,"props":1088,"children":1089},{"style":105},[1090],{"type":60,"value":140},{"type":54,"tag":82,"props":1092,"children":1093},{"style":105},[1094],{"type":60,"value":145},{"type":54,"tag":82,"props":1096,"children":1097},{"class":84,"line":195},[1098,1102,1106,1110,1114,1118,1122,1127,1131],{"type":54,"tag":82,"props":1099,"children":1100},{"style":99},[1101],{"type":60,"value":102},{"type":54,"tag":82,"props":1103,"children":1104},{"style":105},[1105],{"type":60,"value":108},{"type":54,"tag":82,"props":1107,"children":1108},{"style":111},[1109],{"type":60,"value":697},{"type":54,"tag":82,"props":1111,"children":1112},{"style":105},[1113],{"type":60,"value":119},{"type":54,"tag":82,"props":1115,"children":1116},{"style":99},[1117],{"type":60,"value":124},{"type":54,"tag":82,"props":1119,"children":1120},{"style":105},[1121],{"type":60,"value":129},{"type":54,"tag":82,"props":1123,"children":1124},{"style":132},[1125],{"type":60,"value":1126},".\u002Frouter",{"type":54,"tag":82,"props":1128,"children":1129},{"style":105},[1130],{"type":60,"value":140},{"type":54,"tag":82,"props":1132,"children":1133},{"style":105},[1134],{"type":60,"value":145},{"type":54,"tag":82,"props":1136,"children":1137},{"class":84,"line":236},[1138],{"type":54,"tag":82,"props":1139,"children":1140},{"emptyLinePlaceholder":328},[1141],{"type":60,"value":331},{"type":54,"tag":82,"props":1143,"children":1144},{"class":84,"line":282},[1145,1149,1153,1157,1161],{"type":54,"tag":82,"props":1146,"children":1147},{"style":338},[1148],{"type":60,"value":341},{"type":54,"tag":82,"props":1150,"children":1151},{"style":111},[1152],{"type":60,"value":722},{"type":54,"tag":82,"props":1154,"children":1155},{"style":105},[1156],{"type":60,"value":351},{"type":54,"tag":82,"props":1158,"children":1159},{"style":111},[1160],{"type":60,"value":569},{"type":54,"tag":82,"props":1162,"children":1163},{"style":105},[1164],{"type":60,"value":424},{"type":54,"tag":82,"props":1166,"children":1167},{"class":84,"line":324},[1168,1172],{"type":54,"tag":82,"props":1169,"children":1170},{"style":111},[1171],{"type":60,"value":743},{"type":54,"tag":82,"props":1173,"children":1174},{"style":105},[1175],{"type":60,"value":638},{"type":54,"tag":82,"props":1177,"children":1178},{"class":84,"line":334},[1179,1183],{"type":54,"tag":82,"props":1180,"children":1181},{"style":111},[1182],{"type":60,"value":756},{"type":54,"tag":82,"props":1184,"children":1185},{"style":105},[1186],{"type":60,"value":638},{"type":54,"tag":82,"props":1188,"children":1189},{"class":84,"line":378},[1190,1194,1198,1202,1207,1211,1215,1219,1223],{"type":54,"tag":82,"props":1191,"children":1192},{"style":105},[1193],{"type":60,"value":769},{"type":54,"tag":82,"props":1195,"children":1196},{"style":679},[1197],{"type":60,"value":167},{"type":54,"tag":82,"props":1199,"children":1200},{"style":105},[1201],{"type":60,"value":778},{"type":54,"tag":82,"props":1203,"children":1204},{"style":679},[1205],{"type":60,"value":1206},"APIGatewayProxyEvent",{"type":54,"tag":82,"props":1208,"children":1209},{"style":105},[1210],{"type":60,"value":788},{"type":54,"tag":82,"props":1212,"children":1213},{"style":111},[1214],{"type":60,"value":793},{"type":54,"tag":82,"props":1216,"children":1217},{"style":338},[1218],{"type":60,"value":798},{"type":54,"tag":82,"props":1220,"children":1221},{"style":111},[1222],{"type":60,"value":569},{"type":54,"tag":82,"props":1224,"children":1225},{"style":105},[1226],{"type":60,"value":424},{"type":54,"tag":82,"props":1228,"children":1229},{"class":84,"line":386},[1230,1235,1239,1244,1248,1253,1257,1262,1267,1272],{"type":54,"tag":82,"props":1231,"children":1232},{"style":431},[1233],{"type":60,"value":1234},"  user",{"type":54,"tag":82,"props":1236,"children":1237},{"style":105},[1238],{"type":60,"value":439},{"type":54,"tag":82,"props":1240,"children":1241},{"style":111},[1242],{"type":60,"value":1243}," event",{"type":54,"tag":82,"props":1245,"children":1246},{"style":105},[1247],{"type":60,"value":360},{"type":54,"tag":82,"props":1249,"children":1250},{"style":111},[1251],{"type":60,"value":1252},"requestContext",{"type":54,"tag":82,"props":1254,"children":1255},{"style":105},[1256],{"type":60,"value":360},{"type":54,"tag":82,"props":1258,"children":1259},{"style":111},[1260],{"type":60,"value":1261},"authorizer",{"type":54,"tag":82,"props":1263,"children":1264},{"style":105},[1265],{"type":60,"value":1266},"?.",{"type":54,"tag":82,"props":1268,"children":1269},{"style":111},[1270],{"type":60,"value":1271},"claims",{"type":54,"tag":82,"props":1273,"children":1274},{"style":105},[1275],{"type":60,"value":638},{"type":54,"tag":82,"props":1277,"children":1278},{"class":84,"line":427},[1279,1283,1287],{"type":54,"tag":82,"props":1280,"children":1281},{"style":105},[1282],{"type":60,"value":521},{"type":54,"tag":82,"props":1284,"children":1285},{"style":111},[1286],{"type":60,"value":651},{"type":54,"tag":82,"props":1288,"children":1289},{"style":105},[1290],{"type":60,"value":145},{"type":54,"tag":82,"props":1292,"children":1293},{"class":84,"line":455},[1294],{"type":54,"tag":82,"props":1295,"children":1296},{"emptyLinePlaceholder":328},[1297],{"type":60,"value":331},{"type":54,"tag":82,"props":1299,"children":1300},{"class":84,"line":529},[1301,1305,1309,1313,1317,1321,1325],{"type":54,"tag":82,"props":1302,"children":1303},{"style":99},[1304],{"type":60,"value":672},{"type":54,"tag":82,"props":1306,"children":1307},{"style":338},[1308],{"type":60,"value":877},{"type":54,"tag":82,"props":1310,"children":1311},{"style":111},[1312],{"type":60,"value":882},{"type":54,"tag":82,"props":1314,"children":1315},{"style":105},[1316],{"type":60,"value":351},{"type":54,"tag":82,"props":1318,"children":1319},{"style":363},[1320],{"type":60,"value":209},{"type":54,"tag":82,"props":1322,"children":1323},{"style":111},[1324],{"type":60,"value":419},{"type":54,"tag":82,"props":1326,"children":1327},{"style":105},[1328],{"type":60,"value":424},{"type":54,"tag":82,"props":1330,"children":1331},{"class":84,"line":641},[1332,1336,1340,1344],{"type":54,"tag":82,"props":1333,"children":1334},{"style":431},[1335],{"type":60,"value":907},{"type":54,"tag":82,"props":1337,"children":1338},{"style":105},[1339],{"type":60,"value":439},{"type":54,"tag":82,"props":1341,"children":1342},{"style":111},[1343],{"type":60,"value":697},{"type":54,"tag":82,"props":1345,"children":1346},{"style":105},[1347],{"type":60,"value":638},{"type":54,"tag":82,"props":1349,"children":1350},{"class":84,"line":658},[1351,1355],{"type":54,"tag":82,"props":1352,"children":1353},{"style":111},[1354],{"type":60,"value":928},{"type":54,"tag":82,"props":1356,"children":1357},{"style":105},[1358],{"type":60,"value":638},{"type":54,"tag":82,"props":1360,"children":1361},{"class":84,"line":666},[1362,1366,1370],{"type":54,"tag":82,"props":1363,"children":1364},{"style":105},[1365],{"type":60,"value":521},{"type":54,"tag":82,"props":1367,"children":1368},{"style":111},[1369],{"type":60,"value":651},{"type":54,"tag":82,"props":1371,"children":1372},{"style":105},[1373],{"type":60,"value":145},{"type":54,"tag":1375,"props":1376,"children":1377},"p",{},[1378,1380,1385,1387,1392],{"type":60,"value":1379},"Use ",{"type":54,"tag":78,"props":1381,"children":1383},{"className":1382},[],[1384],{"type":60,"value":1206},{"type":60,"value":1386}," for REST API (v1 payload format) and ",{"type":54,"tag":78,"props":1388,"children":1390},{"className":1389},[],[1391],{"type":60,"value":783},{"type":60,"value":1393}," for HTTP API (v2 payload format).",{"type":54,"tag":956,"props":1395,"children":1397},{"id":1396},"response-streaming-with-awslambdastreamingrequesthandler",[1398],{"type":60,"value":1399},"Response streaming with awsLambdaStreamingRequestHandler",{"type":54,"tag":70,"props":1401,"children":1403},{"className":72,"code":1402,"language":74,"meta":75,"style":75},"\u002F\u002F\u002F \u003Creference types=\"aws-lambda\" \u002F>\nimport type { CreateAWSLambdaContextOptions } from '@trpc\u002Fserver\u002Fadapters\u002Faws-lambda';\nimport { awsLambdaStreamingRequestHandler } from '@trpc\u002Fserver\u002Fadapters\u002Faws-lambda';\nimport type { APIGatewayProxyEventV2 } from 'aws-lambda';\nimport { appRouter } from '.\u002Frouter';\n\nconst createContext = ({\n  event,\n  context,\n}: CreateAWSLambdaContextOptions\u003CAPIGatewayProxyEventV2>) => ({});\n\nexport const handler = awslambda.streamifyResponse(\n  awsLambdaStreamingRequestHandler({\n    router: appRouter,\n    createContext,\n  }),\n);\n",[1404],{"type":54,"tag":78,"props":1405,"children":1406},{"__ignoreMap":75},[1407,1454,1497,1537,1580,1619,1626,1649,1660,1671,1719,1726,1764,1780,1800,1812,1828],{"type":54,"tag":82,"props":1408,"children":1409},{"class":84,"line":85},[1410,1415,1419,1425,1431,1435,1440,1445,1449],{"type":54,"tag":82,"props":1411,"children":1412},{"style":89},[1413],{"type":60,"value":1414},"\u002F\u002F\u002F ",{"type":54,"tag":82,"props":1416,"children":1417},{"style":99},[1418],{"type":60,"value":778},{"type":54,"tag":82,"props":1420,"children":1422},{"style":1421},"--shiki-light:#E53935;--shiki-light-font-style:italic;--shiki-default:#F07178;--shiki-default-font-style:italic;--shiki-dark:#F07178;--shiki-dark-font-style:italic",[1423],{"type":60,"value":1424},"reference",{"type":54,"tag":82,"props":1426,"children":1428},{"style":1427},"--shiki-light:#9C3EDA;--shiki-light-font-style:italic;--shiki-default:#C792EA;--shiki-default-font-style:italic;--shiki-dark:#C792EA;--shiki-dark-font-style:italic",[1429],{"type":60,"value":1430}," types",{"type":54,"tag":82,"props":1432,"children":1433},{"style":99},[1434],{"type":60,"value":351},{"type":54,"tag":82,"props":1436,"children":1437},{"style":99},[1438],{"type":60,"value":1439},"\"",{"type":54,"tag":82,"props":1441,"children":1443},{"style":1442},"--shiki-light:#91B859;--shiki-light-font-style:italic;--shiki-default:#C3E88D;--shiki-default-font-style:italic;--shiki-dark:#C3E88D;--shiki-dark-font-style:italic",[1444],{"type":60,"value":271},{"type":54,"tag":82,"props":1446,"children":1447},{"style":99},[1448],{"type":60,"value":1439},{"type":54,"tag":82,"props":1450,"children":1451},{"style":99},[1452],{"type":60,"value":1453}," \u002F>\n",{"type":54,"tag":82,"props":1455,"children":1456},{"class":84,"line":95},[1457,1461,1465,1469,1473,1477,1481,1485,1489,1493],{"type":54,"tag":82,"props":1458,"children":1459},{"style":99},[1460],{"type":60,"value":102},{"type":54,"tag":82,"props":1462,"children":1463},{"style":99},[1464],{"type":60,"value":158},{"type":54,"tag":82,"props":1466,"children":1467},{"style":105},[1468],{"type":60,"value":108},{"type":54,"tag":82,"props":1470,"children":1471},{"style":111},[1472],{"type":60,"value":167},{"type":54,"tag":82,"props":1474,"children":1475},{"style":105},[1476],{"type":60,"value":119},{"type":54,"tag":82,"props":1478,"children":1479},{"style":99},[1480],{"type":60,"value":124},{"type":54,"tag":82,"props":1482,"children":1483},{"style":105},[1484],{"type":60,"value":129},{"type":54,"tag":82,"props":1486,"children":1487},{"style":132},[1488],{"type":60,"value":184},{"type":54,"tag":82,"props":1490,"children":1491},{"style":105},[1492],{"type":60,"value":140},{"type":54,"tag":82,"props":1494,"children":1495},{"style":105},[1496],{"type":60,"value":145},{"type":54,"tag":82,"props":1498,"children":1499},{"class":84,"line":148},[1500,1504,1508,1513,1517,1521,1525,1529,1533],{"type":54,"tag":82,"props":1501,"children":1502},{"style":99},[1503],{"type":60,"value":102},{"type":54,"tag":82,"props":1505,"children":1506},{"style":105},[1507],{"type":60,"value":108},{"type":54,"tag":82,"props":1509,"children":1510},{"style":111},[1511],{"type":60,"value":1512}," awsLambdaStreamingRequestHandler",{"type":54,"tag":82,"props":1514,"children":1515},{"style":105},[1516],{"type":60,"value":119},{"type":54,"tag":82,"props":1518,"children":1519},{"style":99},[1520],{"type":60,"value":124},{"type":54,"tag":82,"props":1522,"children":1523},{"style":105},[1524],{"type":60,"value":129},{"type":54,"tag":82,"props":1526,"children":1527},{"style":132},[1528],{"type":60,"value":184},{"type":54,"tag":82,"props":1530,"children":1531},{"style":105},[1532],{"type":60,"value":140},{"type":54,"tag":82,"props":1534,"children":1535},{"style":105},[1536],{"type":60,"value":145},{"type":54,"tag":82,"props":1538,"children":1539},{"class":84,"line":195},[1540,1544,1548,1552,1556,1560,1564,1568,1572,1576],{"type":54,"tag":82,"props":1541,"children":1542},{"style":99},[1543],{"type":60,"value":102},{"type":54,"tag":82,"props":1545,"children":1546},{"style":99},[1547],{"type":60,"value":158},{"type":54,"tag":82,"props":1549,"children":1550},{"style":105},[1551],{"type":60,"value":108},{"type":54,"tag":82,"props":1553,"children":1554},{"style":111},[1555],{"type":60,"value":254},{"type":54,"tag":82,"props":1557,"children":1558},{"style":105},[1559],{"type":60,"value":119},{"type":54,"tag":82,"props":1561,"children":1562},{"style":99},[1563],{"type":60,"value":124},{"type":54,"tag":82,"props":1565,"children":1566},{"style":105},[1567],{"type":60,"value":129},{"type":54,"tag":82,"props":1569,"children":1570},{"style":132},[1571],{"type":60,"value":271},{"type":54,"tag":82,"props":1573,"children":1574},{"style":105},[1575],{"type":60,"value":140},{"type":54,"tag":82,"props":1577,"children":1578},{"style":105},[1579],{"type":60,"value":145},{"type":54,"tag":82,"props":1581,"children":1582},{"class":84,"line":236},[1583,1587,1591,1595,1599,1603,1607,1611,1615],{"type":54,"tag":82,"props":1584,"children":1585},{"style":99},[1586],{"type":60,"value":102},{"type":54,"tag":82,"props":1588,"children":1589},{"style":105},[1590],{"type":60,"value":108},{"type":54,"tag":82,"props":1592,"children":1593},{"style":111},[1594],{"type":60,"value":697},{"type":54,"tag":82,"props":1596,"children":1597},{"style":105},[1598],{"type":60,"value":119},{"type":54,"tag":82,"props":1600,"children":1601},{"style":99},[1602],{"type":60,"value":124},{"type":54,"tag":82,"props":1604,"children":1605},{"style":105},[1606],{"type":60,"value":129},{"type":54,"tag":82,"props":1608,"children":1609},{"style":132},[1610],{"type":60,"value":1126},{"type":54,"tag":82,"props":1612,"children":1613},{"style":105},[1614],{"type":60,"value":140},{"type":54,"tag":82,"props":1616,"children":1617},{"style":105},[1618],{"type":60,"value":145},{"type":54,"tag":82,"props":1620,"children":1621},{"class":84,"line":282},[1622],{"type":54,"tag":82,"props":1623,"children":1624},{"emptyLinePlaceholder":328},[1625],{"type":60,"value":331},{"type":54,"tag":82,"props":1627,"children":1628},{"class":84,"line":324},[1629,1633,1637,1641,1645],{"type":54,"tag":82,"props":1630,"children":1631},{"style":338},[1632],{"type":60,"value":341},{"type":54,"tag":82,"props":1634,"children":1635},{"style":111},[1636],{"type":60,"value":722},{"type":54,"tag":82,"props":1638,"children":1639},{"style":105},[1640],{"type":60,"value":351},{"type":54,"tag":82,"props":1642,"children":1643},{"style":111},[1644],{"type":60,"value":569},{"type":54,"tag":82,"props":1646,"children":1647},{"style":105},[1648],{"type":60,"value":424},{"type":54,"tag":82,"props":1650,"children":1651},{"class":84,"line":334},[1652,1656],{"type":54,"tag":82,"props":1653,"children":1654},{"style":111},[1655],{"type":60,"value":743},{"type":54,"tag":82,"props":1657,"children":1658},{"style":105},[1659],{"type":60,"value":638},{"type":54,"tag":82,"props":1661,"children":1662},{"class":84,"line":378},[1663,1667],{"type":54,"tag":82,"props":1664,"children":1665},{"style":111},[1666],{"type":60,"value":756},{"type":54,"tag":82,"props":1668,"children":1669},{"style":105},[1670],{"type":60,"value":638},{"type":54,"tag":82,"props":1672,"children":1673},{"class":84,"line":386},[1674,1678,1682,1686,1690,1694,1698,1702,1706,1711,1715],{"type":54,"tag":82,"props":1675,"children":1676},{"style":105},[1677],{"type":60,"value":769},{"type":54,"tag":82,"props":1679,"children":1680},{"style":679},[1681],{"type":60,"value":167},{"type":54,"tag":82,"props":1683,"children":1684},{"style":105},[1685],{"type":60,"value":778},{"type":54,"tag":82,"props":1687,"children":1688},{"style":679},[1689],{"type":60,"value":783},{"type":54,"tag":82,"props":1691,"children":1692},{"style":105},[1693],{"type":60,"value":788},{"type":54,"tag":82,"props":1695,"children":1696},{"style":111},[1697],{"type":60,"value":793},{"type":54,"tag":82,"props":1699,"children":1700},{"style":338},[1701],{"type":60,"value":798},{"type":54,"tag":82,"props":1703,"children":1704},{"style":111},[1705],{"type":60,"value":569},{"type":54,"tag":82,"props":1707,"children":1708},{"style":105},[1709],{"type":60,"value":1710},"{}",{"type":54,"tag":82,"props":1712,"children":1713},{"style":111},[1714],{"type":60,"value":651},{"type":54,"tag":82,"props":1716,"children":1717},{"style":105},[1718],{"type":60,"value":145},{"type":54,"tag":82,"props":1720,"children":1721},{"class":84,"line":427},[1722],{"type":54,"tag":82,"props":1723,"children":1724},{"emptyLinePlaceholder":328},[1725],{"type":60,"value":331},{"type":54,"tag":82,"props":1727,"children":1728},{"class":84,"line":455},[1729,1733,1737,1741,1745,1750,1754,1759],{"type":54,"tag":82,"props":1730,"children":1731},{"style":99},[1732],{"type":60,"value":672},{"type":54,"tag":82,"props":1734,"children":1735},{"style":338},[1736],{"type":60,"value":877},{"type":54,"tag":82,"props":1738,"children":1739},{"style":111},[1740],{"type":60,"value":882},{"type":54,"tag":82,"props":1742,"children":1743},{"style":105},[1744],{"type":60,"value":351},{"type":54,"tag":82,"props":1746,"children":1747},{"style":111},[1748],{"type":60,"value":1749}," awslambda",{"type":54,"tag":82,"props":1751,"children":1752},{"style":105},[1753],{"type":60,"value":360},{"type":54,"tag":82,"props":1755,"children":1756},{"style":363},[1757],{"type":60,"value":1758},"streamifyResponse",{"type":54,"tag":82,"props":1760,"children":1761},{"style":111},[1762],{"type":60,"value":1763},"(\n",{"type":54,"tag":82,"props":1765,"children":1766},{"class":84,"line":529},[1767,1772,1776],{"type":54,"tag":82,"props":1768,"children":1769},{"style":363},[1770],{"type":60,"value":1771},"  awsLambdaStreamingRequestHandler",{"type":54,"tag":82,"props":1773,"children":1774},{"style":111},[1775],{"type":60,"value":419},{"type":54,"tag":82,"props":1777,"children":1778},{"style":105},[1779],{"type":60,"value":424},{"type":54,"tag":82,"props":1781,"children":1782},{"class":84,"line":641},[1783,1788,1792,1796],{"type":54,"tag":82,"props":1784,"children":1785},{"style":431},[1786],{"type":60,"value":1787},"    router",{"type":54,"tag":82,"props":1789,"children":1790},{"style":105},[1791],{"type":60,"value":439},{"type":54,"tag":82,"props":1793,"children":1794},{"style":111},[1795],{"type":60,"value":697},{"type":54,"tag":82,"props":1797,"children":1798},{"style":105},[1799],{"type":60,"value":638},{"type":54,"tag":82,"props":1801,"children":1802},{"class":84,"line":658},[1803,1808],{"type":54,"tag":82,"props":1804,"children":1805},{"style":111},[1806],{"type":60,"value":1807},"    createContext",{"type":54,"tag":82,"props":1809,"children":1810},{"style":105},[1811],{"type":60,"value":638},{"type":54,"tag":82,"props":1813,"children":1814},{"class":84,"line":666},[1815,1820,1824],{"type":54,"tag":82,"props":1816,"children":1817},{"style":105},[1818],{"type":60,"value":1819},"  }",{"type":54,"tag":82,"props":1821,"children":1822},{"style":111},[1823],{"type":60,"value":651},{"type":54,"tag":82,"props":1825,"children":1826},{"style":105},[1827],{"type":60,"value":638},{"type":54,"tag":82,"props":1829,"children":1830},{"class":84,"line":704},[1831,1835],{"type":54,"tag":82,"props":1832,"children":1833},{"style":111},[1834],{"type":60,"value":651},{"type":54,"tag":82,"props":1836,"children":1837},{"style":105},[1838],{"type":60,"value":145},{"type":54,"tag":1375,"props":1840,"children":1841},{},[1842,1844,1850,1852,1858],{"type":60,"value":1843},"Response streaming is supported for Lambda Function URLs and API Gateway REST APIs (with ",{"type":54,"tag":78,"props":1845,"children":1847},{"className":1846},[],[1848],{"type":60,"value":1849},"responseTransferMode: STREAM",{"type":60,"value":1851},"). The ",{"type":54,"tag":78,"props":1853,"children":1855},{"className":1854},[],[1856],{"type":60,"value":1857},"awslambda",{"type":60,"value":1859}," namespace is provided by the Lambda execution environment.",{"type":54,"tag":956,"props":1861,"children":1863},{"id":1862},"streaming-async-generator-procedure",[1864],{"type":60,"value":1865},"Streaming async generator procedure",{"type":54,"tag":70,"props":1867,"children":1869},{"className":72,"code":1868,"language":74,"meta":75,"style":75},"import { initTRPC } from '@trpc\u002Fserver';\n\nconst t = initTRPC.create();\n\nexport const appRouter = t.router({\n  countdown: t.procedure.query(async function* () {\n    for (let i = 10; i >= 0; i--) {\n      await new Promise((resolve) => setTimeout(resolve, 500));\n      yield i;\n    }\n  }),\n});\n",[1870],{"type":54,"tag":78,"props":1871,"children":1872},{"__ignoreMap":75},[1873,1912,1919,1954,1961,2000,2062,2134,2204,2220,2228,2243],{"type":54,"tag":82,"props":1874,"children":1875},{"class":84,"line":85},[1876,1880,1884,1888,1892,1896,1900,1904,1908],{"type":54,"tag":82,"props":1877,"children":1878},{"style":99},[1879],{"type":60,"value":102},{"type":54,"tag":82,"props":1881,"children":1882},{"style":105},[1883],{"type":60,"value":108},{"type":54,"tag":82,"props":1885,"children":1886},{"style":111},[1887],{"type":60,"value":114},{"type":54,"tag":82,"props":1889,"children":1890},{"style":105},[1891],{"type":60,"value":119},{"type":54,"tag":82,"props":1893,"children":1894},{"style":99},[1895],{"type":60,"value":124},{"type":54,"tag":82,"props":1897,"children":1898},{"style":105},[1899],{"type":60,"value":129},{"type":54,"tag":82,"props":1901,"children":1902},{"style":132},[1903],{"type":60,"value":135},{"type":54,"tag":82,"props":1905,"children":1906},{"style":105},[1907],{"type":60,"value":140},{"type":54,"tag":82,"props":1909,"children":1910},{"style":105},[1911],{"type":60,"value":145},{"type":54,"tag":82,"props":1913,"children":1914},{"class":84,"line":95},[1915],{"type":54,"tag":82,"props":1916,"children":1917},{"emptyLinePlaceholder":328},[1918],{"type":60,"value":331},{"type":54,"tag":82,"props":1920,"children":1921},{"class":84,"line":148},[1922,1926,1930,1934,1938,1942,1946,1950],{"type":54,"tag":82,"props":1923,"children":1924},{"style":338},[1925],{"type":60,"value":341},{"type":54,"tag":82,"props":1927,"children":1928},{"style":111},[1929],{"type":60,"value":346},{"type":54,"tag":82,"props":1931,"children":1932},{"style":105},[1933],{"type":60,"value":351},{"type":54,"tag":82,"props":1935,"children":1936},{"style":111},[1937],{"type":60,"value":114},{"type":54,"tag":82,"props":1939,"children":1940},{"style":105},[1941],{"type":60,"value":360},{"type":54,"tag":82,"props":1943,"children":1944},{"style":363},[1945],{"type":60,"value":366},{"type":54,"tag":82,"props":1947,"children":1948},{"style":111},[1949],{"type":60,"value":371},{"type":54,"tag":82,"props":1951,"children":1952},{"style":105},[1953],{"type":60,"value":145},{"type":54,"tag":82,"props":1955,"children":1956},{"class":84,"line":195},[1957],{"type":54,"tag":82,"props":1958,"children":1959},{"emptyLinePlaceholder":328},[1960],{"type":60,"value":331},{"type":54,"tag":82,"props":1962,"children":1963},{"class":84,"line":236},[1964,1968,1972,1976,1980,1984,1988,1992,1996],{"type":54,"tag":82,"props":1965,"children":1966},{"style":99},[1967],{"type":60,"value":672},{"type":54,"tag":82,"props":1969,"children":1970},{"style":338},[1971],{"type":60,"value":877},{"type":54,"tag":82,"props":1973,"children":1974},{"style":111},[1975],{"type":60,"value":396},{"type":54,"tag":82,"props":1977,"children":1978},{"style":105},[1979],{"type":60,"value":351},{"type":54,"tag":82,"props":1981,"children":1982},{"style":111},[1983],{"type":60,"value":405},{"type":54,"tag":82,"props":1985,"children":1986},{"style":105},[1987],{"type":60,"value":360},{"type":54,"tag":82,"props":1989,"children":1990},{"style":363},[1991],{"type":60,"value":414},{"type":54,"tag":82,"props":1993,"children":1994},{"style":111},[1995],{"type":60,"value":419},{"type":54,"tag":82,"props":1997,"children":1998},{"style":105},[1999],{"type":60,"value":424},{"type":54,"tag":82,"props":2001,"children":2002},{"class":84,"line":282},[2003,2008,2012,2016,2020,2025,2029,2033,2037,2042,2047,2052,2057],{"type":54,"tag":82,"props":2004,"children":2005},{"style":431},[2006],{"type":60,"value":2007},"  countdown",{"type":54,"tag":82,"props":2009,"children":2010},{"style":105},[2011],{"type":60,"value":439},{"type":54,"tag":82,"props":2013,"children":2014},{"style":111},[2015],{"type":60,"value":405},{"type":54,"tag":82,"props":2017,"children":2018},{"style":105},[2019],{"type":60,"value":360},{"type":54,"tag":82,"props":2021,"children":2022},{"style":111},[2023],{"type":60,"value":2024},"procedure",{"type":54,"tag":82,"props":2026,"children":2027},{"style":105},[2028],{"type":60,"value":360},{"type":54,"tag":82,"props":2030,"children":2031},{"style":363},[2032],{"type":60,"value":539},{"type":54,"tag":82,"props":2034,"children":2035},{"style":111},[2036],{"type":60,"value":419},{"type":54,"tag":82,"props":2038,"children":2039},{"style":338},[2040],{"type":60,"value":2041},"async",{"type":54,"tag":82,"props":2043,"children":2044},{"style":338},[2045],{"type":60,"value":2046}," function",{"type":54,"tag":82,"props":2048,"children":2049},{"style":105},[2050],{"type":60,"value":2051},"*",{"type":54,"tag":82,"props":2053,"children":2054},{"style":105},[2055],{"type":60,"value":2056}," ()",{"type":54,"tag":82,"props":2058,"children":2059},{"style":105},[2060],{"type":60,"value":2061}," {\n",{"type":54,"tag":82,"props":2063,"children":2064},{"class":84,"line":324},[2065,2070,2074,2079,2084,2088,2094,2099,2103,2108,2113,2117,2121,2126,2130],{"type":54,"tag":82,"props":2066,"children":2067},{"style":99},[2068],{"type":60,"value":2069},"    for",{"type":54,"tag":82,"props":2071,"children":2072},{"style":431},[2073],{"type":60,"value":569},{"type":54,"tag":82,"props":2075,"children":2076},{"style":338},[2077],{"type":60,"value":2078},"let",{"type":54,"tag":82,"props":2080,"children":2081},{"style":111},[2082],{"type":60,"value":2083}," i",{"type":54,"tag":82,"props":2085,"children":2086},{"style":105},[2087],{"type":60,"value":687},{"type":54,"tag":82,"props":2089,"children":2091},{"style":2090},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[2092],{"type":60,"value":2093}," 10",{"type":54,"tag":82,"props":2095,"children":2096},{"style":105},[2097],{"type":60,"value":2098},";",{"type":54,"tag":82,"props":2100,"children":2101},{"style":111},[2102],{"type":60,"value":2083},{"type":54,"tag":82,"props":2104,"children":2105},{"style":105},[2106],{"type":60,"value":2107}," >=",{"type":54,"tag":82,"props":2109,"children":2110},{"style":2090},[2111],{"type":60,"value":2112}," 0",{"type":54,"tag":82,"props":2114,"children":2115},{"style":105},[2116],{"type":60,"value":2098},{"type":54,"tag":82,"props":2118,"children":2119},{"style":111},[2120],{"type":60,"value":2083},{"type":54,"tag":82,"props":2122,"children":2123},{"style":105},[2124],{"type":60,"value":2125},"--",{"type":54,"tag":82,"props":2127,"children":2128},{"style":431},[2129],{"type":60,"value":793},{"type":54,"tag":82,"props":2131,"children":2132},{"style":105},[2133],{"type":60,"value":424},{"type":54,"tag":82,"props":2135,"children":2136},{"class":84,"line":334},[2137,2142,2147,2152,2156,2160,2165,2169,2173,2178,2182,2186,2191,2196,2200],{"type":54,"tag":82,"props":2138,"children":2139},{"style":99},[2140],{"type":60,"value":2141},"      await",{"type":54,"tag":82,"props":2143,"children":2144},{"style":105},[2145],{"type":60,"value":2146}," new",{"type":54,"tag":82,"props":2148,"children":2149},{"style":679},[2150],{"type":60,"value":2151}," Promise",{"type":54,"tag":82,"props":2153,"children":2154},{"style":431},[2155],{"type":60,"value":419},{"type":54,"tag":82,"props":2157,"children":2158},{"style":105},[2159],{"type":60,"value":419},{"type":54,"tag":82,"props":2161,"children":2162},{"style":551},[2163],{"type":60,"value":2164},"resolve",{"type":54,"tag":82,"props":2166,"children":2167},{"style":105},[2168],{"type":60,"value":651},{"type":54,"tag":82,"props":2170,"children":2171},{"style":338},[2172],{"type":60,"value":564},{"type":54,"tag":82,"props":2174,"children":2175},{"style":363},[2176],{"type":60,"value":2177}," setTimeout",{"type":54,"tag":82,"props":2179,"children":2180},{"style":431},[2181],{"type":60,"value":419},{"type":54,"tag":82,"props":2183,"children":2184},{"style":111},[2185],{"type":60,"value":2164},{"type":54,"tag":82,"props":2187,"children":2188},{"style":105},[2189],{"type":60,"value":2190},",",{"type":54,"tag":82,"props":2192,"children":2193},{"style":2090},[2194],{"type":60,"value":2195}," 500",{"type":54,"tag":82,"props":2197,"children":2198},{"style":431},[2199],{"type":60,"value":633},{"type":54,"tag":82,"props":2201,"children":2202},{"style":105},[2203],{"type":60,"value":145},{"type":54,"tag":82,"props":2205,"children":2206},{"class":84,"line":378},[2207,2212,2216],{"type":54,"tag":82,"props":2208,"children":2209},{"style":99},[2210],{"type":60,"value":2211},"      yield",{"type":54,"tag":82,"props":2213,"children":2214},{"style":111},[2215],{"type":60,"value":2083},{"type":54,"tag":82,"props":2217,"children":2218},{"style":105},[2219],{"type":60,"value":145},{"type":54,"tag":82,"props":2221,"children":2222},{"class":84,"line":386},[2223],{"type":54,"tag":82,"props":2224,"children":2225},{"style":105},[2226],{"type":60,"value":2227},"    }\n",{"type":54,"tag":82,"props":2229,"children":2230},{"class":84,"line":427},[2231,2235,2239],{"type":54,"tag":82,"props":2232,"children":2233},{"style":105},[2234],{"type":60,"value":1819},{"type":54,"tag":82,"props":2236,"children":2237},{"style":111},[2238],{"type":60,"value":651},{"type":54,"tag":82,"props":2240,"children":2241},{"style":105},[2242],{"type":60,"value":638},{"type":54,"tag":82,"props":2244,"children":2245},{"class":84,"line":455},[2246,2250,2254],{"type":54,"tag":82,"props":2247,"children":2248},{"style":105},[2249],{"type":60,"value":521},{"type":54,"tag":82,"props":2251,"children":2252},{"style":111},[2253],{"type":60,"value":651},{"type":54,"tag":82,"props":2255,"children":2256},{"style":105},[2257],{"type":60,"value":145},{"type":54,"tag":1375,"props":2259,"children":2260},{},[2261,2263,2269],{"type":60,"value":2262},"Pair with ",{"type":54,"tag":78,"props":2264,"children":2266},{"className":2265},[],[2267],{"type":60,"value":2268},"httpBatchStreamLink",{"type":60,"value":2270}," on the client for streamed responses.",{"type":54,"tag":956,"props":2272,"children":2274},{"id":2273},"limiting-batch-size-with-maxbatchsize",[2275],{"type":60,"value":2276},"Limiting batch size with maxBatchSize",{"type":54,"tag":70,"props":2278,"children":2280},{"className":72,"code":2279,"language":74,"meta":75,"style":75},"import { awsLambdaRequestHandler } from '@trpc\u002Fserver\u002Fadapters\u002Faws-lambda';\nimport { appRouter } from '.\u002Frouter';\n\nexport const handler = awsLambdaRequestHandler({\n  router: appRouter,\n  createContext,\n  maxBatchSize: 10,\n});\n",[2281],{"type":54,"tag":78,"props":2282,"children":2283},{"__ignoreMap":75},[2284,2323,2362,2369,2400,2419,2430,2450],{"type":54,"tag":82,"props":2285,"children":2286},{"class":84,"line":85},[2287,2291,2295,2299,2303,2307,2311,2315,2319],{"type":54,"tag":82,"props":2288,"children":2289},{"style":99},[2290],{"type":60,"value":102},{"type":54,"tag":82,"props":2292,"children":2293},{"style":105},[2294],{"type":60,"value":108},{"type":54,"tag":82,"props":2296,"children":2297},{"style":111},[2298],{"type":60,"value":209},{"type":54,"tag":82,"props":2300,"children":2301},{"style":105},[2302],{"type":60,"value":119},{"type":54,"tag":82,"props":2304,"children":2305},{"style":99},[2306],{"type":60,"value":124},{"type":54,"tag":82,"props":2308,"children":2309},{"style":105},[2310],{"type":60,"value":129},{"type":54,"tag":82,"props":2312,"children":2313},{"style":132},[2314],{"type":60,"value":184},{"type":54,"tag":82,"props":2316,"children":2317},{"style":105},[2318],{"type":60,"value":140},{"type":54,"tag":82,"props":2320,"children":2321},{"style":105},[2322],{"type":60,"value":145},{"type":54,"tag":82,"props":2324,"children":2325},{"class":84,"line":95},[2326,2330,2334,2338,2342,2346,2350,2354,2358],{"type":54,"tag":82,"props":2327,"children":2328},{"style":99},[2329],{"type":60,"value":102},{"type":54,"tag":82,"props":2331,"children":2332},{"style":105},[2333],{"type":60,"value":108},{"type":54,"tag":82,"props":2335,"children":2336},{"style":111},[2337],{"type":60,"value":697},{"type":54,"tag":82,"props":2339,"children":2340},{"style":105},[2341],{"type":60,"value":119},{"type":54,"tag":82,"props":2343,"children":2344},{"style":99},[2345],{"type":60,"value":124},{"type":54,"tag":82,"props":2347,"children":2348},{"style":105},[2349],{"type":60,"value":129},{"type":54,"tag":82,"props":2351,"children":2352},{"style":132},[2353],{"type":60,"value":1126},{"type":54,"tag":82,"props":2355,"children":2356},{"style":105},[2357],{"type":60,"value":140},{"type":54,"tag":82,"props":2359,"children":2360},{"style":105},[2361],{"type":60,"value":145},{"type":54,"tag":82,"props":2363,"children":2364},{"class":84,"line":148},[2365],{"type":54,"tag":82,"props":2366,"children":2367},{"emptyLinePlaceholder":328},[2368],{"type":60,"value":331},{"type":54,"tag":82,"props":2370,"children":2371},{"class":84,"line":195},[2372,2376,2380,2384,2388,2392,2396],{"type":54,"tag":82,"props":2373,"children":2374},{"style":99},[2375],{"type":60,"value":672},{"type":54,"tag":82,"props":2377,"children":2378},{"style":338},[2379],{"type":60,"value":877},{"type":54,"tag":82,"props":2381,"children":2382},{"style":111},[2383],{"type":60,"value":882},{"type":54,"tag":82,"props":2385,"children":2386},{"style":105},[2387],{"type":60,"value":351},{"type":54,"tag":82,"props":2389,"children":2390},{"style":363},[2391],{"type":60,"value":209},{"type":54,"tag":82,"props":2393,"children":2394},{"style":111},[2395],{"type":60,"value":419},{"type":54,"tag":82,"props":2397,"children":2398},{"style":105},[2399],{"type":60,"value":424},{"type":54,"tag":82,"props":2401,"children":2402},{"class":84,"line":236},[2403,2407,2411,2415],{"type":54,"tag":82,"props":2404,"children":2405},{"style":431},[2406],{"type":60,"value":907},{"type":54,"tag":82,"props":2408,"children":2409},{"style":105},[2410],{"type":60,"value":439},{"type":54,"tag":82,"props":2412,"children":2413},{"style":111},[2414],{"type":60,"value":697},{"type":54,"tag":82,"props":2416,"children":2417},{"style":105},[2418],{"type":60,"value":638},{"type":54,"tag":82,"props":2420,"children":2421},{"class":84,"line":282},[2422,2426],{"type":54,"tag":82,"props":2423,"children":2424},{"style":111},[2425],{"type":60,"value":928},{"type":54,"tag":82,"props":2427,"children":2428},{"style":105},[2429],{"type":60,"value":638},{"type":54,"tag":82,"props":2431,"children":2432},{"class":84,"line":324},[2433,2438,2442,2446],{"type":54,"tag":82,"props":2434,"children":2435},{"style":431},[2436],{"type":60,"value":2437},"  maxBatchSize",{"type":54,"tag":82,"props":2439,"children":2440},{"style":105},[2441],{"type":60,"value":439},{"type":54,"tag":82,"props":2443,"children":2444},{"style":2090},[2445],{"type":60,"value":2093},{"type":54,"tag":82,"props":2447,"children":2448},{"style":105},[2449],{"type":60,"value":638},{"type":54,"tag":82,"props":2451,"children":2452},{"class":84,"line":334},[2453,2457,2461],{"type":54,"tag":82,"props":2454,"children":2455},{"style":105},[2456],{"type":60,"value":521},{"type":54,"tag":82,"props":2458,"children":2459},{"style":111},[2460],{"type":60,"value":651},{"type":54,"tag":82,"props":2462,"children":2463},{"style":105},[2464],{"type":60,"value":145},{"type":54,"tag":1375,"props":2466,"children":2467},{},[2468,2470,2476,2478,2484,2486,2492,2494,2500],{"type":60,"value":2469},"Requests batching more than ",{"type":54,"tag":78,"props":2471,"children":2473},{"className":2472},[],[2474],{"type":60,"value":2475},"maxBatchSize",{"type":60,"value":2477}," operations are rejected with a ",{"type":54,"tag":78,"props":2479,"children":2481},{"className":2480},[],[2482],{"type":60,"value":2483},"400 Bad Request",{"type":60,"value":2485}," error. Set ",{"type":54,"tag":78,"props":2487,"children":2489},{"className":2488},[],[2490],{"type":60,"value":2491},"maxItems",{"type":60,"value":2493}," on your client's ",{"type":54,"tag":78,"props":2495,"children":2497},{"className":2496},[],[2498],{"type":60,"value":2499},"httpBatchLink",{"type":60,"value":2501}," to the same value to avoid exceeding the limit.",{"type":54,"tag":63,"props":2503,"children":2505},{"id":2504},"common-mistakes",[2506],{"type":60,"value":2507},"Common Mistakes",{"type":54,"tag":956,"props":2509,"children":2511},{"id":2510},"high-using-httpbatchlink-with-per-procedure-api-gateway-resources",[2512],{"type":60,"value":2513},"HIGH Using httpBatchLink with per-procedure API Gateway resources",{"type":54,"tag":1375,"props":2515,"children":2516},{},[2517],{"type":60,"value":2518},"Wrong:",{"type":54,"tag":70,"props":2520,"children":2522},{"className":72,"code":2521,"language":74,"meta":75,"style":75},"\u002F\u002F API Gateway has a separate resource for each procedure\n\u002F\u002F e.g., \u002FgetUser, \u002FcreateUser\n\u002F\u002F Client uses:\nimport { httpBatchLink } from '@trpc\u002Fclient';\n\nhttpBatchLink({ url: 'https:\u002F\u002Fapi.example.com' });\n\u002F\u002F Batch request to \u002FgetUser,createUser → 404\n",[2523],{"type":54,"tag":78,"props":2524,"children":2525},{"__ignoreMap":75},[2526,2534,2542,2550,2591,2598,2647],{"type":54,"tag":82,"props":2527,"children":2528},{"class":84,"line":85},[2529],{"type":54,"tag":82,"props":2530,"children":2531},{"style":89},[2532],{"type":60,"value":2533},"\u002F\u002F API Gateway has a separate resource for each procedure\n",{"type":54,"tag":82,"props":2535,"children":2536},{"class":84,"line":95},[2537],{"type":54,"tag":82,"props":2538,"children":2539},{"style":89},[2540],{"type":60,"value":2541},"\u002F\u002F e.g., \u002FgetUser, \u002FcreateUser\n",{"type":54,"tag":82,"props":2543,"children":2544},{"class":84,"line":148},[2545],{"type":54,"tag":82,"props":2546,"children":2547},{"style":89},[2548],{"type":60,"value":2549},"\u002F\u002F Client uses:\n",{"type":54,"tag":82,"props":2551,"children":2552},{"class":84,"line":195},[2553,2557,2561,2566,2570,2574,2578,2583,2587],{"type":54,"tag":82,"props":2554,"children":2555},{"style":99},[2556],{"type":60,"value":102},{"type":54,"tag":82,"props":2558,"children":2559},{"style":105},[2560],{"type":60,"value":108},{"type":54,"tag":82,"props":2562,"children":2563},{"style":111},[2564],{"type":60,"value":2565}," httpBatchLink",{"type":54,"tag":82,"props":2567,"children":2568},{"style":105},[2569],{"type":60,"value":119},{"type":54,"tag":82,"props":2571,"children":2572},{"style":99},[2573],{"type":60,"value":124},{"type":54,"tag":82,"props":2575,"children":2576},{"style":105},[2577],{"type":60,"value":129},{"type":54,"tag":82,"props":2579,"children":2580},{"style":132},[2581],{"type":60,"value":2582},"@trpc\u002Fclient",{"type":54,"tag":82,"props":2584,"children":2585},{"style":105},[2586],{"type":60,"value":140},{"type":54,"tag":82,"props":2588,"children":2589},{"style":105},[2590],{"type":60,"value":145},{"type":54,"tag":82,"props":2592,"children":2593},{"class":84,"line":236},[2594],{"type":54,"tag":82,"props":2595,"children":2596},{"emptyLinePlaceholder":328},[2597],{"type":60,"value":331},{"type":54,"tag":82,"props":2599,"children":2600},{"class":84,"line":282},[2601,2605,2609,2613,2618,2622,2626,2631,2635,2639,2643],{"type":54,"tag":82,"props":2602,"children":2603},{"style":363},[2604],{"type":60,"value":2499},{"type":54,"tag":82,"props":2606,"children":2607},{"style":111},[2608],{"type":60,"value":419},{"type":54,"tag":82,"props":2610,"children":2611},{"style":105},[2612],{"type":60,"value":489},{"type":54,"tag":82,"props":2614,"children":2615},{"style":431},[2616],{"type":60,"value":2617}," url",{"type":54,"tag":82,"props":2619,"children":2620},{"style":105},[2621],{"type":60,"value":439},{"type":54,"tag":82,"props":2623,"children":2624},{"style":105},[2625],{"type":60,"value":129},{"type":54,"tag":82,"props":2627,"children":2628},{"style":132},[2629],{"type":60,"value":2630},"https:\u002F\u002Fapi.example.com",{"type":54,"tag":82,"props":2632,"children":2633},{"style":105},[2634],{"type":60,"value":140},{"type":54,"tag":82,"props":2636,"children":2637},{"style":105},[2638],{"type":60,"value":119},{"type":54,"tag":82,"props":2640,"children":2641},{"style":111},[2642],{"type":60,"value":651},{"type":54,"tag":82,"props":2644,"children":2645},{"style":105},[2646],{"type":60,"value":145},{"type":54,"tag":82,"props":2648,"children":2649},{"class":84,"line":324},[2650],{"type":54,"tag":82,"props":2651,"children":2652},{"style":89},[2653],{"type":60,"value":2654},"\u002F\u002F Batch request to \u002FgetUser,createUser → 404\n",{"type":54,"tag":1375,"props":2656,"children":2657},{},[2658],{"type":60,"value":2659},"Correct:",{"type":54,"tag":70,"props":2661,"children":2663},{"className":72,"code":2662,"language":74,"meta":75,"style":75},"import { httpBatchLink, httpLink } from '@trpc\u002Fclient';\n\n\u002F\u002F Option A: Single catch-all resource (e.g., \u002F{proxy+})\nhttpBatchLink({ url: 'https:\u002F\u002Fapi.example.com' });\n\n\u002F\u002F Option B: Per-procedure resources with httpLink (no batching)\nhttpLink({ url: 'https:\u002F\u002Fapi.example.com' });\n",[2664],{"type":54,"tag":78,"props":2665,"children":2666},{"__ignoreMap":75},[2667,2715,2722,2730,2777,2784,2792],{"type":54,"tag":82,"props":2668,"children":2669},{"class":84,"line":85},[2670,2674,2678,2682,2686,2691,2695,2699,2703,2707,2711],{"type":54,"tag":82,"props":2671,"children":2672},{"style":99},[2673],{"type":60,"value":102},{"type":54,"tag":82,"props":2675,"children":2676},{"style":105},[2677],{"type":60,"value":108},{"type":54,"tag":82,"props":2679,"children":2680},{"style":111},[2681],{"type":60,"value":2565},{"type":54,"tag":82,"props":2683,"children":2684},{"style":105},[2685],{"type":60,"value":2190},{"type":54,"tag":82,"props":2687,"children":2688},{"style":111},[2689],{"type":60,"value":2690}," httpLink",{"type":54,"tag":82,"props":2692,"children":2693},{"style":105},[2694],{"type":60,"value":119},{"type":54,"tag":82,"props":2696,"children":2697},{"style":99},[2698],{"type":60,"value":124},{"type":54,"tag":82,"props":2700,"children":2701},{"style":105},[2702],{"type":60,"value":129},{"type":54,"tag":82,"props":2704,"children":2705},{"style":132},[2706],{"type":60,"value":2582},{"type":54,"tag":82,"props":2708,"children":2709},{"style":105},[2710],{"type":60,"value":140},{"type":54,"tag":82,"props":2712,"children":2713},{"style":105},[2714],{"type":60,"value":145},{"type":54,"tag":82,"props":2716,"children":2717},{"class":84,"line":95},[2718],{"type":54,"tag":82,"props":2719,"children":2720},{"emptyLinePlaceholder":328},[2721],{"type":60,"value":331},{"type":54,"tag":82,"props":2723,"children":2724},{"class":84,"line":148},[2725],{"type":54,"tag":82,"props":2726,"children":2727},{"style":89},[2728],{"type":60,"value":2729},"\u002F\u002F Option A: Single catch-all resource (e.g., \u002F{proxy+})\n",{"type":54,"tag":82,"props":2731,"children":2732},{"class":84,"line":195},[2733,2737,2741,2745,2749,2753,2757,2761,2765,2769,2773],{"type":54,"tag":82,"props":2734,"children":2735},{"style":363},[2736],{"type":60,"value":2499},{"type":54,"tag":82,"props":2738,"children":2739},{"style":111},[2740],{"type":60,"value":419},{"type":54,"tag":82,"props":2742,"children":2743},{"style":105},[2744],{"type":60,"value":489},{"type":54,"tag":82,"props":2746,"children":2747},{"style":431},[2748],{"type":60,"value":2617},{"type":54,"tag":82,"props":2750,"children":2751},{"style":105},[2752],{"type":60,"value":439},{"type":54,"tag":82,"props":2754,"children":2755},{"style":105},[2756],{"type":60,"value":129},{"type":54,"tag":82,"props":2758,"children":2759},{"style":132},[2760],{"type":60,"value":2630},{"type":54,"tag":82,"props":2762,"children":2763},{"style":105},[2764],{"type":60,"value":140},{"type":54,"tag":82,"props":2766,"children":2767},{"style":105},[2768],{"type":60,"value":119},{"type":54,"tag":82,"props":2770,"children":2771},{"style":111},[2772],{"type":60,"value":651},{"type":54,"tag":82,"props":2774,"children":2775},{"style":105},[2776],{"type":60,"value":145},{"type":54,"tag":82,"props":2778,"children":2779},{"class":84,"line":236},[2780],{"type":54,"tag":82,"props":2781,"children":2782},{"emptyLinePlaceholder":328},[2783],{"type":60,"value":331},{"type":54,"tag":82,"props":2785,"children":2786},{"class":84,"line":282},[2787],{"type":54,"tag":82,"props":2788,"children":2789},{"style":89},[2790],{"type":60,"value":2791},"\u002F\u002F Option B: Per-procedure resources with httpLink (no batching)\n",{"type":54,"tag":82,"props":2793,"children":2794},{"class":84,"line":324},[2795,2800,2804,2808,2812,2816,2820,2824,2828,2832,2836],{"type":54,"tag":82,"props":2796,"children":2797},{"style":363},[2798],{"type":60,"value":2799},"httpLink",{"type":54,"tag":82,"props":2801,"children":2802},{"style":111},[2803],{"type":60,"value":419},{"type":54,"tag":82,"props":2805,"children":2806},{"style":105},[2807],{"type":60,"value":489},{"type":54,"tag":82,"props":2809,"children":2810},{"style":431},[2811],{"type":60,"value":2617},{"type":54,"tag":82,"props":2813,"children":2814},{"style":105},[2815],{"type":60,"value":439},{"type":54,"tag":82,"props":2817,"children":2818},{"style":105},[2819],{"type":60,"value":129},{"type":54,"tag":82,"props":2821,"children":2822},{"style":132},[2823],{"type":60,"value":2630},{"type":54,"tag":82,"props":2825,"children":2826},{"style":105},[2827],{"type":60,"value":140},{"type":54,"tag":82,"props":2829,"children":2830},{"style":105},[2831],{"type":60,"value":119},{"type":54,"tag":82,"props":2833,"children":2834},{"style":111},[2835],{"type":60,"value":651},{"type":54,"tag":82,"props":2837,"children":2838},{"style":105},[2839],{"type":60,"value":145},{"type":54,"tag":1375,"props":2841,"children":2842},{},[2843,2848,2850,2856,2858,2863],{"type":54,"tag":78,"props":2844,"children":2846},{"className":2845},[],[2847],{"type":60,"value":2499},{"type":60,"value":2849}," sends multiple procedure names in the URL path (e.g., ",{"type":54,"tag":78,"props":2851,"children":2853},{"className":2852},[],[2854],{"type":60,"value":2855},"getUser,createUser",{"type":60,"value":2857},"). If API Gateway routes are per-procedure, the combined path does not match any resource and returns 404. Use a single catch-all resource or switch to ",{"type":54,"tag":78,"props":2859,"children":2861},{"className":2860},[],[2862],{"type":60,"value":2799},{"type":60,"value":360},{"type":54,"tag":1375,"props":2865,"children":2866},{},[2867],{"type":60,"value":2868},"Source: www\u002Fdocs\u002Fserver\u002Fadapters\u002Faws-lambda.md",{"type":54,"tag":956,"props":2870,"children":2872},{"id":2871},"high-forgetting-streamifyresponse-wrapper-for-streaming",[2873],{"type":60,"value":2874},"HIGH Forgetting streamifyResponse wrapper for streaming",{"type":54,"tag":1375,"props":2876,"children":2877},{},[2878],{"type":60,"value":2518},{"type":54,"tag":70,"props":2880,"children":2882},{"className":72,"code":2881,"language":74,"meta":75,"style":75},"export const handler = awsLambdaStreamingRequestHandler({\n  router: appRouter,\n  createContext,\n});\n",[2883],{"type":54,"tag":78,"props":2884,"children":2885},{"__ignoreMap":75},[2886,2917,2936,2947],{"type":54,"tag":82,"props":2887,"children":2888},{"class":84,"line":85},[2889,2893,2897,2901,2905,2909,2913],{"type":54,"tag":82,"props":2890,"children":2891},{"style":99},[2892],{"type":60,"value":672},{"type":54,"tag":82,"props":2894,"children":2895},{"style":338},[2896],{"type":60,"value":877},{"type":54,"tag":82,"props":2898,"children":2899},{"style":111},[2900],{"type":60,"value":882},{"type":54,"tag":82,"props":2902,"children":2903},{"style":105},[2904],{"type":60,"value":351},{"type":54,"tag":82,"props":2906,"children":2907},{"style":363},[2908],{"type":60,"value":1512},{"type":54,"tag":82,"props":2910,"children":2911},{"style":111},[2912],{"type":60,"value":419},{"type":54,"tag":82,"props":2914,"children":2915},{"style":105},[2916],{"type":60,"value":424},{"type":54,"tag":82,"props":2918,"children":2919},{"class":84,"line":95},[2920,2924,2928,2932],{"type":54,"tag":82,"props":2921,"children":2922},{"style":431},[2923],{"type":60,"value":907},{"type":54,"tag":82,"props":2925,"children":2926},{"style":105},[2927],{"type":60,"value":439},{"type":54,"tag":82,"props":2929,"children":2930},{"style":111},[2931],{"type":60,"value":697},{"type":54,"tag":82,"props":2933,"children":2934},{"style":105},[2935],{"type":60,"value":638},{"type":54,"tag":82,"props":2937,"children":2938},{"class":84,"line":148},[2939,2943],{"type":54,"tag":82,"props":2940,"children":2941},{"style":111},[2942],{"type":60,"value":928},{"type":54,"tag":82,"props":2944,"children":2945},{"style":105},[2946],{"type":60,"value":638},{"type":54,"tag":82,"props":2948,"children":2949},{"class":84,"line":195},[2950,2954,2958],{"type":54,"tag":82,"props":2951,"children":2952},{"style":105},[2953],{"type":60,"value":521},{"type":54,"tag":82,"props":2955,"children":2956},{"style":111},[2957],{"type":60,"value":651},{"type":54,"tag":82,"props":2959,"children":2960},{"style":105},[2961],{"type":60,"value":145},{"type":54,"tag":1375,"props":2963,"children":2964},{},[2965],{"type":60,"value":2659},{"type":54,"tag":70,"props":2967,"children":2969},{"className":72,"code":2968,"language":74,"meta":75,"style":75},"export const handler = awslambda.streamifyResponse(\n  awsLambdaStreamingRequestHandler({\n    router: appRouter,\n    createContext,\n  }),\n);\n",[2970],{"type":54,"tag":78,"props":2971,"children":2972},{"__ignoreMap":75},[2973,3008,3023,3042,3053,3068],{"type":54,"tag":82,"props":2974,"children":2975},{"class":84,"line":85},[2976,2980,2984,2988,2992,2996,3000,3004],{"type":54,"tag":82,"props":2977,"children":2978},{"style":99},[2979],{"type":60,"value":672},{"type":54,"tag":82,"props":2981,"children":2982},{"style":338},[2983],{"type":60,"value":877},{"type":54,"tag":82,"props":2985,"children":2986},{"style":111},[2987],{"type":60,"value":882},{"type":54,"tag":82,"props":2989,"children":2990},{"style":105},[2991],{"type":60,"value":351},{"type":54,"tag":82,"props":2993,"children":2994},{"style":111},[2995],{"type":60,"value":1749},{"type":54,"tag":82,"props":2997,"children":2998},{"style":105},[2999],{"type":60,"value":360},{"type":54,"tag":82,"props":3001,"children":3002},{"style":363},[3003],{"type":60,"value":1758},{"type":54,"tag":82,"props":3005,"children":3006},{"style":111},[3007],{"type":60,"value":1763},{"type":54,"tag":82,"props":3009,"children":3010},{"class":84,"line":95},[3011,3015,3019],{"type":54,"tag":82,"props":3012,"children":3013},{"style":363},[3014],{"type":60,"value":1771},{"type":54,"tag":82,"props":3016,"children":3017},{"style":111},[3018],{"type":60,"value":419},{"type":54,"tag":82,"props":3020,"children":3021},{"style":105},[3022],{"type":60,"value":424},{"type":54,"tag":82,"props":3024,"children":3025},{"class":84,"line":148},[3026,3030,3034,3038],{"type":54,"tag":82,"props":3027,"children":3028},{"style":431},[3029],{"type":60,"value":1787},{"type":54,"tag":82,"props":3031,"children":3032},{"style":105},[3033],{"type":60,"value":439},{"type":54,"tag":82,"props":3035,"children":3036},{"style":111},[3037],{"type":60,"value":697},{"type":54,"tag":82,"props":3039,"children":3040},{"style":105},[3041],{"type":60,"value":638},{"type":54,"tag":82,"props":3043,"children":3044},{"class":84,"line":195},[3045,3049],{"type":54,"tag":82,"props":3046,"children":3047},{"style":111},[3048],{"type":60,"value":1807},{"type":54,"tag":82,"props":3050,"children":3051},{"style":105},[3052],{"type":60,"value":638},{"type":54,"tag":82,"props":3054,"children":3055},{"class":84,"line":236},[3056,3060,3064],{"type":54,"tag":82,"props":3057,"children":3058},{"style":105},[3059],{"type":60,"value":1819},{"type":54,"tag":82,"props":3061,"children":3062},{"style":111},[3063],{"type":60,"value":651},{"type":54,"tag":82,"props":3065,"children":3066},{"style":105},[3067],{"type":60,"value":638},{"type":54,"tag":82,"props":3069,"children":3070},{"class":84,"line":282},[3071,3075],{"type":54,"tag":82,"props":3072,"children":3073},{"style":111},[3074],{"type":60,"value":651},{"type":54,"tag":82,"props":3076,"children":3077},{"style":105},[3078],{"type":60,"value":145},{"type":54,"tag":1375,"props":3080,"children":3081},{},[3082,3088,3090,3096],{"type":54,"tag":78,"props":3083,"children":3085},{"className":3084},[],[3086],{"type":60,"value":3087},"awsLambdaStreamingRequestHandler",{"type":60,"value":3089}," requires wrapping with ",{"type":54,"tag":78,"props":3091,"children":3093},{"className":3092},[],[3094],{"type":60,"value":3095},"awslambda.streamifyResponse()",{"type":60,"value":3097}," to enable Lambda response streaming. Without it, Lambda treats the handler as a standard buffered response.",{"type":54,"tag":1375,"props":3099,"children":3100},{},[3101],{"type":60,"value":2868},{"type":54,"tag":63,"props":3103,"children":3105},{"id":3104},"see-also",[3106],{"type":60,"value":3107},"See Also",{"type":54,"tag":3109,"props":3110,"children":3111},"ul",{},[3112,3131,3141,3164],{"type":54,"tag":3113,"props":3114,"children":3115},"li",{},[3116,3121,3123,3129],{"type":54,"tag":3117,"props":3118,"children":3119},"strong",{},[3120],{"type":60,"value":45},{"type":60,"value":3122}," -- ",{"type":54,"tag":78,"props":3124,"children":3126},{"className":3125},[],[3127],{"type":60,"value":3128},"initTRPC.create()",{"type":60,"value":3130},", router\u002Fprocedure definition, context",{"type":54,"tag":3113,"props":3132,"children":3133},{},[3134,3139],{"type":54,"tag":3117,"props":3135,"children":3136},{},[3137],{"type":60,"value":3138},"adapter-fetch",{"type":60,"value":3140}," -- alternative for edge\u002Fserverless runtimes using Fetch API",{"type":54,"tag":3113,"props":3142,"children":3143},{},[3144,3149,3150,3155,3157,3162],{"type":54,"tag":3117,"props":3145,"children":3146},{},[3147],{"type":60,"value":3148},"links",{"type":60,"value":3122},{"type":54,"tag":78,"props":3151,"children":3153},{"className":3152},[],[3154],{"type":60,"value":2499},{"type":60,"value":3156}," vs ",{"type":54,"tag":78,"props":3158,"children":3160},{"className":3159},[],[3161],{"type":60,"value":2799},{"type":60,"value":3163}," for API Gateway routing considerations",{"type":54,"tag":3113,"props":3165,"children":3166},{},[3167,3169],{"type":60,"value":3168},"AWS Lambda docs: ",{"type":54,"tag":3170,"props":3171,"children":3175},"a",{"href":3172,"rel":3173},"https:\u002F\u002Fdocs.aws.amazon.com\u002Flambda\u002Flatest\u002Fdg\u002Fwelcome.html",[3174],"nofollow",[3176],{"type":60,"value":3172},{"type":54,"tag":3178,"props":3179,"children":3180},"style",{},[3181],{"type":60,"value":3182},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":3184,"total":843},[3185,3192,3205,3218,3237,3250,3264,3278,3290,3304,3313,3325],{"slug":4,"name":4,"fn":5,"description":6,"org":3186,"tags":3187,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3188,3189,3190,3191],{"name":18,"slug":19,"type":15},{"name":21,"slug":22,"type":15},{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"slug":3193,"name":3193,"fn":3194,"description":3195,"org":3196,"tags":3197,"stars":23,"repoUrl":24,"updatedAt":3204},"adapter-express","mount tRPC as Express middleware","Mount tRPC as Express middleware with createExpressMiddleware() from @trpc\u002Fserver\u002Fadapters\u002Fexpress. Access Express req\u002Fres in createContext via CreateExpressContextOptions. Mount at a path prefix like app.use('\u002Ftrpc', ...). Avoid global express.json() conflicting with tRPC body parsing for FormData.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3198,3199,3200,3203],{"name":18,"slug":19,"type":15},{"name":13,"slug":14,"type":15},{"name":3201,"slug":3202,"type":15},"Express","express",{"name":9,"slug":8,"type":15},"2026-07-18T05:46:53.274248",{"slug":3206,"name":3206,"fn":3207,"description":3208,"org":3209,"tags":3210,"stars":23,"repoUrl":24,"updatedAt":3217},"adapter-fastify","mount tRPC as a Fastify plugin","Mount tRPC as a Fastify plugin with fastifyTRPCPlugin from @trpc\u002Fserver\u002Fadapters\u002Ffastify. Configure prefix, trpcOptions (router, createContext, onError). Enable WebSocket subscriptions with useWSS and @fastify\u002Fwebsocket. Set routerOptions.maxParamLength for batch requests. Requires Fastify v5+. FastifyTRPCPluginOptions for type-safe onError. CreateFastifyContextOptions provides req, res.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3211,3212,3213,3216],{"name":18,"slug":19,"type":15},{"name":13,"slug":14,"type":15},{"name":3214,"slug":3215,"type":15},"Fastify","fastify",{"name":9,"slug":8,"type":15},"2026-07-18T05:46:53.746621",{"slug":3138,"name":3138,"fn":3219,"description":3220,"org":3221,"tags":3222,"stars":23,"repoUrl":24,"updatedAt":3236},"deploy tRPC on edge runtimes","Deploy tRPC on WinterCG-compliant edge runtimes with fetchRequestHandler() from @trpc\u002Fserver\u002Fadapters\u002Ffetch. Supports Cloudflare Workers, Deno Deploy, Vercel Edge Runtime, Astro, Remix, SolidStart. FetchCreateContextFnOptions provides req (Request) and resHeaders (Headers) for context creation. The endpoint option must match the URL path prefix where the handler is mounted.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3223,3226,3229,3232,3233],{"name":3224,"slug":3225,"type":15},"Cloudflare","cloudflare",{"name":3227,"slug":3228,"type":15},"Deployment","deployment",{"name":3230,"slug":3231,"type":15},"Edge","edge",{"name":9,"slug":8,"type":15},{"name":3234,"slug":3235,"type":15},"Vercel","vercel","2026-07-18T05:46:50.548228",{"slug":3238,"name":3238,"fn":3239,"description":3240,"org":3241,"tags":3242,"stars":23,"repoUrl":24,"updatedAt":3249},"adapter-standalone","mount tRPC on Node.js servers","Mount tRPC on Node.js built-in HTTP server with createHTTPServer() from @trpc\u002Fserver\u002Fadapters\u002Fstandalone, createHTTPHandler() for custom http.createServer, createHTTP2Handler() for HTTP\u002F2 with TLS. Configure basePath to slice URL prefix, CORS via the cors npm package passed as middleware option. CreateHTTPContextOptions provides req and res for context creation.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3243,3244,3245,3248],{"name":18,"slug":19,"type":15},{"name":13,"slug":14,"type":15},{"name":3246,"slug":3247,"type":15},"Node.js","node-js",{"name":9,"slug":8,"type":15},"2026-07-18T05:46:58.093869",{"slug":3251,"name":3251,"fn":3252,"description":3253,"org":3254,"tags":3255,"stars":23,"repoUrl":24,"updatedAt":3263},"auth","implement authentication in tRPC applications","Implement JWT\u002Fcookie authentication and authorization in tRPC using createContext for user extraction, t.middleware with opts.next({ ctx }) for context narrowing to non-null user, protectedProcedure base pattern, client-side Authorization headers via httpBatchLink headers(), WebSocket connectionParams, and SSE auth via cookies or EventSource polyfill custom headers.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3256,3258,3261,3262],{"name":3257,"slug":3251,"type":15},"Auth",{"name":3259,"slug":3260,"type":15},"Authentication","authentication",{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},"2026-07-18T05:46:45.347628",{"slug":3265,"name":3265,"fn":3266,"description":3267,"org":3268,"tags":3269,"stars":23,"repoUrl":24,"updatedAt":3277},"caching","configure HTTP caching for tRPC queries","Set HTTP cache headers on tRPC query responses via responseMeta callback for CDN and browser caching. Configure Cache-Control, s-maxage, stale-while-revalidate. Handle caching with batching and authenticated requests. Avoid caching mutations, errors, and authenticated responses.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3270,3271,3273,3276],{"name":13,"slug":14,"type":15},{"name":3272,"slug":3265,"type":15},"Caching",{"name":3274,"slug":3275,"type":15},"Performance","performance",{"name":9,"slug":8,"type":15},"2026-07-18T05:46:45.86443",{"slug":3279,"name":3279,"fn":3280,"description":3281,"org":3282,"tags":3283,"stars":23,"repoUrl":24,"updatedAt":3289},"client-setup","set up vanilla tRPC clients","Create a vanilla tRPC client with createTRPCClient\u003CAppRouter>(), configure link chain with httpBatchLink\u002FhttpLink, dynamic headers for auth, transformer on links (not client constructor). Infer types with inferRouterInputs and inferRouterOutputs. AbortController signal support. TRPCClientError typing.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3284,3285,3288],{"name":18,"slug":19,"type":15},{"name":3286,"slug":3287,"type":15},"Frontend","frontend",{"name":9,"slug":8,"type":15},"2026-07-18T05:48:11.437946",{"slug":3291,"name":3291,"fn":3292,"description":3293,"org":3294,"tags":3295,"stars":23,"repoUrl":24,"updatedAt":3303},"error-handling","implement typed error handling in tRPC","Throw typed errors with TRPCError and error codes (NOT_FOUND, UNAUTHORIZED, BAD_REQUEST, INTERNAL_SERVER_ERROR), configure errorFormatter for client-side Zod error display, handle errors globally with onError callback, map tRPC errors to HTTP status codes with getHTTPStatusCodeFromError().\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3296,3297,3300,3301],{"name":13,"slug":14,"type":15},{"name":3298,"slug":3299,"type":15},"Debugging","debugging",{"name":9,"slug":8,"type":15},{"name":3302,"slug":34,"type":15},"TypeScript","2026-07-18T05:46:52.798151",{"slug":3148,"name":3148,"fn":3305,"description":3306,"org":3307,"tags":3308,"stars":23,"repoUrl":24,"updatedAt":3312},"configure tRPC client link chains","Configure the tRPC client link chain: httpLink, httpBatchLink, httpBatchStreamLink, splitLink, loggerLink, wsLink, createWSClient, httpSubscriptionLink, unstable_localLink, retryLink. Choose the right terminating link. Route subscriptions via splitLink. Build custom links for SOA routing. Link options: url, headers, transformer, maxURLLength, maxItems, connectionParams, EventSource ponyfill.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3309,3310,3311],{"name":18,"slug":19,"type":15},{"name":3286,"slug":3287,"type":15},{"name":9,"slug":8,"type":15},"2026-07-18T05:47:06.847309",{"slug":3314,"name":3314,"fn":3315,"description":3316,"org":3317,"tags":3318,"stars":23,"repoUrl":24,"updatedAt":3324},"middlewares","compose middleware for tRPC procedures","Create and compose tRPC middleware with t.procedure.use(), extend context via opts.next({ ctx }), build reusable middleware with .concat() and .unstable_pipe(), define base procedures like publicProcedure and authedProcedure. Access raw input with getRawInput(). Logging, timing, OTEL tracing patterns.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3319,3320,3323],{"name":13,"slug":14,"type":15},{"name":3321,"slug":3322,"type":15},"Middleware","middleware",{"name":9,"slug":8,"type":15},"2026-07-18T05:46:49.132255",{"slug":3326,"name":3326,"fn":3327,"description":3328,"org":3329,"tags":3330,"stars":23,"repoUrl":24,"updatedAt":3338},"nextjs-app-router","implement tRPC in Next.js App Router","Full end-to-end tRPC setup for Next.js App Router. Covers route handler with fetchRequestHandler (GET + POST exports), TRPCProvider with QueryClientProvider, createTRPCOptionsProxy for RSC prefetching, HydrateClient\u002FHydrationBoundary for hydration, useSuspenseQuery for Suspense, and server-side callers.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3331,3332,3333,3336,3337],{"name":13,"slug":14,"type":15},{"name":3286,"slug":3287,"type":15},{"name":3334,"slug":3335,"type":15},"Next.js","next-js",{"name":9,"slug":8,"type":15},{"name":3302,"slug":34,"type":15},"2026-07-18T05:47:10.468453",{"items":3340,"total":843},[3341,3348,3355,3362,3370,3377,3384],{"slug":4,"name":4,"fn":5,"description":6,"org":3342,"tags":3343,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3344,3345,3346,3347],{"name":18,"slug":19,"type":15},{"name":21,"slug":22,"type":15},{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"slug":3193,"name":3193,"fn":3194,"description":3195,"org":3349,"tags":3350,"stars":23,"repoUrl":24,"updatedAt":3204},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3351,3352,3353,3354],{"name":18,"slug":19,"type":15},{"name":13,"slug":14,"type":15},{"name":3201,"slug":3202,"type":15},{"name":9,"slug":8,"type":15},{"slug":3206,"name":3206,"fn":3207,"description":3208,"org":3356,"tags":3357,"stars":23,"repoUrl":24,"updatedAt":3217},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3358,3359,3360,3361],{"name":18,"slug":19,"type":15},{"name":13,"slug":14,"type":15},{"name":3214,"slug":3215,"type":15},{"name":9,"slug":8,"type":15},{"slug":3138,"name":3138,"fn":3219,"description":3220,"org":3363,"tags":3364,"stars":23,"repoUrl":24,"updatedAt":3236},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3365,3366,3367,3368,3369],{"name":3224,"slug":3225,"type":15},{"name":3227,"slug":3228,"type":15},{"name":3230,"slug":3231,"type":15},{"name":9,"slug":8,"type":15},{"name":3234,"slug":3235,"type":15},{"slug":3238,"name":3238,"fn":3239,"description":3240,"org":3371,"tags":3372,"stars":23,"repoUrl":24,"updatedAt":3249},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3373,3374,3375,3376],{"name":18,"slug":19,"type":15},{"name":13,"slug":14,"type":15},{"name":3246,"slug":3247,"type":15},{"name":9,"slug":8,"type":15},{"slug":3251,"name":3251,"fn":3252,"description":3253,"org":3378,"tags":3379,"stars":23,"repoUrl":24,"updatedAt":3263},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3380,3381,3382,3383],{"name":3257,"slug":3251,"type":15},{"name":3259,"slug":3260,"type":15},{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"slug":3265,"name":3265,"fn":3266,"description":3267,"org":3385,"tags":3386,"stars":23,"repoUrl":24,"updatedAt":3277},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3387,3388,3389,3390],{"name":13,"slug":14,"type":15},{"name":3272,"slug":3265,"type":15},{"name":3274,"slug":3275,"type":15},{"name":9,"slug":8,"type":15}]