[{"data":1,"prerenderedAt":7273},["ShallowReactive",2],{"navigation_docs":3,"-client-error-handling":195,"-client-error-handling-surround":7268},[4,27,61,75,100,126,147,177],{"title":5,"icon":6,"redirect":7,"path":8,"stem":9,"children":10,"page":26},"Introduction","icon-park-outline:home","\u002Fintroduction\u002Fabout-mion","\u002Fintroduction","1.introduction",[11,14,18,22],{"title":12,"path":7,"stem":13},"About mion","1.introduction\u002F1.about-mion",{"title":15,"path":16,"stem":17},"Quick Start","\u002Fintroduction\u002Fquick-start","1.introduction\u002F2.quick-start",{"title":19,"path":20,"stem":21},"Manual Install","\u002Fintroduction\u002Fmanual-install","1.introduction\u002F3.manual-install",{"title":23,"path":24,"stem":25},"What's Next","\u002Fintroduction\u002Fwhat-is-next","1.introduction\u002F4.what-is-next",false,{"title":28,"icon":29,"path":30,"stem":31,"children":32,"page":26},"Server","icon-park-outline:server","\u002Fserver","20.server",[33,37,41,45,49,53,57],{"title":34,"path":35,"stem":36},"Router Overview","\u002Fserver\u002Foverview","20.server\u002F0.overview",{"title":38,"path":39,"stem":40},"Routes","\u002Fserver\u002Froutes","20.server\u002F1.routes",{"title":42,"path":43,"stem":44},"Middleware","\u002Fserver\u002Fmiddle-fns","20.server\u002F2.middle-fns",{"title":46,"path":47,"stem":48},"Request & Response","\u002Fserver\u002Frequest-and-response","20.server\u002F5.request-and-response",{"title":50,"path":51,"stem":52},"Error Handling","\u002Fserver\u002Ferror-handling","20.server\u002F6.error-handling",{"title":54,"path":55,"stem":56},"Validation","\u002Fserver\u002Fvalidation","20.server\u002F7.validation",{"title":58,"path":59,"stem":60},"Serialization","\u002Fserver\u002Fserialization","20.server\u002F8.serialization",{"title":62,"icon":63,"path":64,"stem":65,"children":66,"page":26},"Drizzle ORM","i-lineicons-drizzle","\u002Fdrizzle-orm","21.drizzle-orm",[67,71],{"title":68,"path":69,"stem":70},"Drizzle Overview","\u002Fdrizzle-orm\u002Fdrizzle-overview","21.drizzle-orm\u002F0.drizzle-overview",{"title":72,"path":73,"stem":74},"Column Mapping","\u002Fdrizzle-orm\u002Fcolumn-mapping","21.drizzle-orm\u002F1.column-mapping",{"title":76,"icon":77,"path":78,"stem":79,"children":80,"page":26},"Client","icon-park-outline:computer","\u002Fclient","3.client",[81,85,88,92,96],{"title":82,"path":83,"stem":84},"Client Overview","\u002Fclient\u002Fclient-overview","3.client\u002F0.client-overview",{"title":50,"path":86,"stem":87},"\u002Fclient\u002Ferror-handling","3.client\u002F1.error-handling",{"title":89,"path":90,"stem":91},"Validation Errors","\u002Fclient\u002Fvalidation-errors","3.client\u002F2.validation-errors",{"title":93,"path":94,"stem":95},"Routes Flow","\u002Fclient\u002Fclient-flow","3.client\u002F3.client-flow",{"title":97,"path":98,"stem":99},"Cancellation & Timeouts","\u002Fclient\u002Fcancellation-timeouts","3.client\u002F4.cancellation-timeouts",{"title":101,"icon":102,"redirect":103,"path":104,"stem":105,"children":106,"page":26},"RunTypes","i-lucide-scan-text","\u002Frun-types\u002Foverview","\u002Frun-types","4.run-types",[107,110,114,118,122],{"title":108,"path":103,"stem":109},"RunTypes Overview","4.run-types\u002F0.overview",{"title":111,"path":112,"stem":113},"Supported Types","\u002Frun-types\u002Ffeatures","4.run-types\u002F1.features",{"title":115,"path":116,"stem":117},"Type Formats","\u002Frun-types\u002Ftype-formats","4.run-types\u002F2.type-formats",{"title":119,"path":120,"stem":121},"Built-in Formats","\u002Frun-types\u002Fbuilt-in-formats","4.run-types\u002F3.built-in-formats",{"title":123,"path":124,"stem":125},"Caveats","\u002Frun-types\u002Fcaveats","4.run-types\u002F4.caveats",{"title":127,"path":128,"stem":129,"children":130,"page":26},"Devtools","\u002Fdevtools","5.devtools",[131,135,139,143],{"title":132,"path":133,"stem":134},"AOT Compilation","\u002Fdevtools\u002Faot-compilation","5.devtools\u002F0.aot-compilation",{"title":136,"path":137,"stem":138},"Pure Functions","\u002Fdevtools\u002Fpure-functions","5.devtools\u002F1.pure-functions",{"title":140,"path":141,"stem":142},"ESLint Rules","\u002Fdevtools\u002Feslint-rules","5.devtools\u002F2.eslint-rules",{"title":144,"path":145,"stem":146},"Vite Configuration","\u002Fdevtools\u002Fvite-config","5.devtools\u002F3.vite-config",{"title":148,"redirect":149,"icon":150,"path":151,"stem":152,"children":153,"page":26},"Platforms","\u002Fplatforms\u002Fnode-js","icon-park-outline:play","\u002Fplatforms","6.platforms",[154,157,161,165,169,173],{"title":155,"path":149,"stem":156},"Node.js","6.platforms\u002F1.node-js",{"title":158,"path":159,"stem":160},"Bun","\u002Fplatforms\u002Fbun","6.platforms\u002F2.bun",{"title":162,"path":163,"stem":164},"AWS Lambda","\u002Fplatforms\u002Faws-lambda","6.platforms\u002F3.aws-lambda",{"title":166,"path":167,"stem":168},"Google Cloud Functions","\u002Fplatforms\u002Fgoogle-cloud-functions","6.platforms\u002F4.google-cloud-functions",{"title":170,"path":171,"stem":172},"Cloudflare Workers","\u002Fplatforms\u002Fcloudflare","6.platforms\u002F5.cloudflare",{"title":174,"path":175,"stem":176},"Vercel","\u002Fplatforms\u002Fvercel","6.platforms\u002F6.vercel",{"title":178,"icon":179,"redirect":180,"path":181,"stem":182,"children":183,"page":26},"Benchmarks","icon-park-outline:chart-line","\u002Fbenchmarks\u002Fhello-world","\u002Fbenchmarks","7.benchmarks",[184,187,191],{"title":185,"path":180,"stem":186},"Hello World","7.benchmarks\u002F1.hello-world",{"title":188,"path":189,"stem":190},"Light Validation","\u002Fbenchmarks\u002Flight-validation","7.benchmarks\u002F2.light-validation",{"title":192,"path":193,"stem":194},"Heavy Validation","\u002Fbenchmarks\u002Fheavy-validation","7.benchmarks\u002F3.heavy-validation",{"id":196,"title":50,"body":197,"description":7262,"extension":7263,"links":7264,"meta":7265,"navigation":361,"path":86,"seo":7266,"stem":87,"__hash__":7267},"docs\u002F3.client\u002F1.error-handling.md",{"type":198,"value":199},"minimark",[200,205,214,250,278,285,289,294,608,612,615,2632,2636,2647,4006,4010,4016,4597,4605,4609,4615,5157,5161,5234,5238,6665,6668,6672,6676,6684,6687,6693,6696,7258],[201,202,204],"h2",{"id":203},"the-result-pattern","The Result Pattern",[206,207,208,209,213],"p",{},"mion client uses a ",[210,211,212],"strong",{},"Result Pattern"," for responses, that returns a tuple with 4 elements:",[215,216,221],"pre",{"className":217,"code":218,"language":219,"meta":220,"style":220},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","[routeResult, routeError, middleFnsResults, middleFnsErrors]\n","ts","",[222,223,224],"code",{"__ignoreMap":220},[225,226,229,233,237,240,242,245,247],"span",{"class":227,"line":228},"line",1,[225,230,232],{"class":231},"sTEyZ","[routeResult",[225,234,236],{"class":235},"sMK4o",",",[225,238,239],{"class":231}," routeError",[225,241,236],{"class":235},[225,243,244],{"class":231}," middleFnsResults",[225,246,236],{"class":235},[225,248,249],{"class":231}," middleFnsErrors]\n",[251,252,253,260,266,272],"ul",{},[254,255,256,259],"li",{},[222,257,258],{},"0",": Route result (if successful)",[254,261,262,265],{},[222,263,264],{},"1",": Route error (if failed)",[254,267,268,271],{},[222,269,270],{},"2",": MiddleFn results (by middleFn name)",[254,273,274,277],{},[222,275,276],{},"3",": MiddleFn errors (by middleFn name)",[206,279,280,281,284],{},"The API calls ",[210,282,283],{},"never throw",", this provides type-safe error handling with full TypeScript support!",[286,287,288],"note",{},"The result pattern was chosen as provides better support for multiple SubRequests responses on a single call.",[290,291,293],"h3",{"id":292},"basic-usage","Basic Usage",[215,295,297],{"className":217,"code":296,"language":219,"meta":220,"style":220},"import {initClient} from '@mionjs\u002Fclient';\nimport type {MyApi} from '.\u002Fserver.routes.ts';\n\nconst {routes, middleFns} = initClient\u003CMyApi>({baseURL: 'http:\u002F\u002Flocalhost:3000'});\n\n\u002F\u002F call() returns 4-tuple - never throws\nconst [user, error] = await routes.users.getById('123').call();\n\nif (error) {\n    \u002F\u002F Handle error - TypeScript knows the error type\n    console.log('Error:', error.publicMessage);\n} else {\n    \u002F\u002F Handle success\n    console.log('User:', user?.name);\n}\n",[222,298,299,330,356,363,425,430,437,496,501,513,519,552,563,569,602],{"__ignoreMap":220},[225,300,301,305,308,311,314,317,320,324,327],{"class":227,"line":228},[225,302,304],{"class":303},"s7zQu","import",[225,306,307],{"class":235}," {",[225,309,310],{"class":231},"initClient",[225,312,313],{"class":235},"}",[225,315,316],{"class":303}," from",[225,318,319],{"class":235}," '",[225,321,323],{"class":322},"sfazB","@mionjs\u002Fclient",[225,325,326],{"class":235},"'",[225,328,329],{"class":235},";\n",[225,331,333,335,338,340,343,345,347,349,352,354],{"class":227,"line":332},2,[225,334,304],{"class":303},[225,336,337],{"class":303}," type",[225,339,307],{"class":235},[225,341,342],{"class":231},"MyApi",[225,344,313],{"class":235},[225,346,316],{"class":303},[225,348,319],{"class":235},[225,350,351],{"class":322},".\u002Fserver.routes.ts",[225,353,326],{"class":235},[225,355,329],{"class":235},[225,357,359],{"class":227,"line":358},3,[225,360,362],{"emptyLinePlaceholder":361},true,"\n",[225,364,366,370,372,375,377,380,382,385,389,392,395,398,401,404,408,411,413,416,418,420,423],{"class":227,"line":365},4,[225,367,369],{"class":368},"spNyl","const",[225,371,307],{"class":235},[225,373,374],{"class":231},"routes",[225,376,236],{"class":235},[225,378,379],{"class":231}," middleFns",[225,381,313],{"class":235},[225,383,384],{"class":235}," =",[225,386,388],{"class":387},"s2Zo4"," initClient",[225,390,391],{"class":235},"\u003C",[225,393,342],{"class":394},"sBMFI",[225,396,397],{"class":235},">",[225,399,400],{"class":231},"(",[225,402,403],{"class":235},"{",[225,405,407],{"class":406},"swJcz","baseURL",[225,409,410],{"class":235},":",[225,412,319],{"class":235},[225,414,415],{"class":322},"http:\u002F\u002Flocalhost:3000",[225,417,326],{"class":235},[225,419,313],{"class":235},[225,421,422],{"class":231},")",[225,424,329],{"class":235},[225,426,428],{"class":227,"line":427},5,[225,429,362],{"emptyLinePlaceholder":361},[225,431,433],{"class":227,"line":432},6,[225,434,436],{"class":435},"sHwdD","\u002F\u002F call() returns 4-tuple - never throws\n",[225,438,440,442,445,448,450,453,456,458,461,464,467,470,472,475,477,479,482,484,486,488,491,494],{"class":227,"line":439},7,[225,441,369],{"class":368},[225,443,444],{"class":235}," [",[225,446,447],{"class":231},"user",[225,449,236],{"class":235},[225,451,452],{"class":231}," error",[225,454,455],{"class":235},"]",[225,457,384],{"class":235},[225,459,460],{"class":303}," await",[225,462,463],{"class":231}," routes",[225,465,466],{"class":235},".",[225,468,469],{"class":231},"users",[225,471,466],{"class":235},[225,473,474],{"class":387},"getById",[225,476,400],{"class":231},[225,478,326],{"class":235},[225,480,481],{"class":322},"123",[225,483,326],{"class":235},[225,485,422],{"class":231},[225,487,466],{"class":235},[225,489,490],{"class":387},"call",[225,492,493],{"class":231},"()",[225,495,329],{"class":235},[225,497,499],{"class":227,"line":498},8,[225,500,362],{"emptyLinePlaceholder":361},[225,502,504,507,510],{"class":227,"line":503},9,[225,505,506],{"class":303},"if",[225,508,509],{"class":231}," (error) ",[225,511,512],{"class":235},"{\n",[225,514,516],{"class":227,"line":515},10,[225,517,518],{"class":435},"    \u002F\u002F Handle error - TypeScript knows the error type\n",[225,520,522,525,527,530,532,534,537,539,541,543,545,548,550],{"class":227,"line":521},11,[225,523,524],{"class":231},"    console",[225,526,466],{"class":235},[225,528,529],{"class":387},"log",[225,531,400],{"class":406},[225,533,326],{"class":235},[225,535,536],{"class":322},"Error:",[225,538,326],{"class":235},[225,540,236],{"class":235},[225,542,452],{"class":231},[225,544,466],{"class":235},[225,546,547],{"class":231},"publicMessage",[225,549,422],{"class":406},[225,551,329],{"class":235},[225,553,555,557,560],{"class":227,"line":554},12,[225,556,313],{"class":235},[225,558,559],{"class":303}," else",[225,561,562],{"class":235}," {\n",[225,564,566],{"class":227,"line":565},13,[225,567,568],{"class":435},"    \u002F\u002F Handle success\n",[225,570,572,574,576,578,580,582,585,587,589,592,595,598,600],{"class":227,"line":571},14,[225,573,524],{"class":231},[225,575,466],{"class":235},[225,577,529],{"class":387},[225,579,400],{"class":406},[225,581,326],{"class":235},[225,583,584],{"class":322},"User:",[225,586,326],{"class":235},[225,588,236],{"class":235},[225,590,591],{"class":231}," user",[225,593,594],{"class":235},"?.",[225,596,597],{"class":231},"name",[225,599,422],{"class":406},[225,601,329],{"class":235},[225,603,605],{"class":227,"line":604},15,[225,606,607],{"class":235},"}\n",[201,609,611],{"id":610},"handling-typed-errors","Handling Typed Errors",[206,613,614],{},"When routes define specific error types, TypeScript provides full autocompletion and type checking:",[616,617,618,1486],"code-group",{},[215,619,621],{"className":217,"code":620,"filename":76,"language":219,"meta":220,"style":220},"import {initClient} from '@mionjs\u002Fclient';\n\n\u002F\u002F importing type only from server\nimport type {MyApi} from '.\u002Fserver.routes.ts';\nimport {isRpcError} from '@mionjs\u002Fcore';\n\nconst {routes, middleFns} = initClient\u003CMyApi>({baseURL: 'http:\u002F\u002Flocalhost:3000'});\n\n\u002F\u002F ========== Result pattern (never throws) ==========\n\u002F\u002F call() always returns a 4-tuple, never throws\n\u002F\u002F [routeResult, routeError, middleFnsResults, middleFnsErrors]\n\n\u002F\u002F calls sayHello route in the server\nconst [sayHello, error] = await routes.users.sayHello({id: '123', name: 'John', surname: 'Doe'}).call();\n\nif (error) {\n    \u002F\u002F in this case the request has failed because the authorization middleFn is missing\n    console.log(error); \u002F\u002F { type: 'validation-error', message: `Invalid params for Route or MiddleFn 'auth'.`}\n\n    if (isRpcError(error)) {\n        \u002F\u002F ... handle the error as required\n    }\n} else {\n    console.log(sayHello); \u002F\u002F Hello John Doe\n}\n\n\u002F\u002F ========== Full 4-tuple with middleFns ==========\n\u002F\u002F call({middleFns: {...}}) returns [routeResult, routeError, middleFnsResults, middleFnsErrors]\nconst [greeting, routeError, middleFnResults, middleFnErrors] = await routes.users\n    .sayHello({id: '123', name: 'John', surname: 'Doe'})\n    .call({\n        middleFns: {\n            auth: middleFns.auth({headers: {Authorization: 'Bearer token'}}),\n        },\n    });\n\nif (routeError) {\n    console.log('Route failed:', routeError.type);\n} else {\n    console.log(greeting); \u002F\u002F Hello John Doe\n}\n\n\u002F\u002F Check middleFn errors\nif (middleFnErrors?.auth) {\n    console.log('Auth middleFn failed:', middleFnErrors.auth.type);\n}\n\n\u002F\u002F Access middleFn results\nconsole.log('MiddleFn results:', middleFnResults);\n\n\u002F\u002F ========== Validation throws errors ==========\n\u002F\u002F Note: typeErrors() is the only method that can throw\n\ntry {\n    \u002F\u002F Validation throws an error when validation fails\n    const errors = await routes.users.sayHello(null as any).typeErrors();\n    console.log(errors); \u002F\u002F [] (empty array if no errors)\n} catch (validationError: any) {\n    console.log(validationError); \u002F\u002F { type: 'validation-error', message: `Invalid params ...`, errorData : {...}}\n}\n",[222,622,623,643,647,652,674,696,700,744,748,753,758,763,767,772,856,860,869,875,897,902,922,928,934,943,963,968,973,979,985,1022,1073,1084,1094,1140,1146,1156,1161,1171,1202,1211,1230,1235,1240,1246,1261,1295,1300,1305,1311,1337,1342,1348,1354,1359,1367,1373,1418,1439,1461,1481],{"__ignoreMap":220},[225,624,625,627,629,631,633,635,637,639,641],{"class":227,"line":228},[225,626,304],{"class":303},[225,628,307],{"class":235},[225,630,310],{"class":231},[225,632,313],{"class":235},[225,634,316],{"class":303},[225,636,319],{"class":235},[225,638,323],{"class":322},[225,640,326],{"class":235},[225,642,329],{"class":235},[225,644,645],{"class":227,"line":332},[225,646,362],{"emptyLinePlaceholder":361},[225,648,649],{"class":227,"line":358},[225,650,651],{"class":435},"\u002F\u002F importing type only from server\n",[225,653,654,656,658,660,662,664,666,668,670,672],{"class":227,"line":365},[225,655,304],{"class":303},[225,657,337],{"class":303},[225,659,307],{"class":235},[225,661,342],{"class":231},[225,663,313],{"class":235},[225,665,316],{"class":303},[225,667,319],{"class":235},[225,669,351],{"class":322},[225,671,326],{"class":235},[225,673,329],{"class":235},[225,675,676,678,680,683,685,687,689,692,694],{"class":227,"line":427},[225,677,304],{"class":303},[225,679,307],{"class":235},[225,681,682],{"class":231},"isRpcError",[225,684,313],{"class":235},[225,686,316],{"class":303},[225,688,319],{"class":235},[225,690,691],{"class":322},"@mionjs\u002Fcore",[225,693,326],{"class":235},[225,695,329],{"class":235},[225,697,698],{"class":227,"line":432},[225,699,362],{"emptyLinePlaceholder":361},[225,701,702,704,706,708,710,712,714,716,718,720,722,724,726,728,730,732,734,736,738,740,742],{"class":227,"line":439},[225,703,369],{"class":368},[225,705,307],{"class":235},[225,707,374],{"class":231},[225,709,236],{"class":235},[225,711,379],{"class":231},[225,713,313],{"class":235},[225,715,384],{"class":235},[225,717,388],{"class":387},[225,719,391],{"class":235},[225,721,342],{"class":394},[225,723,397],{"class":235},[225,725,400],{"class":231},[225,727,403],{"class":235},[225,729,407],{"class":406},[225,731,410],{"class":235},[225,733,319],{"class":235},[225,735,415],{"class":322},[225,737,326],{"class":235},[225,739,313],{"class":235},[225,741,422],{"class":231},[225,743,329],{"class":235},[225,745,746],{"class":227,"line":498},[225,747,362],{"emptyLinePlaceholder":361},[225,749,750],{"class":227,"line":503},[225,751,752],{"class":435},"\u002F\u002F ========== Result pattern (never throws) ==========\n",[225,754,755],{"class":227,"line":515},[225,756,757],{"class":435},"\u002F\u002F call() always returns a 4-tuple, never throws\n",[225,759,760],{"class":227,"line":521},[225,761,762],{"class":435},"\u002F\u002F [routeResult, routeError, middleFnsResults, middleFnsErrors]\n",[225,764,765],{"class":227,"line":554},[225,766,362],{"emptyLinePlaceholder":361},[225,768,769],{"class":227,"line":565},[225,770,771],{"class":435},"\u002F\u002F calls sayHello route in the server\n",[225,773,774,776,778,781,783,785,787,789,791,793,795,797,799,801,803,805,808,810,812,814,816,818,821,823,825,828,830,832,835,837,839,842,844,846,848,850,852,854],{"class":227,"line":571},[225,775,369],{"class":368},[225,777,444],{"class":235},[225,779,780],{"class":231},"sayHello",[225,782,236],{"class":235},[225,784,452],{"class":231},[225,786,455],{"class":235},[225,788,384],{"class":235},[225,790,460],{"class":303},[225,792,463],{"class":231},[225,794,466],{"class":235},[225,796,469],{"class":231},[225,798,466],{"class":235},[225,800,780],{"class":387},[225,802,400],{"class":231},[225,804,403],{"class":235},[225,806,807],{"class":406},"id",[225,809,410],{"class":235},[225,811,319],{"class":235},[225,813,481],{"class":322},[225,815,326],{"class":235},[225,817,236],{"class":235},[225,819,820],{"class":406}," name",[225,822,410],{"class":235},[225,824,319],{"class":235},[225,826,827],{"class":322},"John",[225,829,326],{"class":235},[225,831,236],{"class":235},[225,833,834],{"class":406}," surname",[225,836,410],{"class":235},[225,838,319],{"class":235},[225,840,841],{"class":322},"Doe",[225,843,326],{"class":235},[225,845,313],{"class":235},[225,847,422],{"class":231},[225,849,466],{"class":235},[225,851,490],{"class":387},[225,853,493],{"class":231},[225,855,329],{"class":235},[225,857,858],{"class":227,"line":604},[225,859,362],{"emptyLinePlaceholder":361},[225,861,863,865,867],{"class":227,"line":862},16,[225,864,506],{"class":303},[225,866,509],{"class":231},[225,868,512],{"class":235},[225,870,872],{"class":227,"line":871},17,[225,873,874],{"class":435},"    \u002F\u002F in this case the request has failed because the authorization middleFn is missing\n",[225,876,878,880,882,884,886,889,891,894],{"class":227,"line":877},18,[225,879,524],{"class":231},[225,881,466],{"class":235},[225,883,529],{"class":387},[225,885,400],{"class":406},[225,887,888],{"class":231},"error",[225,890,422],{"class":406},[225,892,893],{"class":235},";",[225,895,896],{"class":435}," \u002F\u002F { type: 'validation-error', message: `Invalid params for Route or MiddleFn 'auth'.`}\n",[225,898,900],{"class":227,"line":899},19,[225,901,362],{"emptyLinePlaceholder":361},[225,903,905,908,911,913,915,917,920],{"class":227,"line":904},20,[225,906,907],{"class":303},"    if",[225,909,910],{"class":406}," (",[225,912,682],{"class":387},[225,914,400],{"class":406},[225,916,888],{"class":231},[225,918,919],{"class":406},")) ",[225,921,512],{"class":235},[225,923,925],{"class":227,"line":924},21,[225,926,927],{"class":435},"        \u002F\u002F ... handle the error as required\n",[225,929,931],{"class":227,"line":930},22,[225,932,933],{"class":235},"    }\n",[225,935,937,939,941],{"class":227,"line":936},23,[225,938,313],{"class":235},[225,940,559],{"class":303},[225,942,562],{"class":235},[225,944,946,948,950,952,954,956,958,960],{"class":227,"line":945},24,[225,947,524],{"class":231},[225,949,466],{"class":235},[225,951,529],{"class":387},[225,953,400],{"class":406},[225,955,780],{"class":231},[225,957,422],{"class":406},[225,959,893],{"class":235},[225,961,962],{"class":435}," \u002F\u002F Hello John Doe\n",[225,964,966],{"class":227,"line":965},25,[225,967,607],{"class":235},[225,969,971],{"class":227,"line":970},26,[225,972,362],{"emptyLinePlaceholder":361},[225,974,976],{"class":227,"line":975},27,[225,977,978],{"class":435},"\u002F\u002F ========== Full 4-tuple with middleFns ==========\n",[225,980,982],{"class":227,"line":981},28,[225,983,984],{"class":435},"\u002F\u002F call({middleFns: {...}}) returns [routeResult, routeError, middleFnsResults, middleFnsErrors]\n",[225,986,988,990,992,995,997,999,1001,1004,1006,1009,1011,1013,1015,1017,1019],{"class":227,"line":987},29,[225,989,369],{"class":368},[225,991,444],{"class":235},[225,993,994],{"class":231},"greeting",[225,996,236],{"class":235},[225,998,239],{"class":231},[225,1000,236],{"class":235},[225,1002,1003],{"class":231}," middleFnResults",[225,1005,236],{"class":235},[225,1007,1008],{"class":231}," middleFnErrors",[225,1010,455],{"class":235},[225,1012,384],{"class":235},[225,1014,460],{"class":303},[225,1016,463],{"class":231},[225,1018,466],{"class":235},[225,1020,1021],{"class":231},"users\n",[225,1023,1025,1028,1030,1032,1034,1036,1038,1040,1042,1044,1046,1048,1050,1052,1054,1056,1058,1060,1062,1064,1066,1068,1070],{"class":227,"line":1024},30,[225,1026,1027],{"class":235},"    .",[225,1029,780],{"class":387},[225,1031,400],{"class":231},[225,1033,403],{"class":235},[225,1035,807],{"class":406},[225,1037,410],{"class":235},[225,1039,319],{"class":235},[225,1041,481],{"class":322},[225,1043,326],{"class":235},[225,1045,236],{"class":235},[225,1047,820],{"class":406},[225,1049,410],{"class":235},[225,1051,319],{"class":235},[225,1053,827],{"class":322},[225,1055,326],{"class":235},[225,1057,236],{"class":235},[225,1059,834],{"class":406},[225,1061,410],{"class":235},[225,1063,319],{"class":235},[225,1065,841],{"class":322},[225,1067,326],{"class":235},[225,1069,313],{"class":235},[225,1071,1072],{"class":231},")\n",[225,1074,1076,1078,1080,1082],{"class":227,"line":1075},31,[225,1077,1027],{"class":235},[225,1079,490],{"class":387},[225,1081,400],{"class":231},[225,1083,512],{"class":235},[225,1085,1087,1090,1092],{"class":227,"line":1086},32,[225,1088,1089],{"class":406},"        middleFns",[225,1091,410],{"class":235},[225,1093,562],{"class":235},[225,1095,1097,1100,1102,1104,1106,1109,1111,1113,1116,1118,1120,1123,1125,1127,1130,1132,1135,1137],{"class":227,"line":1096},33,[225,1098,1099],{"class":406},"            auth",[225,1101,410],{"class":235},[225,1103,379],{"class":231},[225,1105,466],{"class":235},[225,1107,1108],{"class":387},"auth",[225,1110,400],{"class":231},[225,1112,403],{"class":235},[225,1114,1115],{"class":406},"headers",[225,1117,410],{"class":235},[225,1119,307],{"class":235},[225,1121,1122],{"class":406},"Authorization",[225,1124,410],{"class":235},[225,1126,319],{"class":235},[225,1128,1129],{"class":322},"Bearer token",[225,1131,326],{"class":235},[225,1133,1134],{"class":235},"}}",[225,1136,422],{"class":231},[225,1138,1139],{"class":235},",\n",[225,1141,1143],{"class":227,"line":1142},34,[225,1144,1145],{"class":235},"        },\n",[225,1147,1149,1152,1154],{"class":227,"line":1148},35,[225,1150,1151],{"class":235},"    }",[225,1153,422],{"class":231},[225,1155,329],{"class":235},[225,1157,1159],{"class":227,"line":1158},36,[225,1160,362],{"emptyLinePlaceholder":361},[225,1162,1164,1166,1169],{"class":227,"line":1163},37,[225,1165,506],{"class":303},[225,1167,1168],{"class":231}," (routeError) ",[225,1170,512],{"class":235},[225,1172,1174,1176,1178,1180,1182,1184,1187,1189,1191,1193,1195,1198,1200],{"class":227,"line":1173},38,[225,1175,524],{"class":231},[225,1177,466],{"class":235},[225,1179,529],{"class":387},[225,1181,400],{"class":406},[225,1183,326],{"class":235},[225,1185,1186],{"class":322},"Route failed:",[225,1188,326],{"class":235},[225,1190,236],{"class":235},[225,1192,239],{"class":231},[225,1194,466],{"class":235},[225,1196,1197],{"class":231},"type",[225,1199,422],{"class":406},[225,1201,329],{"class":235},[225,1203,1205,1207,1209],{"class":227,"line":1204},39,[225,1206,313],{"class":235},[225,1208,559],{"class":303},[225,1210,562],{"class":235},[225,1212,1214,1216,1218,1220,1222,1224,1226,1228],{"class":227,"line":1213},40,[225,1215,524],{"class":231},[225,1217,466],{"class":235},[225,1219,529],{"class":387},[225,1221,400],{"class":406},[225,1223,994],{"class":231},[225,1225,422],{"class":406},[225,1227,893],{"class":235},[225,1229,962],{"class":435},[225,1231,1233],{"class":227,"line":1232},41,[225,1234,607],{"class":235},[225,1236,1238],{"class":227,"line":1237},42,[225,1239,362],{"emptyLinePlaceholder":361},[225,1241,1243],{"class":227,"line":1242},43,[225,1244,1245],{"class":435},"\u002F\u002F Check middleFn errors\n",[225,1247,1249,1251,1254,1256,1259],{"class":227,"line":1248},44,[225,1250,506],{"class":303},[225,1252,1253],{"class":231}," (middleFnErrors",[225,1255,594],{"class":235},[225,1257,1258],{"class":231},"auth) ",[225,1260,512],{"class":235},[225,1262,1264,1266,1268,1270,1272,1274,1277,1279,1281,1283,1285,1287,1289,1291,1293],{"class":227,"line":1263},45,[225,1265,524],{"class":231},[225,1267,466],{"class":235},[225,1269,529],{"class":387},[225,1271,400],{"class":406},[225,1273,326],{"class":235},[225,1275,1276],{"class":322},"Auth middleFn failed:",[225,1278,326],{"class":235},[225,1280,236],{"class":235},[225,1282,1008],{"class":231},[225,1284,466],{"class":235},[225,1286,1108],{"class":231},[225,1288,466],{"class":235},[225,1290,1197],{"class":231},[225,1292,422],{"class":406},[225,1294,329],{"class":235},[225,1296,1298],{"class":227,"line":1297},46,[225,1299,607],{"class":235},[225,1301,1303],{"class":227,"line":1302},47,[225,1304,362],{"emptyLinePlaceholder":361},[225,1306,1308],{"class":227,"line":1307},48,[225,1309,1310],{"class":435},"\u002F\u002F Access middleFn results\n",[225,1312,1314,1317,1319,1321,1323,1325,1328,1330,1332,1335],{"class":227,"line":1313},49,[225,1315,1316],{"class":231},"console",[225,1318,466],{"class":235},[225,1320,529],{"class":387},[225,1322,400],{"class":231},[225,1324,326],{"class":235},[225,1326,1327],{"class":322},"MiddleFn results:",[225,1329,326],{"class":235},[225,1331,236],{"class":235},[225,1333,1334],{"class":231}," middleFnResults)",[225,1336,329],{"class":235},[225,1338,1340],{"class":227,"line":1339},50,[225,1341,362],{"emptyLinePlaceholder":361},[225,1343,1345],{"class":227,"line":1344},51,[225,1346,1347],{"class":435},"\u002F\u002F ========== Validation throws errors ==========\n",[225,1349,1351],{"class":227,"line":1350},52,[225,1352,1353],{"class":435},"\u002F\u002F Note: typeErrors() is the only method that can throw\n",[225,1355,1357],{"class":227,"line":1356},53,[225,1358,362],{"emptyLinePlaceholder":361},[225,1360,1362,1365],{"class":227,"line":1361},54,[225,1363,1364],{"class":303},"try",[225,1366,562],{"class":235},[225,1368,1370],{"class":227,"line":1369},55,[225,1371,1372],{"class":435},"    \u002F\u002F Validation throws an error when validation fails\n",[225,1374,1376,1379,1382,1384,1386,1388,1390,1392,1394,1396,1398,1401,1404,1407,1409,1411,1414,1416],{"class":227,"line":1375},56,[225,1377,1378],{"class":368},"    const",[225,1380,1381],{"class":231}," errors",[225,1383,384],{"class":235},[225,1385,460],{"class":303},[225,1387,463],{"class":231},[225,1389,466],{"class":235},[225,1391,469],{"class":231},[225,1393,466],{"class":235},[225,1395,780],{"class":387},[225,1397,400],{"class":406},[225,1399,1400],{"class":235},"null",[225,1402,1403],{"class":303}," as",[225,1405,1406],{"class":394}," any",[225,1408,422],{"class":406},[225,1410,466],{"class":235},[225,1412,1413],{"class":387},"typeErrors",[225,1415,493],{"class":406},[225,1417,329],{"class":235},[225,1419,1421,1423,1425,1427,1429,1432,1434,1436],{"class":227,"line":1420},57,[225,1422,524],{"class":231},[225,1424,466],{"class":235},[225,1426,529],{"class":387},[225,1428,400],{"class":406},[225,1430,1431],{"class":231},"errors",[225,1433,422],{"class":406},[225,1435,893],{"class":235},[225,1437,1438],{"class":435}," \u002F\u002F [] (empty array if no errors)\n",[225,1440,1442,1444,1447,1449,1453,1455,1457,1459],{"class":227,"line":1441},58,[225,1443,313],{"class":235},[225,1445,1446],{"class":303}," catch",[225,1448,910],{"class":235},[225,1450,1452],{"class":1451},"sHdIc","validationError",[225,1454,410],{"class":235},[225,1456,1406],{"class":394},[225,1458,422],{"class":235},[225,1460,562],{"class":235},[225,1462,1464,1466,1468,1470,1472,1474,1476,1478],{"class":227,"line":1463},59,[225,1465,524],{"class":231},[225,1467,466],{"class":235},[225,1469,529],{"class":387},[225,1471,400],{"class":406},[225,1473,1452],{"class":231},[225,1475,422],{"class":406},[225,1477,893],{"class":235},[225,1479,1480],{"class":435}," \u002F\u002F { type: 'validation-error', message: `Invalid params ...`, errorData : {...}}\n",[225,1482,1484],{"class":227,"line":1483},60,[225,1485,607],{"class":235},[215,1487,1490],{"className":217,"code":1488,"filename":1489,"language":219,"meta":220,"style":220},"import {RpcError, HeadersSubset} from '@mionjs\u002Fcore';\nimport {headersFn, rawMiddleFn, middleFn, Routes, initMionRouter, route} from '@mionjs\u002Frouter';\nimport {Context, NewUser, getSharedData, myApp} from '.\u002Ffull-example.app.ts';\nimport {User} from '.\u002Ffull-example.app.ts';\n\nconst getUser = route((ctx: Context, id: number): User | RpcError\u003C'user-not-found'> => {\n    const user = myApp.store.getUser(id);\n    if (!user) return new RpcError({publicMessage: 'User not found', type: 'user-not-found'});\n    return user;\n});\n\nconst createUser = route((ctx: Context, newUser: NewUser): User => myApp.store.createUser(newUser));\n\nconst updateUser = route((ctx: Context, user: User): User | RpcError\u003C'user-not-found'> => {\n    const updated = myApp.store.updateUser(user);\n    if (!updated) return new RpcError({publicMessage: 'User not found, can not be updated', type: 'user-not-found'});\n    return updated;\n});\n\nconst deleteUser = route((ctx: Context, id: number): User | RpcError\u003C'user-not-found'> => {\n    const deleted = myApp.store.deleteUser(id);\n    if (!deleted) return new RpcError({publicMessage: 'User not found, can not be deleted', type: 'user-not-found'});\n    return deleted;\n});\n\nconst auth = headersFn((ctx: Context, {headers}: HeadersSubset\u003C'Authorization'>): void => {\n    const token = headers.Authorization;\n    if (!myApp.auth.isAuthorized(token))\n        throw new RpcError({\n            publicMessage: 'Not Authorized',\n            type: 'not-authorized',\n        });\n    ctx.shared.me = myApp.auth.getIdentity(token) as User;\n});\n\nconst log = rawMiddleFn((context: Context): void => console.log('rawMiddleFn', context.path));\n\nconst routes = {\n    private: middleFn((): null => null),\n    auth,\n    users: {\n        get: getUser, \u002F\u002F api\u002Fv1\u002Fusers\u002Fget\n        create: createUser, \u002F\u002F api\u002Fv1\u002Fusers\u002Fcreate\n        update: updateUser, \u002F\u002F api\u002Fv1\u002Fusers\u002Fupdate\n        delete: deleteUser, \u002F\u002F api\u002Fv1\u002Fusers\u002Fdelete\n    },\n    log,\n} satisfies Routes;\n\nexport const apiSpec = await initMionRouter(routes, {\n    contextDataFactory: getSharedData,\n    prefix: 'api\u002Fv1',\n});\nexport type ApiSpec = typeof apiSpec;\n","server.routes.ts",[222,1491,1492,1518,1565,1602,1623,1627,1689,1717,1772,1781,1789,1793,1845,1849,1900,1928,1980,1988,1996,2000,2051,2079,2131,2139,2147,2151,2202,2220,2248,2261,2277,2293,2302,2343,2351,2355,2411,2415,2426,2451,2458,2467,2482,2497,2512,2527,2532,2539,2550,2554,2578,2589,2605,2613],{"__ignoreMap":220},[225,1493,1494,1496,1498,1501,1503,1506,1508,1510,1512,1514,1516],{"class":227,"line":228},[225,1495,304],{"class":303},[225,1497,307],{"class":235},[225,1499,1500],{"class":231},"RpcError",[225,1502,236],{"class":235},[225,1504,1505],{"class":231}," HeadersSubset",[225,1507,313],{"class":235},[225,1509,316],{"class":303},[225,1511,319],{"class":235},[225,1513,691],{"class":322},[225,1515,326],{"class":235},[225,1517,329],{"class":235},[225,1519,1520,1522,1524,1527,1529,1532,1534,1537,1539,1542,1544,1547,1549,1552,1554,1556,1558,1561,1563],{"class":227,"line":332},[225,1521,304],{"class":303},[225,1523,307],{"class":235},[225,1525,1526],{"class":231},"headersFn",[225,1528,236],{"class":235},[225,1530,1531],{"class":231}," rawMiddleFn",[225,1533,236],{"class":235},[225,1535,1536],{"class":231}," middleFn",[225,1538,236],{"class":235},[225,1540,1541],{"class":231}," Routes",[225,1543,236],{"class":235},[225,1545,1546],{"class":231}," initMionRouter",[225,1548,236],{"class":235},[225,1550,1551],{"class":231}," route",[225,1553,313],{"class":235},[225,1555,316],{"class":303},[225,1557,319],{"class":235},[225,1559,1560],{"class":322},"@mionjs\u002Frouter",[225,1562,326],{"class":235},[225,1564,329],{"class":235},[225,1566,1567,1569,1571,1574,1576,1579,1581,1584,1586,1589,1591,1593,1595,1598,1600],{"class":227,"line":358},[225,1568,304],{"class":303},[225,1570,307],{"class":235},[225,1572,1573],{"class":231},"Context",[225,1575,236],{"class":235},[225,1577,1578],{"class":231}," NewUser",[225,1580,236],{"class":235},[225,1582,1583],{"class":231}," getSharedData",[225,1585,236],{"class":235},[225,1587,1588],{"class":231}," myApp",[225,1590,313],{"class":235},[225,1592,316],{"class":303},[225,1594,319],{"class":235},[225,1596,1597],{"class":322},".\u002Ffull-example.app.ts",[225,1599,326],{"class":235},[225,1601,329],{"class":235},[225,1603,1604,1606,1608,1611,1613,1615,1617,1619,1621],{"class":227,"line":365},[225,1605,304],{"class":303},[225,1607,307],{"class":235},[225,1609,1610],{"class":231},"User",[225,1612,313],{"class":235},[225,1614,316],{"class":303},[225,1616,319],{"class":235},[225,1618,1597],{"class":322},[225,1620,326],{"class":235},[225,1622,329],{"class":235},[225,1624,1625],{"class":227,"line":427},[225,1626,362],{"emptyLinePlaceholder":361},[225,1628,1629,1631,1634,1637,1639,1641,1643,1646,1648,1651,1653,1656,1658,1661,1664,1667,1670,1673,1675,1677,1680,1682,1684,1687],{"class":227,"line":432},[225,1630,369],{"class":368},[225,1632,1633],{"class":231}," getUser ",[225,1635,1636],{"class":235},"=",[225,1638,1551],{"class":387},[225,1640,400],{"class":231},[225,1642,400],{"class":235},[225,1644,1645],{"class":1451},"ctx",[225,1647,410],{"class":235},[225,1649,1650],{"class":394}," Context",[225,1652,236],{"class":235},[225,1654,1655],{"class":1451}," id",[225,1657,410],{"class":235},[225,1659,1660],{"class":394}," number",[225,1662,1663],{"class":235},"):",[225,1665,1666],{"class":394}," User",[225,1668,1669],{"class":235}," |",[225,1671,1672],{"class":394}," RpcError",[225,1674,391],{"class":235},[225,1676,326],{"class":235},[225,1678,1679],{"class":322},"user-not-found",[225,1681,326],{"class":235},[225,1683,397],{"class":235},[225,1685,1686],{"class":368}," =>",[225,1688,562],{"class":235},[225,1690,1691,1693,1695,1697,1699,1701,1704,1706,1709,1711,1713,1715],{"class":227,"line":439},[225,1692,1378],{"class":368},[225,1694,591],{"class":231},[225,1696,384],{"class":235},[225,1698,1588],{"class":231},[225,1700,466],{"class":235},[225,1702,1703],{"class":231},"store",[225,1705,466],{"class":235},[225,1707,1708],{"class":387},"getUser",[225,1710,400],{"class":406},[225,1712,807],{"class":231},[225,1714,422],{"class":406},[225,1716,329],{"class":235},[225,1718,1719,1721,1723,1726,1728,1731,1734,1737,1739,1741,1743,1745,1747,1749,1752,1754,1756,1758,1760,1762,1764,1766,1768,1770],{"class":227,"line":498},[225,1720,907],{"class":303},[225,1722,910],{"class":406},[225,1724,1725],{"class":235},"!",[225,1727,447],{"class":231},[225,1729,1730],{"class":406},") ",[225,1732,1733],{"class":303},"return",[225,1735,1736],{"class":235}," new",[225,1738,1672],{"class":387},[225,1740,400],{"class":406},[225,1742,403],{"class":235},[225,1744,547],{"class":406},[225,1746,410],{"class":235},[225,1748,319],{"class":235},[225,1750,1751],{"class":322},"User not found",[225,1753,326],{"class":235},[225,1755,236],{"class":235},[225,1757,337],{"class":406},[225,1759,410],{"class":235},[225,1761,319],{"class":235},[225,1763,1679],{"class":322},[225,1765,326],{"class":235},[225,1767,313],{"class":235},[225,1769,422],{"class":406},[225,1771,329],{"class":235},[225,1773,1774,1777,1779],{"class":227,"line":503},[225,1775,1776],{"class":303},"    return",[225,1778,591],{"class":231},[225,1780,329],{"class":235},[225,1782,1783,1785,1787],{"class":227,"line":515},[225,1784,313],{"class":235},[225,1786,422],{"class":231},[225,1788,329],{"class":235},[225,1790,1791],{"class":227,"line":521},[225,1792,362],{"emptyLinePlaceholder":361},[225,1794,1795,1797,1800,1802,1804,1806,1808,1810,1812,1814,1816,1819,1821,1823,1825,1827,1829,1831,1833,1835,1837,1840,1843],{"class":227,"line":554},[225,1796,369],{"class":368},[225,1798,1799],{"class":231}," createUser ",[225,1801,1636],{"class":235},[225,1803,1551],{"class":387},[225,1805,400],{"class":231},[225,1807,400],{"class":235},[225,1809,1645],{"class":1451},[225,1811,410],{"class":235},[225,1813,1650],{"class":394},[225,1815,236],{"class":235},[225,1817,1818],{"class":1451}," newUser",[225,1820,410],{"class":235},[225,1822,1578],{"class":394},[225,1824,1663],{"class":235},[225,1826,1666],{"class":394},[225,1828,1686],{"class":368},[225,1830,1588],{"class":231},[225,1832,466],{"class":235},[225,1834,1703],{"class":231},[225,1836,466],{"class":235},[225,1838,1839],{"class":387},"createUser",[225,1841,1842],{"class":231},"(newUser))",[225,1844,329],{"class":235},[225,1846,1847],{"class":227,"line":565},[225,1848,362],{"emptyLinePlaceholder":361},[225,1850,1851,1853,1856,1858,1860,1862,1864,1866,1868,1870,1872,1874,1876,1878,1880,1882,1884,1886,1888,1890,1892,1894,1896,1898],{"class":227,"line":571},[225,1852,369],{"class":368},[225,1854,1855],{"class":231}," updateUser ",[225,1857,1636],{"class":235},[225,1859,1551],{"class":387},[225,1861,400],{"class":231},[225,1863,400],{"class":235},[225,1865,1645],{"class":1451},[225,1867,410],{"class":235},[225,1869,1650],{"class":394},[225,1871,236],{"class":235},[225,1873,591],{"class":1451},[225,1875,410],{"class":235},[225,1877,1666],{"class":394},[225,1879,1663],{"class":235},[225,1881,1666],{"class":394},[225,1883,1669],{"class":235},[225,1885,1672],{"class":394},[225,1887,391],{"class":235},[225,1889,326],{"class":235},[225,1891,1679],{"class":322},[225,1893,326],{"class":235},[225,1895,397],{"class":235},[225,1897,1686],{"class":368},[225,1899,562],{"class":235},[225,1901,1902,1904,1907,1909,1911,1913,1915,1917,1920,1922,1924,1926],{"class":227,"line":604},[225,1903,1378],{"class":368},[225,1905,1906],{"class":231}," updated",[225,1908,384],{"class":235},[225,1910,1588],{"class":231},[225,1912,466],{"class":235},[225,1914,1703],{"class":231},[225,1916,466],{"class":235},[225,1918,1919],{"class":387},"updateUser",[225,1921,400],{"class":406},[225,1923,447],{"class":231},[225,1925,422],{"class":406},[225,1927,329],{"class":235},[225,1929,1930,1932,1934,1936,1939,1941,1943,1945,1947,1949,1951,1953,1955,1957,1960,1962,1964,1966,1968,1970,1972,1974,1976,1978],{"class":227,"line":862},[225,1931,907],{"class":303},[225,1933,910],{"class":406},[225,1935,1725],{"class":235},[225,1937,1938],{"class":231},"updated",[225,1940,1730],{"class":406},[225,1942,1733],{"class":303},[225,1944,1736],{"class":235},[225,1946,1672],{"class":387},[225,1948,400],{"class":406},[225,1950,403],{"class":235},[225,1952,547],{"class":406},[225,1954,410],{"class":235},[225,1956,319],{"class":235},[225,1958,1959],{"class":322},"User not found, can not be updated",[225,1961,326],{"class":235},[225,1963,236],{"class":235},[225,1965,337],{"class":406},[225,1967,410],{"class":235},[225,1969,319],{"class":235},[225,1971,1679],{"class":322},[225,1973,326],{"class":235},[225,1975,313],{"class":235},[225,1977,422],{"class":406},[225,1979,329],{"class":235},[225,1981,1982,1984,1986],{"class":227,"line":871},[225,1983,1776],{"class":303},[225,1985,1906],{"class":231},[225,1987,329],{"class":235},[225,1989,1990,1992,1994],{"class":227,"line":877},[225,1991,313],{"class":235},[225,1993,422],{"class":231},[225,1995,329],{"class":235},[225,1997,1998],{"class":227,"line":899},[225,1999,362],{"emptyLinePlaceholder":361},[225,2001,2002,2004,2007,2009,2011,2013,2015,2017,2019,2021,2023,2025,2027,2029,2031,2033,2035,2037,2039,2041,2043,2045,2047,2049],{"class":227,"line":904},[225,2003,369],{"class":368},[225,2005,2006],{"class":231}," deleteUser ",[225,2008,1636],{"class":235},[225,2010,1551],{"class":387},[225,2012,400],{"class":231},[225,2014,400],{"class":235},[225,2016,1645],{"class":1451},[225,2018,410],{"class":235},[225,2020,1650],{"class":394},[225,2022,236],{"class":235},[225,2024,1655],{"class":1451},[225,2026,410],{"class":235},[225,2028,1660],{"class":394},[225,2030,1663],{"class":235},[225,2032,1666],{"class":394},[225,2034,1669],{"class":235},[225,2036,1672],{"class":394},[225,2038,391],{"class":235},[225,2040,326],{"class":235},[225,2042,1679],{"class":322},[225,2044,326],{"class":235},[225,2046,397],{"class":235},[225,2048,1686],{"class":368},[225,2050,562],{"class":235},[225,2052,2053,2055,2058,2060,2062,2064,2066,2068,2071,2073,2075,2077],{"class":227,"line":924},[225,2054,1378],{"class":368},[225,2056,2057],{"class":231}," deleted",[225,2059,384],{"class":235},[225,2061,1588],{"class":231},[225,2063,466],{"class":235},[225,2065,1703],{"class":231},[225,2067,466],{"class":235},[225,2069,2070],{"class":387},"deleteUser",[225,2072,400],{"class":406},[225,2074,807],{"class":231},[225,2076,422],{"class":406},[225,2078,329],{"class":235},[225,2080,2081,2083,2085,2087,2090,2092,2094,2096,2098,2100,2102,2104,2106,2108,2111,2113,2115,2117,2119,2121,2123,2125,2127,2129],{"class":227,"line":930},[225,2082,907],{"class":303},[225,2084,910],{"class":406},[225,2086,1725],{"class":235},[225,2088,2089],{"class":231},"deleted",[225,2091,1730],{"class":406},[225,2093,1733],{"class":303},[225,2095,1736],{"class":235},[225,2097,1672],{"class":387},[225,2099,400],{"class":406},[225,2101,403],{"class":235},[225,2103,547],{"class":406},[225,2105,410],{"class":235},[225,2107,319],{"class":235},[225,2109,2110],{"class":322},"User not found, can not be deleted",[225,2112,326],{"class":235},[225,2114,236],{"class":235},[225,2116,337],{"class":406},[225,2118,410],{"class":235},[225,2120,319],{"class":235},[225,2122,1679],{"class":322},[225,2124,326],{"class":235},[225,2126,313],{"class":235},[225,2128,422],{"class":406},[225,2130,329],{"class":235},[225,2132,2133,2135,2137],{"class":227,"line":936},[225,2134,1776],{"class":303},[225,2136,2057],{"class":231},[225,2138,329],{"class":235},[225,2140,2141,2143,2145],{"class":227,"line":945},[225,2142,313],{"class":235},[225,2144,422],{"class":231},[225,2146,329],{"class":235},[225,2148,2149],{"class":227,"line":965},[225,2150,362],{"emptyLinePlaceholder":361},[225,2152,2153,2155,2158,2160,2163,2165,2167,2169,2171,2173,2175,2177,2179,2182,2184,2186,2188,2190,2192,2195,2198,2200],{"class":227,"line":970},[225,2154,369],{"class":368},[225,2156,2157],{"class":231}," auth ",[225,2159,1636],{"class":235},[225,2161,2162],{"class":387}," headersFn",[225,2164,400],{"class":231},[225,2166,400],{"class":235},[225,2168,1645],{"class":1451},[225,2170,410],{"class":235},[225,2172,1650],{"class":394},[225,2174,236],{"class":235},[225,2176,307],{"class":235},[225,2178,1115],{"class":1451},[225,2180,2181],{"class":235},"}:",[225,2183,1505],{"class":394},[225,2185,391],{"class":235},[225,2187,326],{"class":235},[225,2189,1122],{"class":322},[225,2191,326],{"class":235},[225,2193,2194],{"class":235},">):",[225,2196,2197],{"class":394}," void",[225,2199,1686],{"class":368},[225,2201,562],{"class":235},[225,2203,2204,2206,2209,2211,2214,2216,2218],{"class":227,"line":975},[225,2205,1378],{"class":368},[225,2207,2208],{"class":231}," token",[225,2210,384],{"class":235},[225,2212,2213],{"class":231}," headers",[225,2215,466],{"class":235},[225,2217,1122],{"class":231},[225,2219,329],{"class":235},[225,2221,2222,2224,2226,2228,2231,2233,2235,2237,2240,2242,2245],{"class":227,"line":981},[225,2223,907],{"class":303},[225,2225,910],{"class":406},[225,2227,1725],{"class":235},[225,2229,2230],{"class":231},"myApp",[225,2232,466],{"class":235},[225,2234,1108],{"class":231},[225,2236,466],{"class":235},[225,2238,2239],{"class":387},"isAuthorized",[225,2241,400],{"class":406},[225,2243,2244],{"class":231},"token",[225,2246,2247],{"class":406},"))\n",[225,2249,2250,2253,2255,2257,2259],{"class":227,"line":987},[225,2251,2252],{"class":303},"        throw",[225,2254,1736],{"class":235},[225,2256,1672],{"class":387},[225,2258,400],{"class":406},[225,2260,512],{"class":235},[225,2262,2263,2266,2268,2270,2273,2275],{"class":227,"line":1024},[225,2264,2265],{"class":406},"            publicMessage",[225,2267,410],{"class":235},[225,2269,319],{"class":235},[225,2271,2272],{"class":322},"Not Authorized",[225,2274,326],{"class":235},[225,2276,1139],{"class":235},[225,2278,2279,2282,2284,2286,2289,2291],{"class":227,"line":1075},[225,2280,2281],{"class":406},"            type",[225,2283,410],{"class":235},[225,2285,319],{"class":235},[225,2287,2288],{"class":322},"not-authorized",[225,2290,326],{"class":235},[225,2292,1139],{"class":235},[225,2294,2295,2298,2300],{"class":227,"line":1086},[225,2296,2297],{"class":235},"        }",[225,2299,422],{"class":406},[225,2301,329],{"class":235},[225,2303,2304,2307,2309,2312,2314,2317,2319,2321,2323,2325,2327,2330,2332,2334,2336,2339,2341],{"class":227,"line":1096},[225,2305,2306],{"class":231},"    ctx",[225,2308,466],{"class":235},[225,2310,2311],{"class":231},"shared",[225,2313,466],{"class":235},[225,2315,2316],{"class":231},"me",[225,2318,384],{"class":235},[225,2320,1588],{"class":231},[225,2322,466],{"class":235},[225,2324,1108],{"class":231},[225,2326,466],{"class":235},[225,2328,2329],{"class":387},"getIdentity",[225,2331,400],{"class":406},[225,2333,2244],{"class":231},[225,2335,1730],{"class":406},[225,2337,2338],{"class":303},"as",[225,2340,1666],{"class":394},[225,2342,329],{"class":235},[225,2344,2345,2347,2349],{"class":227,"line":1142},[225,2346,313],{"class":235},[225,2348,422],{"class":231},[225,2350,329],{"class":235},[225,2352,2353],{"class":227,"line":1148},[225,2354,362],{"emptyLinePlaceholder":361},[225,2356,2357,2359,2362,2364,2366,2368,2370,2373,2375,2377,2379,2381,2383,2386,2388,2390,2392,2394,2397,2399,2401,2404,2406,2409],{"class":227,"line":1158},[225,2358,369],{"class":368},[225,2360,2361],{"class":231}," log ",[225,2363,1636],{"class":235},[225,2365,1531],{"class":387},[225,2367,400],{"class":231},[225,2369,400],{"class":235},[225,2371,2372],{"class":1451},"context",[225,2374,410],{"class":235},[225,2376,1650],{"class":394},[225,2378,1663],{"class":235},[225,2380,2197],{"class":394},[225,2382,1686],{"class":368},[225,2384,2385],{"class":231}," console",[225,2387,466],{"class":235},[225,2389,529],{"class":387},[225,2391,400],{"class":231},[225,2393,326],{"class":235},[225,2395,2396],{"class":322},"rawMiddleFn",[225,2398,326],{"class":235},[225,2400,236],{"class":235},[225,2402,2403],{"class":231}," context",[225,2405,466],{"class":235},[225,2407,2408],{"class":231},"path))",[225,2410,329],{"class":235},[225,2412,2413],{"class":227,"line":1163},[225,2414,362],{"emptyLinePlaceholder":361},[225,2416,2417,2419,2422,2424],{"class":227,"line":1173},[225,2418,369],{"class":368},[225,2420,2421],{"class":231}," routes ",[225,2423,1636],{"class":235},[225,2425,562],{"class":235},[225,2427,2428,2431,2433,2435,2437,2440,2443,2445,2447,2449],{"class":227,"line":1204},[225,2429,2430],{"class":406},"    private",[225,2432,410],{"class":235},[225,2434,1536],{"class":387},[225,2436,400],{"class":231},[225,2438,2439],{"class":235},"():",[225,2441,2442],{"class":394}," null",[225,2444,1686],{"class":368},[225,2446,2442],{"class":235},[225,2448,422],{"class":231},[225,2450,1139],{"class":235},[225,2452,2453,2456],{"class":227,"line":1213},[225,2454,2455],{"class":231},"    auth",[225,2457,1139],{"class":235},[225,2459,2460,2463,2465],{"class":227,"line":1232},[225,2461,2462],{"class":406},"    users",[225,2464,410],{"class":235},[225,2466,562],{"class":235},[225,2468,2469,2472,2474,2477,2479],{"class":227,"line":1237},[225,2470,2471],{"class":406},"        get",[225,2473,410],{"class":235},[225,2475,2476],{"class":231}," getUser",[225,2478,236],{"class":235},[225,2480,2481],{"class":435}," \u002F\u002F api\u002Fv1\u002Fusers\u002Fget\n",[225,2483,2484,2487,2489,2492,2494],{"class":227,"line":1242},[225,2485,2486],{"class":406},"        create",[225,2488,410],{"class":235},[225,2490,2491],{"class":231}," createUser",[225,2493,236],{"class":235},[225,2495,2496],{"class":435}," \u002F\u002F api\u002Fv1\u002Fusers\u002Fcreate\n",[225,2498,2499,2502,2504,2507,2509],{"class":227,"line":1248},[225,2500,2501],{"class":406},"        update",[225,2503,410],{"class":235},[225,2505,2506],{"class":231}," updateUser",[225,2508,236],{"class":235},[225,2510,2511],{"class":435}," \u002F\u002F api\u002Fv1\u002Fusers\u002Fupdate\n",[225,2513,2514,2517,2519,2522,2524],{"class":227,"line":1263},[225,2515,2516],{"class":406},"        delete",[225,2518,410],{"class":235},[225,2520,2521],{"class":231}," deleteUser",[225,2523,236],{"class":235},[225,2525,2526],{"class":435}," \u002F\u002F api\u002Fv1\u002Fusers\u002Fdelete\n",[225,2528,2529],{"class":227,"line":1297},[225,2530,2531],{"class":235},"    },\n",[225,2533,2534,2537],{"class":227,"line":1302},[225,2535,2536],{"class":231},"    log",[225,2538,1139],{"class":235},[225,2540,2541,2543,2546,2548],{"class":227,"line":1307},[225,2542,313],{"class":235},[225,2544,2545],{"class":303}," satisfies",[225,2547,1541],{"class":394},[225,2549,329],{"class":235},[225,2551,2552],{"class":227,"line":1313},[225,2553,362],{"emptyLinePlaceholder":361},[225,2555,2556,2559,2562,2565,2567,2569,2571,2574,2576],{"class":227,"line":1339},[225,2557,2558],{"class":303},"export",[225,2560,2561],{"class":368}," const",[225,2563,2564],{"class":231}," apiSpec ",[225,2566,1636],{"class":235},[225,2568,460],{"class":303},[225,2570,1546],{"class":387},[225,2572,2573],{"class":231},"(routes",[225,2575,236],{"class":235},[225,2577,562],{"class":235},[225,2579,2580,2583,2585,2587],{"class":227,"line":1344},[225,2581,2582],{"class":406},"    contextDataFactory",[225,2584,410],{"class":235},[225,2586,1583],{"class":231},[225,2588,1139],{"class":235},[225,2590,2591,2594,2596,2598,2601,2603],{"class":227,"line":1350},[225,2592,2593],{"class":406},"    prefix",[225,2595,410],{"class":235},[225,2597,319],{"class":235},[225,2599,2600],{"class":322},"api\u002Fv1",[225,2602,326],{"class":235},[225,2604,1139],{"class":235},[225,2606,2607,2609,2611],{"class":227,"line":1356},[225,2608,313],{"class":235},[225,2610,422],{"class":231},[225,2612,329],{"class":235},[225,2614,2615,2617,2619,2622,2624,2627,2630],{"class":227,"line":1361},[225,2616,2558],{"class":303},[225,2618,337],{"class":368},[225,2620,2621],{"class":394}," ApiSpec",[225,2623,384],{"class":235},[225,2625,2626],{"class":235}," typeof",[225,2628,2629],{"class":231}," apiSpec",[225,2631,329],{"class":235},[201,2633,2635],{"id":2634},"using-call-with-middlefns","Using call with middleFns",[206,2637,2638,2639,2642,2643,2646],{},"When you need to pass middleFn data to a single route call, use ",[222,2640,2641],{},"call()"," with a setup object containing ",[222,2644,2645],{},"middleFns",". This method returns a tuple that includes both route and middleFn results.",[616,2648,2649,2970],{},[215,2650,2652],{"className":217,"code":2651,"filename":76,"language":219,"meta":220,"style":220},"import {initClient} from '@mionjs\u002Fclient';\nimport type {MyApi} from '.\u002Fserver.routes.ts';\nimport {HeadersSubset} from '@mionjs\u002Fcore';\n\nconst {routes, middleFns} = initClient\u003CMyApi>({baseURL: 'http:\u002F\u002Flocalhost:3000'});\n\n\u002F\u002F calls route with auth middleFn\n\u002F\u002F Returns 4-tuple: [routeResult, routeError, middleFnsResults, middleFnsErrors]\nconst [user, routeError, middleFnResults, middleFnErrors] = await routes.users.getById('123').call({\n    middleFns: {\n        auth: middleFns.auth(new HeadersSubset({Authorization: 'myToken-XYZ'})),\n    },\n});\n\nif (routeError || middleFnErrors?.auth) {\n    console.log('Something failed');\n} else {\n    console.log(user); \u002F\u002F User object\n}\n",[222,2653,2654,2674,2696,2717,2721,2765,2769,2774,2779,2833,2842,2884,2888,2896,2900,2918,2939,2947,2966],{"__ignoreMap":220},[225,2655,2656,2658,2660,2662,2664,2666,2668,2670,2672],{"class":227,"line":228},[225,2657,304],{"class":303},[225,2659,307],{"class":235},[225,2661,310],{"class":231},[225,2663,313],{"class":235},[225,2665,316],{"class":303},[225,2667,319],{"class":235},[225,2669,323],{"class":322},[225,2671,326],{"class":235},[225,2673,329],{"class":235},[225,2675,2676,2678,2680,2682,2684,2686,2688,2690,2692,2694],{"class":227,"line":332},[225,2677,304],{"class":303},[225,2679,337],{"class":303},[225,2681,307],{"class":235},[225,2683,342],{"class":231},[225,2685,313],{"class":235},[225,2687,316],{"class":303},[225,2689,319],{"class":235},[225,2691,351],{"class":322},[225,2693,326],{"class":235},[225,2695,329],{"class":235},[225,2697,2698,2700,2702,2705,2707,2709,2711,2713,2715],{"class":227,"line":358},[225,2699,304],{"class":303},[225,2701,307],{"class":235},[225,2703,2704],{"class":231},"HeadersSubset",[225,2706,313],{"class":235},[225,2708,316],{"class":303},[225,2710,319],{"class":235},[225,2712,691],{"class":322},[225,2714,326],{"class":235},[225,2716,329],{"class":235},[225,2718,2719],{"class":227,"line":365},[225,2720,362],{"emptyLinePlaceholder":361},[225,2722,2723,2725,2727,2729,2731,2733,2735,2737,2739,2741,2743,2745,2747,2749,2751,2753,2755,2757,2759,2761,2763],{"class":227,"line":427},[225,2724,369],{"class":368},[225,2726,307],{"class":235},[225,2728,374],{"class":231},[225,2730,236],{"class":235},[225,2732,379],{"class":231},[225,2734,313],{"class":235},[225,2736,384],{"class":235},[225,2738,388],{"class":387},[225,2740,391],{"class":235},[225,2742,342],{"class":394},[225,2744,397],{"class":235},[225,2746,400],{"class":231},[225,2748,403],{"class":235},[225,2750,407],{"class":406},[225,2752,410],{"class":235},[225,2754,319],{"class":235},[225,2756,415],{"class":322},[225,2758,326],{"class":235},[225,2760,313],{"class":235},[225,2762,422],{"class":231},[225,2764,329],{"class":235},[225,2766,2767],{"class":227,"line":432},[225,2768,362],{"emptyLinePlaceholder":361},[225,2770,2771],{"class":227,"line":439},[225,2772,2773],{"class":435},"\u002F\u002F calls route with auth middleFn\n",[225,2775,2776],{"class":227,"line":498},[225,2777,2778],{"class":435},"\u002F\u002F Returns 4-tuple: [routeResult, routeError, middleFnsResults, middleFnsErrors]\n",[225,2780,2781,2783,2785,2787,2789,2791,2793,2795,2797,2799,2801,2803,2805,2807,2809,2811,2813,2815,2817,2819,2821,2823,2825,2827,2829,2831],{"class":227,"line":503},[225,2782,369],{"class":368},[225,2784,444],{"class":235},[225,2786,447],{"class":231},[225,2788,236],{"class":235},[225,2790,239],{"class":231},[225,2792,236],{"class":235},[225,2794,1003],{"class":231},[225,2796,236],{"class":235},[225,2798,1008],{"class":231},[225,2800,455],{"class":235},[225,2802,384],{"class":235},[225,2804,460],{"class":303},[225,2806,463],{"class":231},[225,2808,466],{"class":235},[225,2810,469],{"class":231},[225,2812,466],{"class":235},[225,2814,474],{"class":387},[225,2816,400],{"class":231},[225,2818,326],{"class":235},[225,2820,481],{"class":322},[225,2822,326],{"class":235},[225,2824,422],{"class":231},[225,2826,466],{"class":235},[225,2828,490],{"class":387},[225,2830,400],{"class":231},[225,2832,512],{"class":235},[225,2834,2835,2838,2840],{"class":227,"line":515},[225,2836,2837],{"class":406},"    middleFns",[225,2839,410],{"class":235},[225,2841,562],{"class":235},[225,2843,2844,2847,2849,2851,2853,2855,2857,2860,2862,2864,2866,2868,2870,2872,2875,2877,2879,2882],{"class":227,"line":521},[225,2845,2846],{"class":406},"        auth",[225,2848,410],{"class":235},[225,2850,379],{"class":231},[225,2852,466],{"class":235},[225,2854,1108],{"class":387},[225,2856,400],{"class":231},[225,2858,2859],{"class":235},"new",[225,2861,1505],{"class":387},[225,2863,400],{"class":231},[225,2865,403],{"class":235},[225,2867,1122],{"class":406},[225,2869,410],{"class":235},[225,2871,319],{"class":235},[225,2873,2874],{"class":322},"myToken-XYZ",[225,2876,326],{"class":235},[225,2878,313],{"class":235},[225,2880,2881],{"class":231},"))",[225,2883,1139],{"class":235},[225,2885,2886],{"class":227,"line":554},[225,2887,2531],{"class":235},[225,2889,2890,2892,2894],{"class":227,"line":565},[225,2891,313],{"class":235},[225,2893,422],{"class":231},[225,2895,329],{"class":235},[225,2897,2898],{"class":227,"line":571},[225,2899,362],{"emptyLinePlaceholder":361},[225,2901,2902,2904,2907,2910,2912,2914,2916],{"class":227,"line":604},[225,2903,506],{"class":303},[225,2905,2906],{"class":231}," (routeError ",[225,2908,2909],{"class":235},"||",[225,2911,1008],{"class":231},[225,2913,594],{"class":235},[225,2915,1258],{"class":231},[225,2917,512],{"class":235},[225,2919,2920,2922,2924,2926,2928,2930,2933,2935,2937],{"class":227,"line":862},[225,2921,524],{"class":231},[225,2923,466],{"class":235},[225,2925,529],{"class":387},[225,2927,400],{"class":406},[225,2929,326],{"class":235},[225,2931,2932],{"class":322},"Something failed",[225,2934,326],{"class":235},[225,2936,422],{"class":406},[225,2938,329],{"class":235},[225,2940,2941,2943,2945],{"class":227,"line":871},[225,2942,313],{"class":235},[225,2944,559],{"class":303},[225,2946,562],{"class":235},[225,2948,2949,2951,2953,2955,2957,2959,2961,2963],{"class":227,"line":877},[225,2950,524],{"class":231},[225,2952,466],{"class":235},[225,2954,529],{"class":387},[225,2956,400],{"class":406},[225,2958,447],{"class":231},[225,2960,422],{"class":406},[225,2962,893],{"class":235},[225,2964,2965],{"class":435}," \u002F\u002F User object\n",[225,2967,2968],{"class":227,"line":899},[225,2969,607],{"class":235},[215,2971,2972],{"className":217,"code":1488,"filename":1489,"language":219,"meta":220,"style":220},[222,2973,2974,2998,3038,3070,3090,3094,3144,3170,3220,3228,3236,3240,3288,3292,3342,3368,3418,3426,3434,3438,3488,3514,3564,3572,3580,3584,3630,3646,3670,3682,3696,3710,3718,3754,3762,3766,3816,3820,3830,3852,3858,3866,3878,3890,3902,3914,3918,3924,3934,3938,3958,3968,3982,3990],{"__ignoreMap":220},[225,2975,2976,2978,2980,2982,2984,2986,2988,2990,2992,2994,2996],{"class":227,"line":228},[225,2977,304],{"class":303},[225,2979,307],{"class":235},[225,2981,1500],{"class":231},[225,2983,236],{"class":235},[225,2985,1505],{"class":231},[225,2987,313],{"class":235},[225,2989,316],{"class":303},[225,2991,319],{"class":235},[225,2993,691],{"class":322},[225,2995,326],{"class":235},[225,2997,329],{"class":235},[225,2999,3000,3002,3004,3006,3008,3010,3012,3014,3016,3018,3020,3022,3024,3026,3028,3030,3032,3034,3036],{"class":227,"line":332},[225,3001,304],{"class":303},[225,3003,307],{"class":235},[225,3005,1526],{"class":231},[225,3007,236],{"class":235},[225,3009,1531],{"class":231},[225,3011,236],{"class":235},[225,3013,1536],{"class":231},[225,3015,236],{"class":235},[225,3017,1541],{"class":231},[225,3019,236],{"class":235},[225,3021,1546],{"class":231},[225,3023,236],{"class":235},[225,3025,1551],{"class":231},[225,3027,313],{"class":235},[225,3029,316],{"class":303},[225,3031,319],{"class":235},[225,3033,1560],{"class":322},[225,3035,326],{"class":235},[225,3037,329],{"class":235},[225,3039,3040,3042,3044,3046,3048,3050,3052,3054,3056,3058,3060,3062,3064,3066,3068],{"class":227,"line":358},[225,3041,304],{"class":303},[225,3043,307],{"class":235},[225,3045,1573],{"class":231},[225,3047,236],{"class":235},[225,3049,1578],{"class":231},[225,3051,236],{"class":235},[225,3053,1583],{"class":231},[225,3055,236],{"class":235},[225,3057,1588],{"class":231},[225,3059,313],{"class":235},[225,3061,316],{"class":303},[225,3063,319],{"class":235},[225,3065,1597],{"class":322},[225,3067,326],{"class":235},[225,3069,329],{"class":235},[225,3071,3072,3074,3076,3078,3080,3082,3084,3086,3088],{"class":227,"line":365},[225,3073,304],{"class":303},[225,3075,307],{"class":235},[225,3077,1610],{"class":231},[225,3079,313],{"class":235},[225,3081,316],{"class":303},[225,3083,319],{"class":235},[225,3085,1597],{"class":322},[225,3087,326],{"class":235},[225,3089,329],{"class":235},[225,3091,3092],{"class":227,"line":427},[225,3093,362],{"emptyLinePlaceholder":361},[225,3095,3096,3098,3100,3102,3104,3106,3108,3110,3112,3114,3116,3118,3120,3122,3124,3126,3128,3130,3132,3134,3136,3138,3140,3142],{"class":227,"line":432},[225,3097,369],{"class":368},[225,3099,1633],{"class":231},[225,3101,1636],{"class":235},[225,3103,1551],{"class":387},[225,3105,400],{"class":231},[225,3107,400],{"class":235},[225,3109,1645],{"class":1451},[225,3111,410],{"class":235},[225,3113,1650],{"class":394},[225,3115,236],{"class":235},[225,3117,1655],{"class":1451},[225,3119,410],{"class":235},[225,3121,1660],{"class":394},[225,3123,1663],{"class":235},[225,3125,1666],{"class":394},[225,3127,1669],{"class":235},[225,3129,1672],{"class":394},[225,3131,391],{"class":235},[225,3133,326],{"class":235},[225,3135,1679],{"class":322},[225,3137,326],{"class":235},[225,3139,397],{"class":235},[225,3141,1686],{"class":368},[225,3143,562],{"class":235},[225,3145,3146,3148,3150,3152,3154,3156,3158,3160,3162,3164,3166,3168],{"class":227,"line":439},[225,3147,1378],{"class":368},[225,3149,591],{"class":231},[225,3151,384],{"class":235},[225,3153,1588],{"class":231},[225,3155,466],{"class":235},[225,3157,1703],{"class":231},[225,3159,466],{"class":235},[225,3161,1708],{"class":387},[225,3163,400],{"class":406},[225,3165,807],{"class":231},[225,3167,422],{"class":406},[225,3169,329],{"class":235},[225,3171,3172,3174,3176,3178,3180,3182,3184,3186,3188,3190,3192,3194,3196,3198,3200,3202,3204,3206,3208,3210,3212,3214,3216,3218],{"class":227,"line":498},[225,3173,907],{"class":303},[225,3175,910],{"class":406},[225,3177,1725],{"class":235},[225,3179,447],{"class":231},[225,3181,1730],{"class":406},[225,3183,1733],{"class":303},[225,3185,1736],{"class":235},[225,3187,1672],{"class":387},[225,3189,400],{"class":406},[225,3191,403],{"class":235},[225,3193,547],{"class":406},[225,3195,410],{"class":235},[225,3197,319],{"class":235},[225,3199,1751],{"class":322},[225,3201,326],{"class":235},[225,3203,236],{"class":235},[225,3205,337],{"class":406},[225,3207,410],{"class":235},[225,3209,319],{"class":235},[225,3211,1679],{"class":322},[225,3213,326],{"class":235},[225,3215,313],{"class":235},[225,3217,422],{"class":406},[225,3219,329],{"class":235},[225,3221,3222,3224,3226],{"class":227,"line":503},[225,3223,1776],{"class":303},[225,3225,591],{"class":231},[225,3227,329],{"class":235},[225,3229,3230,3232,3234],{"class":227,"line":515},[225,3231,313],{"class":235},[225,3233,422],{"class":231},[225,3235,329],{"class":235},[225,3237,3238],{"class":227,"line":521},[225,3239,362],{"emptyLinePlaceholder":361},[225,3241,3242,3244,3246,3248,3250,3252,3254,3256,3258,3260,3262,3264,3266,3268,3270,3272,3274,3276,3278,3280,3282,3284,3286],{"class":227,"line":554},[225,3243,369],{"class":368},[225,3245,1799],{"class":231},[225,3247,1636],{"class":235},[225,3249,1551],{"class":387},[225,3251,400],{"class":231},[225,3253,400],{"class":235},[225,3255,1645],{"class":1451},[225,3257,410],{"class":235},[225,3259,1650],{"class":394},[225,3261,236],{"class":235},[225,3263,1818],{"class":1451},[225,3265,410],{"class":235},[225,3267,1578],{"class":394},[225,3269,1663],{"class":235},[225,3271,1666],{"class":394},[225,3273,1686],{"class":368},[225,3275,1588],{"class":231},[225,3277,466],{"class":235},[225,3279,1703],{"class":231},[225,3281,466],{"class":235},[225,3283,1839],{"class":387},[225,3285,1842],{"class":231},[225,3287,329],{"class":235},[225,3289,3290],{"class":227,"line":565},[225,3291,362],{"emptyLinePlaceholder":361},[225,3293,3294,3296,3298,3300,3302,3304,3306,3308,3310,3312,3314,3316,3318,3320,3322,3324,3326,3328,3330,3332,3334,3336,3338,3340],{"class":227,"line":571},[225,3295,369],{"class":368},[225,3297,1855],{"class":231},[225,3299,1636],{"class":235},[225,3301,1551],{"class":387},[225,3303,400],{"class":231},[225,3305,400],{"class":235},[225,3307,1645],{"class":1451},[225,3309,410],{"class":235},[225,3311,1650],{"class":394},[225,3313,236],{"class":235},[225,3315,591],{"class":1451},[225,3317,410],{"class":235},[225,3319,1666],{"class":394},[225,3321,1663],{"class":235},[225,3323,1666],{"class":394},[225,3325,1669],{"class":235},[225,3327,1672],{"class":394},[225,3329,391],{"class":235},[225,3331,326],{"class":235},[225,3333,1679],{"class":322},[225,3335,326],{"class":235},[225,3337,397],{"class":235},[225,3339,1686],{"class":368},[225,3341,562],{"class":235},[225,3343,3344,3346,3348,3350,3352,3354,3356,3358,3360,3362,3364,3366],{"class":227,"line":604},[225,3345,1378],{"class":368},[225,3347,1906],{"class":231},[225,3349,384],{"class":235},[225,3351,1588],{"class":231},[225,3353,466],{"class":235},[225,3355,1703],{"class":231},[225,3357,466],{"class":235},[225,3359,1919],{"class":387},[225,3361,400],{"class":406},[225,3363,447],{"class":231},[225,3365,422],{"class":406},[225,3367,329],{"class":235},[225,3369,3370,3372,3374,3376,3378,3380,3382,3384,3386,3388,3390,3392,3394,3396,3398,3400,3402,3404,3406,3408,3410,3412,3414,3416],{"class":227,"line":862},[225,3371,907],{"class":303},[225,3373,910],{"class":406},[225,3375,1725],{"class":235},[225,3377,1938],{"class":231},[225,3379,1730],{"class":406},[225,3381,1733],{"class":303},[225,3383,1736],{"class":235},[225,3385,1672],{"class":387},[225,3387,400],{"class":406},[225,3389,403],{"class":235},[225,3391,547],{"class":406},[225,3393,410],{"class":235},[225,3395,319],{"class":235},[225,3397,1959],{"class":322},[225,3399,326],{"class":235},[225,3401,236],{"class":235},[225,3403,337],{"class":406},[225,3405,410],{"class":235},[225,3407,319],{"class":235},[225,3409,1679],{"class":322},[225,3411,326],{"class":235},[225,3413,313],{"class":235},[225,3415,422],{"class":406},[225,3417,329],{"class":235},[225,3419,3420,3422,3424],{"class":227,"line":871},[225,3421,1776],{"class":303},[225,3423,1906],{"class":231},[225,3425,329],{"class":235},[225,3427,3428,3430,3432],{"class":227,"line":877},[225,3429,313],{"class":235},[225,3431,422],{"class":231},[225,3433,329],{"class":235},[225,3435,3436],{"class":227,"line":899},[225,3437,362],{"emptyLinePlaceholder":361},[225,3439,3440,3442,3444,3446,3448,3450,3452,3454,3456,3458,3460,3462,3464,3466,3468,3470,3472,3474,3476,3478,3480,3482,3484,3486],{"class":227,"line":904},[225,3441,369],{"class":368},[225,3443,2006],{"class":231},[225,3445,1636],{"class":235},[225,3447,1551],{"class":387},[225,3449,400],{"class":231},[225,3451,400],{"class":235},[225,3453,1645],{"class":1451},[225,3455,410],{"class":235},[225,3457,1650],{"class":394},[225,3459,236],{"class":235},[225,3461,1655],{"class":1451},[225,3463,410],{"class":235},[225,3465,1660],{"class":394},[225,3467,1663],{"class":235},[225,3469,1666],{"class":394},[225,3471,1669],{"class":235},[225,3473,1672],{"class":394},[225,3475,391],{"class":235},[225,3477,326],{"class":235},[225,3479,1679],{"class":322},[225,3481,326],{"class":235},[225,3483,397],{"class":235},[225,3485,1686],{"class":368},[225,3487,562],{"class":235},[225,3489,3490,3492,3494,3496,3498,3500,3502,3504,3506,3508,3510,3512],{"class":227,"line":924},[225,3491,1378],{"class":368},[225,3493,2057],{"class":231},[225,3495,384],{"class":235},[225,3497,1588],{"class":231},[225,3499,466],{"class":235},[225,3501,1703],{"class":231},[225,3503,466],{"class":235},[225,3505,2070],{"class":387},[225,3507,400],{"class":406},[225,3509,807],{"class":231},[225,3511,422],{"class":406},[225,3513,329],{"class":235},[225,3515,3516,3518,3520,3522,3524,3526,3528,3530,3532,3534,3536,3538,3540,3542,3544,3546,3548,3550,3552,3554,3556,3558,3560,3562],{"class":227,"line":930},[225,3517,907],{"class":303},[225,3519,910],{"class":406},[225,3521,1725],{"class":235},[225,3523,2089],{"class":231},[225,3525,1730],{"class":406},[225,3527,1733],{"class":303},[225,3529,1736],{"class":235},[225,3531,1672],{"class":387},[225,3533,400],{"class":406},[225,3535,403],{"class":235},[225,3537,547],{"class":406},[225,3539,410],{"class":235},[225,3541,319],{"class":235},[225,3543,2110],{"class":322},[225,3545,326],{"class":235},[225,3547,236],{"class":235},[225,3549,337],{"class":406},[225,3551,410],{"class":235},[225,3553,319],{"class":235},[225,3555,1679],{"class":322},[225,3557,326],{"class":235},[225,3559,313],{"class":235},[225,3561,422],{"class":406},[225,3563,329],{"class":235},[225,3565,3566,3568,3570],{"class":227,"line":936},[225,3567,1776],{"class":303},[225,3569,2057],{"class":231},[225,3571,329],{"class":235},[225,3573,3574,3576,3578],{"class":227,"line":945},[225,3575,313],{"class":235},[225,3577,422],{"class":231},[225,3579,329],{"class":235},[225,3581,3582],{"class":227,"line":965},[225,3583,362],{"emptyLinePlaceholder":361},[225,3585,3586,3588,3590,3592,3594,3596,3598,3600,3602,3604,3606,3608,3610,3612,3614,3616,3618,3620,3622,3624,3626,3628],{"class":227,"line":970},[225,3587,369],{"class":368},[225,3589,2157],{"class":231},[225,3591,1636],{"class":235},[225,3593,2162],{"class":387},[225,3595,400],{"class":231},[225,3597,400],{"class":235},[225,3599,1645],{"class":1451},[225,3601,410],{"class":235},[225,3603,1650],{"class":394},[225,3605,236],{"class":235},[225,3607,307],{"class":235},[225,3609,1115],{"class":1451},[225,3611,2181],{"class":235},[225,3613,1505],{"class":394},[225,3615,391],{"class":235},[225,3617,326],{"class":235},[225,3619,1122],{"class":322},[225,3621,326],{"class":235},[225,3623,2194],{"class":235},[225,3625,2197],{"class":394},[225,3627,1686],{"class":368},[225,3629,562],{"class":235},[225,3631,3632,3634,3636,3638,3640,3642,3644],{"class":227,"line":975},[225,3633,1378],{"class":368},[225,3635,2208],{"class":231},[225,3637,384],{"class":235},[225,3639,2213],{"class":231},[225,3641,466],{"class":235},[225,3643,1122],{"class":231},[225,3645,329],{"class":235},[225,3647,3648,3650,3652,3654,3656,3658,3660,3662,3664,3666,3668],{"class":227,"line":981},[225,3649,907],{"class":303},[225,3651,910],{"class":406},[225,3653,1725],{"class":235},[225,3655,2230],{"class":231},[225,3657,466],{"class":235},[225,3659,1108],{"class":231},[225,3661,466],{"class":235},[225,3663,2239],{"class":387},[225,3665,400],{"class":406},[225,3667,2244],{"class":231},[225,3669,2247],{"class":406},[225,3671,3672,3674,3676,3678,3680],{"class":227,"line":987},[225,3673,2252],{"class":303},[225,3675,1736],{"class":235},[225,3677,1672],{"class":387},[225,3679,400],{"class":406},[225,3681,512],{"class":235},[225,3683,3684,3686,3688,3690,3692,3694],{"class":227,"line":1024},[225,3685,2265],{"class":406},[225,3687,410],{"class":235},[225,3689,319],{"class":235},[225,3691,2272],{"class":322},[225,3693,326],{"class":235},[225,3695,1139],{"class":235},[225,3697,3698,3700,3702,3704,3706,3708],{"class":227,"line":1075},[225,3699,2281],{"class":406},[225,3701,410],{"class":235},[225,3703,319],{"class":235},[225,3705,2288],{"class":322},[225,3707,326],{"class":235},[225,3709,1139],{"class":235},[225,3711,3712,3714,3716],{"class":227,"line":1086},[225,3713,2297],{"class":235},[225,3715,422],{"class":406},[225,3717,329],{"class":235},[225,3719,3720,3722,3724,3726,3728,3730,3732,3734,3736,3738,3740,3742,3744,3746,3748,3750,3752],{"class":227,"line":1096},[225,3721,2306],{"class":231},[225,3723,466],{"class":235},[225,3725,2311],{"class":231},[225,3727,466],{"class":235},[225,3729,2316],{"class":231},[225,3731,384],{"class":235},[225,3733,1588],{"class":231},[225,3735,466],{"class":235},[225,3737,1108],{"class":231},[225,3739,466],{"class":235},[225,3741,2329],{"class":387},[225,3743,400],{"class":406},[225,3745,2244],{"class":231},[225,3747,1730],{"class":406},[225,3749,2338],{"class":303},[225,3751,1666],{"class":394},[225,3753,329],{"class":235},[225,3755,3756,3758,3760],{"class":227,"line":1142},[225,3757,313],{"class":235},[225,3759,422],{"class":231},[225,3761,329],{"class":235},[225,3763,3764],{"class":227,"line":1148},[225,3765,362],{"emptyLinePlaceholder":361},[225,3767,3768,3770,3772,3774,3776,3778,3780,3782,3784,3786,3788,3790,3792,3794,3796,3798,3800,3802,3804,3806,3808,3810,3812,3814],{"class":227,"line":1158},[225,3769,369],{"class":368},[225,3771,2361],{"class":231},[225,3773,1636],{"class":235},[225,3775,1531],{"class":387},[225,3777,400],{"class":231},[225,3779,400],{"class":235},[225,3781,2372],{"class":1451},[225,3783,410],{"class":235},[225,3785,1650],{"class":394},[225,3787,1663],{"class":235},[225,3789,2197],{"class":394},[225,3791,1686],{"class":368},[225,3793,2385],{"class":231},[225,3795,466],{"class":235},[225,3797,529],{"class":387},[225,3799,400],{"class":231},[225,3801,326],{"class":235},[225,3803,2396],{"class":322},[225,3805,326],{"class":235},[225,3807,236],{"class":235},[225,3809,2403],{"class":231},[225,3811,466],{"class":235},[225,3813,2408],{"class":231},[225,3815,329],{"class":235},[225,3817,3818],{"class":227,"line":1163},[225,3819,362],{"emptyLinePlaceholder":361},[225,3821,3822,3824,3826,3828],{"class":227,"line":1173},[225,3823,369],{"class":368},[225,3825,2421],{"class":231},[225,3827,1636],{"class":235},[225,3829,562],{"class":235},[225,3831,3832,3834,3836,3838,3840,3842,3844,3846,3848,3850],{"class":227,"line":1204},[225,3833,2430],{"class":406},[225,3835,410],{"class":235},[225,3837,1536],{"class":387},[225,3839,400],{"class":231},[225,3841,2439],{"class":235},[225,3843,2442],{"class":394},[225,3845,1686],{"class":368},[225,3847,2442],{"class":235},[225,3849,422],{"class":231},[225,3851,1139],{"class":235},[225,3853,3854,3856],{"class":227,"line":1213},[225,3855,2455],{"class":231},[225,3857,1139],{"class":235},[225,3859,3860,3862,3864],{"class":227,"line":1232},[225,3861,2462],{"class":406},[225,3863,410],{"class":235},[225,3865,562],{"class":235},[225,3867,3868,3870,3872,3874,3876],{"class":227,"line":1237},[225,3869,2471],{"class":406},[225,3871,410],{"class":235},[225,3873,2476],{"class":231},[225,3875,236],{"class":235},[225,3877,2481],{"class":435},[225,3879,3880,3882,3884,3886,3888],{"class":227,"line":1242},[225,3881,2486],{"class":406},[225,3883,410],{"class":235},[225,3885,2491],{"class":231},[225,3887,236],{"class":235},[225,3889,2496],{"class":435},[225,3891,3892,3894,3896,3898,3900],{"class":227,"line":1248},[225,3893,2501],{"class":406},[225,3895,410],{"class":235},[225,3897,2506],{"class":231},[225,3899,236],{"class":235},[225,3901,2511],{"class":435},[225,3903,3904,3906,3908,3910,3912],{"class":227,"line":1263},[225,3905,2516],{"class":406},[225,3907,410],{"class":235},[225,3909,2521],{"class":231},[225,3911,236],{"class":235},[225,3913,2526],{"class":435},[225,3915,3916],{"class":227,"line":1297},[225,3917,2531],{"class":235},[225,3919,3920,3922],{"class":227,"line":1302},[225,3921,2536],{"class":231},[225,3923,1139],{"class":235},[225,3925,3926,3928,3930,3932],{"class":227,"line":1307},[225,3927,313],{"class":235},[225,3929,2545],{"class":303},[225,3931,1541],{"class":394},[225,3933,329],{"class":235},[225,3935,3936],{"class":227,"line":1313},[225,3937,362],{"emptyLinePlaceholder":361},[225,3939,3940,3942,3944,3946,3948,3950,3952,3954,3956],{"class":227,"line":1339},[225,3941,2558],{"class":303},[225,3943,2561],{"class":368},[225,3945,2564],{"class":231},[225,3947,1636],{"class":235},[225,3949,460],{"class":303},[225,3951,1546],{"class":387},[225,3953,2573],{"class":231},[225,3955,236],{"class":235},[225,3957,562],{"class":235},[225,3959,3960,3962,3964,3966],{"class":227,"line":1344},[225,3961,2582],{"class":406},[225,3963,410],{"class":235},[225,3965,1583],{"class":231},[225,3967,1139],{"class":235},[225,3969,3970,3972,3974,3976,3978,3980],{"class":227,"line":1350},[225,3971,2593],{"class":406},[225,3973,410],{"class":235},[225,3975,319],{"class":235},[225,3977,2600],{"class":322},[225,3979,326],{"class":235},[225,3981,1139],{"class":235},[225,3983,3984,3986,3988],{"class":227,"line":1356},[225,3985,313],{"class":235},[225,3987,422],{"class":231},[225,3989,329],{"class":235},[225,3991,3992,3994,3996,3998,4000,4002,4004],{"class":227,"line":1361},[225,3993,2558],{"class":303},[225,3995,337],{"class":368},[225,3997,2621],{"class":394},[225,3999,384],{"class":235},[225,4001,2626],{"class":235},[225,4003,2629],{"class":231},[225,4005,329],{"class":235},[201,4007,4009],{"id":4008},"prefilling-middlefns","Prefilling MiddleFns",[206,4011,4012,4013,410],{},"For middleFns that should be included in all requests (like authentication), use ",[222,4014,4015],{},"prefill()",[215,4017,4019],{"className":217,"code":4018,"language":219,"meta":220,"style":220},"import {initClient} from '@mionjs\u002Fclient';\nimport type {MyApi} from '.\u002Fserver.routes.ts';\nimport {HeadersSubset} from '@mionjs\u002Fcore';\n\nconst {routes, middleFns} = initClient\u003CMyApi>({baseURL: 'http:\u002F\u002Flocalhost:3000'});\n\ndeclare function redirectToLogin(): void;\ndeclare function refreshToken(): Promise\u003Cstring>;\n\n\u002F\u002F prefill() returns a TypedEvent for registering persistent handlers\n\u002F\u002F TypedEvent handlers are STRONGLY TYPED by the error.type string\nmiddleFns\n    .auth(new HeadersSubset({Authorization: 'myToken-XYZ'}))\n    .prefill()\n    .onSuccess((session) => {\n        \u002F\u002F Called after every successful auth\n        console.log('Authenticated as:', session?.userId);\n    })\n    .onError('not-authorized', (error) => {\n        \u002F\u002F TypeScript knows error.type is 'invalid-token'\n        console.log('Auth failed:', error.publicMessage);\n        redirectToLogin();\n    });\n\n\u002F\u002F call() returns a 4-tuple with middleFnResults and middleFnErrors\n\u002F\u002F These are NOT strongly typed - they contain generic RpcError types\nconst [sum, error, middleFnResults, middleFnErrors] = await routes.utils.sum(5, 2).call();\n\n\u002F\u002F Both TypedEvent handlers AND 4-tuple receive the same middleFn data:\n\u002F\u002F - TypedEvent handlers were already called above (if auth succeeded\u002Ffailed)\n\u002F\u002F - middleFnResults\u002FmiddleFnErrors also contain the auth result\u002Ferror\nif (middleFnErrors?.auth) {\n    console.log('Auth error (generic type):', middleFnErrors.auth.publicMessage);\n}\nif (middleFnResults?.auth) {\n    console.log('Session from tuple:', middleFnResults.auth);\n}\nif (!error) {\n    console.log(sum); \u002F\u002F 7\n}\n",[222,4020,4021,4041,4063,4083,4087,4131,4135,4152,4174,4178,4183,4188,4193,4223,4233,4253,4258,4290,4296,4323,4328,4357,4366,4374,4378,4383,4388,4447,4451,4456,4461,4466,4478,4511,4515,4528,4557,4561,4574,4593],{"__ignoreMap":220},[225,4022,4023,4025,4027,4029,4031,4033,4035,4037,4039],{"class":227,"line":228},[225,4024,304],{"class":303},[225,4026,307],{"class":235},[225,4028,310],{"class":231},[225,4030,313],{"class":235},[225,4032,316],{"class":303},[225,4034,319],{"class":235},[225,4036,323],{"class":322},[225,4038,326],{"class":235},[225,4040,329],{"class":235},[225,4042,4043,4045,4047,4049,4051,4053,4055,4057,4059,4061],{"class":227,"line":332},[225,4044,304],{"class":303},[225,4046,337],{"class":303},[225,4048,307],{"class":235},[225,4050,342],{"class":231},[225,4052,313],{"class":235},[225,4054,316],{"class":303},[225,4056,319],{"class":235},[225,4058,351],{"class":322},[225,4060,326],{"class":235},[225,4062,329],{"class":235},[225,4064,4065,4067,4069,4071,4073,4075,4077,4079,4081],{"class":227,"line":358},[225,4066,304],{"class":303},[225,4068,307],{"class":235},[225,4070,2704],{"class":231},[225,4072,313],{"class":235},[225,4074,316],{"class":303},[225,4076,319],{"class":235},[225,4078,691],{"class":322},[225,4080,326],{"class":235},[225,4082,329],{"class":235},[225,4084,4085],{"class":227,"line":365},[225,4086,362],{"emptyLinePlaceholder":361},[225,4088,4089,4091,4093,4095,4097,4099,4101,4103,4105,4107,4109,4111,4113,4115,4117,4119,4121,4123,4125,4127,4129],{"class":227,"line":427},[225,4090,369],{"class":368},[225,4092,307],{"class":235},[225,4094,374],{"class":231},[225,4096,236],{"class":235},[225,4098,379],{"class":231},[225,4100,313],{"class":235},[225,4102,384],{"class":235},[225,4104,388],{"class":387},[225,4106,391],{"class":235},[225,4108,342],{"class":394},[225,4110,397],{"class":235},[225,4112,400],{"class":231},[225,4114,403],{"class":235},[225,4116,407],{"class":406},[225,4118,410],{"class":235},[225,4120,319],{"class":235},[225,4122,415],{"class":322},[225,4124,326],{"class":235},[225,4126,313],{"class":235},[225,4128,422],{"class":231},[225,4130,329],{"class":235},[225,4132,4133],{"class":227,"line":432},[225,4134,362],{"emptyLinePlaceholder":361},[225,4136,4137,4140,4143,4146,4148,4150],{"class":227,"line":439},[225,4138,4139],{"class":368},"declare",[225,4141,4142],{"class":368}," function",[225,4144,4145],{"class":387}," redirectToLogin",[225,4147,2439],{"class":235},[225,4149,2197],{"class":394},[225,4151,329],{"class":235},[225,4153,4154,4156,4158,4161,4163,4166,4168,4171],{"class":227,"line":498},[225,4155,4139],{"class":368},[225,4157,4142],{"class":368},[225,4159,4160],{"class":387}," refreshToken",[225,4162,2439],{"class":235},[225,4164,4165],{"class":394}," Promise",[225,4167,391],{"class":235},[225,4169,4170],{"class":394},"string",[225,4172,4173],{"class":235},">;\n",[225,4175,4176],{"class":227,"line":503},[225,4177,362],{"emptyLinePlaceholder":361},[225,4179,4180],{"class":227,"line":515},[225,4181,4182],{"class":435},"\u002F\u002F prefill() returns a TypedEvent for registering persistent handlers\n",[225,4184,4185],{"class":227,"line":521},[225,4186,4187],{"class":435},"\u002F\u002F TypedEvent handlers are STRONGLY TYPED by the error.type string\n",[225,4189,4190],{"class":227,"line":554},[225,4191,4192],{"class":231},"middleFns\n",[225,4194,4195,4197,4199,4201,4203,4205,4207,4209,4211,4213,4215,4217,4219,4221],{"class":227,"line":565},[225,4196,1027],{"class":235},[225,4198,1108],{"class":387},[225,4200,400],{"class":231},[225,4202,2859],{"class":235},[225,4204,1505],{"class":387},[225,4206,400],{"class":231},[225,4208,403],{"class":235},[225,4210,1122],{"class":406},[225,4212,410],{"class":235},[225,4214,319],{"class":235},[225,4216,2874],{"class":322},[225,4218,326],{"class":235},[225,4220,313],{"class":235},[225,4222,2247],{"class":231},[225,4224,4225,4227,4230],{"class":227,"line":571},[225,4226,1027],{"class":235},[225,4228,4229],{"class":387},"prefill",[225,4231,4232],{"class":231},"()\n",[225,4234,4235,4237,4240,4242,4244,4247,4249,4251],{"class":227,"line":604},[225,4236,1027],{"class":235},[225,4238,4239],{"class":387},"onSuccess",[225,4241,400],{"class":231},[225,4243,400],{"class":235},[225,4245,4246],{"class":1451},"session",[225,4248,422],{"class":235},[225,4250,1686],{"class":368},[225,4252,562],{"class":235},[225,4254,4255],{"class":227,"line":862},[225,4256,4257],{"class":435},"        \u002F\u002F Called after every successful auth\n",[225,4259,4260,4263,4265,4267,4269,4271,4274,4276,4278,4281,4283,4286,4288],{"class":227,"line":871},[225,4261,4262],{"class":231},"        console",[225,4264,466],{"class":235},[225,4266,529],{"class":387},[225,4268,400],{"class":406},[225,4270,326],{"class":235},[225,4272,4273],{"class":322},"Authenticated as:",[225,4275,326],{"class":235},[225,4277,236],{"class":235},[225,4279,4280],{"class":231}," session",[225,4282,594],{"class":235},[225,4284,4285],{"class":231},"userId",[225,4287,422],{"class":406},[225,4289,329],{"class":235},[225,4291,4292,4294],{"class":227,"line":877},[225,4293,1151],{"class":235},[225,4295,1072],{"class":231},[225,4297,4298,4300,4303,4305,4307,4309,4311,4313,4315,4317,4319,4321],{"class":227,"line":899},[225,4299,1027],{"class":235},[225,4301,4302],{"class":387},"onError",[225,4304,400],{"class":231},[225,4306,326],{"class":235},[225,4308,2288],{"class":322},[225,4310,326],{"class":235},[225,4312,236],{"class":235},[225,4314,910],{"class":235},[225,4316,888],{"class":1451},[225,4318,422],{"class":235},[225,4320,1686],{"class":368},[225,4322,562],{"class":235},[225,4324,4325],{"class":227,"line":904},[225,4326,4327],{"class":435},"        \u002F\u002F TypeScript knows error.type is 'invalid-token'\n",[225,4329,4330,4332,4334,4336,4338,4340,4343,4345,4347,4349,4351,4353,4355],{"class":227,"line":924},[225,4331,4262],{"class":231},[225,4333,466],{"class":235},[225,4335,529],{"class":387},[225,4337,400],{"class":406},[225,4339,326],{"class":235},[225,4341,4342],{"class":322},"Auth failed:",[225,4344,326],{"class":235},[225,4346,236],{"class":235},[225,4348,452],{"class":231},[225,4350,466],{"class":235},[225,4352,547],{"class":231},[225,4354,422],{"class":406},[225,4356,329],{"class":235},[225,4358,4359,4362,4364],{"class":227,"line":930},[225,4360,4361],{"class":387},"        redirectToLogin",[225,4363,493],{"class":406},[225,4365,329],{"class":235},[225,4367,4368,4370,4372],{"class":227,"line":936},[225,4369,1151],{"class":235},[225,4371,422],{"class":231},[225,4373,329],{"class":235},[225,4375,4376],{"class":227,"line":945},[225,4377,362],{"emptyLinePlaceholder":361},[225,4379,4380],{"class":227,"line":965},[225,4381,4382],{"class":435},"\u002F\u002F call() returns a 4-tuple with middleFnResults and middleFnErrors\n",[225,4384,4385],{"class":227,"line":970},[225,4386,4387],{"class":435},"\u002F\u002F These are NOT strongly typed - they contain generic RpcError types\n",[225,4389,4390,4392,4394,4397,4399,4401,4403,4405,4407,4409,4411,4413,4415,4417,4419,4422,4424,4426,4428,4432,4434,4437,4439,4441,4443,4445],{"class":227,"line":975},[225,4391,369],{"class":368},[225,4393,444],{"class":235},[225,4395,4396],{"class":231},"sum",[225,4398,236],{"class":235},[225,4400,452],{"class":231},[225,4402,236],{"class":235},[225,4404,1003],{"class":231},[225,4406,236],{"class":235},[225,4408,1008],{"class":231},[225,4410,455],{"class":235},[225,4412,384],{"class":235},[225,4414,460],{"class":303},[225,4416,463],{"class":231},[225,4418,466],{"class":235},[225,4420,4421],{"class":231},"utils",[225,4423,466],{"class":235},[225,4425,4396],{"class":387},[225,4427,400],{"class":231},[225,4429,4431],{"class":4430},"sbssI","5",[225,4433,236],{"class":235},[225,4435,4436],{"class":4430}," 2",[225,4438,422],{"class":231},[225,4440,466],{"class":235},[225,4442,490],{"class":387},[225,4444,493],{"class":231},[225,4446,329],{"class":235},[225,4448,4449],{"class":227,"line":981},[225,4450,362],{"emptyLinePlaceholder":361},[225,4452,4453],{"class":227,"line":987},[225,4454,4455],{"class":435},"\u002F\u002F Both TypedEvent handlers AND 4-tuple receive the same middleFn data:\n",[225,4457,4458],{"class":227,"line":1024},[225,4459,4460],{"class":435},"\u002F\u002F - TypedEvent handlers were already called above (if auth succeeded\u002Ffailed)\n",[225,4462,4463],{"class":227,"line":1075},[225,4464,4465],{"class":435},"\u002F\u002F - middleFnResults\u002FmiddleFnErrors also contain the auth result\u002Ferror\n",[225,4467,4468,4470,4472,4474,4476],{"class":227,"line":1086},[225,4469,506],{"class":303},[225,4471,1253],{"class":231},[225,4473,594],{"class":235},[225,4475,1258],{"class":231},[225,4477,512],{"class":235},[225,4479,4480,4482,4484,4486,4488,4490,4493,4495,4497,4499,4501,4503,4505,4507,4509],{"class":227,"line":1096},[225,4481,524],{"class":231},[225,4483,466],{"class":235},[225,4485,529],{"class":387},[225,4487,400],{"class":406},[225,4489,326],{"class":235},[225,4491,4492],{"class":322},"Auth error (generic type):",[225,4494,326],{"class":235},[225,4496,236],{"class":235},[225,4498,1008],{"class":231},[225,4500,466],{"class":235},[225,4502,1108],{"class":231},[225,4504,466],{"class":235},[225,4506,547],{"class":231},[225,4508,422],{"class":406},[225,4510,329],{"class":235},[225,4512,4513],{"class":227,"line":1142},[225,4514,607],{"class":235},[225,4516,4517,4519,4522,4524,4526],{"class":227,"line":1148},[225,4518,506],{"class":303},[225,4520,4521],{"class":231}," (middleFnResults",[225,4523,594],{"class":235},[225,4525,1258],{"class":231},[225,4527,512],{"class":235},[225,4529,4530,4532,4534,4536,4538,4540,4543,4545,4547,4549,4551,4553,4555],{"class":227,"line":1158},[225,4531,524],{"class":231},[225,4533,466],{"class":235},[225,4535,529],{"class":387},[225,4537,400],{"class":406},[225,4539,326],{"class":235},[225,4541,4542],{"class":322},"Session from tuple:",[225,4544,326],{"class":235},[225,4546,236],{"class":235},[225,4548,1003],{"class":231},[225,4550,466],{"class":235},[225,4552,1108],{"class":231},[225,4554,422],{"class":406},[225,4556,329],{"class":235},[225,4558,4559],{"class":227,"line":1163},[225,4560,607],{"class":235},[225,4562,4563,4565,4567,4569,4572],{"class":227,"line":1173},[225,4564,506],{"class":303},[225,4566,910],{"class":231},[225,4568,1725],{"class":235},[225,4570,4571],{"class":231},"error) ",[225,4573,512],{"class":235},[225,4575,4576,4578,4580,4582,4584,4586,4588,4590],{"class":227,"line":1204},[225,4577,524],{"class":231},[225,4579,466],{"class":235},[225,4581,529],{"class":387},[225,4583,400],{"class":406},[225,4585,4396],{"class":231},[225,4587,422],{"class":406},[225,4589,893],{"class":235},[225,4591,4592],{"class":435}," \u002F\u002F 7\n",[225,4594,4595],{"class":227,"line":1213},[225,4596,607],{"class":235},[4598,4599,4600,4601,4604],"warning",{},"Please note that ",[222,4602,4603],{},"prefill().onError().onSuccess()"," handlers are called on every request regardless if they are handled in the route call response or not.",[290,4606,4608],{"id":4607},"typedevent-for-prefilled-middlefns","TypedEvent for Prefilled MiddleFns",[206,4610,4611,4612,410],{},"When you prefill a middleFn, you can register persistent success\u002Ferror handlers using ",[222,4613,4614],{},"TypedEvent",[215,4616,4617],{"className":217,"code":4018,"language":219,"meta":220,"style":220},[222,4618,4619,4639,4661,4681,4685,4729,4733,4747,4765,4769,4773,4777,4781,4811,4819,4837,4841,4869,4875,4901,4905,4933,4941,4949,4953,4957,4961,5015,5019,5023,5027,5031,5043,5075,5079,5091,5119,5123,5135,5153],{"__ignoreMap":220},[225,4620,4621,4623,4625,4627,4629,4631,4633,4635,4637],{"class":227,"line":228},[225,4622,304],{"class":303},[225,4624,307],{"class":235},[225,4626,310],{"class":231},[225,4628,313],{"class":235},[225,4630,316],{"class":303},[225,4632,319],{"class":235},[225,4634,323],{"class":322},[225,4636,326],{"class":235},[225,4638,329],{"class":235},[225,4640,4641,4643,4645,4647,4649,4651,4653,4655,4657,4659],{"class":227,"line":332},[225,4642,304],{"class":303},[225,4644,337],{"class":303},[225,4646,307],{"class":235},[225,4648,342],{"class":231},[225,4650,313],{"class":235},[225,4652,316],{"class":303},[225,4654,319],{"class":235},[225,4656,351],{"class":322},[225,4658,326],{"class":235},[225,4660,329],{"class":235},[225,4662,4663,4665,4667,4669,4671,4673,4675,4677,4679],{"class":227,"line":358},[225,4664,304],{"class":303},[225,4666,307],{"class":235},[225,4668,2704],{"class":231},[225,4670,313],{"class":235},[225,4672,316],{"class":303},[225,4674,319],{"class":235},[225,4676,691],{"class":322},[225,4678,326],{"class":235},[225,4680,329],{"class":235},[225,4682,4683],{"class":227,"line":365},[225,4684,362],{"emptyLinePlaceholder":361},[225,4686,4687,4689,4691,4693,4695,4697,4699,4701,4703,4705,4707,4709,4711,4713,4715,4717,4719,4721,4723,4725,4727],{"class":227,"line":427},[225,4688,369],{"class":368},[225,4690,307],{"class":235},[225,4692,374],{"class":231},[225,4694,236],{"class":235},[225,4696,379],{"class":231},[225,4698,313],{"class":235},[225,4700,384],{"class":235},[225,4702,388],{"class":387},[225,4704,391],{"class":235},[225,4706,342],{"class":394},[225,4708,397],{"class":235},[225,4710,400],{"class":231},[225,4712,403],{"class":235},[225,4714,407],{"class":406},[225,4716,410],{"class":235},[225,4718,319],{"class":235},[225,4720,415],{"class":322},[225,4722,326],{"class":235},[225,4724,313],{"class":235},[225,4726,422],{"class":231},[225,4728,329],{"class":235},[225,4730,4731],{"class":227,"line":432},[225,4732,362],{"emptyLinePlaceholder":361},[225,4734,4735,4737,4739,4741,4743,4745],{"class":227,"line":439},[225,4736,4139],{"class":368},[225,4738,4142],{"class":368},[225,4740,4145],{"class":387},[225,4742,2439],{"class":235},[225,4744,2197],{"class":394},[225,4746,329],{"class":235},[225,4748,4749,4751,4753,4755,4757,4759,4761,4763],{"class":227,"line":498},[225,4750,4139],{"class":368},[225,4752,4142],{"class":368},[225,4754,4160],{"class":387},[225,4756,2439],{"class":235},[225,4758,4165],{"class":394},[225,4760,391],{"class":235},[225,4762,4170],{"class":394},[225,4764,4173],{"class":235},[225,4766,4767],{"class":227,"line":503},[225,4768,362],{"emptyLinePlaceholder":361},[225,4770,4771],{"class":227,"line":515},[225,4772,4182],{"class":435},[225,4774,4775],{"class":227,"line":521},[225,4776,4187],{"class":435},[225,4778,4779],{"class":227,"line":554},[225,4780,4192],{"class":231},[225,4782,4783,4785,4787,4789,4791,4793,4795,4797,4799,4801,4803,4805,4807,4809],{"class":227,"line":565},[225,4784,1027],{"class":235},[225,4786,1108],{"class":387},[225,4788,400],{"class":231},[225,4790,2859],{"class":235},[225,4792,1505],{"class":387},[225,4794,400],{"class":231},[225,4796,403],{"class":235},[225,4798,1122],{"class":406},[225,4800,410],{"class":235},[225,4802,319],{"class":235},[225,4804,2874],{"class":322},[225,4806,326],{"class":235},[225,4808,313],{"class":235},[225,4810,2247],{"class":231},[225,4812,4813,4815,4817],{"class":227,"line":571},[225,4814,1027],{"class":235},[225,4816,4229],{"class":387},[225,4818,4232],{"class":231},[225,4820,4821,4823,4825,4827,4829,4831,4833,4835],{"class":227,"line":604},[225,4822,1027],{"class":235},[225,4824,4239],{"class":387},[225,4826,400],{"class":231},[225,4828,400],{"class":235},[225,4830,4246],{"class":1451},[225,4832,422],{"class":235},[225,4834,1686],{"class":368},[225,4836,562],{"class":235},[225,4838,4839],{"class":227,"line":862},[225,4840,4257],{"class":435},[225,4842,4843,4845,4847,4849,4851,4853,4855,4857,4859,4861,4863,4865,4867],{"class":227,"line":871},[225,4844,4262],{"class":231},[225,4846,466],{"class":235},[225,4848,529],{"class":387},[225,4850,400],{"class":406},[225,4852,326],{"class":235},[225,4854,4273],{"class":322},[225,4856,326],{"class":235},[225,4858,236],{"class":235},[225,4860,4280],{"class":231},[225,4862,594],{"class":235},[225,4864,4285],{"class":231},[225,4866,422],{"class":406},[225,4868,329],{"class":235},[225,4870,4871,4873],{"class":227,"line":877},[225,4872,1151],{"class":235},[225,4874,1072],{"class":231},[225,4876,4877,4879,4881,4883,4885,4887,4889,4891,4893,4895,4897,4899],{"class":227,"line":899},[225,4878,1027],{"class":235},[225,4880,4302],{"class":387},[225,4882,400],{"class":231},[225,4884,326],{"class":235},[225,4886,2288],{"class":322},[225,4888,326],{"class":235},[225,4890,236],{"class":235},[225,4892,910],{"class":235},[225,4894,888],{"class":1451},[225,4896,422],{"class":235},[225,4898,1686],{"class":368},[225,4900,562],{"class":235},[225,4902,4903],{"class":227,"line":904},[225,4904,4327],{"class":435},[225,4906,4907,4909,4911,4913,4915,4917,4919,4921,4923,4925,4927,4929,4931],{"class":227,"line":924},[225,4908,4262],{"class":231},[225,4910,466],{"class":235},[225,4912,529],{"class":387},[225,4914,400],{"class":406},[225,4916,326],{"class":235},[225,4918,4342],{"class":322},[225,4920,326],{"class":235},[225,4922,236],{"class":235},[225,4924,452],{"class":231},[225,4926,466],{"class":235},[225,4928,547],{"class":231},[225,4930,422],{"class":406},[225,4932,329],{"class":235},[225,4934,4935,4937,4939],{"class":227,"line":930},[225,4936,4361],{"class":387},[225,4938,493],{"class":406},[225,4940,329],{"class":235},[225,4942,4943,4945,4947],{"class":227,"line":936},[225,4944,1151],{"class":235},[225,4946,422],{"class":231},[225,4948,329],{"class":235},[225,4950,4951],{"class":227,"line":945},[225,4952,362],{"emptyLinePlaceholder":361},[225,4954,4955],{"class":227,"line":965},[225,4956,4382],{"class":435},[225,4958,4959],{"class":227,"line":970},[225,4960,4387],{"class":435},[225,4962,4963,4965,4967,4969,4971,4973,4975,4977,4979,4981,4983,4985,4987,4989,4991,4993,4995,4997,4999,5001,5003,5005,5007,5009,5011,5013],{"class":227,"line":975},[225,4964,369],{"class":368},[225,4966,444],{"class":235},[225,4968,4396],{"class":231},[225,4970,236],{"class":235},[225,4972,452],{"class":231},[225,4974,236],{"class":235},[225,4976,1003],{"class":231},[225,4978,236],{"class":235},[225,4980,1008],{"class":231},[225,4982,455],{"class":235},[225,4984,384],{"class":235},[225,4986,460],{"class":303},[225,4988,463],{"class":231},[225,4990,466],{"class":235},[225,4992,4421],{"class":231},[225,4994,466],{"class":235},[225,4996,4396],{"class":387},[225,4998,400],{"class":231},[225,5000,4431],{"class":4430},[225,5002,236],{"class":235},[225,5004,4436],{"class":4430},[225,5006,422],{"class":231},[225,5008,466],{"class":235},[225,5010,490],{"class":387},[225,5012,493],{"class":231},[225,5014,329],{"class":235},[225,5016,5017],{"class":227,"line":981},[225,5018,362],{"emptyLinePlaceholder":361},[225,5020,5021],{"class":227,"line":987},[225,5022,4455],{"class":435},[225,5024,5025],{"class":227,"line":1024},[225,5026,4460],{"class":435},[225,5028,5029],{"class":227,"line":1075},[225,5030,4465],{"class":435},[225,5032,5033,5035,5037,5039,5041],{"class":227,"line":1086},[225,5034,506],{"class":303},[225,5036,1253],{"class":231},[225,5038,594],{"class":235},[225,5040,1258],{"class":231},[225,5042,512],{"class":235},[225,5044,5045,5047,5049,5051,5053,5055,5057,5059,5061,5063,5065,5067,5069,5071,5073],{"class":227,"line":1096},[225,5046,524],{"class":231},[225,5048,466],{"class":235},[225,5050,529],{"class":387},[225,5052,400],{"class":406},[225,5054,326],{"class":235},[225,5056,4492],{"class":322},[225,5058,326],{"class":235},[225,5060,236],{"class":235},[225,5062,1008],{"class":231},[225,5064,466],{"class":235},[225,5066,1108],{"class":231},[225,5068,466],{"class":235},[225,5070,547],{"class":231},[225,5072,422],{"class":406},[225,5074,329],{"class":235},[225,5076,5077],{"class":227,"line":1142},[225,5078,607],{"class":235},[225,5080,5081,5083,5085,5087,5089],{"class":227,"line":1148},[225,5082,506],{"class":303},[225,5084,4521],{"class":231},[225,5086,594],{"class":235},[225,5088,1258],{"class":231},[225,5090,512],{"class":235},[225,5092,5093,5095,5097,5099,5101,5103,5105,5107,5109,5111,5113,5115,5117],{"class":227,"line":1158},[225,5094,524],{"class":231},[225,5096,466],{"class":235},[225,5098,529],{"class":387},[225,5100,400],{"class":406},[225,5102,326],{"class":235},[225,5104,4542],{"class":322},[225,5106,326],{"class":235},[225,5108,236],{"class":235},[225,5110,1003],{"class":231},[225,5112,466],{"class":235},[225,5114,1108],{"class":231},[225,5116,422],{"class":406},[225,5118,329],{"class":235},[225,5120,5121],{"class":227,"line":1163},[225,5122,607],{"class":235},[225,5124,5125,5127,5129,5131,5133],{"class":227,"line":1173},[225,5126,506],{"class":303},[225,5128,910],{"class":231},[225,5130,1725],{"class":235},[225,5132,4571],{"class":231},[225,5134,512],{"class":235},[225,5136,5137,5139,5141,5143,5145,5147,5149,5151],{"class":227,"line":1204},[225,5138,524],{"class":231},[225,5140,466],{"class":235},[225,5142,529],{"class":387},[225,5144,400],{"class":406},[225,5146,4396],{"class":231},[225,5148,422],{"class":406},[225,5150,893],{"class":235},[225,5152,4592],{"class":435},[225,5154,5155],{"class":227,"line":1213},[225,5156,607],{"class":235},[201,5158,5160],{"id":5159},"prefill-vs-call-with-middlefns","Prefill vs call with middleFns",[5162,5163,5164,5184],"table",{},[5165,5166,5167],"thead",{},[5168,5169,5170,5174,5179],"tr",{},[5171,5172,5173],"th",{},"Aspect",[5171,5175,5176],{},[222,5177,5178],{},".prefill()",[5171,5180,5181],{},[222,5182,5183],{},".call({middleFns: ...})",[5185,5186,5187,5201,5221],"tbody",{},[5168,5188,5189,5195,5198],{},[5190,5191,5192],"td",{},[210,5193,5194],{},"Persistence",[5190,5196,5197],{},"MiddleFn data stored for ALL future requests",[5190,5199,5200],{},"MiddleFn data sent with this request only",[5168,5202,5203,5208,5214],{},[5190,5204,5205],{},[210,5206,5207],{},"Error Handlers",[5190,5209,5210,5211],{},"Persistent via ",[222,5212,5213],{},".onError()",[5190,5215,5216,5217,5220],{},"Check ",[222,5218,5219],{},"middleFnErrors"," in tuple",[5168,5222,5223,5228,5231],{},[5190,5224,5225],{},[210,5226,5227],{},"Use Case",[5190,5229,5230],{},"Auth tokens, session data",[5190,5232,5233],{},"Metadata related to the request",[201,5235,5237],{"id":5236},"complete-example","Complete Example",[616,5239,5240,5629],{},[215,5241,5243],{"className":217,"code":5242,"filename":76,"language":219,"meta":220,"style":220},"import {initClient} from '@mionjs\u002Fclient';\n\u002F\u002F importing only the RemoteApi type from server\nimport type {MyApi} from '.\u002Fserver.routes.ts';\nimport {HeadersSubset} from '@mionjs\u002Fcore';\n\nconst john = {id: '123', name: 'John', surname: 'Doe'};\nconst {routes, middleFns} = initClient\u003CMyApi>({baseURL: 'http:\u002F\u002Flocalhost:3000'});\n\n\u002F\u002F prefills auth token for any future requests, value is stored in localStorage by default\nawait middleFns.auth(new HeadersSubset({Authorization: 'myToken-XYZ'})).prefill();\n\n\u002F\u002F calls sayHello route in the server - call() returns [result, error] tuple\nconst [greeting, error] = await routes.users.sayHello(john).call();\nif (error) {\n    console.log('Error:', error.publicMessage);\n} else {\n    console.log(greeting); \u002F\u002F Hello John Doe\n}\n\n\u002F\u002F validate parameters locally without calling the server\nconst validationErrors = await routes.users.sayHello(john).typeErrors();\nconsole.log(validationErrors); \u002F\u002F [] (empty array if no errors)\n",[222,5244,5245,5265,5270,5292,5312,5316,5364,5408,5412,5417,5460,5464,5469,5508,5516,5544,5552,5570,5574,5578,5583,5614],{"__ignoreMap":220},[225,5246,5247,5249,5251,5253,5255,5257,5259,5261,5263],{"class":227,"line":228},[225,5248,304],{"class":303},[225,5250,307],{"class":235},[225,5252,310],{"class":231},[225,5254,313],{"class":235},[225,5256,316],{"class":303},[225,5258,319],{"class":235},[225,5260,323],{"class":322},[225,5262,326],{"class":235},[225,5264,329],{"class":235},[225,5266,5267],{"class":227,"line":332},[225,5268,5269],{"class":435},"\u002F\u002F importing only the RemoteApi type from server\n",[225,5271,5272,5274,5276,5278,5280,5282,5284,5286,5288,5290],{"class":227,"line":358},[225,5273,304],{"class":303},[225,5275,337],{"class":303},[225,5277,307],{"class":235},[225,5279,342],{"class":231},[225,5281,313],{"class":235},[225,5283,316],{"class":303},[225,5285,319],{"class":235},[225,5287,351],{"class":322},[225,5289,326],{"class":235},[225,5291,329],{"class":235},[225,5293,5294,5296,5298,5300,5302,5304,5306,5308,5310],{"class":227,"line":365},[225,5295,304],{"class":303},[225,5297,307],{"class":235},[225,5299,2704],{"class":231},[225,5301,313],{"class":235},[225,5303,316],{"class":303},[225,5305,319],{"class":235},[225,5307,691],{"class":322},[225,5309,326],{"class":235},[225,5311,329],{"class":235},[225,5313,5314],{"class":227,"line":427},[225,5315,362],{"emptyLinePlaceholder":361},[225,5317,5318,5320,5323,5325,5327,5329,5331,5333,5335,5337,5339,5341,5343,5345,5347,5349,5351,5353,5355,5357,5359,5361],{"class":227,"line":432},[225,5319,369],{"class":368},[225,5321,5322],{"class":231}," john ",[225,5324,1636],{"class":235},[225,5326,307],{"class":235},[225,5328,807],{"class":406},[225,5330,410],{"class":235},[225,5332,319],{"class":235},[225,5334,481],{"class":322},[225,5336,326],{"class":235},[225,5338,236],{"class":235},[225,5340,820],{"class":406},[225,5342,410],{"class":235},[225,5344,319],{"class":235},[225,5346,827],{"class":322},[225,5348,326],{"class":235},[225,5350,236],{"class":235},[225,5352,834],{"class":406},[225,5354,410],{"class":235},[225,5356,319],{"class":235},[225,5358,841],{"class":322},[225,5360,326],{"class":235},[225,5362,5363],{"class":235},"};\n",[225,5365,5366,5368,5370,5372,5374,5376,5378,5380,5382,5384,5386,5388,5390,5392,5394,5396,5398,5400,5402,5404,5406],{"class":227,"line":439},[225,5367,369],{"class":368},[225,5369,307],{"class":235},[225,5371,374],{"class":231},[225,5373,236],{"class":235},[225,5375,379],{"class":231},[225,5377,313],{"class":235},[225,5379,384],{"class":235},[225,5381,388],{"class":387},[225,5383,391],{"class":235},[225,5385,342],{"class":394},[225,5387,397],{"class":235},[225,5389,400],{"class":231},[225,5391,403],{"class":235},[225,5393,407],{"class":406},[225,5395,410],{"class":235},[225,5397,319],{"class":235},[225,5399,415],{"class":322},[225,5401,326],{"class":235},[225,5403,313],{"class":235},[225,5405,422],{"class":231},[225,5407,329],{"class":235},[225,5409,5410],{"class":227,"line":498},[225,5411,362],{"emptyLinePlaceholder":361},[225,5413,5414],{"class":227,"line":503},[225,5415,5416],{"class":435},"\u002F\u002F prefills auth token for any future requests, value is stored in localStorage by default\n",[225,5418,5419,5422,5424,5426,5428,5430,5432,5434,5436,5438,5440,5442,5444,5446,5448,5450,5452,5454,5456,5458],{"class":227,"line":515},[225,5420,5421],{"class":303},"await",[225,5423,379],{"class":231},[225,5425,466],{"class":235},[225,5427,1108],{"class":387},[225,5429,400],{"class":231},[225,5431,2859],{"class":235},[225,5433,1505],{"class":387},[225,5435,400],{"class":231},[225,5437,403],{"class":235},[225,5439,1122],{"class":406},[225,5441,410],{"class":235},[225,5443,319],{"class":235},[225,5445,2874],{"class":322},[225,5447,326],{"class":235},[225,5449,313],{"class":235},[225,5451,2881],{"class":231},[225,5453,466],{"class":235},[225,5455,4229],{"class":387},[225,5457,493],{"class":231},[225,5459,329],{"class":235},[225,5461,5462],{"class":227,"line":521},[225,5463,362],{"emptyLinePlaceholder":361},[225,5465,5466],{"class":227,"line":554},[225,5467,5468],{"class":435},"\u002F\u002F calls sayHello route in the server - call() returns [result, error] tuple\n",[225,5470,5471,5473,5475,5477,5479,5481,5483,5485,5487,5489,5491,5493,5495,5497,5500,5502,5504,5506],{"class":227,"line":565},[225,5472,369],{"class":368},[225,5474,444],{"class":235},[225,5476,994],{"class":231},[225,5478,236],{"class":235},[225,5480,452],{"class":231},[225,5482,455],{"class":235},[225,5484,384],{"class":235},[225,5486,460],{"class":303},[225,5488,463],{"class":231},[225,5490,466],{"class":235},[225,5492,469],{"class":231},[225,5494,466],{"class":235},[225,5496,780],{"class":387},[225,5498,5499],{"class":231},"(john)",[225,5501,466],{"class":235},[225,5503,490],{"class":387},[225,5505,493],{"class":231},[225,5507,329],{"class":235},[225,5509,5510,5512,5514],{"class":227,"line":571},[225,5511,506],{"class":303},[225,5513,509],{"class":231},[225,5515,512],{"class":235},[225,5517,5518,5520,5522,5524,5526,5528,5530,5532,5534,5536,5538,5540,5542],{"class":227,"line":604},[225,5519,524],{"class":231},[225,5521,466],{"class":235},[225,5523,529],{"class":387},[225,5525,400],{"class":406},[225,5527,326],{"class":235},[225,5529,536],{"class":322},[225,5531,326],{"class":235},[225,5533,236],{"class":235},[225,5535,452],{"class":231},[225,5537,466],{"class":235},[225,5539,547],{"class":231},[225,5541,422],{"class":406},[225,5543,329],{"class":235},[225,5545,5546,5548,5550],{"class":227,"line":862},[225,5547,313],{"class":235},[225,5549,559],{"class":303},[225,5551,562],{"class":235},[225,5553,5554,5556,5558,5560,5562,5564,5566,5568],{"class":227,"line":871},[225,5555,524],{"class":231},[225,5557,466],{"class":235},[225,5559,529],{"class":387},[225,5561,400],{"class":406},[225,5563,994],{"class":231},[225,5565,422],{"class":406},[225,5567,893],{"class":235},[225,5569,962],{"class":435},[225,5571,5572],{"class":227,"line":877},[225,5573,607],{"class":235},[225,5575,5576],{"class":227,"line":899},[225,5577,362],{"emptyLinePlaceholder":361},[225,5579,5580],{"class":227,"line":904},[225,5581,5582],{"class":435},"\u002F\u002F validate parameters locally without calling the server\n",[225,5584,5585,5587,5590,5592,5594,5596,5598,5600,5602,5604,5606,5608,5610,5612],{"class":227,"line":924},[225,5586,369],{"class":368},[225,5588,5589],{"class":231}," validationErrors ",[225,5591,1636],{"class":235},[225,5593,460],{"class":303},[225,5595,463],{"class":231},[225,5597,466],{"class":235},[225,5599,469],{"class":231},[225,5601,466],{"class":235},[225,5603,780],{"class":387},[225,5605,5499],{"class":231},[225,5607,466],{"class":235},[225,5609,1413],{"class":387},[225,5611,493],{"class":231},[225,5613,329],{"class":235},[225,5615,5616,5618,5620,5622,5625,5627],{"class":227,"line":930},[225,5617,1316],{"class":231},[225,5619,466],{"class":235},[225,5621,529],{"class":387},[225,5623,5624],{"class":231},"(validationErrors)",[225,5626,893],{"class":235},[225,5628,1438],{"class":435},[215,5630,5631],{"className":217,"code":1488,"filename":1489,"language":219,"meta":220,"style":220},[222,5632,5633,5657,5697,5729,5749,5753,5803,5829,5879,5887,5895,5899,5947,5951,6001,6027,6077,6085,6093,6097,6147,6173,6223,6231,6239,6243,6289,6305,6329,6341,6355,6369,6377,6413,6421,6425,6475,6479,6489,6511,6517,6525,6537,6549,6561,6573,6577,6583,6593,6597,6617,6627,6641,6649],{"__ignoreMap":220},[225,5634,5635,5637,5639,5641,5643,5645,5647,5649,5651,5653,5655],{"class":227,"line":228},[225,5636,304],{"class":303},[225,5638,307],{"class":235},[225,5640,1500],{"class":231},[225,5642,236],{"class":235},[225,5644,1505],{"class":231},[225,5646,313],{"class":235},[225,5648,316],{"class":303},[225,5650,319],{"class":235},[225,5652,691],{"class":322},[225,5654,326],{"class":235},[225,5656,329],{"class":235},[225,5658,5659,5661,5663,5665,5667,5669,5671,5673,5675,5677,5679,5681,5683,5685,5687,5689,5691,5693,5695],{"class":227,"line":332},[225,5660,304],{"class":303},[225,5662,307],{"class":235},[225,5664,1526],{"class":231},[225,5666,236],{"class":235},[225,5668,1531],{"class":231},[225,5670,236],{"class":235},[225,5672,1536],{"class":231},[225,5674,236],{"class":235},[225,5676,1541],{"class":231},[225,5678,236],{"class":235},[225,5680,1546],{"class":231},[225,5682,236],{"class":235},[225,5684,1551],{"class":231},[225,5686,313],{"class":235},[225,5688,316],{"class":303},[225,5690,319],{"class":235},[225,5692,1560],{"class":322},[225,5694,326],{"class":235},[225,5696,329],{"class":235},[225,5698,5699,5701,5703,5705,5707,5709,5711,5713,5715,5717,5719,5721,5723,5725,5727],{"class":227,"line":358},[225,5700,304],{"class":303},[225,5702,307],{"class":235},[225,5704,1573],{"class":231},[225,5706,236],{"class":235},[225,5708,1578],{"class":231},[225,5710,236],{"class":235},[225,5712,1583],{"class":231},[225,5714,236],{"class":235},[225,5716,1588],{"class":231},[225,5718,313],{"class":235},[225,5720,316],{"class":303},[225,5722,319],{"class":235},[225,5724,1597],{"class":322},[225,5726,326],{"class":235},[225,5728,329],{"class":235},[225,5730,5731,5733,5735,5737,5739,5741,5743,5745,5747],{"class":227,"line":365},[225,5732,304],{"class":303},[225,5734,307],{"class":235},[225,5736,1610],{"class":231},[225,5738,313],{"class":235},[225,5740,316],{"class":303},[225,5742,319],{"class":235},[225,5744,1597],{"class":322},[225,5746,326],{"class":235},[225,5748,329],{"class":235},[225,5750,5751],{"class":227,"line":427},[225,5752,362],{"emptyLinePlaceholder":361},[225,5754,5755,5757,5759,5761,5763,5765,5767,5769,5771,5773,5775,5777,5779,5781,5783,5785,5787,5789,5791,5793,5795,5797,5799,5801],{"class":227,"line":432},[225,5756,369],{"class":368},[225,5758,1633],{"class":231},[225,5760,1636],{"class":235},[225,5762,1551],{"class":387},[225,5764,400],{"class":231},[225,5766,400],{"class":235},[225,5768,1645],{"class":1451},[225,5770,410],{"class":235},[225,5772,1650],{"class":394},[225,5774,236],{"class":235},[225,5776,1655],{"class":1451},[225,5778,410],{"class":235},[225,5780,1660],{"class":394},[225,5782,1663],{"class":235},[225,5784,1666],{"class":394},[225,5786,1669],{"class":235},[225,5788,1672],{"class":394},[225,5790,391],{"class":235},[225,5792,326],{"class":235},[225,5794,1679],{"class":322},[225,5796,326],{"class":235},[225,5798,397],{"class":235},[225,5800,1686],{"class":368},[225,5802,562],{"class":235},[225,5804,5805,5807,5809,5811,5813,5815,5817,5819,5821,5823,5825,5827],{"class":227,"line":439},[225,5806,1378],{"class":368},[225,5808,591],{"class":231},[225,5810,384],{"class":235},[225,5812,1588],{"class":231},[225,5814,466],{"class":235},[225,5816,1703],{"class":231},[225,5818,466],{"class":235},[225,5820,1708],{"class":387},[225,5822,400],{"class":406},[225,5824,807],{"class":231},[225,5826,422],{"class":406},[225,5828,329],{"class":235},[225,5830,5831,5833,5835,5837,5839,5841,5843,5845,5847,5849,5851,5853,5855,5857,5859,5861,5863,5865,5867,5869,5871,5873,5875,5877],{"class":227,"line":498},[225,5832,907],{"class":303},[225,5834,910],{"class":406},[225,5836,1725],{"class":235},[225,5838,447],{"class":231},[225,5840,1730],{"class":406},[225,5842,1733],{"class":303},[225,5844,1736],{"class":235},[225,5846,1672],{"class":387},[225,5848,400],{"class":406},[225,5850,403],{"class":235},[225,5852,547],{"class":406},[225,5854,410],{"class":235},[225,5856,319],{"class":235},[225,5858,1751],{"class":322},[225,5860,326],{"class":235},[225,5862,236],{"class":235},[225,5864,337],{"class":406},[225,5866,410],{"class":235},[225,5868,319],{"class":235},[225,5870,1679],{"class":322},[225,5872,326],{"class":235},[225,5874,313],{"class":235},[225,5876,422],{"class":406},[225,5878,329],{"class":235},[225,5880,5881,5883,5885],{"class":227,"line":503},[225,5882,1776],{"class":303},[225,5884,591],{"class":231},[225,5886,329],{"class":235},[225,5888,5889,5891,5893],{"class":227,"line":515},[225,5890,313],{"class":235},[225,5892,422],{"class":231},[225,5894,329],{"class":235},[225,5896,5897],{"class":227,"line":521},[225,5898,362],{"emptyLinePlaceholder":361},[225,5900,5901,5903,5905,5907,5909,5911,5913,5915,5917,5919,5921,5923,5925,5927,5929,5931,5933,5935,5937,5939,5941,5943,5945],{"class":227,"line":554},[225,5902,369],{"class":368},[225,5904,1799],{"class":231},[225,5906,1636],{"class":235},[225,5908,1551],{"class":387},[225,5910,400],{"class":231},[225,5912,400],{"class":235},[225,5914,1645],{"class":1451},[225,5916,410],{"class":235},[225,5918,1650],{"class":394},[225,5920,236],{"class":235},[225,5922,1818],{"class":1451},[225,5924,410],{"class":235},[225,5926,1578],{"class":394},[225,5928,1663],{"class":235},[225,5930,1666],{"class":394},[225,5932,1686],{"class":368},[225,5934,1588],{"class":231},[225,5936,466],{"class":235},[225,5938,1703],{"class":231},[225,5940,466],{"class":235},[225,5942,1839],{"class":387},[225,5944,1842],{"class":231},[225,5946,329],{"class":235},[225,5948,5949],{"class":227,"line":565},[225,5950,362],{"emptyLinePlaceholder":361},[225,5952,5953,5955,5957,5959,5961,5963,5965,5967,5969,5971,5973,5975,5977,5979,5981,5983,5985,5987,5989,5991,5993,5995,5997,5999],{"class":227,"line":571},[225,5954,369],{"class":368},[225,5956,1855],{"class":231},[225,5958,1636],{"class":235},[225,5960,1551],{"class":387},[225,5962,400],{"class":231},[225,5964,400],{"class":235},[225,5966,1645],{"class":1451},[225,5968,410],{"class":235},[225,5970,1650],{"class":394},[225,5972,236],{"class":235},[225,5974,591],{"class":1451},[225,5976,410],{"class":235},[225,5978,1666],{"class":394},[225,5980,1663],{"class":235},[225,5982,1666],{"class":394},[225,5984,1669],{"class":235},[225,5986,1672],{"class":394},[225,5988,391],{"class":235},[225,5990,326],{"class":235},[225,5992,1679],{"class":322},[225,5994,326],{"class":235},[225,5996,397],{"class":235},[225,5998,1686],{"class":368},[225,6000,562],{"class":235},[225,6002,6003,6005,6007,6009,6011,6013,6015,6017,6019,6021,6023,6025],{"class":227,"line":604},[225,6004,1378],{"class":368},[225,6006,1906],{"class":231},[225,6008,384],{"class":235},[225,6010,1588],{"class":231},[225,6012,466],{"class":235},[225,6014,1703],{"class":231},[225,6016,466],{"class":235},[225,6018,1919],{"class":387},[225,6020,400],{"class":406},[225,6022,447],{"class":231},[225,6024,422],{"class":406},[225,6026,329],{"class":235},[225,6028,6029,6031,6033,6035,6037,6039,6041,6043,6045,6047,6049,6051,6053,6055,6057,6059,6061,6063,6065,6067,6069,6071,6073,6075],{"class":227,"line":862},[225,6030,907],{"class":303},[225,6032,910],{"class":406},[225,6034,1725],{"class":235},[225,6036,1938],{"class":231},[225,6038,1730],{"class":406},[225,6040,1733],{"class":303},[225,6042,1736],{"class":235},[225,6044,1672],{"class":387},[225,6046,400],{"class":406},[225,6048,403],{"class":235},[225,6050,547],{"class":406},[225,6052,410],{"class":235},[225,6054,319],{"class":235},[225,6056,1959],{"class":322},[225,6058,326],{"class":235},[225,6060,236],{"class":235},[225,6062,337],{"class":406},[225,6064,410],{"class":235},[225,6066,319],{"class":235},[225,6068,1679],{"class":322},[225,6070,326],{"class":235},[225,6072,313],{"class":235},[225,6074,422],{"class":406},[225,6076,329],{"class":235},[225,6078,6079,6081,6083],{"class":227,"line":871},[225,6080,1776],{"class":303},[225,6082,1906],{"class":231},[225,6084,329],{"class":235},[225,6086,6087,6089,6091],{"class":227,"line":877},[225,6088,313],{"class":235},[225,6090,422],{"class":231},[225,6092,329],{"class":235},[225,6094,6095],{"class":227,"line":899},[225,6096,362],{"emptyLinePlaceholder":361},[225,6098,6099,6101,6103,6105,6107,6109,6111,6113,6115,6117,6119,6121,6123,6125,6127,6129,6131,6133,6135,6137,6139,6141,6143,6145],{"class":227,"line":904},[225,6100,369],{"class":368},[225,6102,2006],{"class":231},[225,6104,1636],{"class":235},[225,6106,1551],{"class":387},[225,6108,400],{"class":231},[225,6110,400],{"class":235},[225,6112,1645],{"class":1451},[225,6114,410],{"class":235},[225,6116,1650],{"class":394},[225,6118,236],{"class":235},[225,6120,1655],{"class":1451},[225,6122,410],{"class":235},[225,6124,1660],{"class":394},[225,6126,1663],{"class":235},[225,6128,1666],{"class":394},[225,6130,1669],{"class":235},[225,6132,1672],{"class":394},[225,6134,391],{"class":235},[225,6136,326],{"class":235},[225,6138,1679],{"class":322},[225,6140,326],{"class":235},[225,6142,397],{"class":235},[225,6144,1686],{"class":368},[225,6146,562],{"class":235},[225,6148,6149,6151,6153,6155,6157,6159,6161,6163,6165,6167,6169,6171],{"class":227,"line":924},[225,6150,1378],{"class":368},[225,6152,2057],{"class":231},[225,6154,384],{"class":235},[225,6156,1588],{"class":231},[225,6158,466],{"class":235},[225,6160,1703],{"class":231},[225,6162,466],{"class":235},[225,6164,2070],{"class":387},[225,6166,400],{"class":406},[225,6168,807],{"class":231},[225,6170,422],{"class":406},[225,6172,329],{"class":235},[225,6174,6175,6177,6179,6181,6183,6185,6187,6189,6191,6193,6195,6197,6199,6201,6203,6205,6207,6209,6211,6213,6215,6217,6219,6221],{"class":227,"line":930},[225,6176,907],{"class":303},[225,6178,910],{"class":406},[225,6180,1725],{"class":235},[225,6182,2089],{"class":231},[225,6184,1730],{"class":406},[225,6186,1733],{"class":303},[225,6188,1736],{"class":235},[225,6190,1672],{"class":387},[225,6192,400],{"class":406},[225,6194,403],{"class":235},[225,6196,547],{"class":406},[225,6198,410],{"class":235},[225,6200,319],{"class":235},[225,6202,2110],{"class":322},[225,6204,326],{"class":235},[225,6206,236],{"class":235},[225,6208,337],{"class":406},[225,6210,410],{"class":235},[225,6212,319],{"class":235},[225,6214,1679],{"class":322},[225,6216,326],{"class":235},[225,6218,313],{"class":235},[225,6220,422],{"class":406},[225,6222,329],{"class":235},[225,6224,6225,6227,6229],{"class":227,"line":936},[225,6226,1776],{"class":303},[225,6228,2057],{"class":231},[225,6230,329],{"class":235},[225,6232,6233,6235,6237],{"class":227,"line":945},[225,6234,313],{"class":235},[225,6236,422],{"class":231},[225,6238,329],{"class":235},[225,6240,6241],{"class":227,"line":965},[225,6242,362],{"emptyLinePlaceholder":361},[225,6244,6245,6247,6249,6251,6253,6255,6257,6259,6261,6263,6265,6267,6269,6271,6273,6275,6277,6279,6281,6283,6285,6287],{"class":227,"line":970},[225,6246,369],{"class":368},[225,6248,2157],{"class":231},[225,6250,1636],{"class":235},[225,6252,2162],{"class":387},[225,6254,400],{"class":231},[225,6256,400],{"class":235},[225,6258,1645],{"class":1451},[225,6260,410],{"class":235},[225,6262,1650],{"class":394},[225,6264,236],{"class":235},[225,6266,307],{"class":235},[225,6268,1115],{"class":1451},[225,6270,2181],{"class":235},[225,6272,1505],{"class":394},[225,6274,391],{"class":235},[225,6276,326],{"class":235},[225,6278,1122],{"class":322},[225,6280,326],{"class":235},[225,6282,2194],{"class":235},[225,6284,2197],{"class":394},[225,6286,1686],{"class":368},[225,6288,562],{"class":235},[225,6290,6291,6293,6295,6297,6299,6301,6303],{"class":227,"line":975},[225,6292,1378],{"class":368},[225,6294,2208],{"class":231},[225,6296,384],{"class":235},[225,6298,2213],{"class":231},[225,6300,466],{"class":235},[225,6302,1122],{"class":231},[225,6304,329],{"class":235},[225,6306,6307,6309,6311,6313,6315,6317,6319,6321,6323,6325,6327],{"class":227,"line":981},[225,6308,907],{"class":303},[225,6310,910],{"class":406},[225,6312,1725],{"class":235},[225,6314,2230],{"class":231},[225,6316,466],{"class":235},[225,6318,1108],{"class":231},[225,6320,466],{"class":235},[225,6322,2239],{"class":387},[225,6324,400],{"class":406},[225,6326,2244],{"class":231},[225,6328,2247],{"class":406},[225,6330,6331,6333,6335,6337,6339],{"class":227,"line":987},[225,6332,2252],{"class":303},[225,6334,1736],{"class":235},[225,6336,1672],{"class":387},[225,6338,400],{"class":406},[225,6340,512],{"class":235},[225,6342,6343,6345,6347,6349,6351,6353],{"class":227,"line":1024},[225,6344,2265],{"class":406},[225,6346,410],{"class":235},[225,6348,319],{"class":235},[225,6350,2272],{"class":322},[225,6352,326],{"class":235},[225,6354,1139],{"class":235},[225,6356,6357,6359,6361,6363,6365,6367],{"class":227,"line":1075},[225,6358,2281],{"class":406},[225,6360,410],{"class":235},[225,6362,319],{"class":235},[225,6364,2288],{"class":322},[225,6366,326],{"class":235},[225,6368,1139],{"class":235},[225,6370,6371,6373,6375],{"class":227,"line":1086},[225,6372,2297],{"class":235},[225,6374,422],{"class":406},[225,6376,329],{"class":235},[225,6378,6379,6381,6383,6385,6387,6389,6391,6393,6395,6397,6399,6401,6403,6405,6407,6409,6411],{"class":227,"line":1096},[225,6380,2306],{"class":231},[225,6382,466],{"class":235},[225,6384,2311],{"class":231},[225,6386,466],{"class":235},[225,6388,2316],{"class":231},[225,6390,384],{"class":235},[225,6392,1588],{"class":231},[225,6394,466],{"class":235},[225,6396,1108],{"class":231},[225,6398,466],{"class":235},[225,6400,2329],{"class":387},[225,6402,400],{"class":406},[225,6404,2244],{"class":231},[225,6406,1730],{"class":406},[225,6408,2338],{"class":303},[225,6410,1666],{"class":394},[225,6412,329],{"class":235},[225,6414,6415,6417,6419],{"class":227,"line":1142},[225,6416,313],{"class":235},[225,6418,422],{"class":231},[225,6420,329],{"class":235},[225,6422,6423],{"class":227,"line":1148},[225,6424,362],{"emptyLinePlaceholder":361},[225,6426,6427,6429,6431,6433,6435,6437,6439,6441,6443,6445,6447,6449,6451,6453,6455,6457,6459,6461,6463,6465,6467,6469,6471,6473],{"class":227,"line":1158},[225,6428,369],{"class":368},[225,6430,2361],{"class":231},[225,6432,1636],{"class":235},[225,6434,1531],{"class":387},[225,6436,400],{"class":231},[225,6438,400],{"class":235},[225,6440,2372],{"class":1451},[225,6442,410],{"class":235},[225,6444,1650],{"class":394},[225,6446,1663],{"class":235},[225,6448,2197],{"class":394},[225,6450,1686],{"class":368},[225,6452,2385],{"class":231},[225,6454,466],{"class":235},[225,6456,529],{"class":387},[225,6458,400],{"class":231},[225,6460,326],{"class":235},[225,6462,2396],{"class":322},[225,6464,326],{"class":235},[225,6466,236],{"class":235},[225,6468,2403],{"class":231},[225,6470,466],{"class":235},[225,6472,2408],{"class":231},[225,6474,329],{"class":235},[225,6476,6477],{"class":227,"line":1163},[225,6478,362],{"emptyLinePlaceholder":361},[225,6480,6481,6483,6485,6487],{"class":227,"line":1173},[225,6482,369],{"class":368},[225,6484,2421],{"class":231},[225,6486,1636],{"class":235},[225,6488,562],{"class":235},[225,6490,6491,6493,6495,6497,6499,6501,6503,6505,6507,6509],{"class":227,"line":1204},[225,6492,2430],{"class":406},[225,6494,410],{"class":235},[225,6496,1536],{"class":387},[225,6498,400],{"class":231},[225,6500,2439],{"class":235},[225,6502,2442],{"class":394},[225,6504,1686],{"class":368},[225,6506,2442],{"class":235},[225,6508,422],{"class":231},[225,6510,1139],{"class":235},[225,6512,6513,6515],{"class":227,"line":1213},[225,6514,2455],{"class":231},[225,6516,1139],{"class":235},[225,6518,6519,6521,6523],{"class":227,"line":1232},[225,6520,2462],{"class":406},[225,6522,410],{"class":235},[225,6524,562],{"class":235},[225,6526,6527,6529,6531,6533,6535],{"class":227,"line":1237},[225,6528,2471],{"class":406},[225,6530,410],{"class":235},[225,6532,2476],{"class":231},[225,6534,236],{"class":235},[225,6536,2481],{"class":435},[225,6538,6539,6541,6543,6545,6547],{"class":227,"line":1242},[225,6540,2486],{"class":406},[225,6542,410],{"class":235},[225,6544,2491],{"class":231},[225,6546,236],{"class":235},[225,6548,2496],{"class":435},[225,6550,6551,6553,6555,6557,6559],{"class":227,"line":1248},[225,6552,2501],{"class":406},[225,6554,410],{"class":235},[225,6556,2506],{"class":231},[225,6558,236],{"class":235},[225,6560,2511],{"class":435},[225,6562,6563,6565,6567,6569,6571],{"class":227,"line":1263},[225,6564,2516],{"class":406},[225,6566,410],{"class":235},[225,6568,2521],{"class":231},[225,6570,236],{"class":235},[225,6572,2526],{"class":435},[225,6574,6575],{"class":227,"line":1297},[225,6576,2531],{"class":235},[225,6578,6579,6581],{"class":227,"line":1302},[225,6580,2536],{"class":231},[225,6582,1139],{"class":235},[225,6584,6585,6587,6589,6591],{"class":227,"line":1307},[225,6586,313],{"class":235},[225,6588,2545],{"class":303},[225,6590,1541],{"class":394},[225,6592,329],{"class":235},[225,6594,6595],{"class":227,"line":1313},[225,6596,362],{"emptyLinePlaceholder":361},[225,6598,6599,6601,6603,6605,6607,6609,6611,6613,6615],{"class":227,"line":1339},[225,6600,2558],{"class":303},[225,6602,2561],{"class":368},[225,6604,2564],{"class":231},[225,6606,1636],{"class":235},[225,6608,460],{"class":303},[225,6610,1546],{"class":387},[225,6612,2573],{"class":231},[225,6614,236],{"class":235},[225,6616,562],{"class":235},[225,6618,6619,6621,6623,6625],{"class":227,"line":1344},[225,6620,2582],{"class":406},[225,6622,410],{"class":235},[225,6624,1583],{"class":231},[225,6626,1139],{"class":235},[225,6628,6629,6631,6633,6635,6637,6639],{"class":227,"line":1350},[225,6630,2593],{"class":406},[225,6632,410],{"class":235},[225,6634,319],{"class":235},[225,6636,2600],{"class":322},[225,6638,326],{"class":235},[225,6640,1139],{"class":235},[225,6642,6643,6645,6647],{"class":227,"line":1356},[225,6644,313],{"class":235},[225,6646,422],{"class":231},[225,6648,329],{"class":235},[225,6650,6651,6653,6655,6657,6659,6661,6663],{"class":227,"line":1361},[225,6652,2558],{"class":303},[225,6654,337],{"class":368},[225,6656,2621],{"class":394},[225,6658,384],{"class":235},[225,6660,2626],{"class":235},[225,6662,2629],{"class":231},[225,6664,329],{"class":235},[6666,6667],"spacer",{},[201,6669,6671],{"id":6670},"type-reference","Type Reference",[290,6673,6675],{"id":6674},"result","Result",[215,6677,6682],{"className":6678,"code":6680,"language":6681,"meta":220},[6679],"language-text","\u002F\u002F Error processing code-import:\n\u002F\u002F Start comment marker not found: \u002F\u002F type-result-start\n","text",[222,6683,6680],{"__ignoreMap":220},[290,6685,4614],{"id":6686},"typedevent",[215,6688,6691],{"className":6689,"code":6690,"language":6681,"meta":220},[6679],"\u002F\u002F Error processing code-import:\n\u002F\u002F File not found: packages\u002Fclient\u002Fsrc\u002FtypedEvent.ts\n",[222,6692,6690],{"__ignoreMap":220},[290,6694,1500],{"id":6695},"rpcerror",[215,6697,6699],{"className":217,"code":6698,"language":219,"meta":220,"style":220},"export class RpcError\u003CErrType extends string, ErrData = any>\n    extends TypedError\u003CErrType>\n    implements RpcErrorParams\u003CErrType, ErrData>\n{\n    \u002F\u002F Note: name is NOT declared as a property here\n    \u002F\u002F It is inherited from Error class and assigned in constructor\n    \u002F\u002F This prevents it from being included in type reflection for JIT validation\n    \u002F**\n     * id of the error, ideally each error should unique identifiable\n     * * if RouterOptions.autoGenerateErrorId is set to true and id with timestamp+uuid will be generated\n     * *\u002F\n    public readonly id?: number | string;\n    \u002F** the message that will be returned in the response *\u002F\n    public readonly publicMessage: string;\n    \u002F** options data related to the error, ie validation data, must be json serializable *\u002F\n    public readonly errorData?: Readonly\u003CErrData>;\n    \u002F** optional http status code *\u002F\n    statusCode?: number;\n\n    constructor({message, publicMessage, originalError, errorData, type, id, statusCode}: AnyErrorParams\u003CErrType, ErrData>) {\n        const originalMessage = message || originalError?.message || publicMessage || '';\n\n        \u002F\u002F Call parent TypedError constructor\n        super({\n            message: originalMessage,\n            originalError,\n            type,\n        });\n\n        const {autoGenerateErrorId} = options;\n        this.id = id ?? (autoGenerateErrorId ? randomUUID_V7() : undefined);\n        this.publicMessage = publicMessage || '';\n        this.errorData = errorData;\n        this.statusCode = statusCode;\n\n        \u002F\u002F Override name to be non-enumerable\n        Object.defineProperty(this, 'name', {\n            value: 'RpcError',\n            writable: true,\n            enumerable: false,\n            configurable: true,\n        });\n\n        Object.setPrototypeOf(this, RpcError.prototype);\n    }\n}\n",[222,6700,6701,6733,6747,6765,6769,6774,6779,6784,6789,6794,6799,6804,6825,6830,6845,6850,6871,6876,6887,6891,6946,6979,6983,6988,6997,7008,7015,7021,7029,7033,7051,7087,7103,7116,7129,7133,7138,7163,7178,7191,7203,7214,7222,7226,7250,7254],{"__ignoreMap":220},[225,6702,6703,6705,6708,6710,6712,6715,6718,6721,6723,6726,6728,6730],{"class":227,"line":228},[225,6704,2558],{"class":303},[225,6706,6707],{"class":368}," class",[225,6709,1672],{"class":394},[225,6711,391],{"class":235},[225,6713,6714],{"class":394},"ErrType",[225,6716,6717],{"class":368}," extends",[225,6719,6720],{"class":394}," string",[225,6722,236],{"class":235},[225,6724,6725],{"class":394}," ErrData",[225,6727,384],{"class":235},[225,6729,1406],{"class":394},[225,6731,6732],{"class":235},">\n",[225,6734,6735,6738,6741,6743,6745],{"class":227,"line":332},[225,6736,6737],{"class":368},"    extends",[225,6739,6740],{"class":394}," TypedError",[225,6742,391],{"class":235},[225,6744,6714],{"class":394},[225,6746,6732],{"class":235},[225,6748,6749,6752,6755,6757,6759,6761,6763],{"class":227,"line":358},[225,6750,6751],{"class":368},"    implements",[225,6753,6754],{"class":394}," RpcErrorParams",[225,6756,391],{"class":235},[225,6758,6714],{"class":394},[225,6760,236],{"class":235},[225,6762,6725],{"class":394},[225,6764,6732],{"class":235},[225,6766,6767],{"class":227,"line":365},[225,6768,512],{"class":235},[225,6770,6771],{"class":227,"line":427},[225,6772,6773],{"class":435},"    \u002F\u002F Note: name is NOT declared as a property here\n",[225,6775,6776],{"class":227,"line":432},[225,6777,6778],{"class":435},"    \u002F\u002F It is inherited from Error class and assigned in constructor\n",[225,6780,6781],{"class":227,"line":439},[225,6782,6783],{"class":435},"    \u002F\u002F This prevents it from being included in type reflection for JIT validation\n",[225,6785,6786],{"class":227,"line":498},[225,6787,6788],{"class":435},"    \u002F**\n",[225,6790,6791],{"class":227,"line":503},[225,6792,6793],{"class":435},"     * id of the error, ideally each error should unique identifiable\n",[225,6795,6796],{"class":227,"line":515},[225,6797,6798],{"class":435},"     * * if RouterOptions.autoGenerateErrorId is set to true and id with timestamp+uuid will be generated\n",[225,6800,6801],{"class":227,"line":521},[225,6802,6803],{"class":435},"     * *\u002F\n",[225,6805,6806,6809,6812,6814,6817,6819,6821,6823],{"class":227,"line":554},[225,6807,6808],{"class":368},"    public",[225,6810,6811],{"class":368}," readonly",[225,6813,1655],{"class":406},[225,6815,6816],{"class":235},"?:",[225,6818,1660],{"class":394},[225,6820,1669],{"class":235},[225,6822,6720],{"class":394},[225,6824,329],{"class":235},[225,6826,6827],{"class":227,"line":565},[225,6828,6829],{"class":435},"    \u002F** the message that will be returned in the response *\u002F\n",[225,6831,6832,6834,6836,6839,6841,6843],{"class":227,"line":571},[225,6833,6808],{"class":368},[225,6835,6811],{"class":368},[225,6837,6838],{"class":406}," publicMessage",[225,6840,410],{"class":235},[225,6842,6720],{"class":394},[225,6844,329],{"class":235},[225,6846,6847],{"class":227,"line":604},[225,6848,6849],{"class":435},"    \u002F** options data related to the error, ie validation data, must be json serializable *\u002F\n",[225,6851,6852,6854,6856,6859,6861,6864,6866,6869],{"class":227,"line":862},[225,6853,6808],{"class":368},[225,6855,6811],{"class":368},[225,6857,6858],{"class":406}," errorData",[225,6860,6816],{"class":235},[225,6862,6863],{"class":394}," Readonly",[225,6865,391],{"class":235},[225,6867,6868],{"class":394},"ErrData",[225,6870,4173],{"class":235},[225,6872,6873],{"class":227,"line":871},[225,6874,6875],{"class":435},"    \u002F** optional http status code *\u002F\n",[225,6877,6878,6881,6883,6885],{"class":227,"line":877},[225,6879,6880],{"class":406},"    statusCode",[225,6882,6816],{"class":235},[225,6884,1660],{"class":394},[225,6886,329],{"class":235},[225,6888,6889],{"class":227,"line":899},[225,6890,362],{"emptyLinePlaceholder":361},[225,6892,6893,6896,6899,6902,6904,6906,6908,6911,6913,6915,6917,6919,6921,6923,6925,6928,6930,6933,6935,6937,6939,6941,6944],{"class":227,"line":904},[225,6894,6895],{"class":368},"    constructor",[225,6897,6898],{"class":235},"({",[225,6900,6901],{"class":1451},"message",[225,6903,236],{"class":235},[225,6905,6838],{"class":1451},[225,6907,236],{"class":235},[225,6909,6910],{"class":1451}," originalError",[225,6912,236],{"class":235},[225,6914,6858],{"class":1451},[225,6916,236],{"class":235},[225,6918,337],{"class":1451},[225,6920,236],{"class":235},[225,6922,1655],{"class":1451},[225,6924,236],{"class":235},[225,6926,6927],{"class":1451}," statusCode",[225,6929,2181],{"class":235},[225,6931,6932],{"class":394}," AnyErrorParams",[225,6934,391],{"class":235},[225,6936,6714],{"class":394},[225,6938,236],{"class":235},[225,6940,6725],{"class":394},[225,6942,6943],{"class":235},">)",[225,6945,562],{"class":235},[225,6947,6948,6951,6954,6956,6959,6962,6964,6966,6968,6970,6972,6974,6977],{"class":227,"line":924},[225,6949,6950],{"class":368},"        const",[225,6952,6953],{"class":231}," originalMessage",[225,6955,384],{"class":235},[225,6957,6958],{"class":231}," message",[225,6960,6961],{"class":235}," ||",[225,6963,6910],{"class":231},[225,6965,594],{"class":235},[225,6967,6901],{"class":231},[225,6969,6961],{"class":235},[225,6971,6838],{"class":231},[225,6973,6961],{"class":235},[225,6975,6976],{"class":235}," ''",[225,6978,329],{"class":235},[225,6980,6981],{"class":227,"line":930},[225,6982,362],{"emptyLinePlaceholder":361},[225,6984,6985],{"class":227,"line":936},[225,6986,6987],{"class":435},"        \u002F\u002F Call parent TypedError constructor\n",[225,6989,6990,6993,6995],{"class":227,"line":945},[225,6991,6992],{"class":231},"        super",[225,6994,400],{"class":406},[225,6996,512],{"class":235},[225,6998,6999,7002,7004,7006],{"class":227,"line":965},[225,7000,7001],{"class":406},"            message",[225,7003,410],{"class":235},[225,7005,6953],{"class":231},[225,7007,1139],{"class":235},[225,7009,7010,7013],{"class":227,"line":970},[225,7011,7012],{"class":231},"            originalError",[225,7014,1139],{"class":235},[225,7016,7017,7019],{"class":227,"line":975},[225,7018,2281],{"class":231},[225,7020,1139],{"class":235},[225,7022,7023,7025,7027],{"class":227,"line":981},[225,7024,2297],{"class":235},[225,7026,422],{"class":406},[225,7028,329],{"class":235},[225,7030,7031],{"class":227,"line":987},[225,7032,362],{"emptyLinePlaceholder":361},[225,7034,7035,7037,7039,7042,7044,7046,7049],{"class":227,"line":1024},[225,7036,6950],{"class":368},[225,7038,307],{"class":235},[225,7040,7041],{"class":231},"autoGenerateErrorId",[225,7043,313],{"class":235},[225,7045,384],{"class":235},[225,7047,7048],{"class":231}," options",[225,7050,329],{"class":235},[225,7052,7053,7056,7058,7060,7062,7065,7067,7069,7072,7075,7078,7080,7083,7085],{"class":227,"line":1075},[225,7054,7055],{"class":235},"        this.",[225,7057,807],{"class":231},[225,7059,384],{"class":235},[225,7061,1655],{"class":231},[225,7063,7064],{"class":235}," ??",[225,7066,910],{"class":406},[225,7068,7041],{"class":231},[225,7070,7071],{"class":235}," ?",[225,7073,7074],{"class":387}," randomUUID_V7",[225,7076,7077],{"class":406},"() ",[225,7079,410],{"class":235},[225,7081,7082],{"class":235}," undefined",[225,7084,422],{"class":406},[225,7086,329],{"class":235},[225,7088,7089,7091,7093,7095,7097,7099,7101],{"class":227,"line":1086},[225,7090,7055],{"class":235},[225,7092,547],{"class":231},[225,7094,384],{"class":235},[225,7096,6838],{"class":231},[225,7098,6961],{"class":235},[225,7100,6976],{"class":235},[225,7102,329],{"class":235},[225,7104,7105,7107,7110,7112,7114],{"class":227,"line":1096},[225,7106,7055],{"class":235},[225,7108,7109],{"class":231},"errorData",[225,7111,384],{"class":235},[225,7113,6858],{"class":231},[225,7115,329],{"class":235},[225,7117,7118,7120,7123,7125,7127],{"class":227,"line":1142},[225,7119,7055],{"class":235},[225,7121,7122],{"class":231},"statusCode",[225,7124,384],{"class":235},[225,7126,6927],{"class":231},[225,7128,329],{"class":235},[225,7130,7131],{"class":227,"line":1148},[225,7132,362],{"emptyLinePlaceholder":361},[225,7134,7135],{"class":227,"line":1158},[225,7136,7137],{"class":435},"        \u002F\u002F Override name to be non-enumerable\n",[225,7139,7140,7143,7145,7148,7150,7153,7155,7157,7159,7161],{"class":227,"line":1163},[225,7141,7142],{"class":231},"        Object",[225,7144,466],{"class":235},[225,7146,7147],{"class":387},"defineProperty",[225,7149,400],{"class":406},[225,7151,7152],{"class":235},"this,",[225,7154,319],{"class":235},[225,7156,597],{"class":322},[225,7158,326],{"class":235},[225,7160,236],{"class":235},[225,7162,562],{"class":235},[225,7164,7165,7168,7170,7172,7174,7176],{"class":227,"line":1173},[225,7166,7167],{"class":406},"            value",[225,7169,410],{"class":235},[225,7171,319],{"class":235},[225,7173,1500],{"class":322},[225,7175,326],{"class":235},[225,7177,1139],{"class":235},[225,7179,7180,7183,7185,7189],{"class":227,"line":1204},[225,7181,7182],{"class":406},"            writable",[225,7184,410],{"class":235},[225,7186,7188],{"class":7187},"sfNiH"," true",[225,7190,1139],{"class":235},[225,7192,7193,7196,7198,7201],{"class":227,"line":1213},[225,7194,7195],{"class":406},"            enumerable",[225,7197,410],{"class":235},[225,7199,7200],{"class":7187}," false",[225,7202,1139],{"class":235},[225,7204,7205,7208,7210,7212],{"class":227,"line":1232},[225,7206,7207],{"class":406},"            configurable",[225,7209,410],{"class":235},[225,7211,7188],{"class":7187},[225,7213,1139],{"class":235},[225,7215,7216,7218,7220],{"class":227,"line":1237},[225,7217,2297],{"class":235},[225,7219,422],{"class":406},[225,7221,329],{"class":235},[225,7223,7224],{"class":227,"line":1242},[225,7225,362],{"emptyLinePlaceholder":361},[225,7227,7228,7230,7232,7235,7237,7239,7241,7243,7246,7248],{"class":227,"line":1248},[225,7229,7142],{"class":231},[225,7231,466],{"class":235},[225,7233,7234],{"class":387},"setPrototypeOf",[225,7236,400],{"class":406},[225,7238,7152],{"class":235},[225,7240,1672],{"class":394},[225,7242,466],{"class":235},[225,7244,7245],{"class":231},"prototype",[225,7247,422],{"class":406},[225,7249,329],{"class":235},[225,7251,7252],{"class":227,"line":1263},[225,7253,933],{"class":235},[225,7255,7256],{"class":227,"line":1297},[225,7257,607],{"class":235},[7259,7260,7261],"style",{},"html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}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 .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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 .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}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}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 .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}","Learn how to handle errors in the mion client using the Result pattern.","md",null,{"toc":26},{"title":50,"description":7262},"a5mGJfuPp5LDg1ESZ7rxDLNLlKMTt35oxg0xAQGEshc",[7269,7271],{"title":82,"path":83,"stem":84,"description":7270,"children":-1},"Learn how to use the mion client for type-safe API calls.",{"title":89,"path":90,"stem":91,"description":7272,"children":-1},"Transform validation errors into user-friendly messages for frontend applications.",1778674527881]