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 +56 -60
- package/dist/bun/index.js.map +7 -7
- package/dist/cjs/compose.js +198 -186
- package/dist/cjs/cookies.js +7 -7
- package/dist/cjs/dynamic-handle.js +203 -191
- package/dist/cjs/handler.js +187 -177
- package/dist/cjs/index.js +210 -196
- package/dist/compose.mjs +198 -186
- package/dist/cookies.mjs +7 -7
- package/dist/dynamic-handle.mjs +203 -191
- package/dist/handler.mjs +187 -177
- package/dist/index.mjs +210 -196
- package/package.json +3 -3
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`)}}}}},
|
|
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`,
|
|
17
|
-
if (!isResponse) {\n`,W&&"Clean"in Y&&!
|
|
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['${
|
|
15
|
+
throw new ValidationError('response', validator.response['${j}'], ${Z})
|
|
21
16
|
}
|
|
22
17
|
|
|
23
|
-
c.set.status = ${
|
|
18
|
+
c.set.status = ${j}
|
|
24
19
|
}
|
|
25
20
|
|
|
26
|
-
break\n\n`}return
|
|
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";
|
|
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"}
|
|
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){
|
|
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(
|
|
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)=>{
|
|
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";
|
|
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`,
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
258
|
-
c.cookie[key].value = value\n`;if(t(
|
|
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(),
|
|
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(
|
|
278
|
-
if(mr !== undefined) r = c.response = mr\n`,a()}if(A.resolve(),
|
|
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(
|
|
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,
|
|
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(
|
|
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<
|
|
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<
|
|
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
|
-
${
|
|
356
|
-
${
|
|
357
|
-
${
|
|
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:
|
|
362
|
-
const route = router.find(request.method, 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:
|
|
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,
|
|
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(
|
|
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,
|
|
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();
|
|
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,
|
|
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[${
|
|
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
|
|
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) {`;
|
|
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`;
|
|
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`;
|
|
506
|
-
r = ${C0(F)?"await":""} onMapResponse[${w}](context)\n`,Q()}U.resolve(),X+=`return mapResponse(${
|
|
507
|
-
|
|
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
|
-
|
|
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`;
|
|
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=
|
|
522
|
+
//# debugId=583236C6010E9BD364756E2164756E21
|