[{"data":1,"prerenderedAt":980},["ShallowReactive",2],{"navigation_docs":3,"-rpc-platforms-aws-lambda":399},[4,162,346],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":24},"RPC","icon-park-outline:lightning","\u002Frpc","01.rpc",[10,25,63,77,102,136],{"title":11,"icon":12,"redirect":7,"path":13,"stem":14,"children":15,"page":24},"Introduction","icon-park-outline:home","\u002Frpc\u002Fintroduction","01.rpc\u002F01.introduction",[16,20],{"title":17,"path":18,"stem":19},"Quick Start","\u002Frpc\u002Fintroduction\u002Fquick-start","01.rpc\u002F01.introduction\u002F02.quick-start",{"title":21,"path":22,"stem":23},"Manual Install","\u002Frpc\u002Fintroduction\u002Fmanual-install","01.rpc\u002F01.introduction\u002F03.manual-install",false,{"title":26,"icon":27,"path":28,"stem":29,"children":30,"page":24},"Server","icon-park-outline:server","\u002Frpc\u002Fserver","01.rpc\u002F02.server",[31,35,39,43,47,51,55,59],{"title":32,"path":33,"stem":34},"Routes","\u002Frpc\u002Fserver\u002Froutes","01.rpc\u002F02.server\u002F01.routes",{"title":36,"path":37,"stem":38},"Middleware","\u002Frpc\u002Fserver\u002Fmiddleware","01.rpc\u002F02.server\u002F02.middleware",{"title":40,"path":41,"stem":42},"Call Context","\u002Frpc\u002Fserver\u002Fcall-context","01.rpc\u002F02.server\u002F03.call-context",{"title":44,"path":45,"stem":46},"Headers","\u002Frpc\u002Fserver\u002Fheaders","01.rpc\u002F02.server\u002F04.headers",{"title":48,"path":49,"stem":50},"Error Handling","\u002Frpc\u002Fserver\u002Ferror-handling","01.rpc\u002F02.server\u002F05.error-handling",{"title":52,"path":53,"stem":54},"Validation","\u002Frpc\u002Fserver\u002Fvalidation","01.rpc\u002F02.server\u002F06.validation",{"title":56,"path":57,"stem":58},"JSON Round Trip","\u002Frpc\u002Fserver\u002Fjson-round-trip","01.rpc\u002F02.server\u002F07.json-round-trip",{"title":60,"path":61,"stem":62},"Drizzle Tables","\u002Frpc\u002Fserver\u002Fdrizzle-tables","01.rpc\u002F02.server\u002F08.drizzle-tables",{"title":64,"icon":65,"path":66,"stem":67,"children":68,"page":24},"Middlewares","icon-park-outline:link-one","\u002Frpc\u002Fmiddlewares","01.rpc\u002F03.middlewares",[69,73],{"title":70,"path":71,"stem":72},"fetchMetadata","\u002Frpc\u002Fmiddlewares\u002Ffetch-metadata","01.rpc\u002F03.middlewares\u002F01.fetch-metadata",{"title":74,"path":75,"stem":76},"syncRoutes","\u002Frpc\u002Fmiddlewares\u002Fsync-routes","01.rpc\u002F03.middlewares\u002F02.sync-routes",{"title":78,"icon":79,"path":80,"stem":81,"children":82,"page":24},"Client","icon-park-outline:computer","\u002Frpc\u002Fclient","01.rpc\u002F04.client",[83,87,91,94,98],{"title":84,"path":85,"stem":86},"Client Overview","\u002Frpc\u002Fclient\u002Fclient-overview","01.rpc\u002F04.client\u002F00.client-overview",{"title":88,"path":89,"stem":90},"Client Middleware","\u002Frpc\u002Fclient\u002Fclient-middleware","01.rpc\u002F04.client\u002F01.client-middleware",{"title":48,"path":92,"stem":93},"\u002Frpc\u002Fclient\u002Ferror-handling","01.rpc\u002F04.client\u002F02.error-handling",{"title":95,"path":96,"stem":97},"Batch Requests","\u002Frpc\u002Fclient\u002Fbatch","01.rpc\u002F04.client\u002F03.batch",{"title":99,"path":100,"stem":101},"Cancellation & Timeouts","\u002Frpc\u002Fclient\u002Fcancellation-timeouts","01.rpc\u002F04.client\u002F04.cancellation-timeouts",{"title":103,"redirect":104,"icon":105,"path":106,"stem":107,"children":108,"page":24},"Platforms","\u002Frpc\u002Fplatforms\u002Fnode-js","icon-park-outline:play","\u002Frpc\u002Fplatforms","01.rpc\u002F06.platforms",[109,112,116,120,124,128,132],{"title":110,"path":104,"stem":111},"Node.js","01.rpc\u002F06.platforms\u002F01.node-js",{"title":113,"path":114,"stem":115},"Bun","\u002Frpc\u002Fplatforms\u002Fbun","01.rpc\u002F06.platforms\u002F02.bun",{"title":117,"path":118,"stem":119},"AWS Lambda","\u002Frpc\u002Fplatforms\u002Faws-lambda","01.rpc\u002F06.platforms\u002F03.aws-lambda",{"title":121,"path":122,"stem":123},"Google Cloud Functions","\u002Frpc\u002Fplatforms\u002Fgoogle-cloud-functions","01.rpc\u002F06.platforms\u002F04.google-cloud-functions",{"title":125,"path":126,"stem":127},"Cloudflare Workers","\u002Frpc\u002Fplatforms\u002Fcloudflare","01.rpc\u002F06.platforms\u002F05.cloudflare",{"title":129,"path":130,"stem":131},"Vercel","\u002Frpc\u002Fplatforms\u002Fvercel","01.rpc\u002F06.platforms\u002F06.vercel",{"title":133,"path":134,"stem":135},"uWebSockets.js","\u002Frpc\u002Fplatforms\u002Fuwebsockets","01.rpc\u002F06.platforms\u002F07.uwebsockets",{"title":137,"icon":138,"path":139,"stem":140,"children":141,"page":24},"Devtools","icon-park-outline:tool","\u002Frpc\u002Fdevtools","01.rpc\u002F07.devtools",[142,146,150,154,158],{"title":143,"path":144,"stem":145},"Linter","\u002Frpc\u002Fdevtools\u002Flinter","01.rpc\u002F07.devtools\u002F01.linter",{"title":147,"path":148,"stem":149},"Vite","\u002Frpc\u002Fdevtools\u002Fvite","01.rpc\u002F07.devtools\u002F02.vite",{"title":151,"path":152,"stem":153},"Next.js","\u002Frpc\u002Fdevtools\u002Fnextjs","01.rpc\u002F07.devtools\u002F03.nextjs",{"title":155,"path":156,"stem":157},"CLI","\u002Frpc\u002Fdevtools\u002Fcli","01.rpc\u002F07.devtools\u002F04.cli",{"title":159,"path":160,"stem":161},"API Types","\u002Frpc\u002Fdevtools\u002Fapi-types","01.rpc\u002F07.devtools\u002F05.api-types",{"title":163,"icon":164,"path":165,"stem":166,"children":167,"page":24},"RunTypes","i-lucide-braces","\u002Fruntypes","02.runtypes",[168,184,224,254,268,290,332],{"title":11,"icon":169,"redirect":165,"path":170,"stem":171,"children":172,"page":24},"i-lucide-rocket","\u002Fruntypes\u002Fintroduction","02.runtypes\u002F01.introduction",[173,177,180],{"title":174,"path":175,"stem":176},"Built on typescript-go","\u002Fruntypes\u002Fintroduction\u002Fbuilt-on-typescript-go","02.runtypes\u002F01.introduction\u002F02.built-on-typescript-go",{"title":17,"path":178,"stem":179},"\u002Fruntypes\u002Fintroduction\u002Fquick-start","02.runtypes\u002F01.introduction\u002F03.quick-start",{"title":181,"path":182,"stem":183},"Configuration","\u002Fruntypes\u002Fintroduction\u002Fconfiguration","02.runtypes\u002F01.introduction\u002F04.configuration",{"title":185,"icon":186,"redirect":187,"path":188,"stem":189,"children":190,"page":24},"Guide","i-lucide-book-open","\u002Fruntypes\u002Fguide\u002Ftype-builders","\u002Fruntypes\u002Fguide","02.runtypes\u002F02.guide",[191,194,198,201,204,208,212,216,220],{"title":192,"path":187,"stem":193},"Types vs Type Builders","02.runtypes\u002F02.guide\u002F01.type-builders",{"title":195,"path":196,"stem":197},"Reflection","\u002Fruntypes\u002Fguide\u002Freflection","02.runtypes\u002F02.guide\u002F02.reflection",{"title":52,"path":199,"stem":200},"\u002Fruntypes\u002Fguide\u002Fvalidation","02.runtypes\u002F02.guide\u002F03.validation",{"title":56,"path":202,"stem":203},"\u002Fruntypes\u002Fguide\u002Fjson-round-trip","02.runtypes\u002F02.guide\u002F04.json-round-trip",{"title":205,"path":206,"stem":207},"Data Mocking","\u002Fruntypes\u002Fguide\u002Fmocking","02.runtypes\u002F02.guide\u002F07.mocking",{"title":209,"path":210,"stem":211},"JSON Schemas","\u002Fruntypes\u002Fguide\u002Fjson-schemas","02.runtypes\u002F02.guide\u002F08.json-schemas",{"title":213,"path":214,"stem":215},"Pure Functions","\u002Fruntypes\u002Fguide\u002Fpure-functions","02.runtypes\u002F02.guide\u002F09.pure-functions",{"title":217,"path":218,"stem":219},"Compiler Markers","\u002Fruntypes\u002Fguide\u002Fcompiler-markers","02.runtypes\u002F02.guide\u002F10.compiler-markers",{"title":221,"path":222,"stem":223},"All Compiled Functions","\u002Fruntypes\u002Fguide\u002Fall-compiled-functions","02.runtypes\u002F02.guide\u002F11.all-compiled-functions",{"title":225,"icon":226,"redirect":227,"path":228,"stem":229,"children":230,"page":24},"Type Formats","i-lucide-shapes","\u002Fruntypes\u002Ftype-formats\u002Foverview","\u002Fruntypes\u002Ftype-formats","02.runtypes\u002F03.type-formats",[231,234,238,242,246,250],{"title":232,"path":227,"stem":233},"Overview","02.runtypes\u002F03.type-formats\u002F01.overview",{"title":235,"path":236,"stem":237},"String Formats","\u002Fruntypes\u002Ftype-formats\u002Fstring","02.runtypes\u002F03.type-formats\u002F02.string",{"title":239,"path":240,"stem":241},"Number Formats","\u002Fruntypes\u002Ftype-formats\u002Fnumber","02.runtypes\u002F03.type-formats\u002F03.number",{"title":243,"path":244,"stem":245},"BigInt Formats","\u002Fruntypes\u002Ftype-formats\u002Fbigint","02.runtypes\u002F03.type-formats\u002F04.bigint",{"title":247,"path":248,"stem":249},"Date and Time Formats","\u002Fruntypes\u002Ftype-formats\u002Fdate-time","02.runtypes\u002F03.type-formats\u002F05.date-time",{"title":251,"path":252,"stem":253},"Collection Formats","\u002Fruntypes\u002Ftype-formats\u002Fcollections","02.runtypes\u002F03.type-formats\u002F06.collections",{"title":255,"icon":256,"redirect":257,"path":258,"stem":259,"children":260,"page":24},"Tooling","i-lucide-wrench","\u002Fruntypes\u002Ftooling\u002Flinting","\u002Fruntypes\u002Ftooling","02.runtypes\u002F04.tooling",[261,264],{"title":262,"path":257,"stem":263},"Linting","02.runtypes\u002F04.tooling\u002F01.linting",{"title":265,"path":266,"stem":267},"Source Conversion","\u002Fruntypes\u002Ftooling\u002Fsource-conversion","02.runtypes\u002F04.tooling\u002F02.source-conversion",{"title":269,"icon":270,"redirect":271,"path":272,"stem":273,"children":274,"page":24},"AI Integration","i-lucide-sparkles","\u002Fruntypes\u002Fai-integration\u002Fworkflow-and-commands","\u002Fruntypes\u002Fai-integration","02.runtypes\u002F05.ai-integration",[275,278,282,286],{"title":276,"path":271,"stem":277},"AI Workflow","02.runtypes\u002F05.ai-integration\u002F01.workflow-and-commands",{"title":279,"path":280,"stem":281},"FriendlyText","\u002Fruntypes\u002Fai-integration\u002Ffriendly-text","02.runtypes\u002F05.ai-integration\u002F02.friendly-text",{"title":283,"path":284,"stem":285},"MockData","\u002Fruntypes\u002Fai-integration\u002Fmock-data","02.runtypes\u002F05.ai-integration\u002F03.mock-data",{"title":287,"path":288,"stem":289},"Translations (i18n)","\u002Fruntypes\u002Fai-integration\u002Fi18n","02.runtypes\u002F05.ai-integration\u002F04.i18n",{"title":291,"icon":292,"redirect":293,"path":294,"stem":295,"children":296,"page":24},"Drizzle ORM","i-lineicons-drizzle","\u002Fruntypes\u002Fdrizzle-orm\u002Fdrizzle-overview","\u002Fruntypes\u002Fdrizzle-orm","02.runtypes\u002F06.drizzle-orm",[297,300,304,308,312,316,320,324,328],{"title":298,"path":293,"stem":299},"Drizzle Overview","02.runtypes\u002F06.drizzle-orm\u002F00.drizzle-overview",{"title":301,"path":302,"stem":303},"Column Formats","\u002Fruntypes\u002Fdrizzle-orm\u002Fcolumn-formats","02.runtypes\u002F06.drizzle-orm\u002F01.column-formats",{"title":305,"path":306,"stem":307},"Views","\u002Fruntypes\u002Fdrizzle-orm\u002Fviews","02.runtypes\u002F06.drizzle-orm\u002F02.views",{"title":309,"path":310,"stem":311},"Indexes and Constraints","\u002Fruntypes\u002Fdrizzle-orm\u002Fconstraints","02.runtypes\u002F06.drizzle-orm\u002F03.constraints",{"title":313,"path":314,"stem":315},"Row Level Security","\u002Fruntypes\u002Fdrizzle-orm\u002Frow-level-security","02.runtypes\u002F06.drizzle-orm\u002F04.row-level-security",{"title":317,"path":318,"stem":319},"Relations","\u002Fruntypes\u002Fdrizzle-orm\u002Frelations","02.runtypes\u002F06.drizzle-orm\u002F05.relations",{"title":321,"path":322,"stem":323},"The Schema File","\u002Fruntypes\u002Fdrizzle-orm\u002Fschema-file","02.runtypes\u002F06.drizzle-orm\u002F06.schema-file",{"title":325,"path":326,"stem":327},"Migrate an Existing Schema","\u002Fruntypes\u002Fdrizzle-orm\u002Fmigrate-an-existing-schema","02.runtypes\u002F06.drizzle-orm\u002F07.migrate-an-existing-schema",{"title":329,"path":330,"stem":331},"Cloudflare D1 and Durable Objects","\u002Fruntypes\u002Fdrizzle-orm\u002Fcloudflare-storage","02.runtypes\u002F06.drizzle-orm\u002F08.cloudflare-storage",{"title":333,"icon":334,"redirect":335,"path":336,"stem":337,"children":338,"page":24},"Diagnostics","i-lucide-triangle-alert","\u002Fruntypes\u002Fdiagnostics\u002Ferror-levels","\u002Fruntypes\u002Fdiagnostics","02.runtypes\u002F08.diagnostics",[339,342],{"title":340,"path":335,"stem":341},"Error Levels","02.runtypes\u002F08.diagnostics\u002F01.error-levels",{"title":343,"path":344,"stem":345},"All Diagnostics","\u002Fruntypes\u002Fdiagnostics\u002Fall-diagnostics","02.runtypes\u002F08.diagnostics\u002F02.all-diagnostics",{"title":347,"icon":348,"path":349,"stem":350,"children":351,"page":24},"Benchmarks","i-lucide-gauge","\u002Fbenchmarks","03.benchmarks",[352,372],{"title":5,"icon":6,"redirect":353,"path":354,"stem":355,"children":356,"page":24},"\u002Fbenchmarks\u002Frpc\u002Fhello-world","\u002Fbenchmarks\u002Frpc","03.benchmarks\u002F02.rpc",[357,360,364,368],{"title":358,"path":353,"stem":359},"Hello World","03.benchmarks\u002F02.rpc\u002F01.hello-world",{"title":361,"path":362,"stem":363},"Light Validation","\u002Fbenchmarks\u002Frpc\u002Flight-validation","03.benchmarks\u002F02.rpc\u002F02.light-validation",{"title":365,"path":366,"stem":367},"Heavy Validation","\u002Fbenchmarks\u002Frpc\u002Fheavy-validation","03.benchmarks\u002F02.rpc\u002F03.heavy-validation",{"title":369,"path":370,"stem":371},"Payload Sizes","\u002Fbenchmarks\u002Frpc\u002Fpayload-sizes","03.benchmarks\u002F02.rpc\u002F04.payload-sizes",{"title":163,"icon":164,"redirect":373,"path":374,"stem":375,"children":376,"page":24},"\u002Fbenchmarks\u002Fruntypes\u002Fis-valid","\u002Fbenchmarks\u002Fruntypes","03.benchmarks\u002F03.runtypes",[377,380,384,388,392,395],{"title":378,"path":373,"stem":379},"Is Valid","03.benchmarks\u002F03.runtypes\u002F01.is-valid",{"title":381,"path":382,"stem":383},"Is Valid Formats","\u002Fbenchmarks\u002Fruntypes\u002Fis-valid-formats","03.benchmarks\u002F03.runtypes\u002F02.is-valid-formats",{"title":385,"path":386,"stem":387},"Get Errors","\u002Fbenchmarks\u002Fruntypes\u002Fget-errors","03.benchmarks\u002F03.runtypes\u002F03.get-errors",{"title":389,"path":390,"stem":391},"Get Errors Formats","\u002Fbenchmarks\u002Fruntypes\u002Fget-errors-formats","03.benchmarks\u002F03.runtypes\u002F04.get-errors-formats",{"title":56,"path":393,"stem":394},"\u002Fbenchmarks\u002Fruntypes\u002Fjson-round-trip","03.benchmarks\u002F03.runtypes\u002F05.json-round-trip",{"title":396,"path":397,"stem":398},"Type Checking","\u002Fbenchmarks\u002Fruntypes\u002Ftype-checking","03.benchmarks\u002F03.runtypes\u002F07.type-checking",{"id":400,"title":117,"body":401,"description":974,"extension":975,"links":976,"meta":977,"navigation":510,"path":118,"seo":978,"stem":119,"__hash__":979},"docs\u002F01.rpc\u002F06.platforms\u002F03.aws-lambda.md",{"type":402,"value":403},"minimark",[404,412,417,445,449,767,771,774,857,869,873,905,967,970],[405,406,407,411],"p",{},[408,409,410],"code",{},"@mionjs\u002Fplatform-aws"," provides a Lambda handler for API Gateway events.",[413,414,416],"h2",{"id":415},"installing-the-adapter","Installing the Adapter",[418,419,424],"pre",{"className":420,"code":421,"language":422,"meta":423,"style":423},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npm install @mionjs\u002Fplatform-aws @mionjs\u002Frouter\n","bash","",[408,425,426],{"__ignoreMap":423},[427,428,431,435,439,442],"span",{"class":429,"line":430},"line",1,[427,432,434],{"class":433},"sBMFI","npm",[427,436,438],{"class":437},"sfazB"," install",[427,440,441],{"class":437}," @mionjs\u002Fplatform-aws",[427,443,444],{"class":437}," @mionjs\u002Frouter\n",[413,446,448],{"id":447},"creating-the-handler","Creating the Handler",[450,451,452,537],"code-group",{},[418,453,458],{"className":454,"code":455,"filename":456,"language":457,"meta":423,"style":423},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import {createAwsLambdaHandler} from '@mionjs\u002Fplatform-aws';\nimport '.\u002Faws-routes.ts';\n\nexport const handler = createAwsLambdaHandler();\n","src\u002Fhandler.ts","ts",[408,459,460,491,505,512],{"__ignoreMap":423},[427,461,462,466,470,474,477,480,483,485,488],{"class":429,"line":430},[427,463,465],{"class":464},"s7zQu","import",[427,467,469],{"class":468},"sMK4o"," {",[427,471,473],{"class":472},"sTEyZ","createAwsLambdaHandler",[427,475,476],{"class":468},"}",[427,478,479],{"class":464}," from",[427,481,482],{"class":468}," '",[427,484,410],{"class":437},[427,486,487],{"class":468},"'",[427,489,490],{"class":468},";\n",[427,492,494,496,498,501,503],{"class":429,"line":493},2,[427,495,465],{"class":464},[427,497,482],{"class":468},[427,499,500],{"class":437},".\u002Faws-routes.ts",[427,502,487],{"class":468},[427,504,490],{"class":468},[427,506,508],{"class":429,"line":507},3,[427,509,511],{"emptyLinePlaceholder":510},true,"\n",[427,513,515,518,522,525,528,532,535],{"class":429,"line":514},4,[427,516,517],{"class":464},"export",[427,519,521],{"class":520},"spNyl"," const",[427,523,524],{"class":472}," handler ",[427,526,527],{"class":468},"=",[427,529,531],{"class":530},"s2Zo4"," createAwsLambdaHandler",[427,533,534],{"class":472},"()",[427,536,490],{"class":468},[418,538,541],{"className":454,"code":539,"filename":540,"language":457,"meta":423,"style":423},"import {createMionRouter, Routes} from '@mionjs\u002Frouter';\n\nconst mion = createMionRouter();\n\nconst routes = {\n  sayHello: mion.route((ctx, name: string): string => {\n    return `Hello ${name}!`;\n  }),\n} satisfies Routes;\n\n\u002F\u002F the server entry only imports this file\nexport const myApi = mion.initRoutes(routes);\nexport type MyApi = typeof myApi;\n","src\u002Froutes.ts",[408,542,543,571,575,592,596,609,657,685,697,709,714,721,745],{"__ignoreMap":423},[427,544,545,547,549,552,555,558,560,562,564,567,569],{"class":429,"line":430},[427,546,465],{"class":464},[427,548,469],{"class":468},[427,550,551],{"class":472},"createMionRouter",[427,553,554],{"class":468},",",[427,556,557],{"class":472}," Routes",[427,559,476],{"class":468},[427,561,479],{"class":464},[427,563,482],{"class":468},[427,565,566],{"class":437},"@mionjs\u002Frouter",[427,568,487],{"class":468},[427,570,490],{"class":468},[427,572,573],{"class":429,"line":493},[427,574,511],{"emptyLinePlaceholder":510},[427,576,577,580,583,585,588,590],{"class":429,"line":507},[427,578,579],{"class":520},"const",[427,581,582],{"class":472}," mion ",[427,584,527],{"class":468},[427,586,587],{"class":530}," createMionRouter",[427,589,534],{"class":472},[427,591,490],{"class":468},[427,593,594],{"class":429,"line":514},[427,595,511],{"emptyLinePlaceholder":510},[427,597,599,601,604,606],{"class":429,"line":598},5,[427,600,579],{"class":520},[427,602,603],{"class":472}," routes ",[427,605,527],{"class":468},[427,607,608],{"class":468}," {\n",[427,610,612,616,619,622,625,628,631,633,637,639,642,644,647,650,652,655],{"class":429,"line":611},6,[427,613,615],{"class":614},"swJcz","  sayHello",[427,617,618],{"class":468},":",[427,620,621],{"class":472}," mion",[427,623,624],{"class":468},".",[427,626,627],{"class":530},"route",[427,629,630],{"class":472},"(",[427,632,630],{"class":468},[427,634,636],{"class":635},"sHdIc","ctx",[427,638,554],{"class":468},[427,640,641],{"class":635}," name",[427,643,618],{"class":468},[427,645,646],{"class":433}," string",[427,648,649],{"class":468},"):",[427,651,646],{"class":433},[427,653,654],{"class":520}," =>",[427,656,608],{"class":468},[427,658,660,663,666,669,672,675,677,680,683],{"class":429,"line":659},7,[427,661,662],{"class":464},"    return",[427,664,665],{"class":468}," `",[427,667,668],{"class":437},"Hello ",[427,670,671],{"class":468},"${",[427,673,674],{"class":472},"name",[427,676,476],{"class":468},[427,678,679],{"class":437},"!",[427,681,682],{"class":468},"`",[427,684,490],{"class":468},[427,686,688,691,694],{"class":429,"line":687},8,[427,689,690],{"class":468},"  }",[427,692,693],{"class":472},")",[427,695,696],{"class":468},",\n",[427,698,700,702,705,707],{"class":429,"line":699},9,[427,701,476],{"class":468},[427,703,704],{"class":464}," satisfies",[427,706,557],{"class":433},[427,708,490],{"class":468},[427,710,712],{"class":429,"line":711},10,[427,713,511],{"emptyLinePlaceholder":510},[427,715,717],{"class":429,"line":716},11,[427,718,720],{"class":719},"sHwdD","\u002F\u002F the server entry only imports this file\n",[427,722,724,726,728,731,733,735,737,740,743],{"class":429,"line":723},12,[427,725,517],{"class":464},[427,727,521],{"class":520},[427,729,730],{"class":472}," myApi ",[427,732,527],{"class":468},[427,734,621],{"class":472},[427,736,624],{"class":468},[427,738,739],{"class":530},"initRoutes",[427,741,742],{"class":472},"(routes)",[427,744,490],{"class":468},[427,746,748,750,753,756,759,762,765],{"class":429,"line":747},13,[427,749,517],{"class":464},[427,751,752],{"class":520}," type",[427,754,755],{"class":433}," MyApi",[427,757,758],{"class":468}," =",[427,760,761],{"class":468}," typeof",[427,763,764],{"class":472}," myApi",[427,766,490],{"class":468},[413,768,770],{"id":769},"api-gateway-configuration","API Gateway Configuration",[405,772,773],{},"mion works with both REST API and HTTP API (v2). Configure a catch-all route:",[418,775,779],{"className":776,"code":777,"language":778,"meta":423,"style":423},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# serverless.yml example\nfunctions:\n  api:\n    handler: src\u002Fhandler.handler\n    events:\n      - httpApi:\n          method: '*'\n          path: '\u002F{proxy+}'\n","yaml",[408,780,781,786,794,801,811,818,828,843],{"__ignoreMap":423},[427,782,783],{"class":429,"line":430},[427,784,785],{"class":719},"# serverless.yml example\n",[427,787,788,791],{"class":429,"line":493},[427,789,790],{"class":614},"functions",[427,792,793],{"class":468},":\n",[427,795,796,799],{"class":429,"line":507},[427,797,798],{"class":614},"  api",[427,800,793],{"class":468},[427,802,803,806,808],{"class":429,"line":514},[427,804,805],{"class":614},"    handler",[427,807,618],{"class":468},[427,809,810],{"class":437}," src\u002Fhandler.handler\n",[427,812,813,816],{"class":429,"line":598},[427,814,815],{"class":614},"    events",[427,817,793],{"class":468},[427,819,820,823,826],{"class":429,"line":611},[427,821,822],{"class":468},"      -",[427,824,825],{"class":614}," httpApi",[427,827,793],{"class":468},[427,829,830,833,835,837,840],{"class":429,"line":659},[427,831,832],{"class":614},"          method",[427,834,618],{"class":468},[427,836,482],{"class":468},[427,838,839],{"class":437},"*",[427,841,842],{"class":468},"'\n",[427,844,845,848,850,852,855],{"class":429,"line":687},[427,846,847],{"class":614},"          path",[427,849,618],{"class":468},[427,851,482],{"class":468},[427,853,854],{"class":437},"\u002F{proxy+}",[427,856,842],{"class":468},[858,859,860,861,864,865,868],"tip",{},"When API Gateway or a Lambda Function URL sends a base64 body (",[408,862,863],{},"isBase64Encoded: true",", common with binary media types), the handler decodes it first. ",[408,866,867],{},"maxBodySize"," measures the decoded text.",[413,870,872],{"id":871},"adapter-options","Adapter Options",[405,874,875,876,878,879,882,883,885,886,888,889,892,893,899,900,904],{},"Pass options such as ",[408,877,867],{}," (128 KB by default) and ",[408,880,881],{},"maxBodySizeCap"," to ",[408,884,473],{},". ",[408,887,881],{}," defaults to the 6 MB AWS allows on a synchronous invocation; override it when your entry path differs (1 MB behind an Application Load Balancer). Set router options like ",[408,890,891],{},"basePath"," once in ",[894,895,897],"a",{"href":896},"\u002Frpc\u002Fserver\u002Froutes#creating-the-router",[408,898,551],{},", and see ",[894,901,903],{"href":902},"\u002Frpc\u002Fserver\u002Froutes#request-size","Request Size"," for body limits.",[418,906,908],{"className":454,"code":907,"language":457,"meta":423,"style":423},"import {createAwsLambdaHandler} from '@mionjs\u002Fplatform-aws';\nimport '.\u002Faws-routes.ts';\n\nexport const handler = createAwsLambdaHandler({});\n",[408,909,910,930,942,946],{"__ignoreMap":423},[427,911,912,914,916,918,920,922,924,926,928],{"class":429,"line":430},[427,913,465],{"class":464},[427,915,469],{"class":468},[427,917,473],{"class":472},[427,919,476],{"class":468},[427,921,479],{"class":464},[427,923,482],{"class":468},[427,925,410],{"class":437},[427,927,487],{"class":468},[427,929,490],{"class":468},[427,931,932,934,936,938,940],{"class":429,"line":493},[427,933,465],{"class":464},[427,935,482],{"class":468},[427,937,500],{"class":437},[427,939,487],{"class":468},[427,941,490],{"class":468},[427,943,944],{"class":429,"line":507},[427,945,511],{"emptyLinePlaceholder":510},[427,947,948,950,952,954,956,958,960,963,965],{"class":429,"line":514},[427,949,517],{"class":464},[427,951,521],{"class":520},[427,953,524],{"class":472},[427,955,527],{"class":468},[427,957,531],{"class":530},[427,959,630],{"class":472},[427,961,962],{"class":468},"{}",[427,964,693],{"class":472},[427,966,490],{"class":468},[858,968,969],{},"For faster cold starts, keep dependencies minimal and use Lambda layers for shared code.",[971,972,973],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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);}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}","Running mion APIs on AWS Lambda for serverless deployments.","md",null,{"toc":24},{"title":117,"description":974},"DngBX6hu1qo38tPu4VpcWpH7iH-hBbSX2aETW2tv4_s",1793324370774]