elysia 1.1.22 → 1.1.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bun/index.js CHANGED
@@ -1,37 +1,32 @@
1
1
  // @bun
2
- var L1=Object.create;var{getPrototypeOf:T1,defineProperty:k2,getOwnPropertyNames:E1}=Object;var q1=Object.prototype.hasOwnProperty;var U2=($,W,X)=>{X=$!=null?L1(T1($)):{};const Z=W||!$||!$.__esModule?k2(X,"default",{value:$,enumerable:!0}):X;for(let j of E1($))if(!q1.call(Z,j))k2(Z,j,{get:()=>$[j],enumerable:!0});return Z};var H1=($,W)=>()=>(W||$((W={exports:{}}).exports,W),W.exports);var o0=H1((G8,$1)=>{function _3($){var W=$.indexOf("%");if(W===-1)return $;var X=$.length,Z="",j=0,J=0,Y=W,G=o2;while(W>-1&&W<X){var K=e2($[W+1],4),B=e2($[W+2],0),U=K|B,w=N2[U];if(G=N2[256+G+w],J=J<<6|U&N2[364+w],G===o2)Z+=$.slice(j,Y),Z+=J<=65535?String.fromCharCode(J):String.fromCharCode(55232+(J>>10),56320+(J&1023)),J=0,j=W+3,W=Y=$.indexOf("%",j);else if(G===w3)return null;else{if(W+=3,W<X&&$.charCodeAt(W)===37)continue;return null}}return Z+$.slice(j)}function e2($,W){var X=F3[$];return X===void 0?255:X<<W}var o2=12,w3=0,N2=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,7,7,7,7,7,7,7,7,7,7,7,7,8,7,7,10,9,9,9,11,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,24,36,48,60,72,84,96,0,12,12,12,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,24,24,24,0,0,0,0,0,0,0,0,0,24,24,0,0,0,0,0,0,0,0,0,0,48,48,48,0,0,0,0,0,0,0,0,0,0,48,48,0,0,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,127,63,63,63,0,31,15,15,15,7,7,7],F3={"0":0,"1":1,"2":2,"3":3,"4":4,"5":5,"6":6,"7":7,"8":8,"9":9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};$1.exports=_3});var T0=($,W)=>{const X=W?.length?{}:null;if(X)for(let Z of W)X[Z.part.charCodeAt(0)]=Z;return{part:$,store:null,inert:X,params:null,wildcardStore:null}},v2=($,W)=>({...$,part:W}),u2=($)=>({name:$,store:null,inert:null});class M0{root={};history=[];static regex={static:/:.+?(?=\/|$)/,params:/:.+?(?=\/|$)/g,optionalParams:/:.+?\?(?=\/|$)/g};add($,W,X,{ignoreError:Z=!1,ignoreHistory:j=!1}={}){if(typeof W!=="string")throw new TypeError("Route path must be a string");if(W==="")W="/";else if(W[0]!=="/")W=`/${W}`;const J=W[W.length-1]==="*",Y=W.match(M0.regex.optionalParams);if(Y){const w=W.replaceAll("?","");this.add($,w,X,{ignoreError:Z});for(let F=0;F<Y.length;F++){let Q=W.replace("/"+Y[F],"");this.add($,Q,X,{ignoreError:!0})}return X}if(Y)W=W.replaceAll("?","");if(this.history.find(([w,F,Q])=>w===$&&F===W))return X;if(J||Y&&W.charCodeAt(W.length-1)===63)W=W.slice(0,-1);if(!j)this.history.push([$,W,X]);const G=W.split(M0.regex.static),K=W.match(M0.regex.params)||[];if(G[G.length-1]==="")G.pop();let B;if(!this.root[$])B=this.root[$]=T0("/");else B=this.root[$];let U=0;for(let w=0;w<G.length;++w){let F=G[w];if(w>0){const Q=K[U++].slice(1);if(B.params===null)B.params=u2(Q);else if(B.params.name!==Q)if(Z)return X;else throw new Error(`Cannot create route "${W}" with parameter "${Q}" because a route already exists with a different parameter name ("${B.params.name}") in the same location`);const z=B.params;if(z.inert===null){B=z.inert=T0(F);continue}B=z.inert}for(let Q=0;;){if(Q===F.length){if(Q<B.part.length){const z=v2(B,B.part.slice(Q));Object.assign(B,T0(F,[z]))}break}if(Q===B.part.length){if(B.inert===null)B.inert={};const z=B.inert[F.charCodeAt(Q)];if(z){B=z,F=F.slice(Q),Q=0;continue}const D=T0(F.slice(Q));B.inert[F.charCodeAt(Q)]=D,B=D;break}if(F[Q]!==B.part[Q]){const z=v2(B,B.part.slice(Q)),D=T0(F.slice(Q));Object.assign(B,T0(B.part.slice(0,Q),[z,D])),B=D;break}++Q}}if(U<K.length){const w=K[U].slice(1);if(B.params===null)B.params=u2(w);else if(B.params.name!==w)if(Z)return X;else throw new Error(`Cannot create route "${W}" with parameter "${w}" because a route already exists with a different parameter name ("${B.params.name}") in the same location`);if(B.params.store===null)B.params.store=X;return B.params.store}if(J){if(B.wildcardStore===null)B.wildcardStore=X;return B.wildcardStore}if(B.store===null)B.store=X;return B.store}find($,W){const X=this.root[$];if(!X)return null;return w2(W,W.length,X,0)}}var w2=($,W,X,Z)=>{const j=X.part,J=j.length,Y=Z+J;if(J>1){if(Y>W)return null;if(J<15){for(let G=1,K=Z+1;G<J;++G,++K)if(j.charCodeAt(G)!==$.charCodeAt(K))return null}else if($.slice(Z,Y)!==j)return null}if(Y===W){if(X.store!==null)return{store:X.store,params:{}};if(X.wildcardStore!==null)return{store:X.wildcardStore,params:{"*":""}};return null}if(X.inert!==null){const G=X.inert[$.charCodeAt(Y)];if(G!==void 0){const K=w2($,W,G,Y);if(K!==null)return K}}if(X.params!==null){const{store:G,name:K,inert:B}=X.params,U=$.indexOf("/",Y);if(U!==Y){if(U===-1||U>=W){if(G!==null){const w={};return w[K]=$.substring(Y,W),{store:G,params:w}}}else if(B!==null){const w=w2($,W,B,U);if(w!==null)return w.params[K]=$.substring(Y,U),w}}}if(X.wildcardStore!==null)return{store:X.wildcardStore,params:{"*":$.substring(Y,W)}};return null};var E0=($)=>{const W=typeof $==="object"?$.fn.toString():typeof $==="string"?$.toString():$,X=W.indexOf(")");if(W.charCodeAt(X+2)===61&&W.charCodeAt(X+5)!==123)return!0;return W.includes("return")},R1=($)=>{if($.startsWith("async"))$=$.slice(5);$=$.trimStart();let W=-1;if($.charCodeAt(0)===40){if(W=$.indexOf("=>",$.indexOf(")")),W!==-1){let j=W;while(j>0)if($.charCodeAt(--j)===41)break;let J=$.slice(W+2);if(J.charCodeAt(0)===32)J=J.trimStart();return[$.slice(1,j),J,{isArrowReturn:J.charCodeAt(0)!==123}]}}if($.startsWith("function")){W=$.indexOf("(");const j=$.indexOf(")");return[$.slice(W+1,j),$.slice(j+2),{isArrowReturn:!1}]}const X=$.indexOf("(");if(X!==-1){const j=$.indexOf("\n",2),J=$.slice(0,j),Y=J.lastIndexOf(")")+1,G=$.slice(j+1);return[J.slice(X,Y),"{"+G,{isArrowReturn:!1}]}const Z=$.split("\n",2);return[Z[0],Z[1],{isArrowReturn:!1}]},b1=($)=>{const W=$.indexOf("{");if(W===-1)return[-1,0];let X=W+1,Z=1;for(;X<$.length;X++){const j=$.charCodeAt(X);if(j===123)Z++;else if(j===125)Z--;if(Z===0)break}if(Z!==0)return[0,$.length];return[W,X+1]},x1=($)=>{const W=$.lastIndexOf("}");if(W===-1)return[-1,0];let X=W-1,Z=1;for(;X>=0;X--){const j=$.charCodeAt(X);if(j===125)Z++;else if(j===123)Z--;if(Z===0)break}if(Z!==0)return[-1,0];return[X,W+1]},h2=($)=>{while(!0){const W=$.indexOf(":");if(W===-1)break;let X=$.indexOf(",",W);if(X===-1)X=$.indexOf("}",W)-1;if(X===-2)X=$.length;$=$.slice(0,W)+$.slice(X)}return $},m2=($)=>{let W=!1;if($.charCodeAt(0)===40)$=$.slice(1,-1);if($.charCodeAt(0)===123)W=!0,$=$.slice(1,-1);$=$.replace(/( |\t|\n)/g,"").trim();let X=[];while(!0){let[j,J]=b1($);if(j===-1)break;if(X.push($.slice(0,j-1)),$.charCodeAt(J)===44)J++;$=$.slice(J)}if($=h2($),$)X=X.concat($.split(","));const Z=[];for(let j of X){if(j.indexOf(",")===-1){Z.push(j);continue}for(let J of j.split(","))Z.push(J.trim())}return X=Z,{hasParenthesis:W,parameters:X}},g1=($,W)=>{const{parameters:X,hasParenthesis:Z}=m2($);if(!W.query&&X.includes("query"))W.query=!0;if(!W.headers&&X.includes("headers"))W.headers=!0;if(!W.body&&X.includes("body"))W.body=!0;if(!W.cookie&&X.includes("cookie"))W.cookie=!0;if(!W.set&&X.includes("set"))W.set=!0;if(!W.server&&X.includes("server"))W.server=!0;if(Z)return`{ ${X.join(", ")} }`;return X.join(", ")},f1=($,W,X)=>{const Z=W.indexOf($+"\n",X),j=W.indexOf($+"\t",X),J=W.indexOf($+",",X),Y=W.indexOf($+";",X),G=W.indexOf($+" ",X);return[Z,j,J,Y,G].filter((K)=>K>0).sort((K,B)=>K-B)[0]||-1};var d2=($,W,X=0)=>{if(X>5)return[];const Z=[];let j=W;while(!0){let J=f1(" = "+$,j);if(J===-1){const K=j.indexOf(" = "+$);if(K+3+$.length!==j.length)break;J=K}const Y=j.slice(0,J);let G=Y.slice(Y.lastIndexOf(" ")+1);if(G==="}"){const[K,B]=x1(Y);Z.push(h2(j.slice(K,B))),j=j.slice(J+3+$.length);continue}while(G.charCodeAt(0)===44)G=G.slice(1);while(G.charCodeAt(0)===9)G=G.slice(1);if(!G.includes("("))Z.push(G);j=j.slice(J+3+$.length)}for(let J of Z){if(J.charCodeAt(0)===123)continue;const Y=d2(J,W);if(Y.length>0)Z.push(...Y)}return Z},y1=($)=>{if(!$)return;if($.charCodeAt(0)!==123)return $;if($=$.slice(2,-2),!$.includes(",")){if($.includes("..."))return $.slice($.indexOf("...")+3);return}const X=$.indexOf("...");if(X===-1)return;return $.slice(X+3).trimEnd()},k1=($,W,X)=>{const Z=(j,J)=>$.includes(J+"."+j)||$.includes(J+'["'+j+'"]')||$.includes(J+"['"+j+"']");for(let j of W){if(!j)continue;if(j.charCodeAt(0)===123){const J=m2(j).parameters;if(!X.query&&J.includes("query"))X.query=!0;if(!X.headers&&J.includes("headers"))X.headers=!0;if(!X.body&&J.includes("body"))X.body=!0;if(!X.cookie&&J.includes("cookie"))X.cookie=!0;if(!X.set&&J.includes("set"))X.set=!0;if(!X.query&&J.includes("server"))X.server=!0;continue}if(!X.query&&Z("query",j))X.query=!0;if($.includes("return "+j)||$.includes("return "+j+".query"))X.query=!0;if(!X.headers&&Z("headers",j))X.headers=!0;if(!X.body&&Z("body",j))X.body=!0;if(!X.cookie&&Z("cookie",j))X.cookie=!0;if(!X.set&&Z("set",j))X.set=!0;if(!X.server&&Z("server",j))X.server=!0;if(X.query&&X.headers&&X.body&&X.cookie&&X.set&&X.server)break}return W};var v1=($,W,X)=>{try{const Z=new RegExp(`(?:\\w)\\((?:.*)?${$}`,"gs");Z.test(W);const j=W.charCodeAt(Z.lastIndex);if(j===41||j===44)return X.query=!0,X.headers=!0,X.body=!0,X.cookie=!0,X.set=!0,X.server=!0,!0;return!1}catch(Z){return console.log("[Sucrose] warning: unexpected isContextPassToFunction error, you may continue development as usual but please report the following to maintainers:"),console.log("--- body ---"),console.log(W),console.log("--- context ---"),console.log($),!0}},r0=($,W={query:!1,headers:!1,body:!1,cookie:!1,set:!1,server:!1})=>{const X=[];if($.handler&&typeof $.handler==="function")X.push($.handler);if($.request?.length)X.push(...$.request);if($.beforeHandle?.length)X.push(...$.beforeHandle);if($.parse?.length)X.push(...$.parse);if($.error?.length)X.push(...$.error);if($.transform?.length)X.push(...$.transform);if($.afterHandle?.length)X.push(...$.afterHandle);if($.mapResponse?.length)X.push(...$.mapResponse);if($.afterResponse?.length)X.push(...$.afterResponse);for(let Z of X){if(!Z)continue;const j="fn"in Z?Z.fn:Z,[J,Y,{isArrowReturn:G}]=R1(j.toString()),K=g1(J,W),B=y1(K);if(B){const U=d2(B,Y);if(U.splice(0,-1,B),!v1(B,Y,W))k1(Y,U,W);if(!W.query&&Y.includes("return "+B+".query"))W.query=!0}if(W.query&&W.headers&&W.body&&W.cookie&&W.set&&W.server)break}return W};import{Value as c0}from"@sinclair/typebox/value";import{Kind as H0,TransformKind as G1}from"@sinclair/typebox";import{Value as l}from"@sinclair/typebox/value";import{TypeCompiler as K1}from"@sinclair/typebox/compiler";import{Kind as $3,TypeRegistry as M2}from"@sinclair/typebox";import{TypeSystem as q0}from"@sinclair/typebox/system";import{Type as k0,FormatRegistry as W0}from"@sinclair/typebox";import{TypeCompiler as n2}from"@sinclair/typebox/compiler";import{Value as $0}from"@sinclair/typebox/value";function u1($){return $%4===0&&($%100!==0||$%400===0)}function i2($){const W=h1.exec($);if(!W)return!1;const X=+W[1],Z=+W[2],j=+W[3];return Z>=1&&Z<=12&&j>=1&&j<=(Z===2&&u1(X)?29:m1[Z])}function _2($){return function W(X){const Z=d1.exec(X);if(!Z)return!1;const j=+Z[1],J=+Z[2],Y=+Z[3],G=Z[4],K=Z[5]==="-"?-1:1,B=+(Z[6]||0),U=+(Z[7]||0);if(B>23||U>59||$&&!G)return!1;if(j<=23&&J<=59&&Y<60)return!0;const w=J-U*K,F=j-B*K-(w<0?1:0);return(F===23||F===-1)&&(w===59||w===-1)&&Y<61}}function c2($){const W=_2($);return function X(Z){const j=Z.split(c1);return j.length===2&&i2(j[0])&&W(j[1])}}function i1($){return p1.test($)&&l1.test($)}function n1($){return p2.lastIndex=0,p2.test($)}function s1($){return Number.isInteger($)&&$<=r1&&$>=t1}function a1($){return Number.isInteger($)}function l2(){return!0}function e1($){if(o1.test($))return!1;try{return new RegExp($),!0}catch(W){return!1}}var s0={date:i2,time:_2(!0),"date-time":c2(!0),"iso-time":_2(!1),"iso-date-time":c2(!1),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:i1,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:e1,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:n1,int32:{type:"number",validate:s1},int64:{type:"number",validate:a1},float:{type:"number",validate:l2},double:{type:"number",validate:l2},password:!0,binary:!0},h1=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,m1=[0,31,28,31,30,31,30,31,31,30,31,30,31],d1=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i,c1=/t|\s/i,p1=/\/|:/,l1=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,p2=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm,t1=-2147483648,r1=2147483647,o1=/[^\\]\\Z/;import{TypeSystemPolicy as $8,TypeSystem as W8,TypeSystemDuplicateFormat as X8,TypeSystemDuplicateTypeKind as Z8}from"@sinclair/typebox/system";import{TypeCompiler as J8,TypeCheck as Q8}from"@sinclair/typebox/compiler";var r2=/(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))/,s2=/(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s\d{2}\s\d{4}\s\d{2}:\d{2}:\d{2}\sGMT(?:\+|-)\d{4}\s\([^)]+\)/,a2=/^(?:(?:(?:(?:0?[1-9]|[12][0-9]|3[01])[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:19|20)\d{2})|(?:(?:19|20)\d{2}[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:0?[1-9]|[12][0-9]|3[01]))))(?:\s(?:1[012]|0?[1-9]):[0-5][0-9](?::[0-5][0-9])?(?:\s[AP]M)?)?$/,W3=s0.date,X3=s0["date-time"];if(!W0.Has("date"))q0.Format("date",($)=>{const W=$.replace(/"/g,"");if(r2.test(W)||s2.test(W)||a2.test(W)||W3(W)){const X=new Date(W);if(!Number.isNaN(X.getTime()))return!0}return!1});if(!W0.Has("date-time"))q0.Format("date-time",($)=>{const W=$.replace(/"/g,"");if(r2.test(W)||s2.test(W)||a2.test(W)||X3(W)){const X=new Date(W);if(!Number.isNaN(X.getTime()))return!0}return!1});Object.entries(s0).forEach(($)=>{const[W,X]=$;if(!W0.Has(W)){if(X instanceof RegExp)q0.Format(W,(Z)=>X.test(Z));else if(typeof X==="function")q0.Format(W,X)}});var V=Object.assign({},k0),t2=($)=>{if(typeof $==="string")switch($.slice(-1)){case"k":return+$.slice(0,$.length-1)*1024;case"m":return+$.slice(0,$.length-1)*1048576;default:return+$}return $},F2=($,W)=>{if(!(W instanceof Blob))return!1;if($.minSize&&W.size<t2($.minSize))return!1;if($.maxSize&&W.size>t2($.maxSize))return!1;if($.extension)if(typeof $.extension==="string"){if(!W.type.startsWith($.extension))return!1}else{for(let X=0;X<$.extension.length;X++)if(W.type.startsWith($.extension[X]))return!0;return!1}return!0},Z3=M2.Get("Files")??q0.Type("File",F2),j3=M2.Get("Files")??q0.Type("Files",($,W)=>{if(!Array.isArray(W))return F2($,W);if($.minItems&&W.length<$.minItems)return!1;if($.maxItems&&W.length>$.maxItems)return!1;for(let X=0;X<W.length;X++)if(!F2($,W[X]))return!1;return!0});if(!W0.Has("numeric"))W0.Set("numeric",($)=>!!$&&!isNaN(+$));if(!W0.Has("boolean"))W0.Set("boolean",($)=>$==="true"||$==="false");if(!W0.Has("ObjectString"))W0.Set("ObjectString",($)=>{let W=$.charCodeAt(0);if(W===9||W===10||W===32)W=$.trimStart().charCodeAt(0);if(W!==123&&W!==91)return!1;try{return JSON.parse($),!0}catch{return!1}});if(!W0.Has("ArrayString"))W0.Set("ArrayString",($)=>{let W=$.charCodeAt(0);if(W===9||W===10||W===32)W=$.trimStart().charCodeAt(0);if(W!==123&&W!==91)return!1;try{return JSON.parse($),!0}catch{return!1}});M2.Set("UnionEnum",($,W)=>{return(typeof W==="number"||typeof W==="string"||W===null)&&$.enum.includes(W)});var X0={Numeric:($)=>{const W=k0.Number($);return V.Transform(V.Union([V.String({format:"numeric",default:0}),V.Number($)],$)).Decode((X)=>{const Z=+X;if(isNaN(Z))return X;if($&&!$0.Check(W,Z))throw new q("property",W,Z);return Z}).Encode((X)=>X)},Date:($)=>{const W=k0.Date($);return V.Transform(V.Union([k0.Date($),V.String({format:"date",default:new Date().toISOString()}),V.String({format:"date-time",default:new Date().toISOString()})],$)).Decode((X)=>{if(X instanceof Date)return X;const Z=new Date(X);if(!$0.Check(W,Z))throw new q("property",W,Z);return Z}).Encode((X)=>{if(typeof X==="string")return new Date(X);return X})},BooleanString:($)=>{const W=k0.Boolean($);return V.Transform(V.Union([V.String({format:"boolean",default:!1}),V.Boolean($)],$)).Decode((X)=>{if(typeof X==="string")return X==="true";if($&&!$0.Check(W,X))throw new q("property",W,X);return X}).Encode((X)=>X)},ObjectString:($,W)=>{const X=V.Object($,W),Z=JSON.stringify($0.Create(X));let j;try{j=n2.Compile(X)}catch{}return V.Transform(V.Union([V.String({format:"ObjectString",default:Z}),X])).Decode((J)=>{if(typeof J==="string"){if(J.charCodeAt(0)!==123)throw new q("property",X,J);try{J=JSON.parse(J)}catch{throw new q("property",X,J)}if(j){if(!j.Check(J))throw new q("property",X,J);return j.Decode(J)}if(!$0.Check(X,J))throw new q("property",X,J);return $0.Decode(X,J)}return J}).Encode((J)=>{if(typeof J==="string")try{J=JSON.parse(J)}catch{throw new q("property",X,J)}if(!$0.Check(X,J))throw new q("property",X,J);return JSON.stringify(J)})},ArrayString:($={},W)=>{const X=V.Array($,W),Z=JSON.stringify($0.Create(X));let j;try{j=n2.Compile(X)}catch{}return V.Transform(V.Union([V.String({format:"ArrayString",default:Z}),X])).Decode((J)=>{if(typeof J==="string"){if(J.charCodeAt(0)!==91)throw new q("property",X,J);try{J=JSON.parse(J)}catch{throw new q("property",X,J)}if(j){if(!j.Check(J))throw new q("property",X,J);return j.Decode(J)}if(!$0.Check(X,J))throw new q("property",X,J);return $0.Decode(X,J)}return J}).Encode((J)=>{if(typeof J==="string")try{J=JSON.parse(J)}catch{throw new q("property",X,J)}if(!$0.Check(X,J))throw new q("property",X,J);return JSON.stringify(J)})},File:Z3,Files:($={})=>V.Transform(j3($)).Decode((W)=>{if(Array.isArray(W))return W;return[W]}).Encode((W)=>W),Nullable:($)=>V.Union([$,V.Null()]),MaybeEmpty:($)=>V.Union([$,V.Null(),V.Undefined()]),Cookie:($,{domain:W,expires:X,httpOnly:Z,maxAge:j,path:J,priority:Y,sameSite:G,secure:K,secrets:B,sign:U,...w}={})=>{const F=V.Object($,w);return F.config={domain:W,expires:X,httpOnly:Z,maxAge:j,path:J,priority:Y,sameSite:G,secure:K,secrets:B,sign:U},F},UnionEnum:($,W={})=>{const X=$.every((Z)=>typeof Z==="string")?{type:"string"}:$.every((Z)=>typeof Z==="number")?{type:"number"}:$.every((Z)=>Z===null)?{type:"null"}:{};if($.some((Z)=>typeof Z==="object"&&Z!==null))throw new Error("This type does not support objects or arrays");return{default:$[0],...W,[$3]:"UnionEnum",...X,enum:$}}};V.BooleanString=X0.BooleanString;V.ObjectString=X0.ObjectString;V.ArrayString=X0.ArrayString;V.Numeric=X0.Numeric;V.File=($={})=>X0.File({default:"File",...$,extension:$?.type,type:"string",format:"binary"});V.Files=($={})=>X0.Files({...$,elysiaMeta:"Files",default:"Files",extension:$?.type,type:"array",items:{...$,default:"Files",type:"string",format:"binary"}});V.Nullable=($)=>X0.Nullable($);V.MaybeEmpty=X0.MaybeEmpty;V.Cookie=X0.Cookie;V.Date=X0.Date;V.UnionEnum=X0.UnionEnum;function Q3($,W){if(typeof $!=="string")throw new TypeError("argument str must be a string");var X={},Z=W||{},j=Z.decode||G3,J=0;while(J<$.length){var Y=$.indexOf("=",J);if(Y===-1)break;var G=$.indexOf(";",J);if(G===-1)G=$.length;else if(G<Y){J=$.lastIndexOf(";",Y-1)+1;continue}var K=$.slice(J,Y).trim();if(X[K]===void 0){var B=$.slice(Y+1,G).trim();if(B.charCodeAt(0)===34)B=B.slice(1,-1);X[K]=U3(B,j)}J=G+1}return X}function Y3($,W,X){var Z=X||{},j=Z.encode||B3;if(typeof j!=="function")throw new TypeError("option encode is invalid");if(!a0.test($))throw new TypeError("argument name is invalid");var J=j(W);if(J&&!a0.test(J))throw new TypeError("argument val is invalid");var Y=$+"="+J;if(Z.maxAge!=null){var G=Z.maxAge-0;if(isNaN(G)||!isFinite(G))throw new TypeError("option maxAge is invalid");Y+="; Max-Age="+Math.floor(G)}if(Z.domain){if(!a0.test(Z.domain))throw new TypeError("option domain is invalid");Y+="; Domain="+Z.domain}if(Z.path){if(!a0.test(Z.path))throw new TypeError("option path is invalid");Y+="; Path="+Z.path}if(Z.expires){var K=Z.expires;if(!K3(K)||isNaN(K.valueOf()))throw new TypeError("option expires is invalid");Y+="; Expires="+K.toUTCString()}if(Z.httpOnly)Y+="; HttpOnly";if(Z.secure)Y+="; Secure";if(Z.partitioned)Y+="; Partitioned";if(Z.priority){var B=typeof Z.priority==="string"?Z.priority.toLowerCase():Z.priority;switch(B){case"low":Y+="; Priority=Low";break;case"medium":Y+="; Priority=Medium";break;case"high":Y+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}}if(Z.sameSite){var U=typeof Z.sameSite==="string"?Z.sameSite.toLowerCase():Z.sameSite;switch(U){case!0:Y+="; SameSite=Strict";break;case"lax":Y+="; SameSite=Lax";break;case"strict":Y+="; SameSite=Strict";break;case"none":Y+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return Y}function G3($){return $.indexOf("%")!==-1?decodeURIComponent($):$}function B3($){return encodeURIComponent($)}function K3($){return J3.call($)==="[object Date]"||$ instanceof Date}function U3($,W){try{return W($)}catch(X){return $}}/*!
3
- * cookie
4
- * Copyright(c) 2012-2014 Roman Shtylman
5
- * Copyright(c) 2015 Douglas Christopher Wilson
6
- * MIT Licensed
7
- */var z2=Q3,D2=Y3;var J3=Object.prototype.toString,a0=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;var X1=U2(o0(),1);class w0{$;W;X;constructor($,W,X={}){this.name=$;this.jar=W;this.initial=X}get cookie(){return this.jar[this.name]??this.initial}set cookie($){if(!(this.name in this.jar))this.jar[this.name]=this.initial;this.jar[this.name]=$}get setCookie(){if(!(this.name in this.jar))this.jar[this.name]=this.initial;return this.jar[this.name]}set setCookie($){this.cookie=$}get value(){return this.cookie.value}set value($){this.setCookie.value=$}get expires(){return this.cookie.expires}set expires($){this.setCookie.expires=$}get maxAge(){return this.cookie.maxAge}set maxAge($){this.setCookie.maxAge=$}get domain(){return this.cookie.domain}set domain($){this.setCookie.domain=$}get path(){return this.cookie.path}set path($){this.setCookie.path=$}get secure(){return this.cookie.secure}set secure($){this.setCookie.secure=$}get httpOnly(){return this.cookie.httpOnly}set httpOnly($){this.setCookie.httpOnly=$}get sameSite(){return this.cookie.sameSite}set sameSite($){this.setCookie.sameSite=$}get priority(){return this.cookie.priority}set priority($){this.setCookie.priority=$}get partitioned(){return this.cookie.partitioned}set partitioned($){this.setCookie.partitioned=$}get secrets(){return this.cookie.secrets}set secrets($){this.setCookie.secrets=$}update($){return this.setCookie=Object.assign(this.cookie,typeof $==="function"?$(this.cookie):$),this}set($){return this.setCookie=Object.assign({...this.initial,value:this.value},typeof $==="function"?$(this.cookie):$),this}remove(){if(this.value===void 0)return;return this.set({expires:new Date(0),maxAge:0,value:""}),this}toString(){return typeof this.value==="object"?JSON.stringify(this.value):this.value?.toString()??""}}var W1=($,W,X)=>{if(!$.cookie)$.cookie={};return new Proxy(W,{get(Z,j){if(j in W)return new w0(j,$.cookie,Object.assign({},X??{},W[j]));return new w0(j,$.cookie,Object.assign({},X))}})},e0=async($,W,{secrets:X,sign:Z,...j}={})=>{if(!W)return W1($,{},j);const J=typeof X==="string";if(Z&&Z!==!0&&!Array.isArray(Z))Z=[Z];const Y={},G=z2(W);for(let[K,B]of Object.entries(G)){let U=X1.default(B);if(Z===!0||Z?.includes(K)){if(!X)throw new Error("No secret is provided to cookie plugin");if(J){const w=await P2(U,X);if(w===!1)throw new v0(K);U=w}else{let w=!0;for(let F=0;F<X.length;F++){const Q=await P2(U,X[F]);if(Q!==!1){w=!0,U=Q;break}}if(!w)throw new v0(K)}}Y[K]={value:U}}return W1($,Y,j)};async function*h0($){const W=$.body;if(!W)return;const X=W.getReader(),Z=new TextDecoder;try{while(!0){const{done:j,value:J}=await X.read();if(j)break;yield Z.decode(J)}}finally{X.releaseLock()}}var Z1="toJSON"in new Headers,c=($)=>{if(!$)return!1;for(let W in $)return!0;return!1},u0=($,W)=>{const X=$.size;if(!W&&X||X&&W&&W.status!==206&&W.status!==304&&W.status!==412&&W.status!==416){if(W&&c(W.headers)){if(W.headers instanceof Headers){if(Z1)W.headers=W.headers.toJSON();else for(let[Z,j]of W.headers.entries())if(Z in W.headers)W.headers[Z]=j}return new Response($,{status:W.status,headers:Object.assign({"accept-ranges":"bytes","content-range":`bytes 0-${X-1}/${X}`},W.headers)})}return new Response($,{headers:{"accept-ranges":"bytes","content-range":`bytes 0-${X-1}/${X}`,"transfer-encoding":"chunked"}})}return new Response($)},j1=($,W)=>{if(!$)return $;$.delete("set-cookie");for(let X=0;X<W.length;X++){const Z=W[X].indexOf("=");$.append("set-cookie",`${W[X].slice(0,Z)}=${W[X].slice(Z+1)||""}`)}return $},J1=($)=>{if(!$||!c($))return;const W=[];for(let[X,Z]of Object.entries($)){if(!X||!Z)continue;const j=Z.value;if(j===void 0||j===null)continue;W.push(D2(X,typeof j==="object"?JSON.stringify(j):j+"",Z))}if(W.length===0)return;if(W.length===1)return W[0];return W},B0=async($,W,X)=>{let Z=$.next();if(Z instanceof Promise)Z=await Z;if(Z.done){if(W)return x(Z.value,W,X);return Z0(Z.value,X)}return new Response(new ReadableStream({async start(j){let J=!1;if(X?.signal.addEventListener("abort",()=>{J=!0;try{j.close()}catch{}}),Z.value!==void 0&&Z.value!==null)if(typeof Z.value==="object")try{j.enqueue(Buffer.from(JSON.stringify(Z.value)))}catch{j.enqueue(Buffer.from(Z.value.toString()))}else j.enqueue(Buffer.from(Z.value.toString()));for await(let Y of $){if(J)break;if(Y===void 0||Y===null)continue;if(typeof Y==="object")try{j.enqueue(Buffer.from(JSON.stringify(Y)))}catch{j.enqueue(Buffer.from(Y.toString()))}else j.enqueue(Buffer.from(Y.toString()));await new Promise((G)=>setTimeout(()=>G(),0))}try{j.close()}catch{}}}),{...W,headers:{"transfer-encoding":"chunked","content-type":"text/event-stream; charset=utf-8",...W?.headers}})},x=($,W,X)=>{if(c(W.headers)||W.status!==200||W.redirect||W.cookie){if(typeof W.status==="string")W.status=_0[W.status];if(W.redirect){if(W.headers.Location=W.redirect,!W.status||W.status<300||W.status>=400)W.status=302}if(W.cookie&&c(W.cookie)){const Z=J1(W.cookie);if(Z)W.headers["set-cookie"]=Z}if(W.headers["set-cookie"]&&Array.isArray(W.headers["set-cookie"]))W.headers=j1(new Headers(W.headers),W.headers["set-cookie"]);switch($?.constructor?.name){case"String":return new Response($,W);case"Blob":return u0($,W);case"Array":return Response.json($,W);case"Object":return Response.json($,W);case"ElysiaCustomStatusResponse":return W.status=$.code,x($.response,W,X);case"ReadableStream":if(!W.headers["content-type"]?.startsWith("text/event-stream"))W.headers["content-type"]="text/event-stream; charset=utf-8";return X?.signal.addEventListener("abort",{handleEvent(){if(!X?.signal.aborted)$.cancel(X)}},{once:!0}),new Response($,W);case void 0:if(!$)return new Response("",W);return Response.json($,W);case"Response":let Z=!1;if(W.headers instanceof Headers)for(let j of W.headers.keys())if(j==="set-cookie"){if(Z)continue;Z=!0;for(let J of W.headers.getSetCookie())$.headers.append("set-cookie",J)}else $.headers.append(j,W.headers?.get(j)??"");else for(let j in W.headers)$.headers.append(j,W.headers[j]);if($.status!==W.status)W.status=$.status;if($.headers.get("transfer-encoding")==="chunked")return B0(h0($),W,X);return $;case"Error":return K0($,W);case"Promise":return $.then((j)=>x(j,W));case"Function":return x($(),W);case"Number":case"Boolean":return new Response($.toString(),W);case"Cookie":if($ instanceof w0)return new Response($.value,W);return new Response($?.toString(),W);case"FormData":return new Response($,W);default:if($ instanceof Response){let j=!1;if(W.headers instanceof Headers)for(let J of W.headers.keys())if(J==="set-cookie"){if(j)continue;j=!0;for(let Y of W.headers.getSetCookie())$.headers.append("set-cookie",Y)}else $.headers.append(J,W.headers?.get(J)??"");else for(let J in W.headers)$.headers.append(J,W.headers[J]);if(Z1)W.headers=$.headers.toJSON();else for(let[J,Y]of $.headers.entries())if(J in W.headers)W.headers[J]=Y;return $}if($ instanceof Promise)return $.then((j)=>x(j,W));if($ instanceof Error)return K0($,W);if($ instanceof p)return W.status=$.code,x($.response,W,X);if(typeof $?.next==="function")return B0($,W,X);if("toResponse"in $)return x($.toResponse(),W);if("charCodeAt"in $){const j=$.charCodeAt(0);if(j===123||j===91){if(!W.headers["Content-Type"])W.headers["Content-Type"]="application/json";return new Response(JSON.stringify($),W)}}return new Response($,W)}}else switch($?.constructor?.name){case"String":return new Response($);case"Blob":return u0($,W);case"Array":return Response.json($);case"Object":return Response.json($,W);case"ElysiaCustomStatusResponse":return W.status=$.code,x($.response,W,X);case"ReadableStream":return X?.signal.addEventListener("abort",{handleEvent(){if(!X?.signal.aborted)$.cancel(X)}},{once:!0}),new Response($,{headers:{"Content-Type":"text/event-stream; charset=utf-8"}});case void 0:if(!$)return new Response("");return new Response(JSON.stringify($),{headers:{"content-type":"application/json"}});case"Response":if($.headers.get("transfer-encoding")==="chunked")return B0(h0($),W,X);return $;case"Error":return K0($,W);case"Promise":return $.then((Z)=>{const j=Z0(Z,X);if(j!==void 0)return j;return new Response("")});case"Function":return Z0($(),X);case"Number":case"Boolean":return new Response($.toString());case"Cookie":if($ instanceof w0)return new Response($.value,W);return new Response($?.toString(),W);case"FormData":return new Response($,W);default:if($ instanceof Response)return $;if($ instanceof Promise)return $.then((Z)=>x(Z,W));if($ instanceof Error)return K0($,W);if($ instanceof p)return W.status=$.code,x($.response,W,X);if(typeof $?.next==="function")return B0($,W,X);if("toResponse"in $)return x($.toResponse(),W);if("charCodeAt"in $){const Z=$.charCodeAt(0);if(Z===123||Z===91){if(!W.headers["Content-Type"])W.headers["Content-Type"]="application/json";return new Response(JSON.stringify($),W)}}return new Response($)}},y=($,W,X)=>{if($===void 0||$===null)return;if(c(W.headers)||W.status!==200||W.redirect||W.cookie){if(typeof W.status==="string")W.status=_0[W.status];if(W.redirect){if(W.headers.Location=W.redirect,!W.status||W.status<300||W.status>=400)W.status=302}if(W.cookie&&c(W.cookie)){const Z=J1(W.cookie);if(Z)W.headers["set-cookie"]=Z}if(W.headers["set-cookie"]&&Array.isArray(W.headers["set-cookie"]))W.headers=j1(new Headers(W.headers),W.headers["set-cookie"]);switch($?.constructor?.name){case"String":return new Response($,W);case"Blob":return u0($,W);case"Array":return Response.json($,W);case"Object":return Response.json($,W);case"ElysiaCustomStatusResponse":return W.status=$.code,y($.response,W,X);case"ReadableStream":if(!W.headers["content-type"]?.startsWith("text/event-stream"))W.headers["content-type"]="text/event-stream; charset=utf-8";return X?.signal.addEventListener("abort",{handleEvent(){if(!X?.signal.aborted)$.cancel(X)}},{once:!0}),new Response($,W);case void 0:if(!$)return;return Response.json($,W);case"Response":let Z=!1;if(W.headers instanceof Headers)for(let j of W.headers.keys())if(j==="set-cookie"){if(Z)continue;Z=!0;for(let J of W.headers.getSetCookie())$.headers.append("set-cookie",J)}else $.headers.append(j,W.headers?.get(j)??"");else for(let j in W.headers)$.headers.append(j,W.headers[j]);if($.status!==W.status)W.status=$.status;if($.headers.get("transfer-encoding")==="chunked")return B0(h0($),W,X);return $;case"Promise":return $.then((j)=>{const J=y(j,W);if(J!==void 0)return J});case"Error":return K0($,W);case"Function":return y($(),W);case"Number":case"Boolean":return new Response($.toString(),W);case"FormData":return new Response($);case"Cookie":if($ instanceof w0)return new Response($.value,W);return new Response($?.toString(),W);default:if($ instanceof Response){let j=!1;if(W.headers instanceof Headers)for(let J of W.headers.keys())if(J==="set-cookie"){if(j)continue;j=!0;for(let Y of W.headers.getSetCookie())$.headers.append("set-cookie",Y)}else $.headers.append(J,W.headers?.get(J)??"");else for(let J in W.headers)$.headers.append(J,W.headers[J]);if($.status!==W.status)W.status=$.status;return $}if($ instanceof Promise)return $.then((j)=>y(j,W));if($ instanceof Error)return K0($,W);if($ instanceof p)return W.status=$.code,y($.response,W,X);if(typeof $?.next==="function")return B0($,W,X);if("toResponse"in $)return y($.toResponse(),W);if("charCodeAt"in $){const j=$.charCodeAt(0);if(j===123||j===91){if(!W.headers["Content-Type"])W.headers["Content-Type"]="application/json";return new Response(JSON.stringify($),W)}}return new Response($,W)}}else switch($?.constructor?.name){case"String":return new Response($);case"Blob":return u0($,W);case"Array":return Response.json($);case"Object":return Response.json($,W);case"ElysiaCustomStatusResponse":return W.status=$.code,y($.response,W,X);case"ReadableStream":return X?.signal.addEventListener("abort",{handleEvent(){if(!X?.signal.aborted)$.cancel(X)}},{once:!0}),new Response($,{headers:{"Content-Type":"text/event-stream; charset=utf-8"}});case void 0:if(!$)return new Response("");return new Response(JSON.stringify($),{headers:{"content-type":"application/json"}});case"Response":if($.headers.get("transfer-encoding")==="chunked")return B0(h0($));return $;case"Promise":return $.then((Z)=>{const j=y(Z,W);if(j!==void 0)return j});case"Error":return K0($,W);case"Function":return Z0($(),X);case"Number":case"Boolean":return new Response($.toString());case"Cookie":if($ instanceof w0)return new Response($.value,W);return new Response($?.toString(),W);case"FormData":return new Response($);default:if($ instanceof Response)return $;if($ instanceof Promise)return $.then((Z)=>y(Z,W));if($ instanceof Error)return K0($,W);if($ instanceof p)return W.status=$.code,y($.response,W,X);if(typeof $?.next==="function")return B0($,W,X);if("toResponse"in $)return y($.toResponse(),W);if("charCodeAt"in $){const Z=$.charCodeAt(0);if(Z===123||Z===91){if(!W.headers["Content-Type"])W.headers["Content-Type"]="application/json";return new Response(JSON.stringify($),W)}}return new Response($)}},Z0=($,W)=>{switch($?.constructor?.name){case"String":return new Response($);case"Blob":return u0($);case"Array":return Response.json($);case"Object":return Response.json($);case"ElysiaCustomStatusResponse":return x($.response,{status:$.code,headers:{}});case"ReadableStream":return W?.signal.addEventListener("abort",{handleEvent(){if(!W?.signal.aborted)$.cancel(W)}},{once:!0}),new Response($,{headers:{"Content-Type":"text/event-stream; charset=utf-8"}});case void 0:if(!$)return new Response("");return new Response(JSON.stringify($),{headers:{"content-type":"application/json"}});case"Response":if($.headers.get("transfer-encoding")==="chunked")return B0(h0($));return $;case"Error":return K0($);case"Promise":return $.then((X)=>Z0(X,W));case"Function":return Z0($(),W);case"Number":case"Boolean":return new Response($.toString());case"FormData":return new Response($);default:if($ instanceof Response)return $;if($ instanceof Promise)return $.then((X)=>Z0(X,W));if($ instanceof Error)return K0($);if($ instanceof p)return x($.response,{status:$.code,headers:{}});if(typeof $?.next==="function")return B0($,void 0,W);if("toResponse"in $)return Z0($.toResponse());if("charCodeAt"in $){const X=$.charCodeAt(0);if(X===123||X===91)return new Response(JSON.stringify($),{headers:{"Content-Type":"application/json"}})}return new Response($)}},K0=($,W)=>new Response(JSON.stringify({name:$?.name,message:$?.message,cause:$?.cause}),{status:W?.status!==200?W?.status??500:500,headers:W?.headers}),Q1=($,W,X={})=>{if(typeof $==="function")return;const Z=x($,{headers:X});if(W.parse.length===0&&W.transform.length===0&&W.beforeHandle.length===0&&W.afterHandle.length===0)return Z.clone.bind(Z)},Y1=($,W,X={})=>{if(typeof $==="function"||$ instanceof Blob)return;const Z=x($,{headers:X});if(W.parse.length===0&&W.transform.length===0&&W.beforeHandle.length===0&&W.afterHandle.length===0){if(!Z.headers.has("content-type"))Z.headers.append("content-type","text/plain;charset=utf-8");return Z.clone.bind(Z)}};function A3($){let W=$;while(W.endsWith("="))W=W.slice(0,-1);return W}var R0=($,W)=>{const X=new URL($);return X.pathname=W,X.toString()},M3=($)=>typeof $==="function"&&/^\s*class\s+/.test($.toString())||$.toString().startsWith("[object ")&&$.toString()!=="[object Object]"||c(Object.getPrototypeOf($)),I2=($)=>$&&typeof $==="object"&&!Array.isArray($),d=($,W,{skipKeys:X,override:Z=!0}={})=>{if(!I2($)||!I2(W))return $;for(let[j,J]of Object.entries(W)){if(X?.includes(j))continue;if(!I2(J)||!(j in $)||M3(J)){if(Z||!(j in $))$[j]=J;continue}$[j]=d($[j],J,{skipKeys:X,override:Z})}return $},z3=($,W)=>{const{properties:X,...Z}=$??{},{properties:j,...J}=W??{};return d(Z,J)},f=($=[],W=[])=>{if(!$)return[];if(!W)return $;const X=[],Z=[];if(!Array.isArray($))$=[$];if(!Array.isArray(W))W=[W];for(let j of $)if(X.push(j),j.checksum)Z.push(j.checksum);for(let j of W)if(!Z.includes(j.checksum))X.push(j);return X},D3=["start","request","parse","transform","resolve","beforeHandle","afterHandle","mapResponse","afterResponse","trace","error","stop","body","headers","params","query","response","type","detail"],N3=D3.reduce(($,W)=>($[W]=!0,$),{}),U1=($,W)=>{const X=(Z)=>typeof Z==="object"&&Object.keys(Z).every(Z2);if(X($)&&X(W))return{...$,...W};else if($&&!X($)&&X(W))return{200:$,...W};return W??$},b0=($,W)=>{return{body:W?.body??$?.body,headers:W?.headers??$?.headers,params:W?.params??$?.params,query:W?.query??$?.query,cookie:W?.cookie??$?.cookie,response:U1($?.response,W?.response)}},i=($,W)=>{return{...$,...W,body:W?.body??$?.body,headers:W?.headers??$?.headers,params:W?.params??$?.params,query:W?.query??$?.query,cookie:W?.cookie??$?.cookie,response:U1($?.response,W?.response),type:$?.type||W?.type,detail:d(W?.detail??{},$?.detail??{}),parse:f($?.parse,W?.parse),transform:f($?.transform,W?.transform),beforeHandle:f($?.beforeHandle,W?.beforeHandle),afterHandle:f($?.afterHandle,W?.afterHandle),mapResponse:f($?.mapResponse,W?.mapResponse),afterResponse:f($?.afterResponse,W?.afterResponse),trace:f($?.trace,W?.trace),error:f($?.error,W?.error)}},V2=($,W,X=!0)=>{if(!Array.isArray(W))return h($,W,X);for(let Z of W)$=h($,Z,X);return $},h=($,W,X=!0)=>{if(!$)return $;if(W.untilObjectFound&&!X&&$.type==="object")return $;const Z=W.from[H0];if($.oneOf){for(let Y=0;Y<$.oneOf.length;Y++)$.oneOf[Y]=h($.oneOf[Y],W,X);return $}if($.anyOf){for(let Y=0;Y<$.anyOf.length;Y++)$.anyOf[Y]=h($.anyOf[Y],W,X);return $}if($.allOf){for(let Y=0;Y<$.allOf.length;Y++)$.allOf[Y]=h($.allOf[Y],W,X);return $}if($.not){for(let Y=0;Y<$.not.length;Y++)$.not[Y]=h($.not[Y],W,X);return $}const j=X&&!!W.excludeRoot;if($[H0]===Z){const{anyOf:Y,oneOf:G,allOf:K,not:B,properties:U,items:w,...F}=$,Q=W.to(F);let z;const D=(M)=>{if(U&&M.type==="object"){const O={};for(let[P,b]of Object.entries(U))O[P]=h(b,W,!1);return{...F,...M,properties:O}}if(w&&M.type==="array")return{...F,...M,items:h(w,W,!1)};const I={...F,...M};if(delete I.required,U&&M.type==="string"&&M.format==="ObjectString"&&M.default==="{}")z=V.ObjectString(U,F),I.default=JSON.stringify(l.Create(V.Object(U))),I.properties=U;if(w&&M.type==="string"&&M.format==="ArrayString"&&M.default==="[]")z=V.ArrayString(w,F),I.default=JSON.stringify(l.Create(V.Array(w))),I.items=w;return I};if(j){if(U){const M={};for(let[I,O]of Object.entries(U))M[I]=h(O,W,!1);return{...F,properties:M}}else if(w?.map)return{...F,items:w.map((M)=>h(M,W,!1))};return F}if(Q.anyOf)for(let M=0;M<Q.anyOf.length;M++)Q.anyOf[M]=D(Q.anyOf[M]);else if(Q.oneOf)for(let M=0;M<Q.oneOf.length;M++)Q.oneOf[M]=D(Q.oneOf[M]);else if(Q.allOf)for(let M=0;M<Q.allOf.length;M++)Q.allOf[M]=D(Q.allOf[M]);else if(Q.not)for(let M=0;M<Q.not.length;M++)Q.not[M]=D(Q.not[M]);if(z)Q[G1]=z[G1];if(Q.anyOf||Q.oneOf||Q.allOf||Q.not)return Q;if(U){const M={};for(let[I,O]of Object.entries(U))M[I]=h(O,W,!1);return{...F,...Q,properties:M}}else if(w?.map)return{...F,...Q,items:w.map((M)=>h(M,W,!1))};return{...F,...Q}}const J=$?.properties;if(J&&X&&W.rootOnly!==!0)for(let[Y,G]of Object.entries(J))switch(G[H0]){case Z:const{anyOf:K,oneOf:B,allOf:U,not:w,type:F,...Q}=G,z=W.to(Q);if(z.anyOf)for(let D=0;D<z.anyOf.length;D++)z.anyOf[D]={...Q,...z.anyOf[D]};else if(z.oneOf)for(let D=0;D<z.oneOf.length;D++)z.oneOf[D]={...Q,...z.oneOf[D]};else if(z.allOf)for(let D=0;D<z.allOf.length;D++)z.allOf[D]={...Q,...z.allOf[D]};else if(z.not)for(let D=0;D<z.not.length;D++)z.not[D]={...Q,...z.not[D]};J[Y]={...Q,...h(Q,W,!1)};break;case"Object":case"Union":J[Y]=h(G,W,!1);break;default:if(G.items)for(let D=0;D<G.items.length;D++)G.items[D]=h(G.items[D],W,!1);else if(G.anyOf||G.oneOf||G.allOf||G.not)J[Y]=h(G,W,!1);break}return $},m=($,{models:W={},dynamic:X=!1,normalize:Z=!1,additionalProperties:j=!1,coerce:J=!1,additionalCoerce:Y=[]}={})=>{if(!$)return;if(typeof $==="string"&&!($ in W))return;let G=typeof $==="string"?W[$]:$;if(J||Y)if(J)G=V2(G,[{from:V.Number(),to:(U)=>V.Numeric(U),untilObjectFound:!0},{from:V.Boolean(),to:(U)=>V.BooleanString(U),untilObjectFound:!0},...Array.isArray(Y)?Y:[Y]]);else G=V2(G,[...Array.isArray(Y)?Y:[Y]]);if(G.type==="object"&&"additionalProperties"in G===!1)G.additionalProperties=j;const K=(U)=>l.Clean(G,U);if(X){const U={schema:G,references:"",checkFunc:()=>{},code:"",Check:(w)=>l.Check(G,w),Errors:(w)=>l.Errors(G,w),Code:()=>"",Clean:K,Decode:(w)=>l.Decode(G,w),Encode:(w)=>l.Encode(G,w)};if(Z&&G.additionalProperties===!1)U.Clean=K;if(G.config){if(U.config=G.config,U?.schema?.config)delete U.schema.config}return U.parse=(w)=>{try{return U.Decode(w)}catch(F){throw[...U.Errors(w)].map(o)}},U.safeParse=(w)=>{try{return{success:!0,data:U.Decode(w),error:null}}catch(F){const Q=[...B.Errors(w)].map(o);return{success:!1,data:null,error:Q[0]?.summary,errors:Q}}},U}const B=K1.Compile(G,Object.values(W));if(B.Clean=K,G.config){if(B.config=G.config,B?.schema?.config)delete B.schema.config}return B.parse=(U)=>{try{return B.Decode(U)}catch(w){throw[...B.Errors(U)].map(o)}},B.safeParse=(U)=>{try{return{success:!0,data:B.Decode(U),error:null}}catch(w){const F=[...B.Errors(U)].map(o);return{success:!1,data:null,error:F[0]?.summary,errors:F}}},B},$2=($,{models:W={},dynamic:X=!1,normalize:Z=!1,additionalProperties:j=!1})=>{if(!$)return;if(typeof $==="string"&&!($ in W))return;const J=typeof $==="string"?W[$]:$,Y=(K,B)=>{const U=(F)=>{if(!F||typeof F!=="object")return l.Clean(K,F);if(Array.isArray(F))F=l.Clean(K,F);else F=l.Clean(K,F);return F};if(X)return{schema:K,references:"",checkFunc:()=>{},code:"",Check:(F)=>l.Check(K,F),Errors:(F)=>l.Errors(K,F),Code:()=>"",Decode:(F)=>l.Decode(K,F),Encode:(F)=>l.Encode(K,F)};const w=K1.Compile(K,B);if(Z&&K.additionalProperties===!1)w.Clean=U;return w};if(H0 in J){if("additionalProperties"in J===!1)J.additionalProperties=j;return{200:Y(J,Object.values(W))}}const G={};return Object.keys(J).forEach((K)=>{const B=J[+K];if(typeof B==="string"){if(B in W){const U=W[B];U.type==="object"&&"additionalProperties"in U,G[+K]=H0 in U?Y(U,Object.values(W)):U}return}if(B.type==="object"&&"additionalProperties"in B===!1)B.additionalProperties=j;G[+K]=H0 in B?Y(B,Object.values(W)):B}),G},P3=typeof Bun!=="undefined",I3=P3&&typeof Bun.hash==="function",N0=($)=>{if(I3)return Bun.hash($);let W=9;for(let X=0;X<$.length;)W=Math.imul(W^$.charCodeAt(X++),387420489);return W=W^W>>>9},A2,D0=()=>{if(!A2)A2=[{from:V.Object({}),to:()=>V.ObjectString({}),excludeRoot:!0},{from:V.Array(V.Any()),to:()=>V.ArrayString(V.Any())}];return A2},O2,S2=()=>{if(!O2)O2=[{from:V.Number(),to:($)=>V.Numeric($),rootOnly:!0},{from:V.Boolean(),to:($)=>V.BooleanString($),rootOnly:!0}];return O2},W2=({validator:$,defaultConfig:W={},config:X,dynamic:Z,models:j})=>{let J=m($,{dynamic:Z,models:j,additionalProperties:!0,coerce:!0,additionalCoerce:D0()});if(c(W))if(J)J.config=z3(J.config,X);else J=m(V.Cookie({}),{dynamic:Z,models:j,additionalProperties:!0}),J.config=W;return J},j0=($,W)=>{if(!W)return;if(!Array.isArray(W)){const Z=W;if($&&!Z.checksum)Z.checksum=$;if(Z.scope==="scoped")Z.scope="local";return Z}const X=[...W];for(let Z of X){if($&&!Z.checksum)Z.checksum=$;if(Z.scope==="scoped")Z.scope="local"}return X},C2=($,W,X)=>{return{start:f($.start,j0(X,W?.start)),request:f($.request,j0(X,W?.request)),parse:f($.parse,j0(X,W?.parse)),transform:f($.transform,j0(X,W?.transform)),beforeHandle:f($.beforeHandle,j0(X,W?.beforeHandle)),afterHandle:f($.afterHandle,j0(X,W?.afterHandle)),mapResponse:f($.mapResponse,j0(X,W?.mapResponse)),afterResponse:f($.afterResponse,j0(X,W?.afterResponse)),trace:f($.trace,j0(X,W?.trace)),error:f($.error,j0(X,W?.error)),stop:f($.stop,j0(X,W?.stop))}},w1=($,W,{skipIfHasType:X=!1}={})=>{if(!$)return $;if(!Array.isArray($)){if(X)$.scope??=W;else $.scope=W;return $}for(let Z of $)if(X)Z.scope??=W;else Z.scope=W;return $},z0=($)=>{if(!$)return $;if(!Array.isArray($))switch($.scope){case"global":case"scoped":return{...$};default:return{fn:$}}const W=[];for(let X of $)switch(X.scope){case"global":case"scoped":W.push({...X});break}return W},L2=($)=>{return{...$,type:$?.type,detail:$?.detail,parse:z0($?.parse),transform:z0($?.transform),beforeHandle:z0($?.beforeHandle),afterHandle:z0($?.afterHandle),mapResponse:z0($?.mapResponse),afterResponse:z0($?.afterResponse),error:z0($?.error),trace:z0($?.trace)}},_0={Continue:100,"Switching Protocols":101,Processing:102,"Early Hints":103,OK:200,Created:201,Accepted:202,"Non-Authoritative Information":203,"No Content":204,"Reset Content":205,"Partial Content":206,"Multi-Status":207,"Already Reported":208,"Multiple Choices":300,"Moved Permanently":301,Found:302,"See Other":303,"Not Modified":304,"Temporary Redirect":307,"Permanent Redirect":308,"Bad Request":400,Unauthorized:401,"Payment Required":402,Forbidden:403,"Not Found":404,"Method Not Allowed":405,"Not Acceptable":406,"Proxy Authentication Required":407,"Request Timeout":408,Conflict:409,Gone:410,"Length Required":411,"Precondition Failed":412,"Payload Too Large":413,"URI Too Long":414,"Unsupported Media Type":415,"Range Not Satisfiable":416,"Expectation Failed":417,"I'm a teapot":418,"Misdirected Request":421,"Unprocessable Content":422,Locked:423,"Failed Dependency":424,"Too Early":425,"Upgrade Required":426,"Precondition Required":428,"Too Many Requests":429,"Request Header Fields Too Large":431,"Unavailable For Legal Reasons":451,"Internal Server Error":500,"Not Implemented":501,"Bad Gateway":502,"Service Unavailable":503,"Gateway Timeout":504,"HTTP Version Not Supported":505,"Variant Also Negotiates":506,"Insufficient Storage":507,"Loop Detected":508,"Not Extended":510,"Network Authentication Required":511},X2=Object.fromEntries(Object.entries(_0).map(([$,W])=>[W,$])),B1=new TextEncoder,x0=async($,W)=>{if(typeof $!=="string")throw new TypeError("Cookie value must be provided as a string.");if(W===null)throw new TypeError("Secret key must be provided.");const X=await crypto.subtle.importKey("raw",B1.encode(W),{name:"HMAC",hash:"SHA-256"},!1,["sign"]),Z=await crypto.subtle.sign("HMAC",X,B1.encode($));return $+"."+A3(Buffer.from(Z).toString("base64"))},P2=async($,W)=>{if(typeof $!=="string")throw new TypeError("Signed cookie string must be provided.");if(W===null)throw new TypeError("Secret key must be provided.");const X=$.slice(0,$.lastIndexOf("."));return await x0(X,W)===$?X:!1},_1=($,W)=>{if(!$||typeof $!=="object"||!W)return;for(let[X,Z]of Object.entries(W)){if(X in N3||!(X in $))continue;const j=$[X];if(typeof j==="function")j(Z),delete W[X]}},F1=({globalHook:$,localHook:W})=>(X)=>(Z,j)=>{if(typeof Z==="function")Z={fn:Z};if("fn"in Z||Array.isArray(Z)){if(!W[X])W[X]=[];if(typeof W[X]==="function")W[X]=[W[X]];if(Array.isArray(Z))W[X]=W[X].concat(Z);else W[X].push(Z);return}const{insert:J="after",stack:Y="local"}=Z;if(typeof j==="function")j={fn:j};if(Y==="global")if(!Array.isArray(j))if(J==="before")$[X].unshift(j);else $[X].push(j);else if(J==="before")$[X]=j.concat($[X]);else $[X]=$[X].concat(j);else{if(!W[X])W[X]=[];if(typeof W[X]==="function")W[X]=[W[X]];if(!Array.isArray(j))if(J==="before")W[X].unshift(j);else W[X].push(j);else if(J==="before")W[X]=j.concat(W[X]);else W[X]=W[X].concat(j)}},O3=($)=>{if(typeof $==="number")return $;if($.length<16){if($.trim().length===0)return null;const W=Number($);if(Number.isNaN(W))return null;return W}if($.length===16){if($.trim().length===0)return null;const W=Number($);if(Number.isNaN(W)||W.toString()!==$)return null;return W}return null},Z2=($)=>O3($)!==null;class T2{$;root=null;promises=[];constructor($=console.error){this.onError=$}get size(){return this.promises.length}add($){return this.promises.push($),this.root||=this.drain(),$}async drain(){while(this.promises.length>0){try{await this.promises[0]}catch($){this.onError($)}this.promises.shift()}this.root=null}then($,W){return(this.root??Promise.resolve()).then($,W)}}var n=($)=>{if(!$)return $;if(!Array.isArray($)){if(typeof $==="function")return{fn:$};else if("fn"in $)return $}const W=[];for(let X of $)if(typeof X==="function")W.push({fn:X});else if("fn"in X)W.push(X);return W},M1=($)=>{return{...$,start:n($?.start),request:n($?.request),parse:n($?.parse),transform:n($?.transform),beforeHandle:n($?.beforeHandle),afterHandle:n($?.afterHandle),mapResponse:n($?.mapResponse),afterResponse:n($?.afterResponse),trace:n($?.trace),error:n($?.error),stop:n($?.stop)}},E2=($)=>{return{...$,start:$.start?.map((W)=>W.fn),request:$.request?.map((W)=>W.fn),parse:$.parse?.map((W)=>W.fn),transform:$.transform?.map((W)=>W.fn),beforeHandle:$.beforeHandle?.map((W)=>W.fn),afterHandle:$.afterHandle?.map((W)=>W.fn),afterResponse:$.afterResponse?.map((W)=>W.fn),mapResponse:$.mapResponse?.map((W)=>W.fn),trace:$.trace?.map((W)=>W.fn),error:$.error?.map((W)=>W.fn),stop:$.stop?.map((W)=>W.fn)}},m0=($)=>({body:$.body,cookie:$.cookie,headers:$.headers,query:$.query,set:$.set,server:$.server}),d0=($,W=302)=>Response.redirect($,W),V3=Symbol("ElysiaFormData"),P0=Symbol("ElysiaRequestId"),S3=($)=>{const W=new FormData;for(let[X,Z]of Object.entries($)){if(Array.isArray(Z)){for(let j of Z){if(Z instanceof File)W.append(X,Z,Z.name);W.append(X,j)}continue}if(Z instanceof File)W.append(X,Z,Z.name);W.append(X,Z)}return W},j2=()=>crypto.getRandomValues(new Uint32Array(1))[0],J2=($)=>{const W=[];for(let X=0;X<$.length;X++){const Z=$[X];if(Z.checksum){if(W.includes(Z.checksum))$.splice(X,1),X--;W.push(Z.checksum)}}return $},v=($,W="scoped")=>{if(W==="scoped"){for(let X of $)if("scope"in X&&X.scope==="local")X.scope="scoped";return}for(let X of $)if("scope"in X)X.scope="global"};var z1=typeof Bun!=="undefined"?Bun.env:typeof process!=="undefined"?process?.env:void 0,I0=Symbol("ElysiaErrorCode"),p0=(z1?.NODE_ENV??z1?.ENV)==="production";class p{code;response;constructor($,W){const X=W??($ in X2?X2[$]:$);this.code=_0[$]??$,this.response=X}}var q2=($,W)=>new p($,W);class Q2 extends Error{code="INTERNAL_SERVER_ERROR";status=500;constructor($){super($??"INTERNAL_SERVER_ERROR")}}class A0 extends Error{code="NOT_FOUND";status=404;constructor($){super($??"NOT_FOUND")}}class Y2 extends Error{code="PARSE";status=400;constructor(){super("Failed to parse body")}}class v0 extends Error{$;code="INVALID_COOKIE_SIGNATURE";status=400;constructor($,W){super(W??`"${$}" has invalid cookie signature`);this.key=$}}var o=($)=>{if(!$)return{summary:void 0};const{message:W,path:X,value:Z,type:j}=$,J=X.slice(1).replaceAll("/","."),Y=X==="";switch(j){case 42:return{...$,summary:Y?"Value should not be provided":`Property '${J}' should not be provided`};case 45:return{...$,summary:Y?"Value is missing":`Property '${J}' is missing`};case 50:const G=W.indexOf("'"),K=W.slice(G+1,W.indexOf("'",G+1));return{...$,summary:Y?"Value should be an email":`Property '${J}' should be ${K}`};case 54:return{...$,summary:`${W.slice(0,9)} property '${J}' to be ${W.slice(8)} but found: ${Z}`};case 62:const B=$.schema.anyOf.map((U)=>`'${U?.format??U.type}'`).join(", ");return{...$,summary:Y?`Value should be one of ${B}`:`Property '${J}' should be one of: ${B}`};default:return{summary:W,...$}}};class q extends Error{$;W;X;code="VALIDATION";status=422;constructor($,W,X){if(X&&typeof X==="object"&&X instanceof p)X=X.response;const Z=p0?void 0:("Errors"in W)?W.Errors(X).First():c0.Errors(W,X).First(),j=Z?.schema.error!==void 0?typeof Z.schema.error==="function"?Z.schema.error({type:$,validator:W,value:X,get errors(){return[...W.Errors(X)].map(o)}}):Z.schema.error:void 0,J=Z?.path||"root";let Y="";if(j!==void 0)Y=typeof j==="object"?JSON.stringify(j):j+"";else if(p0)Y=JSON.stringify({type:"validation",on:$,summary:o(Z).summary,message:Z?.message,found:X});else{const G=W?.schema??W,K="Errors"in W?[...W.Errors(X)].map(o):[...c0.Errors(W,X)].map(o);let B;try{B=c0.Create(G)}catch(U){B={type:"Could not create expected value",message:U?.message,error:U}}Y=JSON.stringify({type:"validation",on:$,summary:K[0]?.summary,property:J,message:Z?.message,expected:B,found:X,errors:K},null,2)}super(Y);this.type=$;this.validator=W;this.value=X;Object.setPrototypeOf(this,q.prototype)}get all(){return"Errors"in this.validator?[...this.validator.Errors(this.value)].map(o):[...c0.Errors(this.validator,this.value)].map(o)}static simplifyModel($){const W="schema"in $?$.schema:$;try{return c0.Create(W)}catch{return W}}get model(){return q.simplifyModel(this.validator)}toResponse($){return new Response(this.message,{status:400,headers:{...$,"content-type":"application/json"}})}}var H2={open($){$.data.open?.($)},message($,W){$.data.message?.($,W)},drain($){$.data.drain?.($)},close($,W,X){$.data.close?.($,W,X)}};class g0{$;W;validator;_validator;constructor($,W){this.raw=$;this.data=W;if(this.validator=$.data.validator,$.data.id)this.id=$.data.id;else this.id=j2().toString()}get id(){return this.raw.data.id}set id($){this.raw.data.id=$}get publish(){return($,W=void 0,X)=>{if(this.validator?.Check(W)===!1)throw new q("message",this.validator,W);if(typeof W==="object")W=JSON.stringify(W);return this.raw.publish($,W,X),this}}get send(){return($)=>{if(this.validator?.Check($)===!1)throw new q("message",this.validator,$);if(Buffer.isBuffer($))return this.raw.send($),this;if(typeof $==="object")$=JSON.stringify($);return this.raw.send($),this}}get subscribe(){return($)=>{return this.raw.subscribe($),this}}get unsubscribe(){return($)=>{return this.raw.unsubscribe($),this}}get cork(){return($)=>{return this.raw.cork($),this}}get close(){return()=>{return this.raw.close(),this}}get terminate(){return this.raw.terminate.bind(this.raw)}get isSubscribed(){return this.raw.isSubscribed.bind(this.raw)}get remoteAddress(){return this.raw.remoteAddress}}var R2="1.1.22";import{Value as n0}from"@sinclair/typebox/value";import{TypeBoxError as L3}from"@sinclair/typebox";var O0=U2(o0(),1);function G2($){const W={};if(typeof $!=="string")return W;let X="",Z="",j=-1,J=-1,Y=0;const G=$.length;for(let K=0;K<G;K++)switch($.charCodeAt(K)){case 38:const B=J>j;if(!B)J=K;if(X=$.slice(j+1,J),B||X.length>0){if(Y&1)X=X.replace(f0," ");if(Y&2)X=O0.default(X)||X;if(!W[X]){if(B){if(Z=$.slice(J+1,K),Y&4)Z=Z.replace(f0," ");if(Y&8)Z=O0.default(Z)||Z}W[X]=Z}}X="",Z="",j=K,J=K,Y=0;break;case 61:if(J<=j)J=K;else Y|=8;break;case 43:if(J>j)Y|=4;else Y|=1;break;case 37:if(J>j)Y|=8;else Y|=2;break}if(j<G){const K=J>j;if(X=$.slice(j+1,K?J:G),K||X.length>0){if(Y&1)X=X.replace(f0," ");if(Y&2)X=O0.default(X)||X;if(!W[X]){if(K){if(Z=$.slice(J+1,G),Y&4)Z=Z.replace(f0," ");if(Y&8)Z=O0.default(Z)||Z}W[X]=Z}}}return W}var f0=/\+/g,l0=($)=>{const W={};if(typeof $!=="string")return W;const X=$.length;let Z="",j="",J=-1,Y=-1,G=!1,K=!1,B=!1,U=!1,w=!1,F=0;for(let Q=0;Q<X+1;Q++){if(Q!==X)F=$.charCodeAt(Q);else F=38;switch(F){case 38:{if(w=Y>J,!w)Y=Q;if(Z=$.slice(J+1,Y),w||Z.length>0){if(B)Z=Z.replace(f0," ");if(G)Z=O0.default(Z)||Z;if(w){if(j=$.slice(Y+1,Q),U)j=j.replace(f0," ");if(K)j=O0.default(j)||j}const z=W[Z];if(z===void 0)W[Z]=j;else if(z.pop)z.push(j);else W[Z]=[z,j]}j="",J=Q,Y=Q,G=!1,K=!1,B=!1,U=!1;break}case 61:if(Y<=J)Y=Q;else K=!0;break;case 43:if(Y>J)U=!0;else B=!0;break;case 37:if(Y>J)K=!0;else G=!0;break}}return W};var N1=U2(o0(),1);var i0=Symbol("ElysiaTrace"),F0=()=>{const{promise:$,resolve:W}=Promise.withResolvers(),{promise:X,resolve:Z}=Promise.withResolvers(),{promise:j,resolve:J}=Promise.withResolvers(),Y=[],G=[];return[(K)=>{if(K)Y.push(K);return $},(K)=>{const B=[],U=[];let w=null;for(let Q=0;Q<(K.total??0);Q++){const{promise:z,resolve:D}=Promise.withResolvers(),{promise:M,resolve:I}=Promise.withResolvers(),{promise:O,resolve:P}=Promise.withResolvers(),b=[],T=[];B.push((E)=>{if(E)b.push(E);return z}),U.push((E)=>{const r={...E,end:M,error:O,index:Q,onStop(L){if(L)T.push(L);return M}};D(r);for(let L=0;L<b.length;L++)b[L](r);return(L=null)=>{const g=performance.now();if(L)w=L;const R={end:g,error:L,get elapsed(){return g-E.begin}};for(let Y0=0;Y0<T.length;Y0++)T[Y0](R);I(g),P(L)}})}const F={...K,end:X,error:j,onEvent(Q){for(let z=0;z<B.length;z++)B[z](Q)},onStop(Q){if(Q)G.push(Q);return X}};W(F);for(let Q=0;Q<Y.length;Q++)Y[Q](F);return{resolveChild:U,resolve(Q=null){const z=performance.now();if(!Q&&w)Q=w;const D={end:z,error:Q,get elapsed(){return z-K.begin}};for(let M=0;M<G.length;M++)G[M](D);Z(z),J(Q)}}}]},D1=($)=>{return(W)=>{const[X,Z]=F0(),[j,J]=F0(),[Y,G]=F0(),[K,B]=F0(),[U,w]=F0(),[F,Q]=F0(),[z,D]=F0(),[M,I]=F0(),[O,P]=F0();return $({id:W[P0],context:W,set:W.set,onRequest:X,onParse:j,onTransform:Y,onBeforeHandle:K,onHandle:U,onAfterHandle:F,onMapResponse:M,onAfterResponse:O,onError:z}),{request:Z,parse:J,transform:G,beforeHandle:B,handle:w,afterHandle:Q,error:D,mapResponse:I,afterResponse:P}}};var T3=new Headers().toJSON,P1={optional:Symbol.for("TypeBox.Optional"),kind:Symbol.for("TypeBox.Kind")},t=($)=>{if(!$)return!1;const W=$?.schema;return!!W&&P1.optional in W},J0=($)=>{if(!$)return!1;const W=$?.schema??$;if(W.anyOf)return W.anyOf.some(J0);if(W.someOf)return W.someOf.some(J0);if(W.allOf)return W.allOf.some(J0);if(W.not)return W.not.some(J0);if(W.type==="object"){const X=W.properties;if("additionalProperties"in W)return W.additionalProperties;for(let Z of Object.keys(X)){const j=X[Z];if(j.type==="object"){if(J0(j))return!0}else if(j.anyOf){for(let J=0;J<j.anyOf.length;J++)if(J0(j.anyOf[J]))return!0}return j.additionalProperties}return!1}return!1},x2=({context:$="c",trace:W,addFn:X})=>{if(!W.length)return()=>{return{resolveChild(){return()=>{}},resolve(){}}};for(let Z=0;Z<W.length;Z++)X(`let report${Z}, reportChild${Z}, reportErr${Z}, reportErrChild${Z}; let trace${Z} = ${$}[ELYSIA_TRACE]?.[${Z}] ?? trace[${Z}](${$});\n`);return(Z,{name:j,total:J=0}={})=>{if(!j)j="anonymous";const Y=Z==="error"?"reportErr":"report";for(let G=0;G<W.length;G++)X(`\n${Y}${G} = trace${G}.${Z}({id,event: '${Z}',name: '${j}',begin: performance.now(),total: ${J}})\n`);return{resolve(){for(let G=0;G<W.length;G++)X(`\n${Y}${G}.resolve()\n`)},resolveChild(G){for(let K=0;K<W.length;K++)X(`${Y}Child${K} = ${Y}${K}.resolveChild?.shift()?.({id,event: '${Z}',name: '${G}',begin: performance.now()})\n`);return(K)=>{for(let B=0;B<W.length;B++)if(K)X(`
2
+ var H2=Object.create;var{getPrototypeOf:R2,defineProperty:f1,getOwnPropertyNames:b2}=Object;var x2=Object.prototype.hasOwnProperty;var k0=($,W,X)=>{X=$!=null?H2(R2($)):{};let Z=W||!$||!$.__esModule?f1(X,"default",{value:$,enumerable:!0}):X;for(let J of b2($))if(!x2.call(Z,J))f1(Z,J,{get:()=>$[J],enumerable:!0});return Z};var y1=($,W)=>()=>(W||$((W={exports:{}}).exports,W),W.exports);var z1=y1((e1)=>{Object.defineProperty(e1,"__esModule",{value:!0});e1.parse=F3;e1.serialize=z3;var G3=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,B3=/^("?)[\u0021\u0023-\u002B\u002D-\u003A\u003C-\u005B\u005D-\u007E]*\1$/,K3=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,U3=/^[\u0020-\u003A\u003D-\u007E]*$/,w3=Object.prototype.toString,_3=(()=>{let $=function(){};return $.prototype=Object.create(null),$})();function F3($,W){let X=new _3,Z=$.length;if(Z<2)return X;let J=W?.decode||M3,j=0;do{let Y=$.indexOf("=",j);if(Y===-1)break;let G=$.indexOf(";",j),K=G===-1?Z:G;if(Y>K){j=$.lastIndexOf(";",Y-1)+1;continue}let B=a1($,j,Y),U=o1($,Y,B),w=$.slice(B,U);if(X[w]===void 0){let F=a1($,Y+1,K),Q=o1($,K,F),M=J($.slice(F,Q));X[w]=M}j=K+1}while(j<Z);return X}function a1($,W,X){do{let Z=$.charCodeAt(W);if(Z!==32&&Z!==9)return W}while(++W<X);return X}function o1($,W,X){while(W>X){let Z=$.charCodeAt(--W);if(Z!==32&&Z!==9)return W+1}return X}function z3($,W,X){let Z=X?.encode||encodeURIComponent;if(!G3.test($))throw new TypeError(`argument name is invalid: ${$}`);let J=Z(W);if(!B3.test(J))throw new TypeError(`argument val is invalid: ${W}`);let j=$+"="+J;if(!X)return j;if(X.maxAge!==void 0){if(!Number.isInteger(X.maxAge))throw new TypeError(`option maxAge is invalid: ${X.maxAge}`);j+="; Max-Age="+X.maxAge}if(X.domain){if(!K3.test(X.domain))throw new TypeError(`option domain is invalid: ${X.domain}`);j+="; Domain="+X.domain}if(X.path){if(!U3.test(X.path))throw new TypeError(`option path is invalid: ${X.path}`);j+="; Path="+X.path}if(X.expires){if(!D3(X.expires)||!Number.isFinite(X.expires.valueOf()))throw new TypeError(`option expires is invalid: ${X.expires}`);j+="; Expires="+X.expires.toUTCString()}if(X.httpOnly)j+="; HttpOnly";if(X.secure)j+="; Secure";if(X.partitioned)j+="; Partitioned";if(X.priority)switch(typeof X.priority==="string"?X.priority.toLowerCase():X.sameSite){case"low":j+="; Priority=Low";break;case"medium":j+="; Priority=Medium";break;case"high":j+="; Priority=High";break;default:throw new TypeError(`option priority is invalid: ${X.priority}`)}if(X.sameSite)switch(typeof X.sameSite==="string"?X.sameSite.toLowerCase():X.sameSite){case!0:case"strict":j+="; SameSite=Strict";break;case"lax":j+="; SameSite=Lax";break;case"none":j+="; SameSite=None";break;default:throw new TypeError(`option sameSite is invalid: ${X.sameSite}`)}return j}function M3($){if($.indexOf("%")===-1)return $;try{return decodeURIComponent($)}catch(W){return $}}function D3($){return w3.call($)==="[object Date]"}});var o0=y1((D8,X2)=>{var $2=12,I3=0,M1=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,7,7,7,7,7,7,7,7,7,7,7,7,8,7,7,10,9,9,9,11,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,24,36,48,60,72,84,96,0,12,12,12,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,24,24,24,0,0,0,0,0,0,0,0,0,24,24,0,0,0,0,0,0,0,0,0,0,48,48,48,0,0,0,0,0,0,0,0,0,0,48,48,0,0,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,127,63,63,63,0,31,15,15,15,7,7,7];function A3($){var W=$.indexOf("%");if(W===-1)return $;var X=$.length,Z="",J=0,j=0,Y=W,G=$2;while(W>-1&&W<X){var K=W2($[W+1],4),B=W2($[W+2],0),U=K|B,w=M1[U];if(G=M1[256+G+w],j=j<<6|U&M1[364+w],G===$2)Z+=$.slice(J,Y),Z+=j<=65535?String.fromCharCode(j):String.fromCharCode(55232+(j>>10),56320+(j&1023)),j=0,J=W+3,W=Y=$.indexOf("%",J);else if(G===I3)return null;else{if(W+=3,W<X&&$.charCodeAt(W)===37)continue;return null}}return Z+$.slice(J)}var O3={"0":0,"1":1,"2":2,"3":3,"4":4,"5":5,"6":6,"7":7,"8":8,"9":9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};function W2($,W){var X=O3[$];return X===void 0?255:X<<W}X2.exports=A3});var T0=($,W)=>{let X=W?.length?{}:null;if(X)for(let Z of W)X[Z.part.charCodeAt(0)]=Z;return{part:$,store:null,inert:X,params:null,wildcardStore:null}},k1=($,W)=>({...$,part:W}),v1=($)=>({name:$,store:null,inert:null});class z0{root={};history=[];static regex={static:/:.+?(?=\/|$)/,params:/:.+?(?=\/|$)/g,optionalParams:/:.+?\?(?=\/|$)/g};add($,W,X,{ignoreError:Z=!1,ignoreHistory:J=!1}={}){if(typeof W!=="string")throw new TypeError("Route path must be a string");if(W==="")W="/";else if(W[0]!=="/")W=`/${W}`;let j=W[W.length-1]==="*",Y=W.match(z0.regex.optionalParams);if(Y){let w=W.replaceAll("?","");this.add($,w,X,{ignoreError:Z});for(let F=0;F<Y.length;F++){let Q=W.replace("/"+Y[F],"");this.add($,Q,X,{ignoreError:!0})}return X}if(Y)W=W.replaceAll("?","");if(this.history.find(([w,F,Q])=>w===$&&F===W))return X;if(j||Y&&W.charCodeAt(W.length-1)===63)W=W.slice(0,-1);if(!J)this.history.push([$,W,X]);let G=W.split(z0.regex.static),K=W.match(z0.regex.params)||[];if(G[G.length-1]==="")G.pop();let B;if(!this.root[$])B=this.root[$]=T0("/");else B=this.root[$];let U=0;for(let w=0;w<G.length;++w){let F=G[w];if(w>0){let Q=K[U++].slice(1);if(B.params===null)B.params=v1(Q);else if(B.params.name!==Q)if(Z)return X;else throw new Error(`Cannot create route "${W}" with parameter "${Q}" because a route already exists with a different parameter name ("${B.params.name}") in the same location`);let M=B.params;if(M.inert===null){B=M.inert=T0(F);continue}B=M.inert}for(let Q=0;;){if(Q===F.length){if(Q<B.part.length){let M=k1(B,B.part.slice(Q));Object.assign(B,T0(F,[M]))}break}if(Q===B.part.length){if(B.inert===null)B.inert={};let M=B.inert[F.charCodeAt(Q)];if(M){B=M,F=F.slice(Q),Q=0;continue}let D=T0(F.slice(Q));B.inert[F.charCodeAt(Q)]=D,B=D;break}if(F[Q]!==B.part[Q]){let M=k1(B,B.part.slice(Q)),D=T0(F.slice(Q));Object.assign(B,T0(B.part.slice(0,Q),[M,D])),B=D;break}++Q}}if(U<K.length){let w=K[U].slice(1);if(B.params===null)B.params=v1(w);else if(B.params.name!==w)if(Z)return X;else throw new Error(`Cannot create route "${W}" with parameter "${w}" because a route already exists with a different parameter name ("${B.params.name}") in the same location`);if(B.params.store===null)B.params.store=X;return B.params.store}if(j){if(B.wildcardStore===null)B.wildcardStore=X;return B.wildcardStore}if(B.store===null)B.store=X;return B.store}find($,W){let X=this.root[$];if(!X)return null;return U1(W,W.length,X,0)}}var U1=($,W,X,Z)=>{let J=X.part,j=J.length,Y=Z+j;if(j>1){if(Y>W)return null;if(j<15){for(let G=1,K=Z+1;G<j;++G,++K)if(J.charCodeAt(G)!==$.charCodeAt(K))return null}else if($.slice(Z,Y)!==J)return null}if(Y===W){if(X.store!==null)return{store:X.store,params:{}};if(X.wildcardStore!==null)return{store:X.wildcardStore,params:{"*":""}};return null}if(X.inert!==null){let G=X.inert[$.charCodeAt(Y)];if(G!==void 0){let K=U1($,W,G,Y);if(K!==null)return K}}if(X.params!==null){let{store:G,name:K,inert:B}=X.params,U=$.indexOf("/",Y);if(U!==Y){if(U===-1||U>=W){if(G!==null){let w={};return w[K]=$.substring(Y,W),{store:G,params:w}}}else if(B!==null){let w=U1($,W,B,U);if(w!==null)return w.params[K]=$.substring(Y,U),w}}}if(X.wildcardStore!==null)return{store:X.wildcardStore,params:{"*":$.substring(Y,W)}};return null};var E0=($)=>{let W=typeof $==="object"?$.fn.toString():typeof $==="string"?$.toString():$,X=W.indexOf(")");if(W.charCodeAt(X+2)===61&&W.charCodeAt(X+5)!==123)return!0;return W.includes("return")},g2=($)=>{if($.startsWith("async"))$=$.slice(5);$=$.trimStart();let W=-1;if($.charCodeAt(0)===40){if(W=$.indexOf("=>",$.indexOf(")")),W!==-1){let J=W;while(J>0)if($.charCodeAt(--J)===41)break;let j=$.slice(W+2);if(j.charCodeAt(0)===32)j=j.trimStart();return[$.slice(1,J),j,{isArrowReturn:j.charCodeAt(0)!==123}]}}if($.startsWith("function")){W=$.indexOf("(");let J=$.indexOf(")");return[$.slice(W+1,J),$.slice(J+2),{isArrowReturn:!1}]}let X=$.indexOf("(");if(X!==-1){let J=$.indexOf("\n",2),j=$.slice(0,J),Y=j.lastIndexOf(")")+1,G=$.slice(J+1);return[j.slice(X,Y),"{"+G,{isArrowReturn:!1}]}let Z=$.split("\n",2);return[Z[0],Z[1],{isArrowReturn:!1}]},f2=($)=>{let W=$.indexOf("{");if(W===-1)return[-1,0];let X=W+1,Z=1;for(;X<$.length;X++){let J=$.charCodeAt(X);if(J===123)Z++;else if(J===125)Z--;if(Z===0)break}if(Z!==0)return[0,$.length];return[W,X+1]},y2=($)=>{let W=$.lastIndexOf("}");if(W===-1)return[-1,0];let X=W-1,Z=1;for(;X>=0;X--){let J=$.charCodeAt(X);if(J===125)Z++;else if(J===123)Z--;if(Z===0)break}if(Z!==0)return[-1,0];return[X,W+1]},u1=($)=>{while(!0){let W=$.indexOf(":");if(W===-1)break;let X=$.indexOf(",",W);if(X===-1)X=$.indexOf("}",W)-1;if(X===-2)X=$.length;$=$.slice(0,W)+$.slice(X)}return $},h1=($)=>{let W=!1;if($.charCodeAt(0)===40)$=$.slice(1,-1);if($.charCodeAt(0)===123)W=!0,$=$.slice(1,-1);$=$.replace(/( |\t|\n)/g,"").trim();let X=[];while(!0){let[J,j]=f2($);if(J===-1)break;if(X.push($.slice(0,J-1)),$.charCodeAt(j)===44)j++;$=$.slice(j)}if($=u1($),$)X=X.concat($.split(","));let Z=[];for(let J of X){if(J.indexOf(",")===-1){Z.push(J);continue}for(let j of J.split(","))Z.push(j.trim())}return X=Z,{hasParenthesis:W,parameters:X}},k2=($,W)=>{let{parameters:X,hasParenthesis:Z}=h1($);if(!W.query&&X.includes("query"))W.query=!0;if(!W.headers&&X.includes("headers"))W.headers=!0;if(!W.body&&X.includes("body"))W.body=!0;if(!W.cookie&&X.includes("cookie"))W.cookie=!0;if(!W.set&&X.includes("set"))W.set=!0;if(!W.server&&X.includes("server"))W.server=!0;if(Z)return`{ ${X.join(", ")} }`;return X.join(", ")},v2=($,W,X)=>{let Z=W.indexOf($+"\n",X),J=W.indexOf($+"\t",X),j=W.indexOf($+",",X),Y=W.indexOf($+";",X),G=W.indexOf($+" ",X);return[Z,J,j,Y,G].filter((K)=>K>0).sort((K,B)=>K-B)[0]||-1};var m1=($,W,X=0)=>{if(X>5)return[];let Z=[],J=W;while(!0){let j=v2(" = "+$,J);if(j===-1){let K=J.indexOf(" = "+$);if(K+3+$.length!==J.length)break;j=K}let Y=J.slice(0,j),G=Y.slice(Y.lastIndexOf(" ")+1);if(G==="}"){let[K,B]=y2(Y);Z.push(u1(J.slice(K,B))),J=J.slice(j+3+$.length);continue}while(G.charCodeAt(0)===44)G=G.slice(1);while(G.charCodeAt(0)===9)G=G.slice(1);if(!G.includes("("))Z.push(G);J=J.slice(j+3+$.length)}for(let j of Z){if(j.charCodeAt(0)===123)continue;let Y=m1(j,W);if(Y.length>0)Z.push(...Y)}return Z},u2=($)=>{if(!$)return;if($.charCodeAt(0)!==123)return $;if($=$.slice(2,-2),!$.includes(",")){if($.includes("..."))return $.slice($.indexOf("...")+3);return}let X=$.indexOf("...");if(X===-1)return;return $.slice(X+3).trimEnd()},h2=($,W,X)=>{let Z=(J,j)=>$.includes(j+"."+J)||$.includes(j+'["'+J+'"]')||$.includes(j+"['"+J+"']");for(let J of W){if(!J)continue;if(J.charCodeAt(0)===123){let j=h1(J).parameters;if(!X.query&&j.includes("query"))X.query=!0;if(!X.headers&&j.includes("headers"))X.headers=!0;if(!X.body&&j.includes("body"))X.body=!0;if(!X.cookie&&j.includes("cookie"))X.cookie=!0;if(!X.set&&j.includes("set"))X.set=!0;if(!X.query&&j.includes("server"))X.server=!0;continue}if(!X.query&&Z("query",J))X.query=!0;if($.includes("return "+J)||$.includes("return "+J+".query"))X.query=!0;if(!X.headers&&Z("headers",J))X.headers=!0;if(!X.body&&Z("body",J))X.body=!0;if(!X.cookie&&Z("cookie",J))X.cookie=!0;if(!X.set&&Z("set",J))X.set=!0;if(!X.server&&Z("server",J))X.server=!0;if(X.query&&X.headers&&X.body&&X.cookie&&X.set&&X.server)break}return W};var m2=($,W,X)=>{try{let Z=new RegExp(`(?:\\w)\\((?:.*)?${$}`,"gs");Z.test(W);let J=W.charCodeAt(Z.lastIndex);if(J===41||J===44)return X.query=!0,X.headers=!0,X.body=!0,X.cookie=!0,X.set=!0,X.server=!0,!0;return!1}catch(Z){return console.log("[Sucrose] warning: unexpected isContextPassToFunction error, you may continue development as usual but please report the following to maintainers:"),console.log("--- body ---"),console.log(W),console.log("--- context ---"),console.log($),!0}},s0=($,W={query:!1,headers:!1,body:!1,cookie:!1,set:!1,server:!1})=>{let X=[];if($.handler&&typeof $.handler==="function")X.push($.handler);if($.request?.length)X.push(...$.request);if($.beforeHandle?.length)X.push(...$.beforeHandle);if($.parse?.length)X.push(...$.parse);if($.error?.length)X.push(...$.error);if($.transform?.length)X.push(...$.transform);if($.afterHandle?.length)X.push(...$.afterHandle);if($.mapResponse?.length)X.push(...$.mapResponse);if($.afterResponse?.length)X.push(...$.afterResponse);for(let Z of X){if(!Z)continue;let J="fn"in Z?Z.fn:Z,[j,Y,{isArrowReturn:G}]=g2(J.toString()),K=k2(j,W),B=u2(K);if(B){let U=m1(B,Y);if(U.splice(0,-1,B),!m2(B,Y,W))h2(Y,U,W);if(!W.query&&Y.includes("return "+B+".query"))W.query=!0}if(W.query&&W.headers&&W.body&&W.cookie&&W.set&&W.server)break}return W};import{Value as l0}from"@sinclair/typebox/value";import{Kind as H0,TransformKind as w2}from"@sinclair/typebox";import{Value as p}from"@sinclair/typebox/value";import{TypeCompiler as F2}from"@sinclair/typebox/compiler";import{Kind as Z3,TypeRegistry as F1}from"@sinclair/typebox";import{TypeSystem as q0}from"@sinclair/typebox/system";import{Type as v0,FormatRegistry as W0}from"@sinclair/typebox";import{TypeCompiler as i1}from"@sinclair/typebox/compiler";import{Value as $0}from"@sinclair/typebox/value";var a0={date:p1,time:w1(!0),"date-time":d1(!0),"iso-time":w1(!1),"iso-date-time":d1(!1),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:r2,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:X3,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:s2,int32:{type:"number",validate:e2},int64:{type:"number",validate:$3},float:{type:"number",validate:l1},double:{type:"number",validate:l1},password:!0,binary:!0};function d2($){return $%4===0&&($%100!==0||$%400===0)}var c2=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,l2=[0,31,28,31,30,31,30,31,31,30,31,30,31];function p1($){let W=c2.exec($);if(!W)return!1;let X=+W[1],Z=+W[2],J=+W[3];return Z>=1&&Z<=12&&J>=1&&J<=(Z===2&&d2(X)?29:l2[Z])}var p2=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function w1($){return function W(X){let Z=p2.exec(X);if(!Z)return!1;let J=+Z[1],j=+Z[2],Y=+Z[3],G=Z[4],K=Z[5]==="-"?-1:1,B=+(Z[6]||0),U=+(Z[7]||0);if(B>23||U>59||$&&!G)return!1;if(J<=23&&j<=59&&Y<60)return!0;let w=j-U*K,F=J-B*K-(w<0?1:0);return(F===23||F===-1)&&(w===59||w===-1)&&Y<61}}var i2=/t|\s/i;function d1($){let W=w1($);return function X(Z){let J=Z.split(i2);return J.length===2&&p1(J[0])&&W(J[1])}}var n2=/\/|:/,t2=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function r2($){return n2.test($)&&t2.test($)}var c1=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function s2($){return c1.lastIndex=0,c1.test($)}var a2=-2147483648,o2=2147483647;function e2($){return Number.isInteger($)&&$<=o2&&$>=a2}function $3($){return Number.isInteger($)}function l1(){return!0}var W3=/[^\\]\\Z/;function X3($){if(W3.test($))return!1;try{return new RegExp($),!0}catch(W){return!1}}import{TypeSystemPolicy as B8,TypeSystem as K8,TypeSystemDuplicateFormat as U8,TypeSystemDuplicateTypeKind as w8}from"@sinclair/typebox/system";import{TypeCompiler as F8,TypeCheck as z8}from"@sinclair/typebox/compiler";var t1=/(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))/,r1=/(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s\d{2}\s\d{4}\s\d{2}:\d{2}:\d{2}\sGMT(?:\+|-)\d{4}\s\([^)]+\)/,s1=/^(?:(?:(?:(?:0?[1-9]|[12][0-9]|3[01])[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:19|20)\d{2})|(?:(?:19|20)\d{2}[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:0?[1-9]|[12][0-9]|3[01]))))(?:\s(?:1[012]|0?[1-9]):[0-5][0-9](?::[0-5][0-9])?(?:\s[AP]M)?)?$/,J3=a0.date,j3=a0["date-time"];if(!W0.Has("date"))q0.Format("date",($)=>{let W=$.replace(/"/g,"");if(t1.test(W)||r1.test(W)||s1.test(W)||J3(W)){let X=new Date(W);if(!Number.isNaN(X.getTime()))return!0}return!1});if(!W0.Has("date-time"))q0.Format("date-time",($)=>{let W=$.replace(/"/g,"");if(t1.test(W)||r1.test(W)||s1.test(W)||j3(W)){let X=new Date(W);if(!Number.isNaN(X.getTime()))return!0}return!1});Object.entries(a0).forEach(($)=>{let[W,X]=$;if(!W0.Has(W)){if(X instanceof RegExp)q0.Format(W,(Z)=>X.test(Z));else if(typeof X==="function")q0.Format(W,X)}});var V=Object.assign({},v0),n1=($)=>{if(typeof $==="string")switch($.slice(-1)){case"k":return+$.slice(0,$.length-1)*1024;case"m":return+$.slice(0,$.length-1)*1048576;default:return+$}return $},_1=($,W)=>{if(!(W instanceof Blob))return!1;if($.minSize&&W.size<n1($.minSize))return!1;if($.maxSize&&W.size>n1($.maxSize))return!1;if($.extension)if(typeof $.extension==="string"){if(!W.type.startsWith($.extension))return!1}else{for(let X=0;X<$.extension.length;X++)if(W.type.startsWith($.extension[X]))return!0;return!1}return!0},Q3=F1.Get("Files")??q0.Type("File",_1),Y3=F1.Get("Files")??q0.Type("Files",($,W)=>{if(!Array.isArray(W))return _1($,W);if($.minItems&&W.length<$.minItems)return!1;if($.maxItems&&W.length>$.maxItems)return!1;for(let X=0;X<W.length;X++)if(!_1($,W[X]))return!1;return!0});if(!W0.Has("numeric"))W0.Set("numeric",($)=>!!$&&!isNaN(+$));if(!W0.Has("boolean"))W0.Set("boolean",($)=>$==="true"||$==="false");if(!W0.Has("ObjectString"))W0.Set("ObjectString",($)=>{let W=$.charCodeAt(0);if(W===9||W===10||W===32)W=$.trimStart().charCodeAt(0);if(W!==123&&W!==91)return!1;try{return JSON.parse($),!0}catch{return!1}});if(!W0.Has("ArrayString"))W0.Set("ArrayString",($)=>{let W=$.charCodeAt(0);if(W===9||W===10||W===32)W=$.trimStart().charCodeAt(0);if(W!==123&&W!==91)return!1;try{return JSON.parse($),!0}catch{return!1}});F1.Set("UnionEnum",($,W)=>{return(typeof W==="number"||typeof W==="string"||W===null)&&$.enum.includes(W)});var X0={Numeric:($)=>{let W=v0.Number($);return V.Transform(V.Union([V.String({format:"numeric",default:0}),V.Number($)],$)).Decode((X)=>{let Z=+X;if(isNaN(Z))return X;if($&&!$0.Check(W,Z))throw new q("property",W,Z);return Z}).Encode((X)=>X)},Date:($)=>{let W=v0.Date($);return V.Transform(V.Union([v0.Date($),V.String({format:"date",default:new Date().toISOString()}),V.String({format:"date-time",default:new Date().toISOString()})],$)).Decode((X)=>{if(X instanceof Date)return X;let Z=new Date(X);if(!$0.Check(W,Z))throw new q("property",W,Z);return Z}).Encode((X)=>{if(typeof X==="string")return new Date(X);return X})},BooleanString:($)=>{let W=v0.Boolean($);return V.Transform(V.Union([V.String({format:"boolean",default:!1}),V.Boolean($)],$)).Decode((X)=>{if(typeof X==="string")return X==="true";if($&&!$0.Check(W,X))throw new q("property",W,X);return X}).Encode((X)=>X)},ObjectString:($,W)=>{let X=V.Object($,W),Z=JSON.stringify($0.Create(X)),J;try{J=i1.Compile(X)}catch{}return V.Transform(V.Union([V.String({format:"ObjectString",default:Z}),X])).Decode((j)=>{if(typeof j==="string"){if(j.charCodeAt(0)!==123)throw new q("property",X,j);try{j=JSON.parse(j)}catch{throw new q("property",X,j)}if(J){if(!J.Check(j))throw new q("property",X,j);return J.Decode(j)}if(!$0.Check(X,j))throw new q("property",X,j);return $0.Decode(X,j)}return j}).Encode((j)=>{if(typeof j==="string")try{j=JSON.parse(j)}catch{throw new q("property",X,j)}if(!$0.Check(X,j))throw new q("property",X,j);return JSON.stringify(j)})},ArrayString:($={},W)=>{let X=V.Array($,W),Z=JSON.stringify($0.Create(X)),J;try{J=i1.Compile(X)}catch{}return V.Transform(V.Union([V.String({format:"ArrayString",default:Z}),X])).Decode((j)=>{if(typeof j==="string"){if(j.charCodeAt(0)!==91)throw new q("property",X,j);try{j=JSON.parse(j)}catch{throw new q("property",X,j)}if(J){if(!J.Check(j))throw new q("property",X,j);return J.Decode(j)}if(!$0.Check(X,j))throw new q("property",X,j);return $0.Decode(X,j)}return j}).Encode((j)=>{if(typeof j==="string")try{j=JSON.parse(j)}catch{throw new q("property",X,j)}if(!$0.Check(X,j))throw new q("property",X,j);return JSON.stringify(j)})},File:Q3,Files:($={})=>V.Transform(Y3($)).Decode((W)=>{if(Array.isArray(W))return W;return[W]}).Encode((W)=>W),Nullable:($)=>V.Union([$,V.Null()]),MaybeEmpty:($)=>V.Union([$,V.Null(),V.Undefined()]),Cookie:($,{domain:W,expires:X,httpOnly:Z,maxAge:J,path:j,priority:Y,sameSite:G,secure:K,secrets:B,sign:U,...w}={})=>{let F=V.Object($,w);return F.config={domain:W,expires:X,httpOnly:Z,maxAge:J,path:j,priority:Y,sameSite:G,secure:K,secrets:B,sign:U},F},UnionEnum:($,W={})=>{let X=$.every((Z)=>typeof Z==="string")?{type:"string"}:$.every((Z)=>typeof Z==="number")?{type:"number"}:$.every((Z)=>Z===null)?{type:"null"}:{};if($.some((Z)=>typeof Z==="object"&&Z!==null))throw new Error("This type does not support objects or arrays");return{default:$[0],...W,[Z3]:"UnionEnum",...X,enum:$}}};V.BooleanString=X0.BooleanString;V.ObjectString=X0.ObjectString;V.ArrayString=X0.ArrayString;V.Numeric=X0.Numeric;V.File=($={})=>X0.File({default:"File",...$,extension:$?.type,type:"string",format:"binary"});V.Files=($={})=>X0.Files({...$,elysiaMeta:"Files",default:"Files",extension:$?.type,type:"array",items:{...$,default:"Files",type:"string",format:"binary"}});V.Nullable=($)=>X0.Nullable($);V.MaybeEmpty=X0.MaybeEmpty;V.Cookie=X0.Cookie;V.Date=X0.Date;V.UnionEnum=X0.UnionEnum;var Q2=k0(z1(),1);var J2=k0(z1(),1),j2=k0(o0(),1);class w0{$;W;X;constructor($,W,X={}){this.name=$;this.jar=W;this.initial=X}get cookie(){return this.jar[this.name]??this.initial}set cookie($){if(!(this.name in this.jar))this.jar[this.name]=this.initial;this.jar[this.name]=$}get setCookie(){if(!(this.name in this.jar))this.jar[this.name]=this.initial;return this.jar[this.name]}set setCookie($){this.cookie=$}get value(){return this.cookie.value}set value($){this.setCookie.value=$}get expires(){return this.cookie.expires}set expires($){this.setCookie.expires=$}get maxAge(){return this.cookie.maxAge}set maxAge($){this.setCookie.maxAge=$}get domain(){return this.cookie.domain}set domain($){this.setCookie.domain=$}get path(){return this.cookie.path}set path($){this.setCookie.path=$}get secure(){return this.cookie.secure}set secure($){this.setCookie.secure=$}get httpOnly(){return this.cookie.httpOnly}set httpOnly($){this.setCookie.httpOnly=$}get sameSite(){return this.cookie.sameSite}set sameSite($){this.setCookie.sameSite=$}get priority(){return this.cookie.priority}set priority($){this.setCookie.priority=$}get partitioned(){return this.cookie.partitioned}set partitioned($){this.setCookie.partitioned=$}get secrets(){return this.cookie.secrets}set secrets($){this.setCookie.secrets=$}update($){return this.setCookie=Object.assign(this.cookie,typeof $==="function"?$(this.cookie):$),this}set($){return this.setCookie=Object.assign({...this.initial,value:this.value},typeof $==="function"?$(this.cookie):$),this}remove(){if(this.value===void 0)return;return this.set({expires:new Date(0),maxAge:0,value:""}),this}toString(){return typeof this.value==="object"?JSON.stringify(this.value):this.value?.toString()??""}}var Z2=($,W,X)=>{if(!$.cookie)$.cookie={};return new Proxy(W,{get(Z,J){if(J in W)return new w0(J,$.cookie,Object.assign({},X??{},W[J]));return new w0(J,$.cookie,Object.assign({},X))}})},e0=async($,W,{secrets:X,sign:Z,...J}={})=>{if(!W)return Z2($,{},J);let j=typeof X==="string";if(Z&&Z!==!0&&!Array.isArray(Z))Z=[Z];let Y={},G=J2.parse(W);for(let[K,B]of Object.entries(G)){let U=j2.default(B);if(Z===!0||Z?.includes(K)){if(!X)throw new Error("No secret is provided to cookie plugin");if(j){let w=await D1(U,X);if(w===!1)throw new u0(K);U=w}else{let w=!0;for(let F=0;F<X.length;F++){let Q=await D1(U,X[F]);if(Q!==!1){w=!0,U=Q;break}}if(!w)throw new u0(K)}}Y[K]={value:U}}return Z2($,Y,J)};var Y2="toJSON"in new Headers,c=($)=>{if(!$)return!1;for(let W in $)return!0;return!1},h0=($,W)=>{let X=$.size;if(!W&&X||X&&W&&W.status!==206&&W.status!==304&&W.status!==412&&W.status!==416){if(W&&c(W.headers)){if(W.headers instanceof Headers){if(Y2)W.headers=W.headers.toJSON();else for(let[Z,J]of W.headers.entries())if(Z in W.headers)W.headers[Z]=J}return new Response($,{status:W.status,headers:Object.assign({"accept-ranges":"bytes","content-range":`bytes 0-${X-1}/${X}`},W.headers)})}return new Response($,{headers:{"accept-ranges":"bytes","content-range":`bytes 0-${X-1}/${X}`,"transfer-encoding":"chunked"}})}return new Response($)},G2=($,W)=>{if(!$)return $;$.delete("set-cookie");for(let X=0;X<W.length;X++){let Z=W[X].indexOf("=");$.append("set-cookie",`${W[X].slice(0,Z)}=${W[X].slice(Z+1)||""}`)}return $},B2=($)=>{if(!$||!c($))return;let W=[];for(let[X,Z]of Object.entries($)){if(!X||!Z)continue;let J=Z.value;if(J===void 0||J===null)continue;W.push(Q2.serialize(X,typeof J==="object"?JSON.stringify(J):J+"",Z))}if(W.length===0)return;if(W.length===1)return W[0];return W},B0=async($,W,X)=>{let Z=$.next();if(Z instanceof Promise)Z=await Z;if(Z.done){if(W)return x(Z.value,W,X);return Z0(Z.value,X)}return new Response(new ReadableStream({async start(J){let j=!1;if(X?.signal.addEventListener("abort",()=>{j=!0;try{J.close()}catch{}}),Z.value!==void 0&&Z.value!==null)if(typeof Z.value==="object")try{J.enqueue(Buffer.from(JSON.stringify(Z.value)))}catch{J.enqueue(Buffer.from(Z.value.toString()))}else J.enqueue(Buffer.from(Z.value.toString()));for await(let Y of $){if(j)break;if(Y===void 0||Y===null)continue;if(typeof Y==="object")try{J.enqueue(Buffer.from(JSON.stringify(Y)))}catch{J.enqueue(Buffer.from(Y.toString()))}else J.enqueue(Buffer.from(Y.toString()));await new Promise((G)=>setTimeout(()=>G(),0))}try{J.close()}catch{}}}),{...W,headers:{"transfer-encoding":"chunked","content-type":"text/event-stream; charset=utf-8",...W?.headers}})};async function*m0($){let W=$.body;if(!W)return;let X=W.getReader(),Z=new TextDecoder;try{while(!0){let{done:J,value:j}=await X.read();if(J)break;yield Z.decode(j)}}finally{X.releaseLock()}}var x=($,W,X)=>{if(c(W.headers)||W.status!==200||W.redirect||W.cookie){if(typeof W.status==="string")W.status=_0[W.status];if(W.redirect){if(W.headers.Location=W.redirect,!W.status||W.status<300||W.status>=400)W.status=302}if(W.cookie&&c(W.cookie)){let Z=B2(W.cookie);if(Z)W.headers["set-cookie"]=Z}if(W.headers["set-cookie"]&&Array.isArray(W.headers["set-cookie"]))W.headers=G2(new Headers(W.headers),W.headers["set-cookie"]);switch($?.constructor?.name){case"String":return new Response($,W);case"Blob":return h0($,W);case"Array":return Response.json($,W);case"Object":return Response.json($,W);case"ElysiaCustomStatusResponse":return W.status=$.code,x($.response,W,X);case"ReadableStream":if(!W.headers["content-type"]?.startsWith("text/event-stream"))W.headers["content-type"]="text/event-stream; charset=utf-8";return X?.signal.addEventListener("abort",{handleEvent(){if(!X?.signal.aborted)$.cancel(X)}},{once:!0}),new Response($,W);case void 0:if(!$)return new Response("",W);return Response.json($,W);case"Response":let Z=!1;if(W.headers instanceof Headers)for(let J of W.headers.keys())if(J==="set-cookie"){if(Z)continue;Z=!0;for(let j of W.headers.getSetCookie())$.headers.append("set-cookie",j)}else $.headers.append(J,W.headers?.get(J)??"");else for(let J in W.headers)$.headers.append(J,W.headers[J]);if($.status!==W.status)W.status=$.status;if($.headers.get("transfer-encoding")==="chunked")return B0(m0($),W,X);return $;case"Error":return K0($,W);case"Promise":return $.then((J)=>x(J,W));case"Function":return x($(),W);case"Number":case"Boolean":return new Response($.toString(),W);case"Cookie":if($ instanceof w0)return new Response($.value,W);return new Response($?.toString(),W);case"FormData":return new Response($,W);default:if($ instanceof Response){let J=!1;if(W.headers instanceof Headers)for(let j of W.headers.keys())if(j==="set-cookie"){if(J)continue;J=!0;for(let Y of W.headers.getSetCookie())$.headers.append("set-cookie",Y)}else $.headers.append(j,W.headers?.get(j)??"");else for(let j in W.headers)$.headers.append(j,W.headers[j]);if(Y2)W.headers=$.headers.toJSON();else for(let[j,Y]of $.headers.entries())if(j in W.headers)W.headers[j]=Y;return $}if($ instanceof Promise)return $.then((J)=>x(J,W));if($ instanceof Error)return K0($,W);if($ instanceof l)return W.status=$.code,x($.response,W,X);if(typeof $?.next==="function")return B0($,W,X);if(typeof $?.then==="function")return $.then((J)=>x(J,W));if(typeof $?.toResponse==="function")return x($.toResponse(),W);if("charCodeAt"in $){let J=$.charCodeAt(0);if(J===123||J===91){if(!W.headers["Content-Type"])W.headers["Content-Type"]="application/json";return new Response(JSON.stringify($),W)}}return new Response($,W)}}else switch($?.constructor?.name){case"String":return new Response($);case"Blob":return h0($,W);case"Array":return Response.json($);case"Object":return Response.json($,W);case"ElysiaCustomStatusResponse":return W.status=$.code,x($.response,W,X);case"ReadableStream":return X?.signal.addEventListener("abort",{handleEvent(){if(!X?.signal.aborted)$.cancel(X)}},{once:!0}),new Response($,{headers:{"Content-Type":"text/event-stream; charset=utf-8"}});case void 0:if(!$)return new Response("");return new Response(JSON.stringify($),{headers:{"content-type":"application/json"}});case"Response":if($.headers.get("transfer-encoding")==="chunked")return B0(m0($),W,X);return $;case"Error":return K0($,W);case"Promise":return $.then((Z)=>{let J=Z0(Z,X);if(J!==void 0)return J;return new Response("")});case"Function":return Z0($(),X);case"Number":case"Boolean":return new Response($.toString());case"Cookie":if($ instanceof w0)return new Response($.value,W);return new Response($?.toString(),W);case"FormData":return new Response($,W);default:if($ instanceof Response)return $;if($ instanceof Promise)return $.then((Z)=>x(Z,W));if($ instanceof Error)return K0($,W);if($ instanceof l)return W.status=$.code,x($.response,W,X);if(typeof $?.next==="function")return B0($,W,X);if(typeof $?.then==="function")return $.then((Z)=>x(Z,W));if(typeof $?.toResponse==="function")return x($.toResponse(),W);if("charCodeAt"in $){let Z=$.charCodeAt(0);if(Z===123||Z===91){if(!W.headers["Content-Type"])W.headers["Content-Type"]="application/json";return new Response(JSON.stringify($),W)}}return new Response($)}},g=($,W,X)=>{if($===void 0||$===null)return;if(c(W.headers)||W.status!==200||W.redirect||W.cookie){if(typeof W.status==="string")W.status=_0[W.status];if(W.redirect){if(W.headers.Location=W.redirect,!W.status||W.status<300||W.status>=400)W.status=302}if(W.cookie&&c(W.cookie)){let Z=B2(W.cookie);if(Z)W.headers["set-cookie"]=Z}if(W.headers["set-cookie"]&&Array.isArray(W.headers["set-cookie"]))W.headers=G2(new Headers(W.headers),W.headers["set-cookie"]);switch($?.constructor?.name){case"String":return new Response($,W);case"Blob":return h0($,W);case"Array":return Response.json($,W);case"Object":return Response.json($,W);case"ElysiaCustomStatusResponse":return W.status=$.code,g($.response,W,X);case"ReadableStream":if(!W.headers["content-type"]?.startsWith("text/event-stream"))W.headers["content-type"]="text/event-stream; charset=utf-8";return X?.signal.addEventListener("abort",{handleEvent(){if(!X?.signal.aborted)$.cancel(X)}},{once:!0}),new Response($,W);case void 0:if(!$)return;return Response.json($,W);case"Response":let Z=!1;if(W.headers instanceof Headers)for(let J of W.headers.keys())if(J==="set-cookie"){if(Z)continue;Z=!0;for(let j of W.headers.getSetCookie())$.headers.append("set-cookie",j)}else $.headers.append(J,W.headers?.get(J)??"");else for(let J in W.headers)$.headers.append(J,W.headers[J]);if($.status!==W.status)W.status=$.status;if($.headers.get("transfer-encoding")==="chunked")return B0(m0($),W,X);return $;case"Promise":return $.then((J)=>{let j=g(J,W);if(j!==void 0)return j});case"Error":return K0($,W);case"Function":return g($(),W);case"Number":case"Boolean":return new Response($.toString(),W);case"FormData":return new Response($);case"Cookie":if($ instanceof w0)return new Response($.value,W);return new Response($?.toString(),W);default:if($ instanceof Response){let J=!1;if(W.headers instanceof Headers)for(let j of W.headers.keys())if(j==="set-cookie"){if(J)continue;J=!0;for(let Y of W.headers.getSetCookie())$.headers.append("set-cookie",Y)}else $.headers.append(j,W.headers?.get(j)??"");else for(let j in W.headers)$.headers.append(j,W.headers[j]);if($.status!==W.status)W.status=$.status;return $}if($ instanceof Promise)return $.then((J)=>g(J,W));if($ instanceof Error)return K0($,W);if($ instanceof l)return W.status=$.code,g($.response,W,X);if(typeof $?.next==="function")return B0($,W,X);if(typeof $?.then==="function")return $.then((J)=>g(J,W));if(typeof $?.toResponse==="function")return g($.toResponse(),W);if("charCodeAt"in $){let J=$.charCodeAt(0);if(J===123||J===91){if(!W.headers["Content-Type"])W.headers["Content-Type"]="application/json";return new Response(JSON.stringify($),W)}}return new Response($,W)}}else switch($?.constructor?.name){case"String":return new Response($);case"Blob":return h0($,W);case"Array":return Response.json($);case"Object":return Response.json($,W);case"ElysiaCustomStatusResponse":return W.status=$.code,g($.response,W,X);case"ReadableStream":return X?.signal.addEventListener("abort",{handleEvent(){if(!X?.signal.aborted)$.cancel(X)}},{once:!0}),new Response($,{headers:{"Content-Type":"text/event-stream; charset=utf-8"}});case void 0:if(!$)return new Response("");return new Response(JSON.stringify($),{headers:{"content-type":"application/json"}});case"Response":if($.headers.get("transfer-encoding")==="chunked")return B0(m0($));return $;case"Promise":return $.then((Z)=>{let J=g(Z,W);if(J!==void 0)return J});case"Error":return K0($,W);case"Function":return Z0($(),X);case"Number":case"Boolean":return new Response($.toString());case"Cookie":if($ instanceof w0)return new Response($.value,W);return new Response($?.toString(),W);case"FormData":return new Response($);default:if($ instanceof Response)return $;if($ instanceof Promise)return $.then((Z)=>g(Z,W));if($ instanceof Error)return K0($,W);if($ instanceof l)return W.status=$.code,g($.response,W,X);if(typeof $?.next==="function")return B0($,W,X);if(typeof $?.then==="function")return $.then((Z)=>g(Z,W));if(typeof $?.toResponse==="function")return g($.toResponse(),W);if("charCodeAt"in $){let Z=$.charCodeAt(0);if(Z===123||Z===91){if(!W.headers["Content-Type"])W.headers["Content-Type"]="application/json";return new Response(JSON.stringify($),W)}}return new Response($)}},Z0=($,W)=>{switch($?.constructor?.name){case"String":return new Response($);case"Blob":return h0($);case"Array":return Response.json($);case"Object":return Response.json($);case"ElysiaCustomStatusResponse":return x($.response,{status:$.code,headers:{}});case"ReadableStream":return W?.signal.addEventListener("abort",{handleEvent(){if(!W?.signal.aborted)$.cancel(W)}},{once:!0}),new Response($,{headers:{"Content-Type":"text/event-stream; charset=utf-8"}});case void 0:if(!$)return new Response("");return new Response(JSON.stringify($),{headers:{"content-type":"application/json"}});case"Response":if($.headers.get("transfer-encoding")==="chunked")return B0(m0($));return $;case"Error":return K0($);case"Promise":return $.then((X)=>Z0(X,W));case"Function":return Z0($(),W);case"Number":case"Boolean":return new Response($.toString());case"FormData":return new Response($);default:if($ instanceof Response)return $;if($ instanceof Promise)return $.then((X)=>Z0(X,W));if($ instanceof Error)return K0($);if($ instanceof l)return x($.response,{status:$.code,headers:{}});if(typeof $?.next==="function")return B0($,void 0,W);if(typeof $?.then==="function")return $.then((X)=>x(X,set));if(typeof $?.toResponse==="function")return Z0($.toResponse());if("charCodeAt"in $){let X=$.charCodeAt(0);if(X===123||X===91)return new Response(JSON.stringify($),{headers:{"Content-Type":"application/json"}})}return new Response($)}},K0=($,W)=>new Response(JSON.stringify({name:$?.name,message:$?.message,cause:$?.cause}),{status:W?.status!==200?W?.status??500:500,headers:W?.headers}),K2=($,W,X={})=>{if(typeof $==="function")return;let Z=x($,{headers:X});if(W.parse.length===0&&W.transform.length===0&&W.beforeHandle.length===0&&W.afterHandle.length===0)return Z.clone.bind(Z)},U2=($,W,X={})=>{if(typeof $==="function"||$ instanceof Blob)return;let Z=x($,{headers:X});if(W.parse.length===0&&W.transform.length===0&&W.beforeHandle.length===0&&W.afterHandle.length===0){if(!Z.headers.has("content-type"))Z.headers.append("content-type","text/plain;charset=utf-8");return Z.clone.bind(Z)}};var R0=($,W)=>{let X=new URL($);return X.pathname=W,X.toString()},V3=($)=>typeof $==="function"&&/^\s*class\s+/.test($.toString())||$.toString().startsWith("[object ")&&$.toString()!=="[object Object]"||c(Object.getPrototypeOf($)),N1=($)=>$&&typeof $==="object"&&!Array.isArray($),d=($,W,{skipKeys:X,override:Z=!0}={})=>{if(!N1($)||!N1(W))return $;for(let[J,j]of Object.entries(W)){if(X?.includes(J))continue;if(!N1(j)||!(J in $)||V3(j)){if(Z||!(J in $))$[J]=j;continue}$[J]=d($[J],j,{skipKeys:X,override:Z})}return $},S3=($,W)=>{let{properties:X,...Z}=$??{},{properties:J,...j}=W??{};return d(Z,j)},y=($=[],W=[])=>{if(!$)return[];if(!W)return $;let X=[],Z=[];if(!Array.isArray($))$=[$];if(!Array.isArray(W))W=[W];for(let J of $)if(X.push(J),J.checksum)Z.push(J.checksum);for(let J of W)if(!Z.includes(J.checksum))X.push(J);return X},C3=["start","request","parse","transform","resolve","beforeHandle","afterHandle","mapResponse","afterResponse","trace","error","stop","body","headers","params","query","response","type","detail"],L3=C3.reduce(($,W)=>($[W]=!0,$),{}),z2=($,W)=>{let X=(Z)=>typeof Z==="object"&&Object.keys(Z).every(Z1);if(X($)&&X(W))return{...$,...W};else if($&&!X($)&&X(W))return{200:$,...W};return W??$},b0=($,W)=>{return{body:W?.body??$?.body,headers:W?.headers??$?.headers,params:W?.params??$?.params,query:W?.query??$?.query,cookie:W?.cookie??$?.cookie,response:z2($?.response,W?.response)}},i=($,W)=>{return{...$,...W,body:W?.body??$?.body,headers:W?.headers??$?.headers,params:W?.params??$?.params,query:W?.query??$?.query,cookie:W?.cookie??$?.cookie,response:z2($?.response,W?.response),type:$?.type||W?.type,detail:d(W?.detail??{},$?.detail??{}),parse:y($?.parse,W?.parse),transform:y($?.transform,W?.transform),beforeHandle:y($?.beforeHandle,W?.beforeHandle),afterHandle:y($?.afterHandle,W?.afterHandle),mapResponse:y($?.mapResponse,W?.mapResponse),afterResponse:y($?.afterResponse,W?.afterResponse),trace:y($?.trace,W?.trace),error:y($?.error,W?.error)}},A1=($,W,X=!0)=>{if(!Array.isArray(W))return h($,W,X);for(let Z of W)$=h($,Z,X);return $},h=($,W,X=!0)=>{if(!$)return $;if(W.untilObjectFound&&!X&&$.type==="object")return $;let Z=W.from[H0];if($.oneOf){for(let Y=0;Y<$.oneOf.length;Y++)$.oneOf[Y]=h($.oneOf[Y],W,X);return $}if($.anyOf){for(let Y=0;Y<$.anyOf.length;Y++)$.anyOf[Y]=h($.anyOf[Y],W,X);return $}if($.allOf){for(let Y=0;Y<$.allOf.length;Y++)$.allOf[Y]=h($.allOf[Y],W,X);return $}if($.not){for(let Y=0;Y<$.not.length;Y++)$.not[Y]=h($.not[Y],W,X);return $}let J=X&&!!W.excludeRoot;if($[H0]===Z){let{anyOf:Y,oneOf:G,allOf:K,not:B,properties:U,items:w,...F}=$,Q=W.to(F),M,D=(z)=>{if(U&&z.type==="object"){let O={};for(let[P,b]of Object.entries(U))O[P]=h(b,W,!1);return{...F,...z,properties:O}}if(w&&z.type==="array")return{...F,...z,items:h(w,W,!1)};let I={...F,...z};if(delete I.required,U&&z.type==="string"&&z.format==="ObjectString"&&z.default==="{}")M=V.ObjectString(U,F),I.default=JSON.stringify(p.Create(V.Object(U))),I.properties=U;if(w&&z.type==="string"&&z.format==="ArrayString"&&z.default==="[]")M=V.ArrayString(w,F),I.default=JSON.stringify(p.Create(V.Array(w))),I.items=w;return I};if(J){if(U){let z={};for(let[I,O]of Object.entries(U))z[I]=h(O,W,!1);return{...F,properties:z}}else if(w?.map)return{...F,items:w.map((z)=>h(z,W,!1))};return F}if(Q.anyOf)for(let z=0;z<Q.anyOf.length;z++)Q.anyOf[z]=D(Q.anyOf[z]);else if(Q.oneOf)for(let z=0;z<Q.oneOf.length;z++)Q.oneOf[z]=D(Q.oneOf[z]);else if(Q.allOf)for(let z=0;z<Q.allOf.length;z++)Q.allOf[z]=D(Q.allOf[z]);else if(Q.not)for(let z=0;z<Q.not.length;z++)Q.not[z]=D(Q.not[z]);if(M)Q[w2]=M[w2];if(Q.anyOf||Q.oneOf||Q.allOf||Q.not)return Q;if(U){let z={};for(let[I,O]of Object.entries(U))z[I]=h(O,W,!1);return{...F,...Q,properties:z}}else if(w?.map)return{...F,...Q,items:w.map((z)=>h(z,W,!1))};return{...F,...Q}}let j=$?.properties;if(j&&X&&W.rootOnly!==!0)for(let[Y,G]of Object.entries(j))switch(G[H0]){case Z:let{anyOf:K,oneOf:B,allOf:U,not:w,type:F,...Q}=G,M=W.to(Q);if(M.anyOf)for(let D=0;D<M.anyOf.length;D++)M.anyOf[D]={...Q,...M.anyOf[D]};else if(M.oneOf)for(let D=0;D<M.oneOf.length;D++)M.oneOf[D]={...Q,...M.oneOf[D]};else if(M.allOf)for(let D=0;D<M.allOf.length;D++)M.allOf[D]={...Q,...M.allOf[D]};else if(M.not)for(let D=0;D<M.not.length;D++)M.not[D]={...Q,...M.not[D]};j[Y]={...Q,...h(Q,W,!1)};break;case"Object":case"Union":j[Y]=h(G,W,!1);break;default:if(G.items)for(let D=0;D<G.items.length;D++)G.items[D]=h(G.items[D],W,!1);else if(G.anyOf||G.oneOf||G.allOf||G.not)j[Y]=h(G,W,!1);break}return $},m=($,{models:W={},dynamic:X=!1,normalize:Z=!1,additionalProperties:J=!1,coerce:j=!1,additionalCoerce:Y=[]}={})=>{if(!$)return;if(typeof $==="string"&&!($ in W))return;let G=typeof $==="string"?W[$]:$;if(j||Y)if(j)G=A1(G,[{from:V.Number(),to:(U)=>V.Numeric(U),untilObjectFound:!0},{from:V.Boolean(),to:(U)=>V.BooleanString(U),untilObjectFound:!0},...Array.isArray(Y)?Y:[Y]]);else G=A1(G,[...Array.isArray(Y)?Y:[Y]]);if(G.type==="object"&&"additionalProperties"in G===!1)G.additionalProperties=J;let K=(U)=>p.Clean(G,U);if(X){let U={schema:G,references:"",checkFunc:()=>{},code:"",Check:(w)=>p.Check(G,w),Errors:(w)=>p.Errors(G,w),Code:()=>"",Clean:K,Decode:(w)=>p.Decode(G,w),Encode:(w)=>p.Encode(G,w)};if(Z&&G.additionalProperties===!1)U.Clean=K;if(G.config){if(U.config=G.config,U?.schema?.config)delete U.schema.config}return U.parse=(w)=>{try{return U.Decode(w)}catch(F){throw[...U.Errors(w)].map(o)}},U.safeParse=(w)=>{try{return{success:!0,data:U.Decode(w),error:null}}catch(F){let Q=[...B.Errors(w)].map(o);return{success:!1,data:null,error:Q[0]?.summary,errors:Q}}},U}let B=F2.Compile(G,Object.values(W));if(B.Clean=K,G.config){if(B.config=G.config,B?.schema?.config)delete B.schema.config}return B.parse=(U)=>{try{return B.Decode(U)}catch(w){throw[...B.Errors(U)].map(o)}},B.safeParse=(U)=>{try{return{success:!0,data:B.Decode(U),error:null}}catch(w){let F=[...B.Errors(U)].map(o);return{success:!1,data:null,error:F[0]?.summary,errors:F}}},B},$1=($,{models:W={},dynamic:X=!1,normalize:Z=!1,additionalProperties:J=!1})=>{if(!$)return;if(typeof $==="string"&&!($ in W))return;let j=typeof $==="string"?W[$]:$,Y=(K,B)=>{let U=(F)=>{if(!F||typeof F!=="object")return p.Clean(K,F);if(Array.isArray(F))F=p.Clean(K,F);else F=p.Clean(K,F);return F};if(X)return{schema:K,references:"",checkFunc:()=>{},code:"",Check:(F)=>p.Check(K,F),Errors:(F)=>p.Errors(K,F),Code:()=>"",Decode:(F)=>p.Decode(K,F),Encode:(F)=>p.Encode(K,F)};let w=F2.Compile(K,B);if(Z&&K.additionalProperties===!1)w.Clean=U;return w};if(H0 in j){if("additionalProperties"in j===!1)j.additionalProperties=J;return{200:Y(j,Object.values(W))}}let G={};return Object.keys(j).forEach((K)=>{let B=j[+K];if(typeof B==="string"){if(B in W){let U=W[B];U.type==="object"&&"additionalProperties"in U,G[+K]=H0 in U?Y(U,Object.values(W)):U}return}if(B.type==="object"&&"additionalProperties"in B===!1)B.additionalProperties=J;G[+K]=H0 in B?Y(B,Object.values(W)):B}),G},T3=typeof Bun!=="undefined",E3=T3&&typeof Bun.hash==="function",N0=($)=>{if(E3)return Bun.hash($);let W=9;for(let X=0;X<$.length;)W=Math.imul(W^$.charCodeAt(X++),387420489);return W=W^W>>>9},P1,D0=()=>{if(!P1)P1=[{from:V.Object({}),to:()=>V.ObjectString({}),excludeRoot:!0},{from:V.Array(V.Any()),to:()=>V.ArrayString(V.Any())}];return P1},I1,O1=()=>{if(!I1)I1=[{from:V.Number(),to:($)=>V.Numeric($),rootOnly:!0},{from:V.Boolean(),to:($)=>V.BooleanString($),rootOnly:!0}];return I1},W1=({validator:$,defaultConfig:W={},config:X,dynamic:Z,models:J})=>{let j=m($,{dynamic:Z,models:J,additionalProperties:!0,coerce:!0,additionalCoerce:D0()});if(c(W))if(j)j.config=S3(j.config,X);else j=m(V.Cookie({}),{dynamic:Z,models:J,additionalProperties:!0}),j.config=W;return j},J0=($,W)=>{if(!W)return;if(!Array.isArray(W)){let Z=W;if($&&!Z.checksum)Z.checksum=$;if(Z.scope==="scoped")Z.scope="local";return Z}let X=[...W];for(let Z of X){if($&&!Z.checksum)Z.checksum=$;if(Z.scope==="scoped")Z.scope="local"}return X},V1=($,W,X)=>{return{start:y($.start,J0(X,W?.start)),request:y($.request,J0(X,W?.request)),parse:y($.parse,J0(X,W?.parse)),transform:y($.transform,J0(X,W?.transform)),beforeHandle:y($.beforeHandle,J0(X,W?.beforeHandle)),afterHandle:y($.afterHandle,J0(X,W?.afterHandle)),mapResponse:y($.mapResponse,J0(X,W?.mapResponse)),afterResponse:y($.afterResponse,J0(X,W?.afterResponse)),trace:y($.trace,J0(X,W?.trace)),error:y($.error,J0(X,W?.error)),stop:y($.stop,J0(X,W?.stop))}},M2=($,W,{skipIfHasType:X=!1}={})=>{if(!$)return $;if(!Array.isArray($)){if(X)$.scope??=W;else $.scope=W;return $}for(let Z of $)if(X)Z.scope??=W;else Z.scope=W;return $},M0=($)=>{if(!$)return $;if(!Array.isArray($))switch($.scope){case"global":case"scoped":return{...$};default:return{fn:$}}let W=[];for(let X of $)switch(X.scope){case"global":case"scoped":W.push({...X});break}return W},S1=($)=>{return{...$,type:$?.type,detail:$?.detail,parse:M0($?.parse),transform:M0($?.transform),beforeHandle:M0($?.beforeHandle),afterHandle:M0($?.afterHandle),mapResponse:M0($?.mapResponse),afterResponse:M0($?.afterResponse),error:M0($?.error),trace:M0($?.trace)}},_0={Continue:100,"Switching Protocols":101,Processing:102,"Early Hints":103,OK:200,Created:201,Accepted:202,"Non-Authoritative Information":203,"No Content":204,"Reset Content":205,"Partial Content":206,"Multi-Status":207,"Already Reported":208,"Multiple Choices":300,"Moved Permanently":301,Found:302,"See Other":303,"Not Modified":304,"Temporary Redirect":307,"Permanent Redirect":308,"Bad Request":400,Unauthorized:401,"Payment Required":402,Forbidden:403,"Not Found":404,"Method Not Allowed":405,"Not Acceptable":406,"Proxy Authentication Required":407,"Request Timeout":408,Conflict:409,Gone:410,"Length Required":411,"Precondition Failed":412,"Payload Too Large":413,"URI Too Long":414,"Unsupported Media Type":415,"Range Not Satisfiable":416,"Expectation Failed":417,"I'm a teapot":418,"Misdirected Request":421,"Unprocessable Content":422,Locked:423,"Failed Dependency":424,"Too Early":425,"Upgrade Required":426,"Precondition Required":428,"Too Many Requests":429,"Request Header Fields Too Large":431,"Unavailable For Legal Reasons":451,"Internal Server Error":500,"Not Implemented":501,"Bad Gateway":502,"Service Unavailable":503,"Gateway Timeout":504,"HTTP Version Not Supported":505,"Variant Also Negotiates":506,"Insufficient Storage":507,"Loop Detected":508,"Not Extended":510,"Network Authentication Required":511},X1=Object.fromEntries(Object.entries(_0).map(([$,W])=>[W,$]));function q3($){let W=$;while(W.endsWith("="))W=W.slice(0,-1);return W}var _2=new TextEncoder,x0=async($,W)=>{if(typeof $!=="string")throw new TypeError("Cookie value must be provided as a string.");if(W===null)throw new TypeError("Secret key must be provided.");let X=await crypto.subtle.importKey("raw",_2.encode(W),{name:"HMAC",hash:"SHA-256"},!1,["sign"]),Z=await crypto.subtle.sign("HMAC",X,_2.encode($));return $+"."+q3(Buffer.from(Z).toString("base64"))},D1=async($,W)=>{if(typeof $!=="string")throw new TypeError("Signed cookie string must be provided.");if(W===null)throw new TypeError("Secret key must be provided.");let X=$.slice(0,$.lastIndexOf("."));return await x0(X,W)===$?X:!1},D2=($,W)=>{if(!$||typeof $!=="object"||!W)return;for(let[X,Z]of Object.entries(W)){if(X in L3||!(X in $))continue;let J=$[X];if(typeof J==="function")J(Z),delete W[X]}},N2=({globalHook:$,localHook:W})=>(X)=>(Z,J)=>{if(typeof Z==="function")Z={fn:Z};if("fn"in Z||Array.isArray(Z)){if(!W[X])W[X]=[];if(typeof W[X]==="function")W[X]=[W[X]];if(Array.isArray(Z))W[X]=W[X].concat(Z);else W[X].push(Z);return}let{insert:j="after",stack:Y="local"}=Z;if(typeof J==="function")J={fn:J};if(Y==="global")if(!Array.isArray(J))if(j==="before")$[X].unshift(J);else $[X].push(J);else if(j==="before")$[X]=J.concat($[X]);else $[X]=$[X].concat(J);else{if(!W[X])W[X]=[];if(typeof W[X]==="function")W[X]=[W[X]];if(!Array.isArray(J))if(j==="before")W[X].unshift(J);else W[X].push(J);else if(j==="before")W[X]=J.concat(W[X]);else W[X]=W[X].concat(J)}},H3=($)=>{if(typeof $==="number")return $;if($.length<16){if($.trim().length===0)return null;let W=Number($);if(Number.isNaN(W))return null;return W}if($.length===16){if($.trim().length===0)return null;let W=Number($);if(Number.isNaN(W)||W.toString()!==$)return null;return W}return null},Z1=($)=>H3($)!==null;class C1{$;root=null;promises=[];constructor($=console.error){this.onError=$}get size(){return this.promises.length}add($){return this.promises.push($),this.root||=this.drain(),$}async drain(){while(this.promises.length>0){try{await this.promises[0]}catch($){this.onError($)}this.promises.shift()}this.root=null}then($,W){return(this.root??Promise.resolve()).then($,W)}}var n=($)=>{if(!$)return $;if(!Array.isArray($)){if(typeof $==="function")return{fn:$};else if("fn"in $)return $}let W=[];for(let X of $)if(typeof X==="function")W.push({fn:X});else if("fn"in X)W.push(X);return W},P2=($)=>{return{...$,start:n($?.start),request:n($?.request),parse:n($?.parse),transform:n($?.transform),beforeHandle:n($?.beforeHandle),afterHandle:n($?.afterHandle),mapResponse:n($?.mapResponse),afterResponse:n($?.afterResponse),trace:n($?.trace),error:n($?.error),stop:n($?.stop)}},L1=($)=>{return{...$,start:$.start?.map((W)=>W.fn),request:$.request?.map((W)=>W.fn),parse:$.parse?.map((W)=>W.fn),transform:$.transform?.map((W)=>W.fn),beforeHandle:$.beforeHandle?.map((W)=>W.fn),afterHandle:$.afterHandle?.map((W)=>W.fn),afterResponse:$.afterResponse?.map((W)=>W.fn),mapResponse:$.mapResponse?.map((W)=>W.fn),trace:$.trace?.map((W)=>W.fn),error:$.error?.map((W)=>W.fn),stop:$.stop?.map((W)=>W.fn)}},d0=($)=>({body:$.body,cookie:$.cookie,headers:$.headers,query:$.query,set:$.set,server:$.server}),c0=($,W=302)=>Response.redirect($,W),R3=Symbol("ElysiaFormData"),P0=Symbol("ElysiaRequestId"),b3=($)=>{let W=new FormData;for(let[X,Z]of Object.entries($)){if(Array.isArray(Z)){for(let J of Z){if(Z instanceof File)W.append(X,Z,Z.name);W.append(X,J)}continue}if(Z instanceof File)W.append(X,Z,Z.name);W.append(X,Z)}return W},J1=()=>crypto.getRandomValues(new Uint32Array(1))[0],j1=($)=>{let W=[];for(let X=0;X<$.length;X++){let Z=$[X];if(Z.checksum){if(W.includes(Z.checksum))$.splice(X,1),X--;W.push(Z.checksum)}}return $},v=($,W="scoped")=>{if(W==="scoped"){for(let X of $)if("scope"in X&&X.scope==="local")X.scope="scoped";return}for(let X of $)if("scope"in X)X.scope="global"};var I2=typeof Bun!=="undefined"?Bun.env:typeof process!=="undefined"?process?.env:void 0,I0=Symbol("ElysiaErrorCode"),p0=(I2?.NODE_ENV??I2?.ENV)==="production";class l{code;response;constructor($,W){let X=W??($ in X1?X1[$]:$);this.code=_0[$]??$,this.response=X}}var T1=($,W)=>new l($,W);class Q1 extends Error{code="INTERNAL_SERVER_ERROR";status=500;constructor($){super($??"INTERNAL_SERVER_ERROR")}}class A0 extends Error{code="NOT_FOUND";status=404;constructor($){super($??"NOT_FOUND")}}class Y1 extends Error{code="PARSE";status=400;constructor(){super("Failed to parse body")}}class u0 extends Error{$;code="INVALID_COOKIE_SIGNATURE";status=400;constructor($,W){super(W??`"${$}" has invalid cookie signature`);this.key=$}}var o=($)=>{if(!$)return{summary:void 0};let{message:W,path:X,value:Z,type:J}=$,j=X.slice(1).replaceAll("/","."),Y=X==="";switch(J){case 42:return{...$,summary:Y?"Value should not be provided":`Property '${j}' should not be provided`};case 45:return{...$,summary:Y?"Value is missing":`Property '${j}' is missing`};case 50:let G=W.indexOf("'"),K=W.slice(G+1,W.indexOf("'",G+1));return{...$,summary:Y?"Value should be an email":`Property '${j}' should be ${K}`};case 54:return{...$,summary:`${W.slice(0,9)} property '${j}' to be ${W.slice(8)} but found: ${Z}`};case 62:let B=$.schema.anyOf.map((U)=>`'${U?.format??U.type}'`).join(", ");return{...$,summary:Y?`Value should be one of ${B}`:`Property '${j}' should be one of: ${B}`};default:return{summary:W,...$}}};class q extends Error{$;W;X;code="VALIDATION";status=422;constructor($,W,X){if(X&&typeof X==="object"&&X instanceof l)X=X.response;let Z=p0?void 0:("Errors"in W)?W.Errors(X).First():l0.Errors(W,X).First(),J=Z?.schema.error!==void 0?typeof Z.schema.error==="function"?Z.schema.error({type:$,validator:W,value:X,get errors(){return[...W.Errors(X)].map(o)}}):Z.schema.error:void 0,j=Z?.path||"root",Y="";if(J!==void 0)Y=typeof J==="object"?JSON.stringify(J):J+"";else if(p0)Y=JSON.stringify({type:"validation",on:$,summary:o(Z).summary,message:Z?.message,found:X});else{let G=W?.schema??W,K="Errors"in W?[...W.Errors(X)].map(o):[...l0.Errors(W,X)].map(o),B;try{B=l0.Create(G)}catch(U){B={type:"Could not create expected value",message:U?.message,error:U}}Y=JSON.stringify({type:"validation",on:$,summary:K[0]?.summary,property:j,message:Z?.message,expected:B,found:X,errors:K},null,2)}super(Y);this.type=$;this.validator=W;this.value=X;Object.setPrototypeOf(this,q.prototype)}get all(){return"Errors"in this.validator?[...this.validator.Errors(this.value)].map(o):[...l0.Errors(this.validator,this.value)].map(o)}static simplifyModel($){let W="schema"in $?$.schema:$;try{return l0.Create(W)}catch{return W}}get model(){return q.simplifyModel(this.validator)}toResponse($){return new Response(this.message,{status:400,headers:{...$,"content-type":"application/json"}})}}var E1={open($){$.data.open?.($)},message($,W){$.data.message?.($,W)},drain($){$.data.drain?.($)},close($,W,X){$.data.close?.($,W,X)}};class g0{$;W;validator;_validator;constructor($,W){this.raw=$;this.data=W;if(this.validator=$.data.validator,$.data.id)this.id=$.data.id;else this.id=J1().toString()}get id(){return this.raw.data.id}set id($){this.raw.data.id=$}get publish(){return($,W=void 0,X)=>{if(this.validator?.Check(W)===!1)throw new q("message",this.validator,W);if(typeof W==="object")W=JSON.stringify(W);return this.raw.publish($,W,X),this}}get send(){return($)=>{if(this.validator?.Check($)===!1)throw new q("message",this.validator,$);if(Buffer.isBuffer($))return this.raw.send($),this;if(typeof $==="object")$=JSON.stringify($);return this.raw.send($),this}}get subscribe(){return($)=>{return this.raw.subscribe($),this}}get unsubscribe(){return($)=>{return this.raw.unsubscribe($),this}}get cork(){return($)=>{return this.raw.cork($),this}}get close(){return()=>{return this.raw.close(),this}}get terminate(){return this.raw.terminate.bind(this.raw)}get isSubscribed(){return this.raw.isSubscribed.bind(this.raw)}get remoteAddress(){return this.raw.remoteAddress}}var q1="1.1.24";import{Value as t0}from"@sinclair/typebox/value";import{TypeBoxError as g3}from"@sinclair/typebox";var O0=k0(o0(),1),f0=/\+/g;function G1($){let W={};if(typeof $!=="string")return W;let X="",Z="",J=-1,j=-1,Y=0,G=$.length;for(let K=0;K<G;K++)switch($.charCodeAt(K)){case 38:let B=j>J;if(!B)j=K;if(X=$.slice(J+1,j),B||X.length>0){if(Y&1)X=X.replace(f0," ");if(Y&2)X=O0.default(X)||X;if(!W[X]){if(B){if(Z=$.slice(j+1,K),Y&4)Z=Z.replace(f0," ");if(Y&8)Z=O0.default(Z)||Z}W[X]=Z}}X="",Z="",J=K,j=K,Y=0;break;case 61:if(j<=J)j=K;else Y|=8;break;case 43:if(j>J)Y|=4;else Y|=1;break;case 37:if(j>J)Y|=8;else Y|=2;break}if(J<G){let K=j>J;if(X=$.slice(J+1,K?j:G),K||X.length>0){if(Y&1)X=X.replace(f0," ");if(Y&2)X=O0.default(X)||X;if(!W[X]){if(K){if(Z=$.slice(j+1,G),Y&4)Z=Z.replace(f0," ");if(Y&8)Z=O0.default(Z)||Z}W[X]=Z}}}return W}var i0=($)=>{let W={};if(typeof $!=="string")return W;let X=$.length,Z="",J="",j=-1,Y=-1,G=!1,K=!1,B=!1,U=!1,w=!1,F=0;for(let Q=0;Q<X+1;Q++){if(Q!==X)F=$.charCodeAt(Q);else F=38;switch(F){case 38:{if(w=Y>j,!w)Y=Q;if(Z=$.slice(j+1,Y),w||Z.length>0){if(B)Z=Z.replace(f0," ");if(G)Z=O0.default(Z)||Z;if(w){if(J=$.slice(Y+1,Q),U)J=J.replace(f0," ");if(K)J=O0.default(J)||J}let M=W[Z];if(M===void 0)W[Z]=J;else if(M.pop)M.push(J);else W[Z]=[M,J]}J="",j=Q,Y=Q,G=!1,K=!1,B=!1,U=!1;break}case 61:if(Y<=j)Y=Q;else K=!0;break;case 43:if(Y>j)U=!0;else B=!0;break;case 37:if(Y>j)K=!0;else G=!0;break}}return W};var O2=k0(o0(),1);var n0=Symbol("ElysiaTrace"),F0=()=>{let{promise:$,resolve:W}=Promise.withResolvers(),{promise:X,resolve:Z}=Promise.withResolvers(),{promise:J,resolve:j}=Promise.withResolvers(),Y=[],G=[];return[(K)=>{if(K)Y.push(K);return $},(K)=>{let B=[],U=[],w=null;for(let Q=0;Q<(K.total??0);Q++){let{promise:M,resolve:D}=Promise.withResolvers(),{promise:z,resolve:I}=Promise.withResolvers(),{promise:O,resolve:P}=Promise.withResolvers(),b=[],T=[];B.push((E)=>{if(E)b.push(E);return M}),U.push((E)=>{let r={...E,end:z,error:O,index:Q,onStop(L){if(L)T.push(L);return z}};D(r);for(let L=0;L<b.length;L++)b[L](r);return(L=null)=>{let f=performance.now();if(L)w=L;let R={end:f,error:L,get elapsed(){return f-E.begin}};for(let Y0=0;Y0<T.length;Y0++)T[Y0](R);I(f),P(L)}})}let F={...K,end:X,error:J,onEvent(Q){for(let M=0;M<B.length;M++)B[M](Q)},onStop(Q){if(Q)G.push(Q);return X}};W(F);for(let Q=0;Q<Y.length;Q++)Y[Q](F);return{resolveChild:U,resolve(Q=null){let M=performance.now();if(!Q&&w)Q=w;let D={end:M,error:Q,get elapsed(){return M-K.begin}};for(let z=0;z<G.length;z++)G[z](D);Z(M),j(Q)}}}]},A2=($)=>{return(W)=>{let[X,Z]=F0(),[J,j]=F0(),[Y,G]=F0(),[K,B]=F0(),[U,w]=F0(),[F,Q]=F0(),[M,D]=F0(),[z,I]=F0(),[O,P]=F0();return $({id:W[P0],context:W,set:W.set,onRequest:X,onParse:J,onTransform:Y,onBeforeHandle:K,onHandle:U,onAfterHandle:F,onMapResponse:z,onAfterResponse:O,onError:M}),{request:Z,parse:j,transform:G,beforeHandle:B,handle:w,afterHandle:Q,error:D,mapResponse:I,afterResponse:P}}};var f3=new Headers().toJSON,V2={optional:Symbol.for("TypeBox.Optional"),kind:Symbol.for("TypeBox.Kind")},t=($)=>{if(!$)return!1;let W=$?.schema;return!!W&&V2.optional in W},j0=($)=>{if(!$)return!1;let W=$?.schema??$;if(W.anyOf)return W.anyOf.some(j0);if(W.someOf)return W.someOf.some(j0);if(W.allOf)return W.allOf.some(j0);if(W.not)return W.not.some(j0);if(W.type==="object"){let X=W.properties;if("additionalProperties"in W)return W.additionalProperties;if("patternProperties"in W)return!1;for(let Z of Object.keys(X)){let J=X[Z];if(J.type==="object"){if(j0(J))return!0}else if(J.anyOf){for(let j=0;j<J.anyOf.length;j++)if(j0(J.anyOf[j]))return!0}return J.additionalProperties}return!1}return!1},R1=({context:$="c",trace:W,addFn:X})=>{if(!W.length)return()=>{return{resolveChild(){return()=>{}},resolve(){}}};for(let Z=0;Z<W.length;Z++)X(`let report${Z}, reportChild${Z}, reportErr${Z}, reportErrChild${Z}; let trace${Z} = ${$}[ELYSIA_TRACE]?.[${Z}] ?? trace[${Z}](${$});\n`);return(Z,{name:J,total:j=0}={})=>{if(!J)J="anonymous";let Y=Z==="error"?"reportErr":"report";for(let G=0;G<W.length;G++)X(`\n${Y}${G} = trace${G}.${Z}({id,event: '${Z}',name: '${J}',begin: performance.now(),total: ${j}})\n`);return{resolve(){for(let G=0;G<W.length;G++)X(`\n${Y}${G}.resolve()\n`)},resolveChild(G){for(let K=0;K<W.length;K++)X(`${Y}Child${K} = ${Y}${K}.resolveChild?.shift()?.({id,event: '${Z}',name: '${G}',begin: performance.now()})\n`);return(K)=>{for(let B=0;B<W.length;B++)if(K)X(`
8
3
  if (${K} instanceof Error)
9
4
  ${Y}Child${B}?.(${K})
10
5
  else
11
- ${Y}Child${B}?.()\n`);else X(`${Y}Child${B}?.()\n`)}}}}},E3=({injectResponse:$="",normalize:W=!1,validator:X})=>({composeValidation:(Z,j=`c.${Z}`)=>`c.set.status = 422; throw new ValidationError('${Z}', validator.${Z}, ${j})`,composeResponseValidation:(Z="r")=>{let j="\n"+$+"\n";j+=`if(${Z} instanceof ElysiaCustomStatusResponse) {
6
+ ${Y}Child${B}?.()\n`);else X(`${Y}Child${B}?.()\n`)}}}}},y3=({injectResponse:$="",normalize:W=!1,validator:X})=>({composeValidation:(Z,J=`c.${Z}`)=>`c.set.status = 422; throw new ValidationError('${Z}', validator.${Z}, ${J})`,composeResponseValidation:(Z="r")=>{let J="\n"+$+"\n";J+=`if(${Z} instanceof ElysiaCustomStatusResponse) {
12
7
  c.set.status = ${Z}.code
13
8
  ${Z} = ${Z}.response
14
9
  }
15
10
 
16
- const isResponse = ${Z} instanceof Response\n\n`,j+="switch(c.set.status) {\n";for(let[J,Y]of Object.entries(X.response)){if(j+=`\tcase ${J}:
17
- if (!isResponse) {\n`,W&&"Clean"in Y&&!J0(Y))j+=`${Z} = validator.response['${J}'].Clean(${Z})\n`;j+=`if(validator.response['${J}'].Check(${Z}) === false) {
11
+ const isResponse = ${Z} instanceof Response\n\n`,J+="switch(c.set.status) {\n";for(let[j,Y]of Object.entries(X.response)){if(J+=`\tcase ${j}:
12
+ if (!isResponse) {\n`,W&&"Clean"in Y&&!j0(Y))J+=`${Z} = validator.response['${j}'].Clean(${Z})\n`;J+=`if(validator.response['${j}'].Check(${Z}) === false) {
18
13
  c.set.status = 422
19
14
 
20
- throw new ValidationError('response', validator.response['${J}'], ${Z})
15
+ throw new ValidationError('response', validator.response['${j}'], ${Z})
21
16
  }
22
17
 
23
- c.set.status = ${J}
18
+ c.set.status = ${j}
24
19
  }
25
20
 
26
- break\n\n`}return j+="\n}\n",j}}),n8=Symbol.for("TypeBox.Kind");var V0=($,W)=>{if(!W)return;if(W.type==="object"){const X=W.properties;if(!X)return!1;for(let Z of Object.keys(X)){const j=X[Z];if($ in j)return!0;if(j.type==="object"){if(V0($,j))return!0}else if(j.anyOf){for(let J=0;J<j.anyOf.length;J++)if(V0($,j.anyOf[J]))return!0}}return!1}return $ in W},b2=Symbol.for("TypeBox.Transform"),S0=($)=>{if(!$)return;if($.type==="object"&&$.properties){const W=$.properties;for(let X of Object.keys(W)){const Z=W[X];if(Z.type==="object"){if(S0(Z))return!0}else if(Z.anyOf){for(let J=0;J<Z.anyOf.length;J++)if(S0(Z.anyOf[J]))return!0}if(b2 in Z)return!0}return!1}return b2 in $||$.properties&&b2 in $.properties},q3=/(?:return|=>) \S+\(/g,C0=($)=>{return($?.fn??$).constructor.name==="AsyncFunction"},k=($)=>{const W=$?.fn??$;if(W.constructor.name==="AsyncFunction")return!0;const X=W.toString();if(X.includes("=> response.clone("))return!1;if(X.includes("await"))return!0;if(X.includes("async"))return!0;return!!X.match(q3)},B2=($)=>{const W=$?.fn??$;return W.constructor.name==="AsyncGeneratorFunction"||W.constructor.name==="GeneratorFunction"},I1=({app:$,path:W,method:X,localHook:Z,hooks:j,validator:J,handler:Y,allowMeta:G=!1,inference:K})=>{const B=typeof Y==="function";if(!B){if(Y=x(Y,{headers:$.setHeaders??{}}),j.parse.length===0&&j.transform.length===0&&j.beforeHandle.length===0&&j.afterHandle.length===0)return Function("a","return function () { return a.clone() }")(Y)}const U=B?"handler(c)":"handler",w=j.afterResponse.length>0,F=j.trace.length>0;let Q="";if(K=r0(Object.assign(Z,{handler:Y}),K),K.server)Q+=`\nObject.defineProperty(c, 'server', {
21
+ break\n\n`}return J+="\n}\n",J}}),$5=Symbol.for("TypeBox.Kind");var V0=($,W)=>{if(!W)return;if(W.type==="object"){let X=W.properties;if(!X)return!1;for(let Z of Object.keys(X)){let J=X[Z];if($ in J)return!0;if(J.type==="object"){if(V0($,J))return!0}else if(J.anyOf){for(let j=0;j<J.anyOf.length;j++)if(V0($,J.anyOf[j]))return!0}}return!1}return $ in W},H1=Symbol.for("TypeBox.Transform"),S0=($)=>{if(!$)return;if($.type==="object"&&$.properties){let W=$.properties;for(let X of Object.keys(W)){let Z=W[X];if(Z.type==="object"){if(S0(Z))return!0}else if(Z.anyOf){for(let j=0;j<Z.anyOf.length;j++)if(S0(Z.anyOf[j]))return!0}if(H1 in Z)return!0}return!1}return H1 in $||$.properties&&H1 in $.properties},k3=/(?:return|=>) \S+\(/g,C0=($)=>{return($?.fn??$).constructor.name==="AsyncFunction"},k=($)=>{let W=$?.fn??$;if(W.constructor.name==="AsyncFunction")return!0;let X=W.toString();if(X.includes("=> response.clone("))return!1;if(X.includes("await"))return!0;if(X.includes("async"))return!0;return!!X.match(k3)},B1=($)=>{let W=$?.fn??$;return W.constructor.name==="AsyncGeneratorFunction"||W.constructor.name==="GeneratorFunction"},S2=({app:$,path:W,method:X,localHook:Z,hooks:J,validator:j,handler:Y,allowMeta:G=!1,inference:K})=>{let B=typeof Y==="function";if(!B){if(Y=x(Y,{headers:$.setHeaders??{}}),J.parse.length===0&&J.transform.length===0&&J.beforeHandle.length===0&&J.afterHandle.length===0)return Function("a","return function () { return a.clone() }")(Y)}let U=B?"handler(c)":"handler",w=J.afterResponse.length>0,F=J.trace.length>0,Q="";if(K=s0(Object.assign(Z,{handler:Y}),K),K.server)Q+=`\nObject.defineProperty(c, 'server', {
27
22
  get: function() { return getServer() }
28
- })\n`;if(K.body)Q+="let isParsing = false\n";J.createBody?.(),J.createQuery?.(),J.createHeaders?.(),J.createParams?.(),J.createCookie?.(),J.createResponse?.();const z=K.query||!!J.query,D=X!=="$INTERNALWS"&&X!=="GET"&&X!=="HEAD"&&(K.body||!!J.body||j.parse.length),M=$.setHeaders,I=M&&!!Object.keys(M).length,O=K.headers||J.headers,P=K.cookie||!!J.cookie,b=P?W2({validator:J.cookie,defaultConfig:$.config.cookie,dynamic:!!$.config.aot,config:J.cookie?.config??{},models:$.definitions.type}):void 0,T=b?.config;let E="";if(T?.sign){if(!T.secrets)throw new Error(`t.Cookie required secret which is not set in (${X}) ${W}.`);const N=!T.secrets?void 0:typeof T.secrets==="string"?T.secrets:T.secrets[0];if(E+=`const _setCookie = c.set.cookie
23
+ })\n`;if(K.body)Q+="let isParsing = false\n";j.createBody?.(),j.createQuery?.(),j.createHeaders?.(),j.createParams?.(),j.createCookie?.(),j.createResponse?.();let M=K.query||!!j.query,D=X!=="$INTERNALWS"&&X!=="GET"&&X!=="HEAD"&&(K.body||!!j.body||J.parse.length),z=$.setHeaders,I=z&&!!Object.keys(z).length,O=K.headers||j.headers,P=K.cookie||!!j.cookie,b=P?W1({validator:j.cookie,defaultConfig:$.config.cookie,dynamic:!!$.config.aot,config:j.cookie?.config??{},models:$.definitions.type}):void 0,T=b?.config,E="";if(T?.sign){if(!T.secrets)throw new Error(`t.Cookie required secret which is not set in (${X}) ${W}.`);let N=!T.secrets?void 0:typeof T.secrets==="string"?T.secrets:T.secrets[0];if(E+=`const _setCookie = c.set.cookie
29
24
  if(_setCookie) {`,T.sign===!0)E+=`for(const [key, cookie] of Object.entries(_setCookie)) {
30
25
  c.set.cookie[key].value = await signCookie(cookie.value, '${N}')
31
- }`;else for(let _ of T.sign)E+=`if(_setCookie['${_}']?.value) { c.set.cookie['${_}'].value = await signCookie(_setCookie['${_}'].value, '${N}') }\n`;E+="}\n"}const r=$.config.normalize,{composeValidation:L,composeResponseValidation:g}=E3({normalize:r,validator:J});if(O)Q+=T3?"c.headers = c.request.headers.toJSON()\n":`c.headers = {}
26
+ }`;else for(let _ of T.sign)E+=`if(_setCookie['${_}']?.value) { c.set.cookie['${_}'].value = await signCookie(_setCookie['${_}'].value, '${N}') }\n`;E+="}\n"}let r=$.config.normalize,{composeValidation:L,composeResponseValidation:f}=y3({normalize:r,validator:j});if(O)Q+=f3?"c.headers = c.request.headers.toJSON()\n":`c.headers = {}
32
27
  for (const [key, value] of c.request.headers.entries())
33
28
  c.headers[key] = value
34
- `;if(P){const N=(A,S)=>{const C=T?.[A]??S;if(!C)return typeof S==="string"?`${A}: "${S}",`:`${A}: ${S},`;if(typeof C==="string")return`${A}: '${C}',`;if(C instanceof Date)return`${A}: new Date(${C.getTime()}),`;return`${A}: ${C},`},_=T?`{
29
+ `;if(P){let N=(A,S)=>{let C=T?.[A]??S;if(!C)return typeof S==="string"?`${A}: "${S}",`:`${A}: ${S},`;if(typeof C==="string")return`${A}: '${C}',`;if(C instanceof Date)return`${A}: new Date(${C.getTime()}),`;return`${A}: ${C},`},_=T?`{
35
30
  secrets: ${T.secrets!==void 0?typeof T.secrets==="string"?`'${T.secrets}'`:"["+T.secrets.reduce((A,S)=>A+`'${S}',`,"")+"]":"undefined"},
36
31
  sign: ${T.sign===!0?!0:T.sign!==void 0?"["+T.sign.reduce((A,S)=>A+`'${S}',`,"")+"]":"undefined"},
37
32
  ${N("domain")}
@@ -42,14 +37,14 @@ var L1=Object.create;var{getPrototypeOf:T1,defineProperty:k2,getOwnPropertyNames
42
37
  ${N("priority")}
43
38
  ${N("sameSite")}
44
39
  ${N("secure")}
45
- }`:"undefined";if(O)Q+=`\nc.cookie = await parseCookie(c.set, c.headers.cookie, ${_})\n`;else Q+=`\nc.cookie = await parseCookie(c.set, c.request.headers.get('cookie'), ${_})\n`}if(z){const N=[];if(J.query&&J.query.schema.type==="object"){const _=J.query.schema.properties;if(!J0(J.query))for(let[A,S]of Object.entries(_)){let C=S;if(C&&P1.optional in C&&C.type==="array"&&C.items)C=C.items;const{type:a,anyOf:H}=C,U0=a==="array"||H?.some((u)=>u.type==="string"&&u.format==="ArrayString");N.push({key:A,isArray:U0,isNestedObjectArray:U0&&C.items?.type==="object"||!!C.items?.anyOf?.some((u)=>u.type==="object"||u.type==="array"),isObject:a==="object"||H?.some((u)=>u.type==="string"&&u.format==="ArrayString"),anyOf:!!H})}}if(!N.length)Q+=`if(c.qi === -1) {
40
+ }`:"undefined";if(O)Q+=`\nc.cookie = await parseCookie(c.set, c.headers.cookie, ${_})\n`;else Q+=`\nc.cookie = await parseCookie(c.set, c.request.headers.get('cookie'), ${_})\n`}if(M){let N=[];if(j.query&&j.query.schema.type==="object"){let _=j.query.schema.properties;if(!j0(j.query))for(let[A,S]of Object.entries(_)){let C=S;if(C&&V2.optional in C&&C.type==="array"&&C.items)C=C.items;let{type:a,anyOf:H}=C,U0=a==="array"||H?.some((u)=>u.type==="string"&&u.format==="ArrayString");N.push({key:A,isArray:U0,isNestedObjectArray:U0&&C.items?.type==="object"||!!C.items?.anyOf?.some((u)=>u.type==="object"||u.type==="array"),isObject:a==="object"||H?.some((u)=>u.type==="string"&&u.format==="ArrayString"),anyOf:!!H})}}if(!N.length)Q+=`if(c.qi === -1) {
46
41
  c.query = {}
47
42
  } else {
48
43
  c.query = parseQueryFromURL(c.url.slice(c.qi + 1))
49
44
  }`;else Q+=`if(c.qi !== -1) {
50
45
  let url = '&' + c.url.slice(c.qi + 1)
51
46
 
52
- ${N.map(({key:_,isArray:A,isObject:S,isNestedObjectArray:C,anyOf:a},H)=>{const U0=`${H===0?"let":""} memory = url.indexOf('&${_}=')
47
+ ${N.map(({key:_,isArray:A,isObject:S,isNestedObjectArray:C,anyOf:a},H)=>{let U0=`${H===0?"let":""} memory = url.indexOf('&${_}=')
53
48
  let a${H}\n`;if(A)return U0+(C?`while (memory !== -1) {
54
49
  const start = memory + ${_.length+2}
55
50
  memory = url.indexOf('&', start)
@@ -156,7 +151,7 @@ var L1=Object.create;var{getPrototypeOf:T1,defineProperty:k2,getOwnPropertyNames
156
151
  }
157
152
  } else {
158
153
  c.query = {}
159
- }`}if(F)Q+="\nconst id = c[ELYSIA_REQUEST_ID]\n";const R=x2({trace:j.trace,addFn:(N)=>{Q+=N}});Q+="\ntry {\n";const Y0=typeof Y==="function"&&k(Y),e=F||j.afterResponse.length>0?"c.response = ":"",y0=P||D||Y0||j.parse.length>0||j.afterHandle.some(k)||j.beforeHandle.some(k)||j.transform.some(k)||j.mapResponse.some(k),O1=(typeof Y==="function"?B2(Y):!1)||j.beforeHandle.some(B2)||j.afterHandle.some(B2)||j.transform.some(B2),t0=K.cookie||K.set||O||F||J.response||B&&I||O1,s=", c.request";Q+=`c.route = \`${W}\`\n`;const V1=R("parse",{total:j.parse.length});if(D){const N=j.parse.length||K.body||J.body;if(Q+="isParsing = true\n",j.type&&!j.parse.length)switch(j.type){case"json":case"application/json":if(t(J.body))Q+="try { c.body = await c.request.json() } catch {}";else Q+="c.body = await c.request.json()";break;case"text":case"text/plain":Q+="c.body = await c.request.text()\n";break;case"urlencoded":case"application/x-www-form-urlencoded":Q+="c.body = parseQuery(await c.request.text())\n";break;case"arrayBuffer":case"application/octet-stream":Q+="c.body = await c.request.arrayBuffer()\n";break;case"formdata":case"multipart/form-data":if(Q+="c.body = {}\n",t(J.body))Q+="let form; try { form = await c.request.formData() } catch {}";else Q+="const form = await c.request.formData()";Q+=`\nif(form)
154
+ }`}if(F)Q+="\nconst id = c[ELYSIA_REQUEST_ID]\n";let R=R1({trace:J.trace,addFn:(N)=>{Q+=N}});Q+="\ntry {\n";let Y0=typeof Y==="function"&&k(Y),e=F||J.afterResponse.length>0?"c.response = ":"",y0=P||D||Y0||J.parse.length>0||J.afterHandle.some(k)||J.beforeHandle.some(k)||J.transform.some(k)||J.mapResponse.some(k),L2=(typeof Y==="function"?B1(Y):!1)||J.beforeHandle.some(B1)||J.afterHandle.some(B1)||J.transform.some(B1),r0=K.cookie||K.set||O||F||j.response||B&&I||L2,s=", c.request";Q+=`c.route = \`${W}\`\n`;let T2=R("parse",{total:J.parse.length});if(D){let N=J.parse.length||K.body||j.body;if(Q+="isParsing = true\n",J.type&&!J.parse.length)switch(J.type){case"json":case"application/json":if(t(j.body))Q+="try { c.body = await c.request.json() } catch {}";else Q+="c.body = await c.request.json()";break;case"text":case"text/plain":Q+="c.body = await c.request.text()\n";break;case"urlencoded":case"application/x-www-form-urlencoded":Q+="c.body = parseQuery(await c.request.text())\n";break;case"arrayBuffer":case"application/octet-stream":Q+="c.body = await c.request.arrayBuffer()\n";break;case"formdata":case"multipart/form-data":if(Q+="c.body = {}\n",t(j.body))Q+="let form; try { form = await c.request.formData() } catch {}";else Q+="const form = await c.request.formData()";Q+=`\nif(form)
160
155
  for (const key of form.keys()) {
161
156
  if (c.body[key])
162
157
  continue
@@ -169,7 +164,7 @@ var L1=Object.create;var{getPrototypeOf:T1,defineProperty:k2,getOwnPropertyNames
169
164
  if (contentType) {
170
165
  const index = contentType.indexOf(';')
171
166
  if (index !== -1) contentType = contentType.substring(0, index)\n
172
- c.contentType = contentType\n`,j.parse.length){Q+="let used = false\n";const _=R("parse",{total:j.parse.length});for(let A=0;A<j.parse.length;A++){const S=_.resolveChild(j.parse[A].fn.name),C=`bo${A}`;if(A!==0)Q+="if(!used) {\n";if(Q+=`let ${C} = parse[${A}](c, contentType)\n`,Q+=`if(${C} instanceof Promise) ${C} = await ${C}\n`,Q+=`if(${C} !== undefined) { c.body = ${C}; used = true }\n`,S(),A!==0)Q+="}"}_.resolve()}if(Q+="\ndelete c.contentType\n",j.parse.length)Q+="if (!used) {";if(j.type&&!Array.isArray(j.type))switch(j.type){case"json":case"application/json":if(t(J.body))Q+="try { c.body = await c.request.json() } catch {}";else Q+="c.body = await c.request.json()";break;case"text":case"text/plain":Q+="c.body = await c.request.text()\n";break;case"urlencoded":case"application/x-www-form-urlencoded":Q+="c.body = parseQuery(await c.request.text())\n";break;case"arrayBuffer":case"application/octet-stream":Q+="c.body = await c.request.arrayBuffer()\n";break;case"formdata":case"multipart/form-data":Q+=`c.body = {}
167
+ c.contentType = contentType\n`,J.parse.length){Q+="let used = false\n";let _=R("parse",{total:J.parse.length});for(let A=0;A<J.parse.length;A++){let S=_.resolveChild(J.parse[A].fn.name),C=`bo${A}`;if(A!==0)Q+="if(!used) {\n";if(Q+=`let ${C} = parse[${A}](c, contentType)\n`,Q+=`if(${C} instanceof Promise) ${C} = await ${C}\n`,Q+=`if(${C} !== undefined) { c.body = ${C}; used = true }\n`,S(),A!==0)Q+="}"}_.resolve()}if(Q+="\ndelete c.contentType\n",J.parse.length)Q+="if (!used) {";if(J.type&&!Array.isArray(J.type))switch(J.type){case"json":case"application/json":if(t(j.body))Q+="try { c.body = await c.request.json() } catch {}";else Q+="c.body = await c.request.json()";break;case"text":case"text/plain":Q+="c.body = await c.request.text()\n";break;case"urlencoded":case"application/x-www-form-urlencoded":Q+="c.body = parseQuery(await c.request.text())\n";break;case"arrayBuffer":case"application/octet-stream":Q+="c.body = await c.request.arrayBuffer()\n";break;case"formdata":case"multipart/form-data":Q+=`c.body = {}
173
168
 
174
169
  const form = await c.request.formData()
175
170
  for (const key of form.keys()) {
@@ -183,7 +178,7 @@ var L1=Object.create;var{getPrototypeOf:T1,defineProperty:k2,getOwnPropertyNames
183
178
  }\n`;break}else Q+=`
184
179
  switch (contentType) {
185
180
  case 'application/json':
186
- ${t(J.body)?"try { c.body = await c.request.json() } catch {}":"c.body = await c.request.json()"}
181
+ ${t(j.body)?"try { c.body = await c.request.json() } catch {}":"c.body = await c.request.json()"}
187
182
  break
188
183
 
189
184
  case 'text/plain':
@@ -213,7 +208,7 @@ var L1=Object.create;var{getPrototypeOf:T1,defineProperty:k2,getOwnPropertyNames
213
208
  }
214
209
 
215
210
  break
216
- }`;if(j.parse.length)Q+="}";Q+="}\n"}Q+="\nisParsing = false\n"}if(V1.resolve(),j?.transform){const N=R("transform",{total:j.transform.length});if(j.transform.length)Q+="\nlet transformed\n";for(let _=0;_<j.transform.length;_++){const A=j.transform[_],S=N.resolveChild(A.fn.name);if(Q+=k(A)?`transformed = await transform[${_}](c)\n`:`transformed = transform[${_}](c)\n`,A.subType==="mapDerive")Q+=`if(transformed instanceof ElysiaCustomStatusResponse)
211
+ }`;if(J.parse.length)Q+="}";Q+="}\n"}Q+="\nisParsing = false\n"}if(T2.resolve(),J?.transform){let N=R("transform",{total:J.transform.length});if(J.transform.length)Q+="\nlet transformed\n";for(let _=0;_<J.transform.length;_++){let A=J.transform[_],S=N.resolveChild(A.fn.name);if(Q+=k(A)?`transformed = await transform[${_}](c)\n`:`transformed = transform[${_}](c)\n`,A.subType==="mapDerive")Q+=`if(transformed instanceof ElysiaCustomStatusResponse)
217
212
  throw transformed
218
213
  else {
219
214
  transformed.request = c.request
@@ -229,16 +224,16 @@ var L1=Object.create;var{getPrototypeOf:T1,defineProperty:k2,getOwnPropertyNames
229
224
  }`;else Q+=`if(transformed instanceof ElysiaCustomStatusResponse)
230
225
  throw transformed
231
226
  else
232
- Object.assign(c, transformed)\n`;S()}N.resolve()}if(J){if(Q+="\n",J.headers){if(r&&"Clean"in J.headers&&!J0(J.headers))Q+="c.headers = validator.headers.Clean(c.headers);\n";if(V0("default",J.headers.schema))for(let[N,_]of Object.entries(n0.Default(J.headers.schema,{}))){const A=typeof _==="object"?JSON.stringify(_):typeof _==="string"?`'${_}'`:_;if(A!==void 0)Q+=`c.headers['${N}'] ??= ${A}\n`}if(t(J.headers))Q+="if(isNotEmpty(c.headers)) {";if(Q+=`if(validator.headers.Check(c.headers) === false) {
227
+ Object.assign(c, transformed)\n`;S()}N.resolve()}if(j){if(Q+="\n",j.headers){if(r&&"Clean"in j.headers&&!j0(j.headers))Q+="c.headers = validator.headers.Clean(c.headers);\n";if(V0("default",j.headers.schema))for(let[N,_]of Object.entries(t0.Default(j.headers.schema,{}))){let A=typeof _==="object"?JSON.stringify(_):typeof _==="string"?`'${_}'`:_;if(A!==void 0)Q+=`c.headers['${N}'] ??= ${A}\n`}if(t(j.headers))Q+="if(isNotEmpty(c.headers)) {";if(Q+=`if(validator.headers.Check(c.headers) === false) {
233
228
  ${L("headers")}
234
- }`,S0(J.headers.schema))Q+="c.headers = validator.headers.Decode(c.headers)\n";if(t(J.headers))Q+="}"}if(J.params){if(V0("default",J.params.schema))for(let[N,_]of Object.entries(n0.Default(J.params.schema,{}))){const A=typeof _==="object"?JSON.stringify(_):typeof _==="string"?`'${_}'`:_;if(A!==void 0)Q+=`c.params['${N}'] ??= ${A}\n`}if(Q+=`if(validator.params.Check(c.params) === false) {
229
+ }`,S0(j.headers.schema))Q+="c.headers = validator.headers.Decode(c.headers)\n";if(t(j.headers))Q+="}"}if(j.params){if(V0("default",j.params.schema))for(let[N,_]of Object.entries(t0.Default(j.params.schema,{}))){let A=typeof _==="object"?JSON.stringify(_):typeof _==="string"?`'${_}'`:_;if(A!==void 0)Q+=`c.params['${N}'] ??= ${A}\n`}if(Q+=`if(validator.params.Check(c.params) === false) {
235
230
  ${L("params")}
236
- }`,S0(J.params.schema))Q+="\nc.params = validator.params.Decode(c.params)\n"}if(J.query){if(r&&"Clean"in J.query&&!J0(J.query))Q+="c.query = validator.query.Clean(c.query);\n";if(V0("default",J.query.schema))for(let[N,_]of Object.entries(n0.Default(J.query.schema,{}))){const A=typeof _==="object"?JSON.stringify(_):typeof _==="string"?`'${_}'`:_;if(A!==void 0)Q+=`if(c.query['${N}'] === undefined) c.query['${N}'] = ${A}\n`}if(t(J.query))Q+="if(isNotEmpty(c.query)) {";if(Q+=`if(validator.query.Check(c.query) === false) {
231
+ }`,S0(j.params.schema))Q+="\nc.params = validator.params.Decode(c.params)\n"}if(j.query){if(r&&"Clean"in j.query&&!j0(j.query))Q+="c.query = validator.query.Clean(c.query);\n";if(V0("default",j.query.schema))for(let[N,_]of Object.entries(t0.Default(j.query.schema,{}))){let A=typeof _==="object"?JSON.stringify(_):typeof _==="string"?`'${_}'`:_;if(A!==void 0)Q+=`if(c.query['${N}'] === undefined) c.query['${N}'] = ${A}\n`}if(t(j.query))Q+="if(isNotEmpty(c.query)) {";if(Q+=`if(validator.query.Check(c.query) === false) {
237
232
  ${L("query")}
238
- }`,S0(J.query.schema))Q+="\nc.query = validator.query.Decode(Object.assign({}, c.query))\n";if(t(J.query))Q+="}"}if(J.body){if(r&&"Clean"in J.body&&!J0(J.body))Q+="c.body = validator.body.Clean(c.body);\n";const N=S0(J.body.schema);if(N||t(J.body))Q+='\nconst isNotEmptyObject = c.body && (typeof c.body === "object" && isNotEmpty(c.body))\n';if(V0("default",J.body.schema)){const _=n0.Default(J.body.schema,J.body.schema.type==="object"?{}:void 0),A=typeof _==="object"?JSON.stringify(_):typeof _==="string"?`'${_}'`:_;if(Q+=`if(validator.body.Check(c.body) === false) {
233
+ }`,S0(j.query.schema))Q+="\nc.query = validator.query.Decode(Object.assign({}, c.query))\n";if(t(j.query))Q+="}"}if(j.body){if(r&&"Clean"in j.body&&!j0(j.body))Q+="c.body = validator.body.Clean(c.body);\n";let N=S0(j.body.schema);if(N||t(j.body))Q+='\nconst isNotEmptyObject = c.body && (typeof c.body === "object" && isNotEmpty(c.body))\n';if(V0("default",j.body.schema)){let _=t0.Default(j.body.schema,j.body.schema.type==="object"?{}:void 0),A=typeof _==="object"?JSON.stringify(_):typeof _==="string"?`'${_}'`:_;if(Q+=`if(validator.body.Check(c.body) === false) {
239
234
  if (typeof c.body === 'object') {
240
235
  c.body = Object.assign(${A}, c.body)
241
- } else { c.body = ${A} }`,t(J.body))Q+=`
236
+ } else { c.body = ${A} }`,t(j.body))Q+=`
242
237
  if(isNotEmptyObject && validator.body.Check(c.body) === false) {
243
238
  ${L("body")}
244
239
  }
@@ -246,16 +241,16 @@ var L1=Object.create;var{getPrototypeOf:T1,defineProperty:k2,getOwnPropertyNames
246
241
  if(validator.body.Check(c.body) === false) {
247
242
  ${L("body")}
248
243
  }
249
- }`}else if(t(J.body))Q+=`if(isNotEmptyObject && validator.body.Check(c.body) === false) {
244
+ }`}else if(t(j.body))Q+=`if(isNotEmptyObject && validator.body.Check(c.body) === false) {
250
245
  ${L("body")}
251
246
  }`;else Q+=`if(validator.body.Check(c.body) === false) {
252
247
  ${L("body")}
253
248
  }`;if(N)Q+="\nif(isNotEmptyObject) c.body = validator.body.Decode(c.body)\n"}if(c(b?.schema?.properties??b?.schema?.schema??{})){if(Q+=`const cookieValue = {}
254
249
  for(const [key, value] of Object.entries(c.cookie))
255
- cookieValue[key] = value.value\n`,V0("default",b.schema))for(let[N,_]of Object.entries(n0.Default(b.schema,{})))Q+=`cookieValue['${N}'] = ${typeof _==="object"?JSON.stringify(_):_}\n`;if(t(J.cookie))Q+="if(isNotEmpty(c.cookie)) {";if(Q+=`if(validator.cookie.Check(cookieValue) === false) {
250
+ cookieValue[key] = value.value\n`,V0("default",b.schema))for(let[N,_]of Object.entries(t0.Default(b.schema,{})))Q+=`cookieValue['${N}'] = ${typeof _==="object"?JSON.stringify(_):_}\n`;if(t(j.cookie))Q+="if(isNotEmpty(c.cookie)) {";if(Q+=`if(validator.cookie.Check(cookieValue) === false) {
256
251
  ${L("cookie","cookieValue")}
257
- }`,S0(J.cookie.schema))Q+=`\nfor(const [key, value] of Object.entries(validator.cookie.Decode(cookieValue)))
258
- c.cookie[key].value = value\n`;if(t(J.cookie))Q+="}"}}if(j?.beforeHandle){const N=R("beforeHandle",{total:j.beforeHandle.length});let _=!1;for(let A=0;A<j.beforeHandle.length;A++){const S=j.beforeHandle[A],C=N.resolveChild(S.fn.name),a=E0(S);if(S.subType==="resolve"||S.subType==="mapResolve"){if(!_)_=!0,Q+="\nlet resolved\n";if(Q+=k(S)?`resolved = await beforeHandle[${A}](c);\n`:`resolved = beforeHandle[${A}](c);\n`,S.subType==="mapResolve")Q+=`if(resolved instanceof ElysiaCustomStatusResponse)
252
+ }`,S0(j.cookie.schema))Q+=`\nfor(const [key, value] of Object.entries(validator.cookie.Decode(cookieValue)))
253
+ c.cookie[key].value = value\n`;if(t(j.cookie))Q+="}"}}if(J?.beforeHandle){let N=R("beforeHandle",{total:J.beforeHandle.length}),_=!1;for(let A=0;A<J.beforeHandle.length;A++){let S=J.beforeHandle[A],C=N.resolveChild(S.fn.name),a=E0(S);if(S.subType==="resolve"||S.subType==="mapResolve"){if(!_)_=!0,Q+="\nlet resolved\n";if(Q+=k(S)?`resolved = await beforeHandle[${A}](c);\n`:`resolved = beforeHandle[${A}](c);\n`,S.subType==="mapResolve")Q+=`if(resolved instanceof ElysiaCustomStatusResponse)
259
254
  throw resolved
260
255
  else {
261
256
  resolved.request = c.request
@@ -271,11 +266,11 @@ var L1=Object.create;var{getPrototypeOf:T1,defineProperty:k2,getOwnPropertyNames
271
266
  }`;else Q+=`if(resolved instanceof ElysiaCustomStatusResponse)
272
267
  throw resolved
273
268
  else
274
- Object.assign(c, resolved)\n`}else if(!a)Q+=k(S)?`await beforeHandle[${A}](c);\n`:`beforeHandle[${A}](c);\n`,C();else{if(Q+=k(S)?`be = await beforeHandle[${A}](c);\n`:`be = beforeHandle[${A}](c);\n`,C("be"),Q+="if(be !== undefined) {\n",N.resolve(),j.afterHandle?.length){R("handle",{name:B?Y.name:void 0}).resolve();const u=R("afterHandle",{total:j.afterHandle.length});for(let G0=0;G0<j.afterHandle.length;G0++){const L0=j.afterHandle[G0],S1=E0(L0),C1=u.resolveChild(L0.fn.name);if(Q+="c.response = be\n",!S1)Q+=k(L0.fn)?`await afterHandle[${G0}](c, be)\n`:`afterHandle[${G0}](c, be)\n`;else Q+=k(L0.fn)?`af = await afterHandle[${G0}](c)\n`:`af = afterHandle[${G0}](c)\n`,Q+="if(af !== undefined) { c.response = be = af }\n";C1("af")}u.resolve()}if(J.response)Q+=g("be");const U0=R("mapResponse",{total:j.mapResponse.length});if(j.mapResponse.length){Q+="\nc.response = be\n";for(let u=0;u<j.mapResponse.length;u++){const G0=j.mapResponse[u],L0=U0.resolveChild(G0.fn.name);Q+=`\nif(mr === undefined) {
269
+ Object.assign(c, resolved)\n`}else if(!a)Q+=k(S)?`await beforeHandle[${A}](c);\n`:`beforeHandle[${A}](c);\n`,C();else{if(Q+=k(S)?`be = await beforeHandle[${A}](c);\n`:`be = beforeHandle[${A}](c);\n`,C("be"),Q+="if(be !== undefined) {\n",N.resolve(),J.afterHandle?.length){R("handle",{name:B?Y.name:void 0}).resolve();let u=R("afterHandle",{total:J.afterHandle.length});for(let G0=0;G0<J.afterHandle.length;G0++){let L0=J.afterHandle[G0],E2=E0(L0),q2=u.resolveChild(L0.fn.name);if(Q+="c.response = be\n",!E2)Q+=k(L0.fn)?`await afterHandle[${G0}](c, be)\n`:`afterHandle[${G0}](c, be)\n`;else Q+=k(L0.fn)?`af = await afterHandle[${G0}](c)\n`:`af = afterHandle[${G0}](c)\n`,Q+="if(af !== undefined) { c.response = be = af }\n";q2("af")}u.resolve()}if(j.response)Q+=f("be");let U0=R("mapResponse",{total:J.mapResponse.length});if(J.mapResponse.length){Q+="\nc.response = be\n";for(let u=0;u<J.mapResponse.length;u++){let G0=J.mapResponse[u],L0=U0.resolveChild(G0.fn.name);Q+=`\nif(mr === undefined) {
275
270
  mr = ${C0(G0)?"await":""} onMapResponse[${u}](c)
276
271
  if(mr !== undefined) be = c.response = mr
277
- }\n`,L0()}}U0.resolve(),Q+=E,Q+=`return mapEarlyResponse(${e} be, c.set ${s})}\n`}}N.resolve()}if(j?.afterHandle.length){const N=R("handle",{name:B?Y.name:void 0});if(j.afterHandle.length)Q+=Y0?`let r = c.response = await ${U};\n`:`let r = c.response = ${U};\n`;else Q+=Y0?`let r = await ${U};\n`:`let r = ${U};\n`;N.resolve();const _=R("afterHandle",{total:j.afterHandle.length});for(let S=0;S<j.afterHandle.length;S++){const C=j.afterHandle[S],a=E0(C),H=_.resolveChild(C.fn.name);if(!a)Q+=k(C.fn)?`await afterHandle[${S}](c)\n`:`afterHandle[${S}](c)\n`,H();else if(Q+=k(C.fn)?`af = await afterHandle[${S}](c)\n`:`af = afterHandle[${S}](c)\n`,H("af"),J.response)Q+="if(af !== undefined) {",_.resolve(),Q+=g("af"),Q+="c.response = af }";else Q+="if(af !== undefined) {",_.resolve(),Q+="c.response = af}\n"}if(_.resolve(),Q+="r = c.response\n",J.response)Q+=g();Q+=E;const A=R("mapResponse",{total:j.mapResponse.length});if(j.mapResponse.length)for(let S=0;S<j.mapResponse.length;S++){const C=j.mapResponse[S],a=A.resolveChild(C.fn.name);Q+=`\nmr = ${C0(C)?"await":""} onMapResponse[${S}](c)
278
- if(mr !== undefined) r = c.response = mr\n`,a()}if(A.resolve(),t0)Q+=`return mapResponse(${e} r, c.set ${s})\n`;else Q+=`return mapCompactResponse(${e} r ${s})\n`}else{const N=R("handle",{name:B?Y.name:void 0});if(J.response||j.mapResponse.length){if(Q+=Y0?`let r = await ${U};\n`:`let r = ${U};\n`,N.resolve(),J.response)Q+=g();R("afterHandle").resolve();const _=R("mapResponse",{total:j.mapResponse.length});if(j.mapResponse.length){Q+="\nc.response = r\n";for(let A=0;A<j.mapResponse.length;A++){const S=j.mapResponse[A],C=_.resolveChild(S.fn.name);Q+=`\nif(mr === undefined) {
272
+ }\n`,L0()}}U0.resolve(),Q+=E,Q+=`return mapEarlyResponse(${e} be, c.set ${s})}\n`}}N.resolve()}if(J?.afterHandle.length){let N=R("handle",{name:B?Y.name:void 0});if(J.afterHandle.length)Q+=Y0?`let r = c.response = await ${U};\n`:`let r = c.response = ${U};\n`;else Q+=Y0?`let r = await ${U};\n`:`let r = ${U};\n`;N.resolve();let _=R("afterHandle",{total:J.afterHandle.length});for(let S=0;S<J.afterHandle.length;S++){let C=J.afterHandle[S],a=E0(C),H=_.resolveChild(C.fn.name);if(!a)Q+=k(C.fn)?`await afterHandle[${S}](c)\n`:`afterHandle[${S}](c)\n`,H();else if(Q+=k(C.fn)?`af = await afterHandle[${S}](c)\n`:`af = afterHandle[${S}](c)\n`,H("af"),j.response)Q+="if(af !== undefined) {",_.resolve(),Q+=f("af"),Q+="c.response = af }";else Q+="if(af !== undefined) {",_.resolve(),Q+="c.response = af}\n"}if(_.resolve(),Q+="r = c.response\n",j.response)Q+=f();Q+=E;let A=R("mapResponse",{total:J.mapResponse.length});if(J.mapResponse.length)for(let S=0;S<J.mapResponse.length;S++){let C=J.mapResponse[S],a=A.resolveChild(C.fn.name);Q+=`\nmr = ${C0(C)?"await":""} onMapResponse[${S}](c)
273
+ if(mr !== undefined) r = c.response = mr\n`,a()}if(A.resolve(),r0)Q+=`return mapResponse(${e} r, c.set ${s})\n`;else Q+=`return mapCompactResponse(${e} r ${s})\n`}else{let N=R("handle",{name:B?Y.name:void 0});if(j.response||J.mapResponse.length){if(Q+=Y0?`let r = await ${U};\n`:`let r = ${U};\n`,N.resolve(),j.response)Q+=f();R("afterHandle").resolve();let _=R("mapResponse",{total:J.mapResponse.length});if(J.mapResponse.length){Q+="\nc.response = r\n";for(let A=0;A<J.mapResponse.length;A++){let S=J.mapResponse[A],C=_.resolveChild(S.fn.name);Q+=`\nif(mr === undefined) {
279
274
  mr = ${C0(S)?"await":""} onMapResponse[${A}](c)
280
275
  if(mr !== undefined) r = c.response = mr
281
276
  }\n`,C()}}if(_.resolve(),Q+=E,Y instanceof Response)Q+=K.set?`if(
@@ -286,10 +281,10 @@ var L1=Object.create;var{getPrototypeOf:T1,defineProperty:k2,getOwnPropertyNames
286
281
  )
287
282
  return mapResponse(${e} ${U}.clone(), c.set ${s})
288
283
  else
289
- return ${U}.clone()`:`return ${U}.clone()`,Q+="\n";else if(t0)Q+=`return mapResponse(${e} r, c.set ${s})\n`;else Q+=`return mapCompactResponse(${e} r ${s})\n`}else if(P||F){Q+=Y0?`let r = await ${U};\n`:`let r = ${U};\n`,N.resolve(),R("afterHandle").resolve();const _=R("mapResponse",{total:j.mapResponse.length});if(j.mapResponse.length){Q+="\nc.response = r\n";for(let A=0;A<j.mapResponse.length;A++){const S=j.mapResponse[A],C=_.resolveChild(S.fn.name);Q+=`\nif(mr === undefined) {
284
+ return ${U}.clone()`:`return ${U}.clone()`,Q+="\n";else if(r0)Q+=`return mapResponse(${e} r, c.set ${s})\n`;else Q+=`return mapCompactResponse(${e} r ${s})\n`}else if(P||F){Q+=Y0?`let r = await ${U};\n`:`let r = ${U};\n`,N.resolve(),R("afterHandle").resolve();let _=R("mapResponse",{total:J.mapResponse.length});if(J.mapResponse.length){Q+="\nc.response = r\n";for(let A=0;A<J.mapResponse.length;A++){let S=J.mapResponse[A],C=_.resolveChild(S.fn.name);Q+=`\nif(mr === undefined) {
290
285
  mr = ${C0(S)?"await":""} onMapResponse[${A}](c)
291
286
  if(mr !== undefined) r = c.response = mr
292
- }\n`,C()}}if(_.resolve(),Q+=E,t0)Q+=`return mapResponse(${e} r, c.set ${s})\n`;else Q+=`return mapCompactResponse(${e} r ${s})\n`}else{N.resolve();const _=Y0?`await ${U}`:U;if(R("afterHandle").resolve(),Y instanceof Response)Q+=K.set?`if(
287
+ }\n`,C()}}if(_.resolve(),Q+=E,r0)Q+=`return mapResponse(${e} r, c.set ${s})\n`;else Q+=`return mapCompactResponse(${e} r ${s})\n`}else{N.resolve();let _=Y0?`await ${U}`:U;if(R("afterHandle").resolve(),Y instanceof Response)Q+=K.set?`if(
293
288
  isNotEmpty(c.set.headers) ||
294
289
  c.set.status !== 200 ||
295
290
  c.set.redirect ||
@@ -297,7 +292,7 @@ var L1=Object.create;var{getPrototypeOf:T1,defineProperty:k2,getOwnPropertyNames
297
292
  )
298
293
  return mapResponse(${e} ${U}.clone(), c.set ${s})
299
294
  else
300
- return ${U}.clone()`:`return ${U}.clone()`,Q+="\n";else if(t0)Q+=`return mapResponse(${e} ${_}, c.set ${s})\n`;else Q+=`return mapCompactResponse(${e} ${_} ${s})\n`}}if(Q+="\n} catch(error) {",D)Q+="\nif(isParsing) error = new ParseError()\n";if(!y0)Q+="\nreturn (async () => {\n";if(Q+="\nconst set = c.set\nif (!set.status || set.status < 300) set.status = error?.status || 500\n",F)for(let N=0;N<j.trace.length;N++)Q+=`report${N}?.resolve(error);reportChild${N}?.(error);\n`;const K2=R("error",{total:j.error.length});if(j.error.length){Q+=`
295
+ return ${U}.clone()`:`return ${U}.clone()`,Q+="\n";else if(r0)Q+=`return mapResponse(${e} ${_}, c.set ${s})\n`;else Q+=`return mapCompactResponse(${e} ${_} ${s})\n`}}if(Q+="\n} catch(error) {",D)Q+="\nif(isParsing) error = new ParseError()\n";if(!y0)Q+="\nreturn (async () => {\n";if(Q+="\nconst set = c.set\nif (!set.status || set.status < 300) set.status = error?.status || 500\n",F)for(let N=0;N<J.trace.length;N++)Q+=`report${N}?.resolve(error);reportChild${N}?.(error);\n`;let K1=R("error",{total:J.error.length});if(J.error.length){Q+=`
301
296
  c.error = error
302
297
  if(error instanceof TypeBoxError) {
303
298
  c.code = "VALIDATION"
@@ -305,9 +300,9 @@ var L1=Object.create;var{getPrototypeOf:T1,defineProperty:k2,getOwnPropertyNames
305
300
  } else
306
301
  c.code = error.code ?? error[ERROR_CODE] ?? "UNKNOWN"
307
302
  let er
308
- `;for(let N=0;N<j.error.length;N++){const _=K2.resolveChild(j.error[N].fn.name);if(k(j.error[N]))Q+=`\ner = await handleErrors[${N}](c)\n`;else Q+=`\ner = handleErrors[${N}](c)\nif (er instanceof Promise) er = await er\n`;_();const A=R("mapResponse",{total:j.mapResponse.length});if(j.mapResponse.length)for(let S=0;S<j.mapResponse.length;S++){const C=j.mapResponse[S],a=A.resolveChild(C.fn.name);Q+=`\nc.response = er\n
303
+ `;for(let N=0;N<J.error.length;N++){let _=K1.resolveChild(J.error[N].fn.name);if(k(J.error[N]))Q+=`\ner = await handleErrors[${N}](c)\n`;else Q+=`\ner = handleErrors[${N}](c)\nif (er instanceof Promise) er = await er\n`;_();let A=R("mapResponse",{total:J.mapResponse.length});if(J.mapResponse.length)for(let S=0;S<J.mapResponse.length;S++){let C=J.mapResponse[S],a=A.resolveChild(C.fn.name);Q+=`\nc.response = er\n
309
304
  er = ${C0(C)?"await":""} onMapResponse[${S}](c)
310
- if(er instanceof Promise) er = await er\n`,a()}if(A.resolve(),Q+=`er = mapEarlyResponse(er, set ${s})\n`,Q+="if (er) {",F){for(let S=0;S<j.trace.length;S++)Q+=`\nreport${S}.resolve()\n`;K2.resolve()}Q+="return er\n}\n"}}if(K2.resolve(),Q+="return handleError(c, error, true)\n",!y0)Q+="})()";if(Q+="}",w||F){if(Q+=" finally { ",!y0)Q+=";(async () => {";const N=R("afterResponse",{total:j.afterResponse.length});if(w)for(let _=0;_<j.afterResponse.length;_++){const A=N.resolveChild(j.afterResponse[_].fn.name);Q+=`\nawait afterResponse[${_}](c);\n`,A()}if(N.resolve(),!y0)Q+="})();";Q+="}"}Q=`const {
305
+ if(er instanceof Promise) er = await er\n`,a()}if(A.resolve(),Q+=`er = mapEarlyResponse(er, set ${s})\n`,Q+="if (er) {",F){for(let S=0;S<J.trace.length;S++)Q+=`\nreport${S}.resolve()\n`;K1.resolve()}Q+="return er\n}\n"}}if(K1.resolve(),Q+="return handleError(c, error, true)\n",!y0)Q+="})()";if(Q+="}",w||F){if(Q+=" finally { ",!y0)Q+=";(async () => {";let N=R("afterResponse",{total:J.afterResponse.length});if(w)for(let _=0;_<J.afterResponse.length;_++){let A=N.resolveChild(J.afterResponse[_].fn.name);Q+=`\nawait afterResponse[${_}](c);\n`,A()}if(N.resolve(),!y0)Q+="})();";Q+="}"}Q=`const {
311
306
  handler,
312
307
  handleError,
313
308
  hooks: {
@@ -352,14 +347,14 @@ var L1=Object.create;var{getPrototypeOf:T1,defineProperty:k2,getOwnPropertyNames
352
347
  const trace = _trace.map(x => typeof x === 'function' ? x : x.fn)
353
348
 
354
349
  return ${y0?"async":""} function handle(c) {
355
- ${j.beforeHandle.length?"let be":""}
356
- ${j.afterHandle.length?"let af":""}
357
- ${j.mapResponse.length?"let mr":""}
350
+ ${J.beforeHandle.length?"let be":""}
351
+ ${J.afterHandle.length?"let af":""}
352
+ ${J.mapResponse.length?"let mr":""}
358
353
 
359
354
  ${G?"c.schema = schema; c.defs = definitions":""}
360
355
  ${Q}
361
- }`;try{return Function("hooks",Q)({handler:Y,hooks:E2(j),validator:J,handleError:$.handleError,utils:{mapResponse:x,mapCompactResponse:Z0,mapEarlyResponse:y,parseQuery:l0,parseQueryFromURL:G2,isNotEmpty:c},error:{NotFoundError:A0,ValidationError:q,InternalServerError:Q2,ParseError:Y2},schema:$.router.history,definitions:$.definitions.type,ERROR_CODE:I0,parseCookie:e0,signCookie:x0,decodeURIComponent:N1.default,ElysiaCustomStatusResponse:p,ELYSIA_TRACE:i0,ELYSIA_REQUEST_ID:P0,getServer:()=>$.getServer(),TypeBoxError:L3})}catch{const N=E2(j);console.log("[Composer] failed to generate optimized handler"),console.log("Please report the following to SaltyAom privately as it may include sensitive information about your codebase:"),console.log("---"),console.log({handler:typeof Y==="function"?Y.toString():Y,hooks:{...N,transform:N?.transform?.map?.((_)=>_.toString()),resolve:N?.resolve?.map?.((_)=>_.toString()),beforeHandle:N?.beforeHandle?.map?.((_)=>_.toString()),afterHandle:N?.afterHandle?.map?.((_)=>_.toString()),mapResponse:N?.mapResponse?.map?.((_)=>_.toString()),parse:N?.parse?.map?.((_)=>_.toString()),error:N?.error?.map?.((_)=>_.toString()),afterResponse:N?.afterResponse?.map?.((_)=>_.toString()),stop:N?.stop?.map?.((_)=>_.toString())},validator:J,definitions:$.definitions.type}),console.log("---"),process.exit(1)}},g2=($)=>{const W=$.config.handler?.standardHostname??!0;let X="",Z="";const j=$.setHeaders;for(let D of Object.keys($.singleton.decorator))X+=`,${D}: app.singleton.decorator.${D}`;const J=$.router,Y=$.event.trace.length>0;let G=`
362
- const route = router.find(request.method, path) ${J.http.root.ALL?'?? router.find("ALL", path)':""}
356
+ }`;try{return Function("hooks",Q)({handler:Y,hooks:L1(J),validator:j,handleError:$.handleError,utils:{mapResponse:x,mapCompactResponse:Z0,mapEarlyResponse:g,parseQuery:i0,parseQueryFromURL:G1,isNotEmpty:c},error:{NotFoundError:A0,ValidationError:q,InternalServerError:Q1,ParseError:Y1},schema:$.router.history,definitions:$.definitions.type,ERROR_CODE:I0,parseCookie:e0,signCookie:x0,decodeURIComponent:O2.default,ElysiaCustomStatusResponse:l,ELYSIA_TRACE:n0,ELYSIA_REQUEST_ID:P0,getServer:()=>$.getServer(),TypeBoxError:g3})}catch{let N=L1(J);console.log("[Composer] failed to generate optimized handler"),console.log("Please report the following to SaltyAom privately as it may include sensitive information about your codebase:"),console.log("---"),console.log({handler:typeof Y==="function"?Y.toString():Y,hooks:{...N,transform:N?.transform?.map?.((_)=>_.toString()),resolve:N?.resolve?.map?.((_)=>_.toString()),beforeHandle:N?.beforeHandle?.map?.((_)=>_.toString()),afterHandle:N?.afterHandle?.map?.((_)=>_.toString()),mapResponse:N?.mapResponse?.map?.((_)=>_.toString()),parse:N?.parse?.map?.((_)=>_.toString()),error:N?.error?.map?.((_)=>_.toString()),afterResponse:N?.afterResponse?.map?.((_)=>_.toString()),stop:N?.stop?.map?.((_)=>_.toString())},validator:j,definitions:$.definitions.type}),console.log("---"),process.exit(1)}},b1=($)=>{let W=$.config.handler?.standardHostname??!0,X="",Z="",J=$.setHeaders;for(let D of Object.keys($.singleton.decorator))X+=`,${D}: app.singleton.decorator.${D}`;let j=$.router,Y=$.event.trace.length>0,G=`
357
+ const route = router.find(request.method, path) ${j.http.root.ALL?'?? router.find("ALL", path)':""}
363
358
 
364
359
  if (route === null)
365
360
  return ${$.event.error.length?"app.handleError(ctx, notFound)":$.event.request.length?`new Response(error404Message, {
@@ -368,7 +363,7 @@ var L1=Object.create;var{getPrototypeOf:T1,defineProperty:k2,getOwnPropertyNames
368
363
  })`:"error404.clone()"}
369
364
 
370
365
  ctx.params = route.params\n`;G+=`if(route.store.handler) return route.store.handler(ctx)
371
- return (route.store.handler = route.store.compile())(ctx)\n`;let K="";for(let[D,{code:M,all:I,static:O}]of Object.entries(J.static.http.map)){if(O)K+=`case '${D}':\nswitch(request.method) {\n${M}\n${I??"default: break map"}}\n\n`;K+=`case '${D}':\nswitch(request.method) {\n${M}\n${I??"default: break map"}}\n\n`}const B=$.event.request.some(k);if(Z+=`const {
366
+ return (route.store.handler = route.store.compile())(ctx)\n`;let K="";for(let[D,{code:z,all:I,static:O}]of Object.entries(j.static.http.map)){if(O)K+=`case '${D}':\nswitch(request.method) {\n${z}\n${I??"default: break map"}}\n\n`;K+=`case '${D}':\nswitch(request.method) {\n${z}\n${I??"default: break map"}}\n\n`}let B=$.event.request.some(k);if(Z+=`const {
372
367
  app,
373
368
  mapEarlyResponse,
374
369
  NotFoundError,
@@ -395,7 +390,7 @@ var L1=Object.create;var{getPrototypeOf:T1,defineProperty:k2,getOwnPropertyNames
395
390
  ${$.event.error.length?"":`\nconst error404Message = notFound.message.toString()
396
391
  const error404 = new Response(error404Message, { status: 404 });\n`}
397
392
 
398
- ${$.event.trace.length?`const ${$.event.trace.map((D,M)=>`tr${M} = app.event.trace[${M}].fn`).join(",")}`:""}
393
+ ${$.event.trace.length?`const ${$.event.trace.map((D,z)=>`tr${z} = app.event.trace[${z}].fn`).join(",")}`:""}
399
394
 
400
395
  ${B?"async":""} function map(request) {\n`,$.event.request.length)Z+="let re";if(Z+=`\nconst url = request.url
401
396
  const s = url.indexOf('/', ${W?11:7})
@@ -413,7 +408,7 @@ var L1=Object.create;var{getPrototypeOf:T1,defineProperty:k2,getOwnPropertyNames
413
408
  url,
414
409
  redirect,
415
410
  set: {
416
- headers: ${Object.keys(j??{}).length?"Object.assign({}, app.setHeaders)":"{}"},
411
+ headers: ${Object.keys(J??{}).length?"Object.assign({}, app.setHeaders)":"{}"},
417
412
  status: 200
418
413
  },
419
414
  error
@@ -422,18 +417,18 @@ var L1=Object.create;var{getPrototypeOf:T1,defineProperty:k2,getOwnPropertyNames
422
417
  }`:""}
423
418
  ${Y?",[ELYSIA_REQUEST_ID]: id":""}
424
419
  ${X}
425
- }\n`,$.event.trace.length)Z+=`\nctx[ELYSIA_TRACE] = [${$.event.trace.map((D,M)=>`tr${M}(ctx)`).join(",")}]\n`;const w=x2({context:"ctx",trace:$.event.trace,addFn(D){Z+=D}})("request",{attribute:"ctx",total:$.event.request.length});if($.event.request.length){Z+="\n try {\n";for(let D=0;D<$.event.request.length;D++){const M=$.event.request[D],I=E0(M),O=k(M),P=w.resolveChild($.event.request[D].fn.name);if(I)Z+=`re = mapEarlyResponse(
420
+ }\n`,$.event.trace.length)Z+=`\nctx[ELYSIA_TRACE] = [${$.event.trace.map((D,z)=>`tr${z}(ctx)`).join(",")}]\n`;let w=R1({context:"ctx",trace:$.event.trace,addFn(D){Z+=D}})("request",{attribute:"ctx",total:$.event.request.length});if($.event.request.length){Z+="\n try {\n";for(let D=0;D<$.event.request.length;D++){let z=$.event.request[D],I=E0(z),O=k(z),P=w.resolveChild($.event.request[D].fn.name);if(I)Z+=`re = mapEarlyResponse(
426
421
  ${O?"await":""} onRequest[${D}](ctx),
427
422
  ctx.set,
428
423
  request
429
424
  )\n`,P("re"),Z+="if(re !== undefined) return re\n";else Z+=`${O?"await":""} onRequest[${D}](ctx)\n`,P()}Z+=`} catch (error) {
430
425
  return app.handleError(ctx, error)
431
- }`}w.resolve();const F=$.router.static.ws,Q=$.router.ws;if(Object.keys(F).length||Q.history.length){Z+=`
426
+ }`}w.resolve();let F=$.router.static.ws,Q=$.router.ws;if(Object.keys(F).length||Q.history.length){Z+=`
432
427
  if(request.method === 'GET') {
433
- switch(path) {`;for(let[D,M]of Object.entries(F))Z+=`
428
+ switch(path) {`;for(let[D,z]of Object.entries(F))Z+=`
434
429
  case '${D}':
435
430
  if(request.headers.get('upgrade') === 'websocket')
436
- return st[${M}](ctx)
431
+ return st[${z}](ctx)
437
432
 
438
433
  break`;Z+=`
439
434
  default:
@@ -461,7 +456,7 @@ var L1=Object.create;var{getPrototypeOf:T1,defineProperty:k2,getOwnPropertyNames
461
456
  }
462
457
 
463
458
  ${G}
464
- }\n`,$.extender.higherOrderFunctions.length){let D="map";for(let M=0;M<$.extender.higherOrderFunctions.length;M++)D=`hoc[${M}](${D}, request)`;Z+=`return function hocMap(request) { return ${D}(request) }`}else Z+="return map";const z=f2($);return $.handleError=z,Function("data",Z)({app:$,mapEarlyResponse:y,NotFoundError:A0,randomId:j2,handleError:z,error:q2,redirect:d0,ELYSIA_TRACE:i0,ELYSIA_REQUEST_ID:P0,getServer:()=>$.getServer()})},f2=($)=>{const W=$.event;let X="";X+=`const {
459
+ }\n`,$.extender.higherOrderFunctions.length){let D="map";for(let z=0;z<$.extender.higherOrderFunctions.length;z++)D=`hoc[${z}](${D}, request)`;Z+=`return function hocMap(request) { return ${D}(request) }`}else Z+="return map";let M=x1($);return $.handleError=M,Function("data",Z)({app:$,mapEarlyResponse:g,NotFoundError:A0,randomId:J1,handleError:M,error:T1,redirect:c0,ELYSIA_TRACE:n0,ELYSIA_REQUEST_ID:P0,getServer:()=>$.getServer()})},x1=($)=>{let W=$.event,X="";X+=`const {
465
460
  app: { event: { error: onErrorContainer, afterResponse: resContainer, mapResponse: _onMapResponse, trace: _trace } },
466
461
  mapResponse,
467
462
  ERROR_CODE,
@@ -481,7 +476,7 @@ var L1=Object.create;var{getPrototypeOf:T1,defineProperty:k2,getOwnPropertyNames
481
476
  const onError = onErrorContainer.map(x => x.fn)
482
477
  const res = resContainer.map(x => x.fn)
483
478
 
484
- return ${$.event.error.find(k)||$.event.mapResponse.find(k)?"async":""} function(context, error, skipGlobal) {`;const Z=$.event.trace.length>0;if(Z)X+="\nconst id = context[ELYSIA_REQUEST_ID]\n";const j=x2({context:"context",trace:W.trace,addFn:(G)=>{X+=G}});X+=`
479
+ return ${$.event.error.find(k)||$.event.mapResponse.find(k)?"async":""} function(context, error, skipGlobal) {`;let Z=$.event.trace.length>0;if(Z)X+="\nconst id = context[ELYSIA_REQUEST_ID]\n";let J=R1({context:"context",trace:W.trace,addFn:(G)=>{X+=G}});X+=`
485
480
  const set = context.set
486
481
  let r
487
482
 
@@ -494,7 +489,7 @@ var L1=Object.create;var{getPrototypeOf:T1,defineProperty:k2,getOwnPropertyNames
494
489
  if(error instanceof ElysiaCustomStatusResponse) {
495
490
  error.status = error.code
496
491
  error.message = error.response
497
- }\n`;const J=Z||W.afterResponse.length>0||W.afterResponse.length>0?"context.response = ":"";for(let G=0;G<$.event.error.length;G++){const K=$.event.error[G],B=`${k(K)?"await ":""}onError[${G}](context)`;if(X+="\nif(skipGlobal !== true) {\n",E0(K)){X+=`r = ${B}; if(r !== undefined) {
492
+ }\n`;let j=Z||W.afterResponse.length>0||W.afterResponse.length>0?"context.response = ":"";for(let G=0;G<$.event.error.length;G++){let K=$.event.error[G],B=`${k(K)?"await ":""}onError[${G}](context)`;if(X+="\nif(skipGlobal !== true) {\n",E0(K)){X+=`r = ${B}; if(r !== undefined) {
498
493
  if(r instanceof Response) return r
499
494
 
500
495
  if(r instanceof ElysiaCustomStatusResponse) {
@@ -502,11 +497,12 @@ var L1=Object.create;var{getPrototypeOf:T1,defineProperty:k2,getOwnPropertyNames
502
497
  error.message = error.response
503
498
  }
504
499
 
505
- if(set.status === 200) set.status = error.status\n`;const U=j("mapResponse",{total:W.mapResponse.length,name:"context"});if(W.mapResponse.length)for(let w=0;w<W.mapResponse.length;w++){const F=W.mapResponse[w],Q=U.resolveChild(F.fn.name);X+=`\ncontext.response = r
506
- r = ${C0(F)?"await":""} onMapResponse[${w}](context)\n`,Q()}U.resolve(),X+=`return mapResponse(${J} r, set, context.request)}\n`}else X+=B+"\n";X+="\n}\n"}X+=`if(error.constructor.name === "ValidationError" || error.constructor.name === "TransformDecodeError") {
507
- set.status = error.status ?? 422
500
+ if(set.status === 200) set.status = error.status\n`;let U=J("mapResponse",{total:W.mapResponse.length,name:"context"});if(W.mapResponse.length)for(let w=0;w<W.mapResponse.length;w++){let F=W.mapResponse[w],Q=U.resolveChild(F.fn.name);X+=`\ncontext.response = r
501
+ r = ${C0(F)?"await":""} onMapResponse[${w}](context)\n`,Q()}U.resolve(),X+=`return mapResponse(${j} r, set, context.request)}\n`}else X+=B+"\n";X+="\n}\n"}X+=`if(error.constructor.name === "ValidationError" || error.constructor.name === "TransformDecodeError") {
502
+ const reportedError = error.error ?? error
503
+ set.status = reportedError.status ?? 422
508
504
  return new Response(
509
- error.message,
505
+ reportedError.message,
510
506
  {
511
507
  headers: Object.assign(
512
508
  { 'content-type': 'application/json'},
@@ -520,7 +516,7 @@ var L1=Object.create;var{getPrototypeOf:T1,defineProperty:k2,getOwnPropertyNames
520
516
  return new Response(
521
517
  error.message,
522
518
  { headers: set.headers, status: error.status }
523
- )\n`;const Y=j("mapResponse",{total:W.mapResponse.length,name:"context"});if(W.mapResponse.length)for(let G=0;G<W.mapResponse.length;G++){const K=W.mapResponse[G],B=Y.resolveChild(K.fn.name);X+=`\ncontext.response = error
524
- error = ${C0(K)?"await":""} onMapResponse[${G}](context)\n`,B()}return Y.resolve(),X+=`\nreturn mapResponse(${J} error, set, context.request)\n}\n}`,Function("inject",X)({app:$,mapResponse:x,ERROR_CODE:I0,ElysiaCustomStatusResponse:p,ELYSIA_TRACE:i0,ELYSIA_REQUEST_ID:P0})};var y2=($)=>async(W)=>{const X=W.url,Z=X.indexOf("/",11),j=X.indexOf("?",Z+1),J=j===-1?X.substring(Z):X.substring(Z,j),Y={cookie:{},status:200,headers:{}},G=Object.assign({},$.singleton.decorator,{set:Y,store:$.singleton.store,request:W,path:J,qi:j,redirect:d0});try{for(let I=0;I<$.event.request.length;I++){const O=$.event.request[I].fn;let P=O(G);if(P instanceof Promise)P=await P;if(P=y(P,Y),P)return G.response=P}const K=$.router.dynamic.find(W.method,J)??$.router.dynamic.find("ALL",J);if(!K)throw new A0;const{handle:B,hooks:U,validator:w,content:F}=K.store;let Q;if(W.method!=="GET"&&W.method!=="HEAD")if(F)switch(F){case"application/json":Q=await W.json();break;case"text/plain":Q=await W.text();break;case"application/x-www-form-urlencoded":Q=l0(await W.text());break;case"application/octet-stream":Q=await W.arrayBuffer();break;case"multipart/form-data":Q={};const I=await W.formData();for(let O of I.keys()){if(Q[O])continue;const P=I.getAll(O);if(P.length===1)Q[O]=P[0];else Q[O]=P}break}else{let I=W.headers.get("content-type");if(I){const O=I.indexOf(";");if(O!==-1)I=I.slice(0,O);G.contentType=I;for(let P=0;P<U.parse.length;P++){const b=U.parse[P].fn;let T=b(G,I);if(T instanceof Promise)T=await T;if(T){Q=T;break}}if(delete G.contentType,Q===void 0)switch(I){case"application/json":Q=await W.json();break;case"text/plain":Q=await W.text();break;case"application/x-www-form-urlencoded":Q=l0(await W.text());break;case"application/octet-stream":Q=await W.arrayBuffer();break;case"multipart/form-data":Q={};const P=await W.formData();for(let b of P.keys()){if(Q[b])continue;const T=P.getAll(b);if(T.length===1)Q[b]=T[0];else Q[b]=T}break}}}G.body=Q,G.params=K?.params||void 0,G.query=j===-1?{}:G2(X.substring(j+1)),G.headers={};for(let[I,O]of W.headers.entries())G.headers[I]=O;const z=Object.assign({},$.config?.cookie,w?.cookie?.config),D=W.headers.get("cookie");G.cookie=await e0(G.set,D,z?{secrets:z.secrets!==void 0?typeof z.secrets==="string"?z.secrets:z.secrets.join(","):void 0,sign:z.sign===!0?!0:z.sign!==void 0?typeof z.sign==="string"?z.sign:z.sign.join(","):void 0}:void 0);for(let I=0;I<U.transform.length;I++){const O=U.transform[I],P=O.fn(G);if(O.subType==="derive")if(P instanceof Promise)Object.assign(G,await P);else Object.assign(G,P);else if(P instanceof Promise)await P}if(w){if(w.createHeaders?.()){const I={};for(let O in W.headers)I[O]=W.headers.get(O);if(w.headers.Check(I)===!1)throw new q("header",w.headers,I)}else if(w.headers?.Decode)G.headers=w.headers.Decode(G.headers);if(w.createParams?.()?.Check(G.params)===!1)throw new q("params",w.params,G.params);else if(w.params?.Decode)G.params=w.params.Decode(G.params);if(w.createQuery?.()?.Check(G.query)===!1)throw new q("query",w.query,G.query);else if(w.query?.Decode)G.query=w.query.Decode(G.query);if(w.createCookie?.()){let I={};for(let[O,P]of Object.entries(G.cookie))I[O]=P.value;if(w.cookie.Check(I)===!1)throw new q("cookie",w.cookie,I);else if(w.cookie?.Decode)I=w.cookie.Decode(I)}if(w.createBody?.()?.Check(Q)===!1)throw new q("body",w.body,Q);else if(w.body?.Decode)G.body=w.body.Decode(Q)}for(let I=0;I<U.beforeHandle.length;I++){const O=U.beforeHandle[I];let P=O.fn(G);if(O.subType==="resolve"){if(P instanceof Promise)Object.assign(G,await P);else Object.assign(G,P);continue}else if(P instanceof Promise)P=await P;if(P!==void 0){G.response=P;for(let T=0;T<U.afterHandle.length;T++){let E=U.afterHandle[T].fn(G);if(E instanceof Promise)E=await E;if(E)P=E}const b=y(P,G.set);if(b)return G.response=b}}let M=B(G);if(M instanceof Promise)M=await M;if(!U.afterHandle.length){const I=M instanceof p?M.code:Y.status?typeof Y.status==="string"?_0[Y.status]:Y.status:200,O=w?.createResponse?.()?.[I];if(O?.Check(M)===!1)throw new q("response",O,M);else if(O?.Decode)M=O.Decode(M)}else{G.response=M;for(let I=0;I<U.afterHandle.length;I++){let O=U.afterHandle[I].fn(G);if(O instanceof Promise)O=await O;const P=y(O,G.set);if(P!==void 0){const b=w?.response?.[P.status];if(b?.Check(P)===!1)throw new q("response",b,P);else if(b?.Decode)M=b.Decode(M);return G.response=P}}}if(G.set.cookie&&z?.sign){const I=!z.secrets?void 0:typeof z.secrets==="string"?z.secrets:z.secrets[0];if(z.sign===!0)for(let[O,P]of Object.entries(G.set.cookie))G.set.cookie[O].value=await x0(P.value,"${secret}");else{const O=w?.cookie?.schema?.properties;for(let P of z.sign){if(!(P in O))continue;if(G.set.cookie[P]?.value)G.set.cookie[P].value=await x0(G.set.cookie[P].value,I)}}}return G.response=x(M,G.set)}catch(K){if(K.status)Y.status=K.status;return $.handleError(G,K)}finally{for(let K of $.event.afterResponse)await K.fn(G)}},A1=($)=>async(W,X)=>{const Z=Object.assign(W,{error:X,code:X.code});Z.set=W.set;for(let j=0;j<$.event.error.length;j++){let Y=$.event.error[j].fn(Z);if(Y instanceof Promise)Y=await Y;if(Y!==void 0&&Y!==null)return W.response=x(Y,W.set)}return new Response(typeof X.cause==="string"?X.cause:X.message,{headers:W.set.headers,status:X.status??500})};import{TypeSystemPolicy as O5}from"@sinclair/typebox/system";class Q0{config;server=null;dependencies={};_routes={};_types={Prefix:"",Scoped:!1,Singleton:{},Definitions:{},Metadata:{}};_ephemeral={};_volatile={};static version=R2;version=R2;singleton={decorator:{},store:{},derive:{},resolve:{}};get store(){return this.singleton.store}get decorator(){return this.singleton.decorator}get _scoped(){return this.config.scoped}definitions={type:{},error:{}};extender={macros:[],higherOrderFunctions:[]};validator={global:null,scoped:null,local:null,getCandidate(){return b0(b0(this.global,this.scoped),this.local)}};event={start:[],request:[],parse:[],transform:[],beforeHandle:[],afterHandle:[],mapResponse:[],afterResponse:[],trace:[],error:[],stop:[]};telemetry={stack:void 0};router={http:new M0,ws:new M0,dynamic:new M0,static:{http:{static:{},handlers:[],map:{},all:""},ws:{}},history:[]};routeTree=new Map;get routes(){return this.router.history}getGlobalRoutes(){return this.router.history}inference={body:!1,cookie:!1,headers:!1,query:!1,set:!1,server:!1};getServer(){return this.server}_promisedModules;get promisedModules(){if(!this._promisedModules)this._promisedModules=new T2;return this._promisedModules}constructor($={}){if($.tags)if(!$.detail)$.detail={tags:$.tags};else $.detail.tags=$.tags;if($.nativeStaticResponse===void 0)$.nativeStaticResponse=!0;if(this.config={},this.applyConfig($??{}),$?.analytic&&($?.name||$?.seed!==void 0))this.telemetry.stack=new Error().stack}env($,W=Bun?.env??process.env){if(m($,{dynamic:!0,additionalProperties:!0,coerce:!0}).Check(W)===!1){const Z=new q("env",$,W);throw new Error(Z.all.map((j)=>j.summary).join("\n"))}return this}wrap($){return this.extender.higherOrderFunctions.push({checksum:N0(JSON.stringify({name:this.config.name,seed:this.config.seed,content:$.toString()})),fn:$}),this}applyMacro($){if(this.extender.macros.length){const W=F1({globalHook:this.event,localHook:$}),X={events:{global:this.event,local:$},onParse:W("parse"),onTransform:W("transform"),onBeforeHandle:W("beforeHandle"),onAfterHandle:W("afterHandle"),mapResponse:W("mapResponse"),onAfterResponse:W("afterResponse"),onError:W("error")};for(let Z of this.extender.macros)_1(Z.fn(X),$)}}applyConfig($){return this.config={prefix:"",aot:!0,strictPath:!1,global:!1,analytic:!1,normalize:!0,...$,cookie:{path:"/",...$?.cookie},experimental:$?.experimental??{},seed:$?.seed===void 0?"":$?.seed},this}get models(){const $={};for(let[W,X]of Object.entries(this.definitions.type))$[W]=m(X);return $}add($,W,X,Z,{allowMeta:j=!1,skipPrefix:J=!1}={allowMeta:!1,skipPrefix:!1}){if(Z=M1(Z),W!==""&&W.charCodeAt(0)!==47)W="/"+W;if(this.config.prefix&&!J&&!this.config.scoped)W=this.config.prefix+W;if(Z?.type)switch(Z.type){case"text":Z.type="text/plain";break;case"json":Z.type="application/json";break;case"formdata":Z.type="multipart/form-data";break;case"urlencoded":Z.type="application/x-www-form-urlencoded";break;case"arrayBuffer":Z.type="application/octet-stream";break;default:break}const Y=this.definitions.type,G=!this.config.aot,K={...this.validator.getCandidate()},B={body:Z?.body??K?.body,headers:Z?.headers??K?.headers,params:Z?.params??K?.params,query:Z?.query??K?.query,cookie:Z?.cookie??K?.cookie,response:Z?.response??K?.response},U=()=>B.cookie?W2({validator:B.cookie,defaultConfig:this.config.cookie,config:B.cookie?.config??{},dynamic:G,models:Y}):void 0,w=this.config.normalize,F=this.config.precompile===!0||typeof this.config.precompile==="object"&&this.config.precompile.schema===!0?{body:m(B.body,{dynamic:G,models:Y,normalize:w,additionalCoerce:S2()}),headers:m(B.headers,{dynamic:G,models:Y,additionalProperties:!this.config.normalize,coerce:!0,additionalCoerce:D0()}),params:m(B.params,{dynamic:G,models:Y,coerce:!0,additionalCoerce:D0()}),query:m(B.query,{dynamic:G,models:Y,normalize:w,coerce:!0,additionalCoerce:D0()}),cookie:U(),response:$2(B.response,{dynamic:G,models:Y,normalize:w})}:{createBody(){if(this.body)return this.body;return this.body=m(B.body,{dynamic:G,models:Y,normalize:w,additionalCoerce:S2()})},createHeaders(){if(this.headers)return this.headers;return this.headers=m(B.headers,{dynamic:G,models:Y,additionalProperties:!w,coerce:!0,additionalCoerce:D0()})},createParams(){if(this.params)return this.params;return this.params=m(B.params,{dynamic:G,models:Y,coerce:!0,additionalCoerce:D0()})},createQuery(){if(this.query)return this.query;return this.query=m(B.query,{dynamic:G,models:Y,coerce:!0,additionalCoerce:D0()})},createCookie(){if(this.cookie)return this.cookie;return this.cookie=U()},createResponse(){if(this.response)return this.response;return this.response=$2(B.response,{dynamic:G,models:Y,normalize:w})}},Q=W.endsWith("/")?W.slice(0,W.length-1):W+"/";if(Z=i(Z,K),Z.tags)if(!Z.detail)Z.detail={tags:Z.tags};else Z.detail.tags=Z.tags;if(c(this.config.detail))Z.detail=d(Object.assign({},this.config.detail),Z.detail);this.applyMacro(Z);const z=i(this.event,Z);if(this.config.aot===!1){if(this.router.dynamic.add($,W,{validator:F,hooks:z,content:Z?.type,handle:X}),this.config.strictPath===!1)this.router.dynamic.add($,Q,{validator:F,hooks:z,content:Z?.type,handle:X});this.router.history.push({method:$,path:W,composed:null,handler:X,hooks:z});return}const D=this.config.precompile===!0||typeof this.config.precompile==="object"&&this.config.precompile.compose===!0,M=m0(this.inference),I=typeof X!=="function"?Q1(X,z,this.setHeaders):void 0,O=typeof X!=="function"?Y1(X,z,this.setHeaders):void 0;if(this.config.nativeStaticResponse===!0&&O&&($==="GET"||$==="ALL"))this.router.static.http.static[W]=O();const P=()=>I1({app:this,path:W,method:$,localHook:i(Z),hooks:z,validator:F,handler:X,allowMeta:j,inference:M}),b=D?P():(L)=>{return P()(L)},T=this.router.history.length;if(this.routeTree.has($+W))for(let L=0;L<this.router.history.length;L++){const g=this.router.history[L];if(g.path===W&&g.method===$){const R=this.router.history.splice(L,1)[0];if(R&&this.routeTree.has(R?.method+R?.path))this.routeTree.delete(R.method+R.path)}}else this.routeTree.set($+W,T);this.router.history.push({method:$,path:W,composed:b,handler:X,hooks:z});const E=this.router.static.http,r={handler:D?b:void 0,compile:P};if($==="$INTERNALWS"){const L=this.config.strictPath?void 0:W.endsWith("/")?W.slice(0,W.length-1):W+"/";if(W.indexOf(":")===-1&&W.indexOf("*")===-1){const g=E.handlers.length;if(E.handlers.push((R)=>(E.handlers[g]=P())(R)),this.router.static.ws[W]=g,L)this.router.static.ws[L]=g}else if(this.router.ws.add("ws",W,r),L)this.router.ws.add("ws",L,r);return}if(W.indexOf(":")===-1&&W.indexOf("*")===-1){const L=E.handlers.length;if(E.handlers.push(I??((R)=>(E.handlers[L]=P())(R))),!E.map[W])E.map[W]={code:""};const g=I?"":"ctx";if($==="ALL")E.map[W].all=`default: return st[${L}](${g})\n`;else E.map[W].code=`case '${$}': return st[${L}](${g})\n${E.map[W].code}`;if(!this.config.strictPath){if(!E.map[Q])E.map[Q]={code:""};if(this.config.nativeStaticResponse===!0&&O&&($==="GET"||$==="ALL"))this.router.static.http.static[Q]=O();if($==="ALL")E.map[Q].all=`default: return st[${L}](${g})\n`;else E.map[Q].code=`case '${$}': return st[${L}](${g})\n${E.map[Q].code}`}}else if(this.router.http.add($,W,r),!this.config.strictPath){const L=W.endsWith("/")?W.slice(0,W.length-1):W+"/";if(this.config.nativeStaticResponse===!0&&I&&($==="GET"||$==="ALL"))this.router.static.http.static[L]=I();this.router.http.add($,L,r)}}setHeaders;headers($){if(!$)return this;if(!this.setHeaders)this.setHeaders={};return this.setHeaders=d(this.setHeaders,$),this}onStart($){return this.on("start",$),this}onRequest($){return this.on("request",$),this}onParse($,W){if(!W)return this.on("parse",$);return this.on($,"parse",W)}onTransform($,W){if(!W)return this.on("transform",$);return this.on($,"transform",W)}resolve($,W){if(!W)W=$,$={as:"local"};const X={subType:"resolve",fn:W};return this.onBeforeHandle($,X)}mapResolve($,W){if(!W)W=$,$={as:"local"};const X={subType:"mapResolve",fn:W};return this.onBeforeHandle($,X)}onBeforeHandle($,W){if(!W)return this.on("beforeHandle",$);return this.on($,"beforeHandle",W)}onAfterHandle($,W){if(!W)return this.on("afterHandle",$);return this.on($,"afterHandle",W)}mapResponse($,W){if(!W)return this.on("mapResponse",$);return this.on($,"mapResponse",W)}onAfterResponse($,W){if(!W)return this.on("afterResponse",$);return this.on($,"afterResponse",W)}trace($,W){if(!W)W=$,$={as:"local"};if(!Array.isArray(W))W=[W];for(let X of W)this.on($,"trace",D1(X));return this}error($,W){switch(typeof $){case"string":return W.prototype[I0]=$,this.definitions.error[$]=W,this;case"function":return this.definitions.error=$(this.definitions.error),this}for(let[X,Z]of Object.entries($))Z.prototype[I0]=X,this.definitions.error[X]=Z;return this}onError($,W){if(!W)return this.on("error",$);return this.on($,"error",W)}onStop($){return this.on("stop",$),this}on($,W,X){let Z;switch(typeof $){case"string":Z=$,X=W;break;case"object":if(Z=W,!Array.isArray(W)&&typeof W==="object")X=W;break}if(Array.isArray(X))X=n(X);else if(typeof X==="function")X=[{fn:X}];else X=[X];const j=X;for(let J of j)J.scope=typeof $==="string"?"local":$?.as??"local";if(Z!=="trace")r0({[Z]:j.map((J)=>J.fn)},this.inference);for(let J of j){const Y=w1(J,"global",{skipIfHasType:!0});switch(Z){case"start":this.event.start.push(Y);break;case"request":this.event.request.push(Y);break;case"parse":this.event.parse.push(Y);break;case"transform":this.event.transform.push(Y);break;case"beforeHandle":this.event.beforeHandle.push(Y);break;case"afterHandle":this.event.afterHandle.push(Y);break;case"mapResponse":this.event.mapResponse.push(Y);break;case"afterResponse":this.event.afterResponse.push(Y);break;case"trace":this.event.trace.push(Y);break;case"error":this.event.error.push(Y);break;case"stop":this.event.stop.push(Y);break}}return this}propagate(){return v(this.event.parse),v(this.event.transform),v(this.event.beforeHandle),v(this.event.afterHandle),v(this.event.mapResponse),v(this.event.afterResponse),v(this.event.trace),v(this.event.error),this}as($){const W={plugin:"scoped",global:"global"}[$];if(v(this.event.parse,W),v(this.event.transform,W),v(this.event.beforeHandle,W),v(this.event.afterHandle,W),v(this.event.mapResponse,W),v(this.event.afterResponse,W),v(this.event.trace,W),v(this.event.error,W),$==="plugin")this.validator.scoped=b0(this.validator.scoped,this.validator.local),this.validator.local=null;else if($==="global")this.validator.global=b0(this.validator.global,b0(this.validator.scoped,this.validator.local)),this.validator.scoped=null,this.validator.local=null;return this}group($,W,X){const Z=new Q0({...this.config,prefix:""});Z.singleton={...this.singleton},Z.definitions={...this.definitions},Z.getServer=()=>this.getServer(),Z.inference=m0(this.inference),Z.extender={...this.extender};const j=typeof W==="object",J=(j?X:W)(Z);if(this.singleton=d(this.singleton,Z.singleton),this.definitions=d(this.definitions,Z.definitions),J.event.request.length)this.event.request=[...this.event.request||[],...J.event.request||[]];if(J.event.mapResponse.length)this.event.mapResponse=[...this.event.mapResponse||[],...J.event.mapResponse||[]];return this.model(J.definitions.type),Object.values(Z.router.history).forEach(({method:Y,path:G,handler:K,hooks:B})=>{if(G=(j?"":this.config.prefix)+$+G,j){const U=W,w=B;this.add(Y,G,K,i(U,{...w||{},error:!w.error?J.event.error:Array.isArray(w.error)?[...w.error||{},...J.event.error||{}]:[w.error,...J.event.error||{}]}))}else this.add(Y,G,K,i(B,{error:J.event.error}),{skipPrefix:!0})}),this}guard($,W){if(!W){if(typeof $==="object"){this.applyMacro($);const j=$.as??"local";if(this.validator[j]={body:$.body??this.validator[j]?.body,headers:$.headers??this.validator[j]?.headers,params:$.params??this.validator[j]?.params,query:$.query??this.validator[j]?.query,response:$.response??this.validator[j]?.response,cookie:$.cookie??this.validator[j]?.cookie},$.parse)this.on({as:j},"parse",$.parse);if($.transform)this.on({as:j},"transform",$.transform);if($.beforeHandle)this.on({as:j},"beforeHandle",$.beforeHandle);if($.afterHandle)this.on({as:j},"afterHandle",$.afterHandle);if($.mapResponse)this.on({as:j},"mapResponse",$.mapResponse);if($.afterResponse)this.on({as:j},"afterResponse",$.afterResponse);if($.error)this.on({as:j},"error",$.error);if($.detail)if(this.config.detail)this.config.detail=d(Object.assign({},this.config.detail),$.detail);else this.config.detail=$.detail;if($?.tags)if(!this.config.detail)this.config.detail={tags:$.tags};else this.config.detail.tags=$.tags;return this}return this.guard({},$)}const X=new Q0({...this.config,prefix:""});X.singleton={...this.singleton},X.definitions={...this.definitions},X.inference=m0(this.inference),X.extender={...this.extender};const Z=W(X);if(this.singleton=d(this.singleton,X.singleton),this.definitions=d(this.definitions,X.definitions),Z.getServer=()=>this.server,Z.event.request.length)this.event.request=[...this.event.request||[],...Z.event.request||[]];if(Z.event.mapResponse.length)this.event.mapResponse=[...this.event.mapResponse||[],...Z.event.mapResponse||[]];return this.model(Z.definitions.type),Object.values(X.router.history).forEach(({method:j,path:J,handler:Y,hooks:G})=>{this.add(j,J,Y,i($,{...G||{},error:!G.error?Z.event.error:Array.isArray(G.error)?[...G.error||{},...Z.event.error||[]]:[G.error,...Z.event.error||[]]}))}),this}use($,W){if(W?.scoped)return this.guard({},(X)=>X.use($));if(Array.isArray($)){let X=this;for(let Z of $)X=this.use(Z);return X}if($ instanceof Promise)return this.promisedModules.add($.then((X)=>{if(typeof X==="function")return X(this);if(X instanceof Q0)return this._use(X).compile();if(typeof X.default==="function")return X.default(this);if(X.default instanceof Q0)return this._use(X.default);throw new Error('Invalid plugin type. Expected Elysia instance, function, or module with "default" as Elysia instance or function that returns Elysia instance.')}).then((X)=>X.compile())),this;return this._use($)}_use($){if(typeof $==="function"){const j=$(this);if(j instanceof Promise)return this.promisedModules.add(j.then((J)=>{if(J instanceof Q0){J.getServer=()=>this.getServer(),J.getGlobalRoutes=()=>this.getGlobalRoutes(),J.model(this.definitions.type),J.error(this.definitions.error);for(let{method:Y,path:G,handler:K,hooks:B}of Object.values(J.router.history))this.add(Y,G,K,i(B,{error:J.event.error}));return J.compile(),J}if(typeof J==="function")return J(this);if(typeof J.default==="function")return J.default(this);return this._use(J)}).then((J)=>J.compile())),this;return j}const{name:W,seed:X}=$.config;$.getServer=()=>this.getServer(),$.getGlobalRoutes=()=>this.getGlobalRoutes(),$.model(this.definitions.type),$.error(this.definitions.error);const Z=$.config.scoped;if(Z){if(W){if(!(W in this.dependencies))this.dependencies[W]=[];const J=X!==void 0?N0(W+JSON.stringify(X)):0;if(this.dependencies[W].some(({checksum:Y})=>J===Y))return this;this.dependencies[W].push(!this.config?.analytic?{name:$.config.name,seed:$.config.seed,checksum:J,dependencies:$.dependencies}:{name:$.config.name,seed:$.config.seed,checksum:J,dependencies:$.dependencies,stack:$.telemetry.stack,routes:$.router.history,decorators:$.singleton.decorator,store:$.singleton.store,type:$.definitions.type,error:$.definitions.error,derive:$.event.transform.filter((Y)=>Y.subType==="derive").map((Y)=>({fn:Y.fn.toString(),stack:new Error().stack??""})),resolve:$.event.transform.filter((Y)=>Y.subType==="derive").map((Y)=>({fn:Y.fn.toString(),stack:new Error().stack??""}))})}$.extender.macros=this.extender.macros.concat($.extender.macros);const j=[];for(let J=0;J<$.extender.macros.length;J++){const Y=this.extender.macros[J];if(j.includes(Y.checksum))$.extender.macros.splice(J,1),J--;j.push(Y.checksum)}if($.onRequest((J)=>{Object.assign(J,this.singleton.decorator),Object.assign(J.store,this.singleton.store)}),$.event.trace.length)$.event.trace.push(...$.event.trace);if(!$.config.prefix)console.warn("It's recommended to use scoped instance with a prefix to prevent collision routing with other instance.");if($.event.error.length)$.event.error.push(...this.event.error);if($.config.aot)$.compile();if(Z===!0&&$.config.prefix){this.mount($.config.prefix+"/",$.fetch);for(let J of $.router.history)this.routeTree.set(J.method+`${$.config.prefix}${J.path}`,this.router.history.length),this.router.history.push({...J,path:`${$.config.prefix}${J.path}`,hooks:i(J.hooks,{error:this.event.error})})}else{this.mount($.fetch);for(let J of $.router.history)this.routeTree.set(J.method+`${$.config.prefix}${J.path}`,this.router.history.length),this.router.history.push({...J,path:`${$.config.prefix}${J.path}`,hooks:i(J.hooks,{error:this.event.error})})}return this}else{if(this.headers($.setHeaders),W){if(!(W in this.dependencies))this.dependencies[W]=[];const J=X!==void 0?N0(W+JSON.stringify(X)):0;if(!this.dependencies[W].some(({checksum:Y})=>J===Y))this.extender.macros=this.extender.macros.concat($.extender.macros),this.extender.higherOrderFunctions=this.extender.higherOrderFunctions.concat($.extender.higherOrderFunctions)}else this.extender.macros=this.extender.macros.concat($.extender.macros),this.extender.higherOrderFunctions=this.extender.higherOrderFunctions.concat($.extender.higherOrderFunctions);J2(this.extender.macros),J2(this.extender.higherOrderFunctions);const j=[];for(let J=0;J<this.extender.higherOrderFunctions.length;J++){const Y=this.extender.higherOrderFunctions[J];if(Y.checksum){if(j.includes(Y.checksum))this.extender.higherOrderFunctions.splice(J,1),J--;j.push(Y.checksum)}}this.inference={body:this.inference.body||$.inference.body,cookie:this.inference.cookie||$.inference.cookie,headers:this.inference.headers||$.inference.headers,query:this.inference.query||$.inference.query,set:this.inference.set||$.inference.set,server:this.inference.server||$.inference.server}}this.decorate($.singleton.decorator),this.state($.singleton.store),this.model($.definitions.type),this.error($.definitions.error),$.extender.macros=this.extender.macros.concat($.extender.macros);for(let{method:j,path:J,handler:Y,hooks:G}of Object.values($.router.history))this.add(j,J,Y,i(G,{error:$.event.error}));if(!Z)if(W){if(!(W in this.dependencies))this.dependencies[W]=[];const j=X!==void 0?N0(W+JSON.stringify(X)):0;if(this.dependencies[W].some(({checksum:J})=>j===J))return this;this.dependencies[W].push(!this.config?.analytic?{name:$.config.name,seed:$.config.seed,checksum:j,dependencies:$.dependencies}:{name:$.config.name,seed:$.config.seed,checksum:j,dependencies:$.dependencies,stack:$.telemetry.stack,routes:$.router.history,decorators:$.singleton,store:$.singleton.store,type:$.definitions.type,error:$.definitions.error,derive:$.event.transform.filter((J)=>J?.subType==="derive").map((J)=>({fn:J.toString(),stack:new Error().stack??""})),resolve:$.event.transform.filter((J)=>J?.subType==="resolve").map((J)=>({fn:J.toString(),stack:new Error().stack??""}))}),this.event=C2(this.event,L2($.event),j)}else this.event=C2(this.event,L2($.event));return this.validator.global=i(this.validator.global,{...$.validator.global}),this.validator.local=i(this.validator.local,{...$.validator.scoped}),this}macro($){const W={checksum:N0(JSON.stringify({name:this.config.name,seed:this.config.seed,content:$.toString()})),fn:$};return this.extender.macros.push(W),this}mount($,W){if($ instanceof Q0||typeof $==="function"||$.length===0||$==="/"){const j=typeof $==="function"?$:$ instanceof Q0?$.compile().fetch:W instanceof Q0?W.compile().fetch:W,J=async({request:Y,path:G})=>{if(Y.method==="GET"||Y.method==="HEAD"||!Y.headers.get("content-type"))return j(new Request(R0(Y.url,G||"/"),Y));return j(new Request(R0(Y.url,G||"/"),{...Y,body:await Y.arrayBuffer()}))};return this.all("/*",J,{type:"none"}),this}const X=$.length;if(W instanceof Q0)W=W.compile().fetch;const Z=async({request:j,path:J})=>{if(j.method==="GET"||j.method==="HEAD"||!j.headers.get("content-type"))return W(new Request(R0(j.url,J.slice(X)||"/"),j));return W(new Request(R0(j.url,J.slice(X)||"/"),{...j,body:await j.arrayBuffer()}))};return this.all($,Z,{type:"none"}),this.all($+($.endsWith("/")?"*":"/*"),Z,{type:"none"}),this}get($,W,X){return this.add("GET",$,W,X),this}post($,W,X){return this.add("POST",$,W,X),this}put($,W,X){return this.add("PUT",$,W,X),this}patch($,W,X){return this.add("PATCH",$,W,X),this}delete($,W,X){return this.add("DELETE",$,W,X),this}options($,W,X){return this.add("OPTIONS",$,W,X),this}all($,W,X){return this.add("ALL",$,W,X),this}head($,W,X){return this.add("HEAD",$,W,X),this}connect($,W,X){return this.add("CONNECT",$,W,X),this}route($,W,X,Z){return this.add($.toUpperCase(),W,X,Z,Z?.config),this}ws($,W){const X=W.transformMessage?Array.isArray(W.transformMessage)?W.transformMessage:[W.transformMessage]:void 0;let Z=null;const j=m(W?.body,{models:this.definitions.type,normalize:this.config.normalize}),J=m(W?.response,{models:this.definitions.type,normalize:this.config.normalize}),Y=(G)=>{if(typeof G==="string"){const K=G?.charCodeAt(0);if(K===47||K===123)try{G=JSON.parse(G)}catch{}else if(Z2(G))G=+G}if(X?.length)for(let K=0;K<X.length;K++){const B=X[K](G);if(B!==void 0)G=B}return G};return this.route("$INTERNALWS",$,(G)=>{const{set:K,path:B,qi:U,headers:w,query:F,params:Q}=G;if(Z===null)Z=this.getServer();if(Z?.upgrade(G.request,{headers:typeof W.upgrade==="function"?W.upgrade(G):W.upgrade,data:{validator:J,open(z){W.open?.(new g0(z,G))},message:(z,D)=>{const M=Y(D);if(j?.Check(M)===!1)return void z.send(new q("message",j,M).message);W.message?.(new g0(z,G),M)},drain(z){W.drain?.(new g0(z,G))},close(z,D,M){W.close?.(new g0(z,G),D,M)}}}))return;return K.status=400,"Expected a websocket connection"},{beforeHandle:W.beforeHandle,transform:W.transform,headers:W.headers,params:W.params,query:W.query}),this}state($,W,X){if(W===void 0)X=$,$={as:"append"},W="";else if(X===void 0){if(typeof $==="string")X=W,W=$,$={as:"append"};else if(typeof $==="object")X=W,W=""}const{as:Z}=$;if(typeof W!=="string")return this;switch(typeof X){case"object":if(W){if(W in this.singleton.store)this.singleton.store[W]=d(this.singleton.store[W],X,{override:Z==="override"});else this.singleton.store[W]=X;return this}if(X===null)return this;return this.singleton.store=d(this.singleton.store,X,{override:Z==="override"}),this;case"function":if(W){if(Z==="override"||!(W in this.singleton.store))this.singleton.store[W]=X}else this.singleton.store=X(this.singleton.store);return this;default:if(Z==="override"||!(W in this.singleton.store))this.singleton.store[W]=X;return this}}decorate($,W,X){if(W===void 0)X=$,$={as:"append"},W="";else if(X===void 0){if(typeof $==="string")X=W,W=$,$={as:"append"};else if(typeof $==="object")X=W,W=""}const{as:Z}=$;if(typeof W!=="string")return this;switch(typeof X){case"object":if(W){if(W in this.singleton.decorator)this.singleton.decorator[W]=d(this.singleton.decorator[W],X,{override:Z==="override"});else this.singleton.decorator[W]=X;return this}if(X===null)return this;return this.singleton.decorator=d(this.singleton.decorator,X,{override:Z==="override"}),this;case"function":if(W){if(Z==="override"||!(W in this.singleton.decorator))this.singleton.decorator[W]=X}else this.singleton.decorator=X(this.singleton.decorator);return this;default:if(Z==="override"||!(W in this.singleton.decorator))this.singleton.decorator[W]=X;return this}}derive($,W){if(!W)W=$,$={as:"local"};const X={subType:"derive",fn:W};return this.onTransform($,X)}model($,W){switch(typeof $){case"object":return Object.entries($).forEach(([X,Z])=>{if(!(X in this.definitions.type))this.definitions.type[X]=Z}),this;case"function":return this.definitions.type=$(this.definitions.type),this}return this.definitions.type[$]=W,this}mapDerive($,W){if(!W)W=$,$={as:"local"};const X={subType:"mapDerive",fn:W};return this.onTransform($,X)}affix($,W,X){if(X==="")return this;const Z=["_","-"," "],j=(K)=>K[0].toUpperCase()+K.slice(1),J=$==="prefix"?(K,B)=>Z.includes(K.at(-1)??"")?K+B:K+j(B):Z.includes(X.at(-1)??"")?(K,B)=>B+K:(K,B)=>B+j(K),Y=(K)=>{const B={};switch(K){case"decorator":for(let U in this.singleton.decorator)B[J(X,U)]=this.singleton.decorator[U];this.singleton.decorator=B;break;case"state":for(let U in this.singleton.store)B[J(X,U)]=this.singleton.store[U];this.singleton.store=B;break;case"model":for(let U in this.definitions.type)B[J(X,U)]=this.definitions.type[U];this.definitions.type=B;break;case"error":for(let U in this.definitions.error)B[J(X,U)]=this.definitions.error[U];this.definitions.error=B;break}},G=Array.isArray(W)?W:[W];for(let K of G.some((B)=>B==="all")?["decorator","state","model","error"]:G)Y(K);return this}prefix($,W){return this.affix("prefix",$,W)}suffix($,W){return this.affix("suffix",$,W)}compile(){if(this.fetch=this.config.aot?g2(this):y2(this),typeof this.server?.reload==="function")this.server.reload({...this.server||{},fetch:this.fetch});return this}handle=async($)=>this.fetch($);fetch=($)=>{return(this.fetch=this.config.aot?g2(this):y2(this))($)};handleError=async($,W)=>(this.handleError=this.config.aot?f2(this):A1(this))($,W);outerErrorHandler=($)=>new Response($.message||$.name||"Error",{status:$?.status??500});listen=($,W)=>{if(typeof Bun==="undefined")throw new Error(".listen() is designed to run on Bun only. If you are running Elysia in other environment please use a dedicated plugin or export the handler via Elysia.fetch");if(this.compile(),typeof $==="string"){if(!Z2($))throw new Error("Port must be a numeric value");$=parseInt($)}const X=this.fetch,Z=typeof $==="object"?{development:!p0,reusePort:!0,...this.config.serve||{},...$||{},static:this.router.static.http.static,websocket:{...this.config.websocket||{},...H2||{}},fetch:X,error:this.outerErrorHandler}:{development:!p0,reusePort:!0,...this.config.serve||{},static:this.router.static.http.static,websocket:{...this.config.websocket||{},...H2||{}},port:$,fetch:X,error:this.outerErrorHandler};this.server=Bun?.serve(Z);for(let j=0;j<this.event.start.length;j++)this.event.start[j].fn(this);if(W)W(this.server);return process.on("beforeExit",()=>{if(this.server){this.server.stop(),this.server=null;for(let j=0;j<this.event.stop.length;j++)this.event.stop[j].fn(this)}}),this.promisedModules.then(()=>{Bun?.gc(!1)}),this};stop=async($)=>{if(!this.server)throw new Error("Elysia isn't running. Call `app.listen` to start the server.");if(this.server){if(this.server.stop($),this.server=null,this.event.stop.length)for(let W=0;W<this.event.stop.length;W++)this.event.stop[W].fn(this)}};get modules(){return Promise.all(this.promisedModules.promises)}}export{V as t,R0 as replaceUrlPath,V2 as replaceSchemaType,d0 as redirect,f as mergeObjectArray,i as mergeHook,o as mapValueError,x as mapResponse,y as mapEarlyResponse,Z0 as mapCompactResponse,m as getSchemaValidator,$2 as getResponseSchemaValidator,S3 as form,q2 as error,Q0 as default,J2 as deduplicateChecksum,m0 as cloneInference,N0 as checksum,q as ValidationError,O5 as TypeSystemPolicy,_0 as StatusMap,Y2 as ParseError,A0 as NotFoundError,X2 as InvertedStatusMap,v0 as InvalidCookieSignature,Q2 as InternalServerError,Q0 as Elysia,I0 as ERROR_CODE,i0 as ELYSIA_TRACE,P0 as ELYSIA_REQUEST_ID,V3 as ELYSIA_FORM_DATA,w0 as Cookie};
519
+ )\n`;let Y=J("mapResponse",{total:W.mapResponse.length,name:"context"});if(W.mapResponse.length)for(let G=0;G<W.mapResponse.length;G++){let K=W.mapResponse[G],B=Y.resolveChild(K.fn.name);X+=`\ncontext.response = error
520
+ error = ${C0(K)?"await":""} onMapResponse[${G}](context)\n`,B()}return Y.resolve(),X+=`\nreturn mapResponse(${j} error, set, context.request)\n}\n}`,Function("inject",X)({app:$,mapResponse:x,ERROR_CODE:I0,ElysiaCustomStatusResponse:l,ELYSIA_TRACE:n0,ELYSIA_REQUEST_ID:P0})};import{TransformDecodeError as v3}from"@sinclair/typebox/value";var g1=($)=>async(W)=>{let X=W.url,Z=X.indexOf("/",11),J=X.indexOf("?",Z+1),j=J===-1?X.substring(Z):X.substring(Z,J),Y={cookie:{},status:200,headers:{}},G=Object.assign({},$.singleton.decorator,{set:Y,store:$.singleton.store,request:W,path:j,qi:J,redirect:c0});try{for(let I=0;I<$.event.request.length;I++){let O=$.event.request[I].fn,P=O(G);if(P instanceof Promise)P=await P;if(P=g(P,Y),P)return G.response=P}let K=$.router.dynamic.find(W.method,j)??$.router.dynamic.find("ALL",j);if(!K)throw new A0;let{handle:B,hooks:U,validator:w,content:F}=K.store,Q;if(W.method!=="GET"&&W.method!=="HEAD")if(F)switch(F){case"application/json":Q=await W.json();break;case"text/plain":Q=await W.text();break;case"application/x-www-form-urlencoded":Q=i0(await W.text());break;case"application/octet-stream":Q=await W.arrayBuffer();break;case"multipart/form-data":Q={};let I=await W.formData();for(let O of I.keys()){if(Q[O])continue;let P=I.getAll(O);if(P.length===1)Q[O]=P[0];else Q[O]=P}break}else{let I=W.headers.get("content-type");if(I){let O=I.indexOf(";");if(O!==-1)I=I.slice(0,O);G.contentType=I;for(let P=0;P<U.parse.length;P++){let b=U.parse[P].fn,T=b(G,I);if(T instanceof Promise)T=await T;if(T){Q=T;break}}if(delete G.contentType,Q===void 0)switch(I){case"application/json":Q=await W.json();break;case"text/plain":Q=await W.text();break;case"application/x-www-form-urlencoded":Q=i0(await W.text());break;case"application/octet-stream":Q=await W.arrayBuffer();break;case"multipart/form-data":Q={};let P=await W.formData();for(let b of P.keys()){if(Q[b])continue;let T=P.getAll(b);if(T.length===1)Q[b]=T[0];else Q[b]=T}break}}}G.body=Q,G.params=K?.params||void 0,G.query=J===-1?{}:G1(X.substring(J+1)),G.headers={};for(let[I,O]of W.headers.entries())G.headers[I]=O;let M=Object.assign({},$.config?.cookie,w?.cookie?.config),D=W.headers.get("cookie");G.cookie=await e0(G.set,D,M?{secrets:M.secrets!==void 0?typeof M.secrets==="string"?M.secrets:M.secrets.join(","):void 0,sign:M.sign===!0?!0:M.sign!==void 0?typeof M.sign==="string"?M.sign:M.sign.join(","):void 0}:void 0);for(let I=0;I<U.transform.length;I++){let O=U.transform[I],P=O.fn(G);if(O.subType==="derive")if(P instanceof Promise)Object.assign(G,await P);else Object.assign(G,P);else if(P instanceof Promise)await P}if(w){if(w.createHeaders?.()){let I={};for(let O in W.headers)I[O]=W.headers.get(O);if(w.headers.Check(I)===!1)throw new q("header",w.headers,I)}else if(w.headers?.Decode)G.headers=w.headers.Decode(G.headers);if(w.createParams?.()?.Check(G.params)===!1)throw new q("params",w.params,G.params);else if(w.params?.Decode)G.params=w.params.Decode(G.params);if(w.createQuery?.()?.Check(G.query)===!1)throw new q("query",w.query,G.query);else if(w.query?.Decode)G.query=w.query.Decode(G.query);if(w.createCookie?.()){let I={};for(let[O,P]of Object.entries(G.cookie))I[O]=P.value;if(w.cookie.Check(I)===!1)throw new q("cookie",w.cookie,I);else if(w.cookie?.Decode)I=w.cookie.Decode(I)}if(w.createBody?.()?.Check(Q)===!1)throw new q("body",w.body,Q);else if(w.body?.Decode)G.body=w.body.Decode(Q)}for(let I=0;I<U.beforeHandle.length;I++){let O=U.beforeHandle[I],P=O.fn(G);if(O.subType==="resolve"){if(P instanceof Promise)Object.assign(G,await P);else Object.assign(G,P);continue}else if(P instanceof Promise)P=await P;if(P!==void 0){G.response=P;for(let T=0;T<U.afterHandle.length;T++){let E=U.afterHandle[T].fn(G);if(E instanceof Promise)E=await E;if(E)P=E}let b=g(P,G.set);if(b)return G.response=b}}let z=B(G);if(z instanceof Promise)z=await z;if(!U.afterHandle.length){let I=z instanceof l?z.code:Y.status?typeof Y.status==="string"?_0[Y.status]:Y.status:200,O=w?.createResponse?.()?.[I];if(O?.Check(z)===!1)throw new q("response",O,z);else if(O?.Decode)z=O.Decode(z)}else{G.response=z;for(let I=0;I<U.afterHandle.length;I++){let O=U.afterHandle[I].fn(G);if(O instanceof Promise)O=await O;let P=g(O,G.set);if(P!==void 0){let b=w?.response?.[P.status];if(b?.Check(P)===!1)throw new q("response",b,P);else if(b?.Decode)z=b.Decode(z);return G.response=P}}}if(G.set.cookie&&M?.sign){let I=!M.secrets?void 0:typeof M.secrets==="string"?M.secrets:M.secrets[0];if(M.sign===!0)for(let[O,P]of Object.entries(G.set.cookie))G.set.cookie[O].value=await x0(P.value,"${secret}");else{let O=w?.cookie?.schema?.properties;for(let P of M.sign){if(!(P in O))continue;if(G.set.cookie[P]?.value)G.set.cookie[P].value=await x0(G.set.cookie[P].value,I)}}}return G.response=x(z,G.set)}catch(K){let B=K instanceof v3&&K.error?K.error:K;if(B.status)Y.status=B.status;return $.handleError(G,B)}finally{for(let K of $.event.afterResponse)await K.fn(G)}},C2=($)=>async(W,X)=>{let Z=Object.assign(W,{error:X,code:X.code});Z.set=W.set;for(let J=0;J<$.event.error.length;J++){let Y=$.event.error[J].fn(Z);if(Y instanceof Promise)Y=await Y;if(Y!==void 0&&Y!==null)return W.response=x(Y,W.set)}return new Response(typeof X.cause==="string"?X.cause:X.message,{headers:W.set.headers,status:X.status??500})};import{TypeSystemPolicy as H5}from"@sinclair/typebox/system";class Q0{config;server=null;dependencies={};_routes={};_types={Prefix:"",Scoped:!1,Singleton:{},Definitions:{},Metadata:{}};_ephemeral={};_volatile={};static version=q1;version=q1;singleton={decorator:{},store:{},derive:{},resolve:{}};get store(){return this.singleton.store}get decorator(){return this.singleton.decorator}get _scoped(){return this.config.scoped}definitions={type:{},error:{}};extender={macros:[],higherOrderFunctions:[]};validator={global:null,scoped:null,local:null,getCandidate(){return b0(b0(this.global,this.scoped),this.local)}};event={start:[],request:[],parse:[],transform:[],beforeHandle:[],afterHandle:[],mapResponse:[],afterResponse:[],trace:[],error:[],stop:[]};telemetry={stack:void 0};router={http:new z0,ws:new z0,dynamic:new z0,static:{http:{static:{},handlers:[],map:{},all:""},ws:{}},history:[]};routeTree=new Map;get routes(){return this.router.history}getGlobalRoutes(){return this.router.history}inference={body:!1,cookie:!1,headers:!1,query:!1,set:!1,server:!1};getServer(){return this.server}_promisedModules;get promisedModules(){if(!this._promisedModules)this._promisedModules=new C1;return this._promisedModules}constructor($={}){if($.tags)if(!$.detail)$.detail={tags:$.tags};else $.detail.tags=$.tags;if($.nativeStaticResponse===void 0)$.nativeStaticResponse=!0;if(this.config={},this.applyConfig($??{}),$?.analytic&&($?.name||$?.seed!==void 0))this.telemetry.stack=new Error().stack}env($,W=Bun?.env??process.env){if(m($,{dynamic:!0,additionalProperties:!0,coerce:!0}).Check(W)===!1){let Z=new q("env",$,W);throw new Error(Z.all.map((J)=>J.summary).join("\n"))}return this}wrap($){return this.extender.higherOrderFunctions.push({checksum:N0(JSON.stringify({name:this.config.name,seed:this.config.seed,content:$.toString()})),fn:$}),this}applyMacro($){if(this.extender.macros.length){let W=N2({globalHook:this.event,localHook:$}),X={events:{global:this.event,local:$},onParse:W("parse"),onTransform:W("transform"),onBeforeHandle:W("beforeHandle"),onAfterHandle:W("afterHandle"),mapResponse:W("mapResponse"),onAfterResponse:W("afterResponse"),onError:W("error")};for(let Z of this.extender.macros)D2(Z.fn(X),$)}}applyConfig($){return this.config={prefix:"",aot:!0,strictPath:!1,global:!1,analytic:!1,normalize:!0,...$,cookie:{path:"/",...$?.cookie},experimental:$?.experimental??{},seed:$?.seed===void 0?"":$?.seed},this}get models(){let $={};for(let[W,X]of Object.entries(this.definitions.type))$[W]=m(X);return $}add($,W,X,Z,{allowMeta:J=!1,skipPrefix:j=!1}={allowMeta:!1,skipPrefix:!1}){if(Z=P2(Z),W!==""&&W.charCodeAt(0)!==47)W="/"+W;if(this.config.prefix&&!j&&!this.config.scoped)W=this.config.prefix+W;if(Z?.type)switch(Z.type){case"text":Z.type="text/plain";break;case"json":Z.type="application/json";break;case"formdata":Z.type="multipart/form-data";break;case"urlencoded":Z.type="application/x-www-form-urlencoded";break;case"arrayBuffer":Z.type="application/octet-stream";break;default:break}let Y=this.definitions.type,G=!this.config.aot,K={...this.validator.getCandidate()},B={body:Z?.body??K?.body,headers:Z?.headers??K?.headers,params:Z?.params??K?.params,query:Z?.query??K?.query,cookie:Z?.cookie??K?.cookie,response:Z?.response??K?.response},U=()=>B.cookie?W1({validator:B.cookie,defaultConfig:this.config.cookie,config:B.cookie?.config??{},dynamic:G,models:Y}):void 0,w=this.config.normalize,F=this.config.precompile===!0||typeof this.config.precompile==="object"&&this.config.precompile.schema===!0?{body:m(B.body,{dynamic:G,models:Y,normalize:w,additionalCoerce:O1()}),headers:m(B.headers,{dynamic:G,models:Y,additionalProperties:!this.config.normalize,coerce:!0,additionalCoerce:D0()}),params:m(B.params,{dynamic:G,models:Y,coerce:!0,additionalCoerce:D0()}),query:m(B.query,{dynamic:G,models:Y,normalize:w,coerce:!0,additionalCoerce:D0()}),cookie:U(),response:$1(B.response,{dynamic:G,models:Y,normalize:w})}:{createBody(){if(this.body)return this.body;return this.body=m(B.body,{dynamic:G,models:Y,normalize:w,additionalCoerce:O1()})},createHeaders(){if(this.headers)return this.headers;return this.headers=m(B.headers,{dynamic:G,models:Y,additionalProperties:!w,coerce:!0,additionalCoerce:D0()})},createParams(){if(this.params)return this.params;return this.params=m(B.params,{dynamic:G,models:Y,coerce:!0,additionalCoerce:D0()})},createQuery(){if(this.query)return this.query;return this.query=m(B.query,{dynamic:G,models:Y,coerce:!0,additionalCoerce:D0()})},createCookie(){if(this.cookie)return this.cookie;return this.cookie=U()},createResponse(){if(this.response)return this.response;return this.response=$1(B.response,{dynamic:G,models:Y,normalize:w})}},Q=W.endsWith("/")?W.slice(0,W.length-1):W+"/";if(Z=i(Z,K),Z.tags)if(!Z.detail)Z.detail={tags:Z.tags};else Z.detail.tags=Z.tags;if(c(this.config.detail))Z.detail=d(Object.assign({},this.config.detail),Z.detail);this.applyMacro(Z);let M=i(this.event,Z);if(this.config.aot===!1){if(this.router.dynamic.add($,W,{validator:F,hooks:M,content:Z?.type,handle:X}),this.config.strictPath===!1)this.router.dynamic.add($,Q,{validator:F,hooks:M,content:Z?.type,handle:X});this.router.history.push({method:$,path:W,composed:null,handler:X,hooks:M});return}let D=this.config.precompile===!0||typeof this.config.precompile==="object"&&this.config.precompile.compose===!0,z=d0(this.inference),I=typeof X!=="function"?K2(X,M,this.setHeaders):void 0,O=typeof X!=="function"?U2(X,M,this.setHeaders):void 0;if(this.config.nativeStaticResponse===!0&&O&&($==="GET"||$==="ALL"))this.router.static.http.static[W]=O();let P=()=>S2({app:this,path:W,method:$,localHook:i(Z),hooks:M,validator:F,handler:X,allowMeta:J,inference:z}),b=D?P():(L)=>{return P()(L)},T=this.router.history.length;if(this.routeTree.has($+W))for(let L=0;L<this.router.history.length;L++){let f=this.router.history[L];if(f.path===W&&f.method===$){let R=this.router.history.splice(L,1)[0];if(R&&this.routeTree.has(R?.method+R?.path))this.routeTree.delete(R.method+R.path)}}else this.routeTree.set($+W,T);this.router.history.push({method:$,path:W,composed:b,handler:X,hooks:M});let E=this.router.static.http,r={handler:D?b:void 0,compile:P};if($==="$INTERNALWS"){let L=this.config.strictPath?void 0:W.endsWith("/")?W.slice(0,W.length-1):W+"/";if(W.indexOf(":")===-1&&W.indexOf("*")===-1){let f=E.handlers.length;if(E.handlers.push((R)=>(E.handlers[f]=P())(R)),this.router.static.ws[W]=f,L)this.router.static.ws[L]=f}else if(this.router.ws.add("ws",W,r),L)this.router.ws.add("ws",L,r);return}if(W.indexOf(":")===-1&&W.indexOf("*")===-1){let L=E.handlers.length;if(E.handlers.push(I??((R)=>(E.handlers[L]=P())(R))),!E.map[W])E.map[W]={code:""};let f=I?"":"ctx";if($==="ALL")E.map[W].all=`default: return st[${L}](${f})\n`;else E.map[W].code=`case '${$}': return st[${L}](${f})\n${E.map[W].code}`;if(!this.config.strictPath){if(!E.map[Q])E.map[Q]={code:""};if(this.config.nativeStaticResponse===!0&&O&&($==="GET"||$==="ALL"))this.router.static.http.static[Q]=O();if($==="ALL")E.map[Q].all=`default: return st[${L}](${f})\n`;else E.map[Q].code=`case '${$}': return st[${L}](${f})\n${E.map[Q].code}`}}else if(this.router.http.add($,W,r),!this.config.strictPath){let L=W.endsWith("/")?W.slice(0,W.length-1):W+"/";if(this.config.nativeStaticResponse===!0&&I&&($==="GET"||$==="ALL"))this.router.static.http.static[L]=I();this.router.http.add($,L,r)}}setHeaders;headers($){if(!$)return this;if(!this.setHeaders)this.setHeaders={};return this.setHeaders=d(this.setHeaders,$),this}onStart($){return this.on("start",$),this}onRequest($){return this.on("request",$),this}onParse($,W){if(!W)return this.on("parse",$);return this.on($,"parse",W)}onTransform($,W){if(!W)return this.on("transform",$);return this.on($,"transform",W)}resolve($,W){if(!W)W=$,$={as:"local"};let X={subType:"resolve",fn:W};return this.onBeforeHandle($,X)}mapResolve($,W){if(!W)W=$,$={as:"local"};let X={subType:"mapResolve",fn:W};return this.onBeforeHandle($,X)}onBeforeHandle($,W){if(!W)return this.on("beforeHandle",$);return this.on($,"beforeHandle",W)}onAfterHandle($,W){if(!W)return this.on("afterHandle",$);return this.on($,"afterHandle",W)}mapResponse($,W){if(!W)return this.on("mapResponse",$);return this.on($,"mapResponse",W)}onAfterResponse($,W){if(!W)return this.on("afterResponse",$);return this.on($,"afterResponse",W)}trace($,W){if(!W)W=$,$={as:"local"};if(!Array.isArray(W))W=[W];for(let X of W)this.on($,"trace",A2(X));return this}error($,W){switch(typeof $){case"string":return W.prototype[I0]=$,this.definitions.error[$]=W,this;case"function":return this.definitions.error=$(this.definitions.error),this}for(let[X,Z]of Object.entries($))Z.prototype[I0]=X,this.definitions.error[X]=Z;return this}onError($,W){if(!W)return this.on("error",$);return this.on($,"error",W)}onStop($){return this.on("stop",$),this}on($,W,X){let Z;switch(typeof $){case"string":Z=$,X=W;break;case"object":if(Z=W,!Array.isArray(W)&&typeof W==="object")X=W;break}if(Array.isArray(X))X=n(X);else if(typeof X==="function")X=[{fn:X}];else X=[X];let J=X;for(let j of J)j.scope=typeof $==="string"?"local":$?.as??"local";if(Z!=="trace")s0({[Z]:J.map((j)=>j.fn)},this.inference);for(let j of J){let Y=M2(j,"global",{skipIfHasType:!0});switch(Z){case"start":this.event.start.push(Y);break;case"request":this.event.request.push(Y);break;case"parse":this.event.parse.push(Y);break;case"transform":this.event.transform.push(Y);break;case"beforeHandle":this.event.beforeHandle.push(Y);break;case"afterHandle":this.event.afterHandle.push(Y);break;case"mapResponse":this.event.mapResponse.push(Y);break;case"afterResponse":this.event.afterResponse.push(Y);break;case"trace":this.event.trace.push(Y);break;case"error":this.event.error.push(Y);break;case"stop":this.event.stop.push(Y);break}}return this}propagate(){return v(this.event.parse),v(this.event.transform),v(this.event.beforeHandle),v(this.event.afterHandle),v(this.event.mapResponse),v(this.event.afterResponse),v(this.event.trace),v(this.event.error),this}as($){let W={plugin:"scoped",global:"global"}[$];if(v(this.event.parse,W),v(this.event.transform,W),v(this.event.beforeHandle,W),v(this.event.afterHandle,W),v(this.event.mapResponse,W),v(this.event.afterResponse,W),v(this.event.trace,W),v(this.event.error,W),$==="plugin")this.validator.scoped=b0(this.validator.scoped,this.validator.local),this.validator.local=null;else if($==="global")this.validator.global=b0(this.validator.global,b0(this.validator.scoped,this.validator.local)),this.validator.scoped=null,this.validator.local=null;return this}group($,W,X){let Z=new Q0({...this.config,prefix:""});Z.singleton={...this.singleton},Z.definitions={...this.definitions},Z.getServer=()=>this.getServer(),Z.inference=d0(this.inference),Z.extender={...this.extender};let J=typeof W==="object",j=(J?X:W)(Z);if(this.singleton=d(this.singleton,Z.singleton),this.definitions=d(this.definitions,Z.definitions),j.event.request.length)this.event.request=[...this.event.request||[],...j.event.request||[]];if(j.event.mapResponse.length)this.event.mapResponse=[...this.event.mapResponse||[],...j.event.mapResponse||[]];return this.model(j.definitions.type),Object.values(Z.router.history).forEach(({method:Y,path:G,handler:K,hooks:B})=>{if(G=(J?"":this.config.prefix)+$+G,J){let U=W,w=B;this.add(Y,G,K,i(U,{...w||{},error:!w.error?j.event.error:Array.isArray(w.error)?[...w.error||{},...j.event.error||{}]:[w.error,...j.event.error||{}]}))}else this.add(Y,G,K,i(B,{error:j.event.error}),{skipPrefix:!0})}),this}guard($,W){if(!W){if(typeof $==="object"){this.applyMacro($);let J=$.as??"local";if(this.validator[J]={body:$.body??this.validator[J]?.body,headers:$.headers??this.validator[J]?.headers,params:$.params??this.validator[J]?.params,query:$.query??this.validator[J]?.query,response:$.response??this.validator[J]?.response,cookie:$.cookie??this.validator[J]?.cookie},$.parse)this.on({as:J},"parse",$.parse);if($.transform)this.on({as:J},"transform",$.transform);if($.beforeHandle)this.on({as:J},"beforeHandle",$.beforeHandle);if($.afterHandle)this.on({as:J},"afterHandle",$.afterHandle);if($.mapResponse)this.on({as:J},"mapResponse",$.mapResponse);if($.afterResponse)this.on({as:J},"afterResponse",$.afterResponse);if($.error)this.on({as:J},"error",$.error);if($.detail)if(this.config.detail)this.config.detail=d(Object.assign({},this.config.detail),$.detail);else this.config.detail=$.detail;if($?.tags)if(!this.config.detail)this.config.detail={tags:$.tags};else this.config.detail.tags=$.tags;return this}return this.guard({},$)}let X=new Q0({...this.config,prefix:""});X.singleton={...this.singleton},X.definitions={...this.definitions},X.inference=d0(this.inference),X.extender={...this.extender};let Z=W(X);if(this.singleton=d(this.singleton,X.singleton),this.definitions=d(this.definitions,X.definitions),Z.getServer=()=>this.server,Z.event.request.length)this.event.request=[...this.event.request||[],...Z.event.request||[]];if(Z.event.mapResponse.length)this.event.mapResponse=[...this.event.mapResponse||[],...Z.event.mapResponse||[]];return this.model(Z.definitions.type),Object.values(X.router.history).forEach(({method:J,path:j,handler:Y,hooks:G})=>{this.add(J,j,Y,i($,{...G||{},error:!G.error?Z.event.error:Array.isArray(G.error)?[...G.error||{},...Z.event.error||[]]:[G.error,...Z.event.error||[]]}))}),this}use($,W){if(W?.scoped)return this.guard({},(X)=>X.use($));if(Array.isArray($)){let X=this;for(let Z of $)X=this.use(Z);return X}if($ instanceof Promise)return this.promisedModules.add($.then((X)=>{if(typeof X==="function")return X(this);if(X instanceof Q0)return this._use(X).compile();if(typeof X.default==="function")return X.default(this);if(X.default instanceof Q0)return this._use(X.default);throw new Error('Invalid plugin type. Expected Elysia instance, function, or module with "default" as Elysia instance or function that returns Elysia instance.')}).then((X)=>X.compile())),this;return this._use($)}_use($){if(typeof $==="function"){let J=$(this);if(J instanceof Promise)return this.promisedModules.add(J.then((j)=>{if(j instanceof Q0){j.getServer=()=>this.getServer(),j.getGlobalRoutes=()=>this.getGlobalRoutes(),j.model(this.definitions.type),j.error(this.definitions.error);for(let{method:Y,path:G,handler:K,hooks:B}of Object.values(j.router.history))this.add(Y,G,K,i(B,{error:j.event.error}));return j.compile(),j}if(typeof j==="function")return j(this);if(typeof j.default==="function")return j.default(this);return this._use(j)}).then((j)=>j.compile())),this;return J}let{name:W,seed:X}=$.config;$.getServer=()=>this.getServer(),$.getGlobalRoutes=()=>this.getGlobalRoutes(),$.model(this.definitions.type),$.error(this.definitions.error);let Z=$.config.scoped;if(Z){if(W){if(!(W in this.dependencies))this.dependencies[W]=[];let j=X!==void 0?N0(W+JSON.stringify(X)):0;if(this.dependencies[W].some(({checksum:Y})=>j===Y))return this;this.dependencies[W].push(!this.config?.analytic?{name:$.config.name,seed:$.config.seed,checksum:j,dependencies:$.dependencies}:{name:$.config.name,seed:$.config.seed,checksum:j,dependencies:$.dependencies,stack:$.telemetry.stack,routes:$.router.history,decorators:$.singleton.decorator,store:$.singleton.store,type:$.definitions.type,error:$.definitions.error,derive:$.event.transform.filter((Y)=>Y.subType==="derive").map((Y)=>({fn:Y.fn.toString(),stack:new Error().stack??""})),resolve:$.event.transform.filter((Y)=>Y.subType==="derive").map((Y)=>({fn:Y.fn.toString(),stack:new Error().stack??""}))})}$.extender.macros=this.extender.macros.concat($.extender.macros);let J=[];for(let j=0;j<$.extender.macros.length;j++){let Y=this.extender.macros[j];if(J.includes(Y.checksum))$.extender.macros.splice(j,1),j--;J.push(Y.checksum)}if($.onRequest((j)=>{Object.assign(j,this.singleton.decorator),Object.assign(j.store,this.singleton.store)}),$.event.trace.length)$.event.trace.push(...$.event.trace);if(!$.config.prefix)console.warn("It's recommended to use scoped instance with a prefix to prevent collision routing with other instance.");if($.event.error.length)$.event.error.push(...this.event.error);if($.config.aot)$.compile();if(Z===!0&&$.config.prefix){this.mount($.config.prefix+"/",$.fetch);for(let j of $.router.history)this.routeTree.set(j.method+`${$.config.prefix}${j.path}`,this.router.history.length),this.router.history.push({...j,path:`${$.config.prefix}${j.path}`,hooks:i(j.hooks,{error:this.event.error})})}else{this.mount($.fetch);for(let j of $.router.history)this.routeTree.set(j.method+`${$.config.prefix}${j.path}`,this.router.history.length),this.router.history.push({...j,path:`${$.config.prefix}${j.path}`,hooks:i(j.hooks,{error:this.event.error})})}return this}else{if(this.headers($.setHeaders),W){if(!(W in this.dependencies))this.dependencies[W]=[];let j=X!==void 0?N0(W+JSON.stringify(X)):0;if(!this.dependencies[W].some(({checksum:Y})=>j===Y))this.extender.macros=this.extender.macros.concat($.extender.macros),this.extender.higherOrderFunctions=this.extender.higherOrderFunctions.concat($.extender.higherOrderFunctions)}else this.extender.macros=this.extender.macros.concat($.extender.macros),this.extender.higherOrderFunctions=this.extender.higherOrderFunctions.concat($.extender.higherOrderFunctions);j1(this.extender.macros),j1(this.extender.higherOrderFunctions);let J=[];for(let j=0;j<this.extender.higherOrderFunctions.length;j++){let Y=this.extender.higherOrderFunctions[j];if(Y.checksum){if(J.includes(Y.checksum))this.extender.higherOrderFunctions.splice(j,1),j--;J.push(Y.checksum)}}this.inference={body:this.inference.body||$.inference.body,cookie:this.inference.cookie||$.inference.cookie,headers:this.inference.headers||$.inference.headers,query:this.inference.query||$.inference.query,set:this.inference.set||$.inference.set,server:this.inference.server||$.inference.server}}this.decorate($.singleton.decorator),this.state($.singleton.store),this.model($.definitions.type),this.error($.definitions.error),$.extender.macros=this.extender.macros.concat($.extender.macros);for(let{method:J,path:j,handler:Y,hooks:G}of Object.values($.router.history))this.add(J,j,Y,i(G,{error:$.event.error}));if(!Z)if(W){if(!(W in this.dependencies))this.dependencies[W]=[];let J=X!==void 0?N0(W+JSON.stringify(X)):0;if(this.dependencies[W].some(({checksum:j})=>J===j))return this;this.dependencies[W].push(!this.config?.analytic?{name:$.config.name,seed:$.config.seed,checksum:J,dependencies:$.dependencies}:{name:$.config.name,seed:$.config.seed,checksum:J,dependencies:$.dependencies,stack:$.telemetry.stack,routes:$.router.history,decorators:$.singleton,store:$.singleton.store,type:$.definitions.type,error:$.definitions.error,derive:$.event.transform.filter((j)=>j?.subType==="derive").map((j)=>({fn:j.toString(),stack:new Error().stack??""})),resolve:$.event.transform.filter((j)=>j?.subType==="resolve").map((j)=>({fn:j.toString(),stack:new Error().stack??""}))}),this.event=V1(this.event,S1($.event),J)}else this.event=V1(this.event,S1($.event));return this.validator.global=i(this.validator.global,{...$.validator.global}),this.validator.local=i(this.validator.local,{...$.validator.scoped}),this}macro($){let W={checksum:N0(JSON.stringify({name:this.config.name,seed:this.config.seed,content:$.toString()})),fn:$};return this.extender.macros.push(W),this}mount($,W){if($ instanceof Q0||typeof $==="function"||$.length===0||$==="/"){let J=typeof $==="function"?$:$ instanceof Q0?$.compile().fetch:W instanceof Q0?W.compile().fetch:W,j=async({request:Y,path:G})=>{if(Y.method==="GET"||Y.method==="HEAD"||!Y.headers.get("content-type"))return J(new Request(R0(Y.url,G||"/"),Y));return J(new Request(R0(Y.url,G||"/"),{...Y,body:await Y.arrayBuffer()}))};return this.all("/*",j,{type:"none"}),this}let X=$.length;if(W instanceof Q0)W=W.compile().fetch;let Z=async({request:J,path:j})=>{if(J.method==="GET"||J.method==="HEAD"||!J.headers.get("content-type"))return W(new Request(R0(J.url,j.slice(X)||"/"),J));return W(new Request(R0(J.url,j.slice(X)||"/"),{...J,body:await J.arrayBuffer()}))};return this.all($,Z,{type:"none"}),this.all($+($.endsWith("/")?"*":"/*"),Z,{type:"none"}),this}get($,W,X){return this.add("GET",$,W,X),this}post($,W,X){return this.add("POST",$,W,X),this}put($,W,X){return this.add("PUT",$,W,X),this}patch($,W,X){return this.add("PATCH",$,W,X),this}delete($,W,X){return this.add("DELETE",$,W,X),this}options($,W,X){return this.add("OPTIONS",$,W,X),this}all($,W,X){return this.add("ALL",$,W,X),this}head($,W,X){return this.add("HEAD",$,W,X),this}connect($,W,X){return this.add("CONNECT",$,W,X),this}route($,W,X,Z){return this.add($.toUpperCase(),W,X,Z,Z?.config),this}ws($,W){let X=W.transformMessage?Array.isArray(W.transformMessage)?W.transformMessage:[W.transformMessage]:void 0,Z=null,J=m(W?.body,{models:this.definitions.type,normalize:this.config.normalize}),j=m(W?.response,{models:this.definitions.type,normalize:this.config.normalize}),Y=(G)=>{if(typeof G==="string"){let K=G?.charCodeAt(0);if(K===47||K===123)try{G=JSON.parse(G)}catch{}else if(Z1(G))G=+G}if(X?.length)for(let K=0;K<X.length;K++){let B=X[K](G);if(B!==void 0)G=B}return G};return this.route("$INTERNALWS",$,(G)=>{let{set:K,path:B,qi:U,headers:w,query:F,params:Q}=G;if(Z===null)Z=this.getServer();if(Z?.upgrade(G.request,{headers:typeof W.upgrade==="function"?W.upgrade(G):W.upgrade,data:{validator:j,open(M){W.open?.(new g0(M,G))},message:(M,D)=>{let z=Y(D);if(J?.Check(z)===!1)return void M.send(new q("message",J,z).message);W.message?.(new g0(M,G),z)},drain(M){W.drain?.(new g0(M,G))},close(M,D,z){W.close?.(new g0(M,G),D,z)}}}))return;return K.status=400,"Expected a websocket connection"},{beforeHandle:W.beforeHandle,transform:W.transform,headers:W.headers,params:W.params,query:W.query}),this}state($,W,X){if(W===void 0)X=$,$={as:"append"},W="";else if(X===void 0){if(typeof $==="string")X=W,W=$,$={as:"append"};else if(typeof $==="object")X=W,W=""}let{as:Z}=$;if(typeof W!=="string")return this;switch(typeof X){case"object":if(W){if(W in this.singleton.store)this.singleton.store[W]=d(this.singleton.store[W],X,{override:Z==="override"});else this.singleton.store[W]=X;return this}if(X===null)return this;return this.singleton.store=d(this.singleton.store,X,{override:Z==="override"}),this;case"function":if(W){if(Z==="override"||!(W in this.singleton.store))this.singleton.store[W]=X}else this.singleton.store=X(this.singleton.store);return this;default:if(Z==="override"||!(W in this.singleton.store))this.singleton.store[W]=X;return this}}decorate($,W,X){if(W===void 0)X=$,$={as:"append"},W="";else if(X===void 0){if(typeof $==="string")X=W,W=$,$={as:"append"};else if(typeof $==="object")X=W,W=""}let{as:Z}=$;if(typeof W!=="string")return this;switch(typeof X){case"object":if(W){if(W in this.singleton.decorator)this.singleton.decorator[W]=d(this.singleton.decorator[W],X,{override:Z==="override"});else this.singleton.decorator[W]=X;return this}if(X===null)return this;return this.singleton.decorator=d(this.singleton.decorator,X,{override:Z==="override"}),this;case"function":if(W){if(Z==="override"||!(W in this.singleton.decorator))this.singleton.decorator[W]=X}else this.singleton.decorator=X(this.singleton.decorator);return this;default:if(Z==="override"||!(W in this.singleton.decorator))this.singleton.decorator[W]=X;return this}}derive($,W){if(!W)W=$,$={as:"local"};let X={subType:"derive",fn:W};return this.onTransform($,X)}model($,W){switch(typeof $){case"object":return Object.entries($).forEach(([X,Z])=>{if(!(X in this.definitions.type))this.definitions.type[X]=Z}),this;case"function":return this.definitions.type=$(this.definitions.type),this}return this.definitions.type[$]=W,this}mapDerive($,W){if(!W)W=$,$={as:"local"};let X={subType:"mapDerive",fn:W};return this.onTransform($,X)}affix($,W,X){if(X==="")return this;let Z=["_","-"," "],J=(K)=>K[0].toUpperCase()+K.slice(1),j=$==="prefix"?(K,B)=>Z.includes(K.at(-1)??"")?K+B:K+J(B):Z.includes(X.at(-1)??"")?(K,B)=>B+K:(K,B)=>B+J(K),Y=(K)=>{let B={};switch(K){case"decorator":for(let U in this.singleton.decorator)B[j(X,U)]=this.singleton.decorator[U];this.singleton.decorator=B;break;case"state":for(let U in this.singleton.store)B[j(X,U)]=this.singleton.store[U];this.singleton.store=B;break;case"model":for(let U in this.definitions.type)B[j(X,U)]=this.definitions.type[U];this.definitions.type=B;break;case"error":for(let U in this.definitions.error)B[j(X,U)]=this.definitions.error[U];this.definitions.error=B;break}},G=Array.isArray(W)?W:[W];for(let K of G.some((B)=>B==="all")?["decorator","state","model","error"]:G)Y(K);return this}prefix($,W){return this.affix("prefix",$,W)}suffix($,W){return this.affix("suffix",$,W)}compile(){if(this.fetch=this.config.aot?b1(this):g1(this),typeof this.server?.reload==="function")this.server.reload({...this.server||{},fetch:this.fetch});return this}handle=async($)=>this.fetch($);fetch=($)=>{return(this.fetch=this.config.aot?b1(this):g1(this))($)};handleError=async($,W)=>(this.handleError=this.config.aot?x1(this):C2(this))($,W);outerErrorHandler=($)=>new Response($.message||$.name||"Error",{status:$?.status??500});listen=($,W)=>{if(typeof Bun==="undefined")throw new Error(".listen() is designed to run on Bun only. If you are running Elysia in other environment please use a dedicated plugin or export the handler via Elysia.fetch");if(this.compile(),typeof $==="string"){if(!Z1($))throw new Error("Port must be a numeric value");$=parseInt($)}let X=this.fetch,Z=typeof $==="object"?{development:!p0,reusePort:!0,...this.config.serve||{},...$||{},static:this.router.static.http.static,websocket:{...this.config.websocket||{},...E1||{}},fetch:X,error:this.outerErrorHandler}:{development:!p0,reusePort:!0,...this.config.serve||{},static:this.router.static.http.static,websocket:{...this.config.websocket||{},...E1||{}},port:$,fetch:X,error:this.outerErrorHandler};this.server=Bun?.serve(Z);for(let J=0;J<this.event.start.length;J++)this.event.start[J].fn(this);if(W)W(this.server);return process.on("beforeExit",()=>{if(this.server){this.server.stop(),this.server=null;for(let J=0;J<this.event.stop.length;J++)this.event.stop[J].fn(this)}}),this.promisedModules.then(()=>{Bun?.gc(!1)}),this};stop=async($)=>{if(!this.server)throw new Error("Elysia isn't running. Call `app.listen` to start the server.");if(this.server){if(this.server.stop($),this.server=null,this.event.stop.length)for(let W=0;W<this.event.stop.length;W++)this.event.stop[W].fn(this)}};get modules(){return Promise.all(this.promisedModules.promises)}}export{V as t,R0 as replaceUrlPath,A1 as replaceSchemaType,c0 as redirect,y as mergeObjectArray,i as mergeHook,o as mapValueError,x as mapResponse,g as mapEarlyResponse,Z0 as mapCompactResponse,m as getSchemaValidator,$1 as getResponseSchemaValidator,b3 as form,T1 as error,Q0 as default,j1 as deduplicateChecksum,d0 as cloneInference,N0 as checksum,q as ValidationError,H5 as TypeSystemPolicy,_0 as StatusMap,Y1 as ParseError,A0 as NotFoundError,X1 as InvertedStatusMap,u0 as InvalidCookieSignature,Q1 as InternalServerError,Q0 as Elysia,I0 as ERROR_CODE,n0 as ELYSIA_TRACE,P0 as ELYSIA_REQUEST_ID,R3 as ELYSIA_FORM_DATA,w0 as Cookie};
525
521
 
526
- //# debugId=57DAC4D2043C699D64756E2164756E21
522
+ //# debugId=583236C6010E9BD364756E2164756E21