elysia 1.0.9 → 1.0.10
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 +62 -62
- package/dist/bun/index.js.map +3 -3
- package/dist/cjs/compose.js +1 -5
- package/dist/cjs/index.js +1 -5
- package/dist/compose.mjs +1 -5
- package/dist/index.mjs +1 -5
- package/package.json +1 -1
- package/tsconfig.test.tsbuildinfo +1 -1
package/dist/bun/index.js
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var q8=Object.create;var{defineProperty:C1,getPrototypeOf:R8,getOwnPropertyNames:L8}=Object;var E8=Object.prototype.hasOwnProperty;var V0=($,Z,W)=>{W=$!=null?q8(R8($)):{};const X=Z||!$||!$.__esModule?C1(W,"default",{value:$,enumerable:!0}):W;for(let J of L8($))if(!E8.call(X,J))C1(X,J,{get:()=>$[J],enumerable:!0});return X};var z0=($,Z)=>()=>(Z||$((Z={exports:{}}).exports,Z),Z.exports);var E1=z0((A$,Q1)=>{var S0=function(){},H8=function($,Z,W){this.fn=$,this.context=Z,this.once=W||!1},L1=function($,Z,W,X,J){if(typeof W!=="function")throw new TypeError("The listener must be a function");var Q=new H8(W,X||$,J),Y=y?y+Z:Z;if(!$._events[Y])$._events[Y]=Q,$._eventsCount++;else if(!$._events[Y].fn)$._events[Y].push(Q);else $._events[Y]=[$._events[Y],Q];return $},u0=function($,Z){if(--$._eventsCount===0)$._events=new S0;else delete $._events[Z]},g=function(){this._events=new S0,this._eventsCount=0},b8=Object.prototype.hasOwnProperty,y="~";if(Object.create){if(S0.prototype=Object.create(null),!new S0().__proto__)y=!1}g.prototype.eventNames=function $(){var Z=[],W,X;if(this._eventsCount===0)return Z;for(X in W=this._events)if(b8.call(W,X))Z.push(y?X.slice(1):X);if(Object.getOwnPropertySymbols)return Z.concat(Object.getOwnPropertySymbols(W));return Z};g.prototype.listeners=function $(Z){var W=y?y+Z:Z,X=this._events[W];if(!X)return[];if(X.fn)return[X.fn];for(var J=0,Q=X.length,Y=new Array(Q);J<Q;J++)Y[J]=X[J].fn;return Y};g.prototype.listenerCount=function $(Z){var W=y?y+Z:Z,X=this._events[W];if(!X)return 0;if(X.fn)return 1;return X.length};g.prototype.emit=function $(Z,W,X,J,Q,Y){var G=y?y+Z:Z;if(!this._events[G])return!1;var B=this._events[G],_=arguments.length,K,z;if(B.fn){if(B.once)this.removeListener(Z,B.fn,void 0,!0);switch(_){case 1:return B.fn.call(B.context),!0;case 2:return B.fn.call(B.context,W),!0;case 3:return B.fn.call(B.context,W,X),!0;case 4:return B.fn.call(B.context,W,X,J),!0;case 5:return B.fn.call(B.context,W,X,J,Q),!0;case 6:return B.fn.call(B.context,W,X,J,Q,Y),!0}for(z=1,K=new Array(_-1);z<_;z++)K[z-1]=arguments[z];B.fn.apply(B.context,K)}else{var M=B.length,A;for(z=0;z<M;z++){if(B[z].once)this.removeListener(Z,B[z].fn,void 0,!0);switch(_){case 1:B[z].fn.call(B[z].context);break;case 2:B[z].fn.call(B[z].context,W);break;case 3:B[z].fn.call(B[z].context,W,X);break;case 4:B[z].fn.call(B[z].context,W,X,J);break;default:if(!K)for(A=1,K=new Array(_-1);A<_;A++)K[A-1]=arguments[A];B[z].fn.apply(B[z].context,K)}}}return!0};g.prototype.on=function $(Z,W,X){return L1(this,Z,W,X,!1)};g.prototype.once=function $(Z,W,X){return L1(this,Z,W,X,!0)};g.prototype.removeListener=function $(Z,W,X,J){var Q=y?y+Z:Z;if(!this._events[Q])return this;if(!W)return u0(this,Q),this;var Y=this._events[Q];if(Y.fn){if(Y.fn===W&&(!J||Y.once)&&(!X||Y.context===X))u0(this,Q)}else{for(var G=0,B=[],_=Y.length;G<_;G++)if(Y[G].fn!==W||J&&!Y[G].once||X&&Y[G].context!==X)B.push(Y[G]);if(B.length)this._events[Q]=B.length===1?B[0]:B;else u0(this,Q)}return this};g.prototype.removeAllListeners=function $(Z){var W;if(Z){if(W=y?y+Z:Z,this._events[W])u0(this,W)}else this._events=new S0,this._eventsCount=0;return this};g.prototype.off=g.prototype.removeListener;g.prototype.addListener=g.prototype.on;g.prefixed=y;g.EventEmitter=g;if(typeof Q1!=="undefined")Q1.exports=g});var p0=z0((I$,c1)=>{var s8=function($){var Z=$.indexOf("%");if(Z===-1)return $;var W=$.length,X="",J=0,Q=0,Y=Z,G=m1;while(Z>-1&&Z<W){var B=d1($[Z+1],4),_=d1($[Z+2],0),K=B|_,z=U1[K];if(G=U1[256+G+z],Q=Q<<6|K&U1[364+z],G===m1)X+=$.slice(J,Y),X+=Q<=65535?String.fromCharCode(Q):String.fromCharCode(55232+(Q>>10),56320+(Q&1023)),Q=0,J=Z+3,Z=Y=$.indexOf("%",J);else if(G===t8)return null;else{if(Z+=3,Z<W&&$.charCodeAt(Z)===37)continue;return null}}return X+$.slice(J)},d1=function($,Z){var W=r8[$];return W===void 0?255:W<<Z},m1=12,t8=0,U1=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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],r8={"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};c1.exports=s8});var Q8=z0((p$,J8)=>{var J$=function($){const Z=new X8;if(typeof $!=="string")return Z;let W=$.length,X="",J="",Q=-1,Y=-1,G=!1,B=!1,_=!1,K=!1,z=!1,M=0;for(let A=0;A<W+1;A++)if(M=A!==W?$.charCodeAt(A):38,M===38){if(z=Y>Q,!z)Y=A;if(X=$.slice(Q+1,Y),z||X.length>0){if(_)X=X.replace(W8," ");if(G)X=Z8(X)||X;if(z){if(J=$.slice(Y+1,A),K)J=J.replace(W8," ");if(B)J=Z8(J)||J}const j=Z[X];if(j===void 0)Z[X]=J;else if(j.pop)j.push(J);else Z[X]=[j,J]}J="",Q=A,Y=A,G=!1,B=!1,_=!1,K=!1}else if(M===61)if(Y<=Q)Y=A;else B=!0;else if(M===43)if(Y>Q)K=!0;else _=!0;else if(M===37)if(Y>Q)B=!0;else G=!0;return Z},Z8=p0(),W8=/\+/g,X8=function(){};X8.prototype=Object.create(null);J8.exports=J$});var G8=z0((l$,Y8)=>{var Y$=function($){const Z=$.length;if(Z===0)return"";let W="",X=0,J=0;$:for(;J<Z;J++){let Q=$.charCodeAt(J);while(Q<128){if(Q$[Q]!==1){if(X<J)W+=$.slice(X,J);X=J+1,W+=s[Q]}if(++J===Z)break $;Q=$.charCodeAt(J)}if(X<J)W+=$.slice(X,J);if(Q<2048){X=J+1,W+=s[192|Q>>6]+s[128|Q&63];continue}if(Q<55296||Q>=57344){X=J+1,W+=s[224|Q>>12]+s[128|Q>>6&63]+s[128|Q&63];continue}if(++J,J>=Z)throw new Error("URI malformed");const Y=$.charCodeAt(J)&1023;X=J+1,Q=65536+((Q&1023)<<10|Y),W+=s[240|Q>>18]+s[128|Q>>12&63]+s[128|Q>>6&63]+s[128|Q&63]}if(X===0)return $;if(X<Z)return W+$.slice(X);return W},s=Array.from({length:256},($,Z)=>"%"+((Z<16?"0":"")+Z.toString(16)).toUpperCase()),Q$=new Int8Array([0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,0]);Y8.exports={encodeString:Y$}});var K8=z0((i$,U8)=>{var B8=function($){const Z=typeof $;if(Z==="string")return w1($);else if(Z==="bigint")return $.toString();else if(Z==="boolean")return $?"true":"false";else if(Z==="number"&&Number.isFinite($))return $<1000000000000000000000?""+$:w1(""+$);return""},G$=function($){let Z="";if($===null||typeof $!=="object")return Z;const W="&",X=Object.keys($),J=X.length;let Q=0;for(let Y=0;Y<J;Y++){const G=X[Y],B=$[G],_=w1(G)+"=";if(Y)Z+=W;if(Array.isArray(B)){Q=B.length;for(let K=0;K<Q;K++){if(K)Z+=W;Z+=_,Z+=B8(B[K])}}else Z+=_,Z+=B8(B)}return Z},{encodeString:w1}=G8();U8.exports=G$});var P1=z0((t$,E0)=>{var _8=Q8(),z8=K8(),F8={parse:_8,stringify:z8};E0.exports=F8;E0.exports.default=F8;E0.exports.parse=_8;E0.exports.stringify=z8});var F0=($,Z)=>({part:$,store:null,inert:Z!==void 0?new Map(Z.map((W)=>[W.part.charCodeAt(0),W])):null,params:null,wildcardStore:null}),q1=($,Z)=>({...$,part:Z}),R1=($)=>({paramName:$,store:null,inert:null});class X0{root={};history=[];static regex={static:/:.+?(?=\/|$)/,params:/:.+?(?=\/|$)/g};add($,Z,W){let X;if(typeof Z!="string")throw TypeError("Route path must be a string");Z===""?Z="/":Z[0]!=="/"&&(Z=`/${Z}`),this.history.push([$,Z,W]);let J=Z[Z.length-1]==="*";J&&(Z=Z.slice(0,-1));let Q=Z.split(X0.regex.static),Y=Z.match(X0.regex.params)||[];Q[Q.length-1]===""&&Q.pop(),X=this.root[$]?this.root[$]:this.root[$]=F0("/");let G=0;for(let B=0;B<Q.length;++B){let _=Q[B];if(B>0){let K=Y[G++].slice(1);if(X.params===null)X.params=R1(K);else if(X.params.paramName!==K)throw Error(`Cannot create route "${Z}" with parameter "${K}" because a route already exists with a different parameter name ("${X.params.paramName}") in the same location`);let z=X.params;if(z.inert===null){X=z.inert=F0(_);continue}X=z.inert}for(let K=0;;){if(K===_.length){if(K<X.part.length){let z=q1(X,X.part.slice(K));Object.assign(X,F0(_,[z]))}break}if(K===X.part.length){if(X.inert===null)X.inert=new Map;else if(X.inert.has(_.charCodeAt(K))){X=X.inert.get(_.charCodeAt(K)),_=_.slice(K),K=0;continue}let z=F0(_.slice(K));X.inert.set(_.charCodeAt(K),z),X=z;break}if(_[K]!==X.part[K]){let z=q1(X,X.part.slice(K)),M=F0(_.slice(K));Object.assign(X,F0(X.part.slice(0,K),[z,M])),X=M;break}++K}}if(G<Y.length){let B=Y[G],_=B.slice(1);if(X.params===null)X.params=R1(_);else if(X.params.paramName!==_)throw Error(`Cannot create route "${Z}" with parameter "${_}" because a route already exists with a different parameter name ("${X.params.paramName}") in the same location`);return X.params.store===null&&(X.params.store=W),X.params.store}return J?(X.wildcardStore===null&&(X.wildcardStore=W),X.wildcardStore):(X.store===null&&(X.store=W),X.store)}find($,Z){let W=this.root[$];return W?J1(Z,Z.length,W,0):null}}var J1=($,Z,W,X)=>{let J=W?.part,Q=X+J.length;if(J.length>1){if(Q>Z)return null;if(J.length<15){for(let Y=1,G=X+1;Y<J.length;++Y,++G)if(J.charCodeAt(Y)!==$.charCodeAt(G))return null}else if($.substring(X,Q)!==J)return null}if(Q===Z)return W.store!==null?{store:W.store,params:{}}:W.wildcardStore!==null?{store:W.wildcardStore,params:{"*":""}}:null;if(W.inert!==null){let Y=W.inert.get($.charCodeAt(Q));if(Y!==void 0){let G=J1($,Z,Y,Q);if(G!==null)return G}}if(W.params!==null){let Y=W.params,G=$.indexOf("/",Q);if(G!==Q){if(G===-1||G>=Z){if(Y.store!==null){let B={};return B[Y.paramName]=$.substring(Q,Z),{store:Y.store,params:B}}}else if(Y.inert!==null){let B=J1($,Z,Y.inert,G);if(B!==null)return B.params[Y.paramName]=$.substring(Q,G),B}}}return W.wildcardStore!==null?{store:W.wildcardStore,params:{"*":$.substring(Q,Z)}}:null};var b1=V0(E1(),1);var H1=b1.default;var h0=()=>{let $;return[new Promise((W)=>{$=W}),$]},Z0=()=>{const[$,Z]=h0(),[W,X]=h0(),J=[],Q=[];return{signal:$,consume:(Y)=>{switch(Y.type){case"begin":if(Y.unit&&J.length===0)for(let G=0;G<Y.unit;G++){const[B,_]=h0(),[K,z]=h0();J.push(B),Q.push([(M)=>{_({children:[],end:K,name:M.name??"",skip:!1,time:M.time})},(M)=>{z(M)}])}Z({children:J,end:W,name:Y.name??"",skip:!1,time:Y.time});break;case"end":X(Y.time);break}},consumeChild(Y){switch(Y.type){case"begin":if(!Q[0])return;const[G]=Q[0];G({children:[],end:W,name:Y.name??"",skip:!1,time:Y.time});break;case"end":const B=Q.shift();if(!B)return;B[1](Y.time)}},resolve(){Z({children:[],end:new Promise((Y)=>Y(0)),name:"",skip:!0,time:0});for(let[Y,G]of Q)Y({children:[],end:new Promise((B)=>B(0)),name:"",skip:!0,time:0}),G(0);X(0)}}},x1=($,Z,W)=>{if(typeof W==="object")W=W.fn;return async function X(X){if(X.event!=="request"||X.type!=="begin")return;const J=X.id,Q=$(),Y=Z0(),G=Z0(),B=Z0(),_=Z0(),K=Z0(),z=Z0(),M=Z0(),A=Z0();Y.consume(X);const j=(O)=>{if(O.id===J)switch(O.event){case"request":Y.consume(O);break;case"request.unit":Y.consumeChild(O);break;case"parse":G.consume(O);break;case"parse.unit":G.consumeChild(O);break;case"transform":B.consume(O);break;case"transform.unit":B.consumeChild(O);break;case"beforeHandle":_.consume(O);break;case"beforeHandle.unit":_.consumeChild(O);break;case"handle":K.consume(O);break;case"afterHandle":z.consume(O);break;case"afterHandle.unit":z.consumeChild(O);break;case"error":M.consume(O);break;case"error.unit":M.consumeChild(O);break;case"response":if(O.type==="begin")Y.resolve(),G.resolve(),B.resolve(),_.resolve(),K.resolve(),z.resolve(),M.resolve();else Q.off("event",j);A.consume(O);break;case"response.unit":A.consumeChild(O);break;case"exit":Y.resolve(),G.resolve(),B.resolve(),_.resolve(),K.resolve(),z.resolve(),M.resolve();break}};Q.on("event",j),await W({id:J,context:X.ctx,set:X.ctx?.set,store:X.ctx?.store,time:X.time,request:Y.signal,parse:G.signal,transform:B.signal,beforeHandle:_.signal,handle:K.signal,afterHandle:z.signal,error:M.signal,response:A.signal}),Q.emit(`res${J}.${Z}`,void 0)}};var y1=($)=>{if($.startsWith("async"))$=$.slice(6);let Z=-1;if($.charCodeAt(0)===40){if(Z=$.indexOf(") => {\n"),Z!==-1)return[$.slice(1,Z),$.slice(Z+5)];if(Z=$.indexOf(") => "),Z!==-1)return[$.slice(1,Z),$.slice(Z+5)]}if($.startsWith("function")){Z=$.indexOf("(");const X=$.indexOf(")");return[$.slice(Z+1,X),$.slice(X+2)]}const W=$.indexOf("(");if(W!==-1){const[X,J]=$.split("\n",2),Q=X.lastIndexOf(")")+1;return[X.slice(W,Q),"{"+J]}return $.split("\n",2)},v1=($)=>{const Z=$.indexOf("{");if(Z===-1)return[-1,0];let W=Z+1,X=1;for(;W<$.length;W++){const J=$.charCodeAt(W);if(J===123)X++;else if(J===125)X--;if(X===0)break}if(X!==0)return[0,$.length];return[Z,W+1]},x8=($)=>{const Z=$.lastIndexOf("}");if(Z===-1)return[-1,0];let W=Z-1,X=1;for(;W>=0;W--){const J=$.charCodeAt(W);if(J===125)X++;else if(J===123)X--;if(X===0)break}if(X!==0)return[-1,0];return[W,Z+1]},m0=($)=>{if($.charCodeAt(0)===40)$=$.slice(1,-1);if($.charCodeAt(0)===123)$=$.slice(2,-2);while(!0){const[Z,W]=v1($);if(Z===-1)break;$=$.slice(0,Z-2)+$.slice(W+1)}return $.replace(/:/g,"").trim()},g8=($,Z)=>{const W=m0($);if(!Z.query&&W.includes("query"))Z.query=!0;if(!Z.headers&&W.includes("headers"))Z.headers=!0;if(!Z.body&&W.includes("body"))Z.body=!0;if(!Z.cookie&&W.includes("cookie"))Z.cookie=!0;if(!Z.set&&W.includes("set"))Z.set=!0;return W},y8=($,Z)=>{const W=m0($);if(!Z.request&&W.includes("request"))Z.request=!0;if(!Z.parse&&W.includes("parse"))Z.parse=!0;if(!Z.transform&&W.includes("transform"))Z.transform=!0;if(!Z.handle&&W.includes("handle"))Z.handle=!0;if(!Z.beforeHandle&&W.includes("beforeHandle"))Z.beforeHandle=!0;if(!Z.afterHandle&&W.includes("afterHandle"))Z.afterHandle=!0;if(!Z.error&&W.includes("error"))Z.error=!0;if(!Z.context&&W.includes("context"))Z.context=!0;if(!Z.store&&W.includes("store"))Z.store=!0;if(!Z.set&&W.includes("set"))Z.set=!0;return W},k1=($,Z,W)=>{const X=Z.indexOf($+"\n",W),J=Z.indexOf($+"\t",W),Q=Z.indexOf($+",",W),Y=Z.indexOf($+";",W),G=Z.indexOf($+" ",W);return[X,J,Q,Y,G].filter((B)=>B>0).sort((B,_)=>B-_)[0]||-1},v8=($,Z,W)=>{const X=Z.indexOf($+"]",W),J=Z.indexOf($+"'",W),Q=Z.indexOf($+'"',W);return[X,J,Q].filter((Y)=>Y>0).sort((Y,G)=>Y-G)[0]||-1},Y1=($,Z,W=0)=>{if(W>5)return[];const X=[];let J=Z;while(!0){let Q=k1(" = "+$,J);if(Q===-1){const B=J.indexOf(" = "+$);if(B+3+$.length!==J.length)break;Q=B}const Y=J.slice(0,Q);let G=Y.slice(Y.lastIndexOf(" ")+1);if(G==="}"){const[B,_]=x8(Y);X.push(J.slice(B,_)),J=J.slice(Q+3+$.length);continue}while(G.charCodeAt(0)===44)G=G.slice(1);while(G.charCodeAt(0)===9)G=G.slice(1);X.push(G),J=J.slice(Q+3+$.length)}for(let Q of X){if(Q.charCodeAt(0)===123)continue;const Y=Y1(Q,Z);if(Y.length>0)X.push(...Y)}return X},f1=($,Z)=>[$+"."+Z,$+'["'+Z+'"]',$+"['"+Z+"']"],u1=($)=>{if(!$)return;if(!$.includes(",")){if($.includes("..."))return $.slice($.indexOf("...")+3);return $}const W=$.indexOf("...");if(W===-1)return;return $.slice(W+3).trimEnd()},g1=($,Z,W)=>{const X=(J,Q)=>$.includes(Q+"."+J)||$.includes(Q+'["'+J+'"]')||$.includes(Q+"['"+J+"']");for(let J of Z){if(!J)continue;if(J.charCodeAt(0)===123){if(J=m0(J),!W.query&&J.includes("query"))W.query=!0;if(!W.headers&&J.includes("headers"))W.headers=!0;if(!W.body&&J.includes("body"))W.body=!0;if(!W.cookie&&J.includes("cookie"))W.cookie=!0;if(!W.set&&J.includes("set"))W.set=!0;continue}if($.includes("("+J+")")){W.query=!0,W.headers=!0,W.body=!0,W.cookie=!0,W.set=!0,W.queries=[],W.unknownQueries=!0;break}if(!W.query&&X("query",J))W.query=!0;if($.includes("return "+J)||f1("return "+J,"query").some((Q)=>$.includes(Q)))W.query=!0,W.unknownQueries=!0;if(W.query&&!W.unknownQueries)while(!0){let Q=J+".";if($.includes(Q+"query"))Q=J+".query";let Y=!1,G=$.indexOf(Q);if(G===-1)Y=!0,G=$.indexOf(J+'["');if(G===-1)Y=!0,G=$.indexOf(J+"['");if(G===-1&&$.indexOf(J+"[")!==-1){W.queries=[],W.unknownQueries=!0;break}if(G!==-1){let B=Y?v8("",$,G+Q.length+1):k1("",$,G+Q.length+1);if(B===-1)B=void 0;const _=G+J.length+1;$=$.slice(G+J.length+1);let K=$.slice(0,B?B-_:B).trimEnd();while(G!==-1)if(G=K.indexOf("."),G!==-1)K=K.slice(G+1);if(K.charCodeAt(K.length-1)===59)K=K.slice(0,-1);if(K.charCodeAt(K.length-1)===44)K=K.slice(0,-1);if(K.charCodeAt(K.length-1)===93)K=K.slice(0,-1);if(K.charCodeAt(K.length-1)===41)K=K.slice(0,-1);if(Y)K=K.replaceAll(/("|')/g,"");if(K&&!W.queries.includes(K)){W.queries.push(K);continue}}break}if(!W.headers&&X("headers",J))W.headers=!0;if(!W.body&&X("body",J))W.body=!0;if(!W.cookie&&X("cookie",J))W.cookie=!0;if(!W.set&&X("set",J))W.set=!0;if(W.query&&W.headers&&W.body&&W.cookie&&W.set)break}return Z},k8=($)=>{while(!0){const Z=$.indexOf("=");if(Z===-1)break;const W=$.indexOf(",",Z),X=$.indexOf("}",Z),J=[W,X].filter((Q)=>Q>0).sort((Q,Y)=>Q-Y)[0]||-1;if(J===-1){$=$.slice(0,Z);break}$=$.slice(0,Z)+$.slice(J)}return $.split(",").map((Z)=>Z.trim()).join(", ")},f8=($)=>{for(let Z of $){if(Z.charCodeAt(0)===123)return!1;if(Z.indexOf("'")!==-1)return!1;if(Z.indexOf('"')!==-1)return!1;if(Z.indexOf("\n")!==-1)return!1;if(Z.indexOf("\t")!==-1)return!1}return!0},u8=($,Z,W)=>{const X=(J,Q)=>$.includes(J+"."+Q)||$.includes(J+'["'+Q+'"]')||$.includes(J+"['"+Q+"']");for(let J of Z){if(J.charCodeAt(0)===123){if(J=m0(J),!W.request&&J.includes("request"))W.request=!0;if(!W.parse&&J.includes("parse"))W.parse=!0;if(!W.transform&&J.includes("transform"))W.transform=!0;if(!W.handle&&J.includes("handle"))W.handle=!0;if(!W.beforeHandle&&J.includes("beforeHandle"))W.beforeHandle=!0;if(!W.afterHandle&&J.includes("afterHandle"))W.afterHandle=!0;if(!W.error&&J.includes("error"))W.error=!0;if(!W.context&&J.includes("context"))W.context=!0;if(!W.store&&J.includes("store"))W.store=!0;if(!W.set&&J.includes("set"))W.set=!0;continue}if($.includes("("+J+")")){W.request=!0,W.parse=!0,W.transform=!0,W.handle=!0,W.beforeHandle=!0,W.afterHandle=!0,W.error=!0,W.context=!0,W.store=!0,W.set=!0;break}if(!W.request&&X("request",J))W.request=!0;if(!W.parse&&X("parse",J))W.parse=!0;if(!W.transform&&X("transform",J))W.transform=!0;if(!W.handle&&X("handle",J))W.handle=!0;if(!W.beforeHandle&&X("beforeHandle",J))W.beforeHandle=!0;if(!W.afterHandle&&X("afterHandle",J))W.afterHandle=!0;if(!W.error&&X("error",J))W.error=!0;if(!W.context&&X("context",J))W.context=!0;if(!W.store&&X("store",J))W.store=!0;if(!W.set&&X("set",J))W.set=!0;if(W.request&&W.parse&&W.transform&&W.handle&&W.beforeHandle&&W.afterHandle&&W.error&&W.context&&W.store&&W.set)break}return Z},d0=($,Z={queries:[],query:!1,headers:!1,body:!1,cookie:!1,set:!1,unknownQueries:!1})=>{const W=[];if($.handler&&typeof $.handler==="function")W.push($.handler);if($.beforeHandle?.length)W.push(...$.beforeHandle);if($.parse?.length)W.push(...$.parse);if($.error?.length)W.push(...$.error);if($.transform?.length)W.push(...$.transform);if($.afterHandle?.length)W.push(...$.afterHandle);if($.mapResponse?.length)W.push(...$.mapResponse);if($.request?.length)W.push(...$.request);if($.onResponse?.length)W.push(...$.onResponse);for(let X of W){if(!X)continue;const J="fn"in X?X.fn:X,[Q,Y]=y1(J.toString()),G=g8(Q,Z),B=u1(G);if(B){const K=Y1(B,Y);K.splice(0,-1,B),g1(Y,K,Z)}const _=G||B;if(_&&["","return "].some((K)=>f1(K+_,"query").some((z)=>Y.includes(z))))Z.query=!0,Z.unknownQueries=!0;if(Z.query){g1(Y,["query"],Z);const K=Q.indexOf("query: {");if(K!==-1){const z=Q.slice(K+7),[M,A]=v1(z),j=k8(z.slice(M,A));for(let O of j.slice(1,-1).split(",")){const U=O.indexOf(":");if(U!==-1)O=O.slice(0,U);if(O=O.trim(),O&&!Z.queries.includes(O))Z.queries.push(O.trim())}}}if(Z.query&&Z.headers&&Z.body&&Z.cookie&&Z.set)break}if(!f8(Z.queries))Z.unknownQueries=!0,Z.queries=[];return Z},h1=($,Z={request:!1,parse:!1,transform:!1,handle:!1,beforeHandle:!1,afterHandle:!1,error:!1,context:!1,store:!1,set:!1})=>{for(let W of $){const[X,J]=y1(W.toString()),Q=y8(X,Z),Y=u1(Q);if(Y){const G=Y1(Y,J);G.splice(0,-1,Y),u8(J,G,Z);continue}if(Z.request&&Z.parse&&Z.transform&&Z.handle&&Z.beforeHandle&&Z.afterHandle&&Z.error&&Z.context&&Z.store&&Z.set)break}return Z};import{Value as o0} from"@sinclair/typebox/value";import{Kind as _1} from"@sinclair/typebox";import{Value as M0} from"@sinclair/typebox/value";import{TypeCompiler as r1} from"@sinclair/typebox/compiler";var m8=function($,Z){if(typeof $!=="string")throw new TypeError("argument str must be a string");var W={},X=Z||{},J=X.decode||c8,Q=0;while(Q<$.length){var Y=$.indexOf("=",Q);if(Y===-1)break;var G=$.indexOf(";",Q);if(G===-1)G=$.length;else if(G<Y){Q=$.lastIndexOf(";",Y-1)+1;continue}var B=$.slice(Q,Y).trim();if(W[B]===void 0){var _=$.slice(Y+1,G).trim();if(_.charCodeAt(0)===34)_=_.slice(1,-1);W[B]=i8(_,J)}Q=G+1}return W},d8=function($,Z,W){var X=W||{},J=X.encode||p8;if(typeof J!=="function")throw new TypeError("option encode is invalid");if(!c0.test($))throw new TypeError("argument name is invalid");var Q=J(Z);if(Q&&!c0.test(Q))throw new TypeError("argument val is invalid");var Y=$+"="+Q;if(X.maxAge!=null){var G=X.maxAge-0;if(isNaN(G)||!isFinite(G))throw new TypeError("option maxAge is invalid");Y+="; Max-Age="+Math.floor(G)}if(X.domain){if(!c0.test(X.domain))throw new TypeError("option domain is invalid");Y+="; Domain="+X.domain}if(X.path){if(!c0.test(X.path))throw new TypeError("option path is invalid");Y+="; Path="+X.path}if(X.expires){var B=X.expires;if(!l8(B)||isNaN(B.valueOf()))throw new TypeError("option expires is invalid");Y+="; Expires="+B.toUTCString()}if(X.httpOnly)Y+="; HttpOnly";if(X.secure)Y+="; Secure";if(X.partitioned)Y+="; Partitioned";if(X.priority){var _=typeof X.priority==="string"?X.priority.toLowerCase():X.priority;switch(_){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(X.sameSite){var K=typeof X.sameSite==="string"?X.sameSite.toLowerCase():X.sameSite;switch(K){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},c8=function($){return $.indexOf("%")!==-1?decodeURIComponent($):$},p8=function($){return encodeURIComponent($)},l8=function($){return h8.call($)==="[object Date]"||$ instanceof Date},i8=function($,Z){try{return Z($)}catch(W){return $}};/*!
|
|
2
|
+
var q$=Object.create;var{defineProperty:C1,getPrototypeOf:R$,getOwnPropertyNames:L$}=Object;var E$=Object.prototype.hasOwnProperty;var V0=($,Z,W)=>{W=$!=null?q$(R$($)):{};const X=Z||!$||!$.__esModule?C1(W,"default",{value:$,enumerable:!0}):W;for(let J of L$($))if(!E$.call(X,J))C1(X,J,{get:()=>$[J],enumerable:!0});return X};var z0=($,Z)=>()=>(Z||$((Z={exports:{}}).exports,Z),Z.exports);var E1=z0((A8,Y1)=>{var S0=function(){},H$=function($,Z,W){this.fn=$,this.context=Z,this.once=W||!1},L1=function($,Z,W,X,J){if(typeof W!=="function")throw new TypeError("The listener must be a function");var Y=new H$(W,X||$,J),Q=y?y+Z:Z;if(!$._events[Q])$._events[Q]=Y,$._eventsCount++;else if(!$._events[Q].fn)$._events[Q].push(Y);else $._events[Q]=[$._events[Q],Y];return $},u0=function($,Z){if(--$._eventsCount===0)$._events=new S0;else delete $._events[Z]},g=function(){this._events=new S0,this._eventsCount=0},b$=Object.prototype.hasOwnProperty,y="~";if(Object.create){if(S0.prototype=Object.create(null),!new S0().__proto__)y=!1}g.prototype.eventNames=function $(){var Z=[],W,X;if(this._eventsCount===0)return Z;for(X in W=this._events)if(b$.call(W,X))Z.push(y?X.slice(1):X);if(Object.getOwnPropertySymbols)return Z.concat(Object.getOwnPropertySymbols(W));return Z};g.prototype.listeners=function $(Z){var W=y?y+Z:Z,X=this._events[W];if(!X)return[];if(X.fn)return[X.fn];for(var J=0,Y=X.length,Q=new Array(Y);J<Y;J++)Q[J]=X[J].fn;return Q};g.prototype.listenerCount=function $(Z){var W=y?y+Z:Z,X=this._events[W];if(!X)return 0;if(X.fn)return 1;return X.length};g.prototype.emit=function $(Z,W,X,J,Y,Q){var G=y?y+Z:Z;if(!this._events[G])return!1;var B=this._events[G],_=arguments.length,K,z;if(B.fn){if(B.once)this.removeListener(Z,B.fn,void 0,!0);switch(_){case 1:return B.fn.call(B.context),!0;case 2:return B.fn.call(B.context,W),!0;case 3:return B.fn.call(B.context,W,X),!0;case 4:return B.fn.call(B.context,W,X,J),!0;case 5:return B.fn.call(B.context,W,X,J,Y),!0;case 6:return B.fn.call(B.context,W,X,J,Y,Q),!0}for(z=1,K=new Array(_-1);z<_;z++)K[z-1]=arguments[z];B.fn.apply(B.context,K)}else{var M=B.length,A;for(z=0;z<M;z++){if(B[z].once)this.removeListener(Z,B[z].fn,void 0,!0);switch(_){case 1:B[z].fn.call(B[z].context);break;case 2:B[z].fn.call(B[z].context,W);break;case 3:B[z].fn.call(B[z].context,W,X);break;case 4:B[z].fn.call(B[z].context,W,X,J);break;default:if(!K)for(A=1,K=new Array(_-1);A<_;A++)K[A-1]=arguments[A];B[z].fn.apply(B[z].context,K)}}}return!0};g.prototype.on=function $(Z,W,X){return L1(this,Z,W,X,!1)};g.prototype.once=function $(Z,W,X){return L1(this,Z,W,X,!0)};g.prototype.removeListener=function $(Z,W,X,J){var Y=y?y+Z:Z;if(!this._events[Y])return this;if(!W)return u0(this,Y),this;var Q=this._events[Y];if(Q.fn){if(Q.fn===W&&(!J||Q.once)&&(!X||Q.context===X))u0(this,Y)}else{for(var G=0,B=[],_=Q.length;G<_;G++)if(Q[G].fn!==W||J&&!Q[G].once||X&&Q[G].context!==X)B.push(Q[G]);if(B.length)this._events[Y]=B.length===1?B[0]:B;else u0(this,Y)}return this};g.prototype.removeAllListeners=function $(Z){var W;if(Z){if(W=y?y+Z:Z,this._events[W])u0(this,W)}else this._events=new S0,this._eventsCount=0;return this};g.prototype.off=g.prototype.removeListener;g.prototype.addListener=g.prototype.on;g.prefixed=y;g.EventEmitter=g;if(typeof Y1!=="undefined")Y1.exports=g});var p0=z0((I8,c1)=>{var s$=function($){var Z=$.indexOf("%");if(Z===-1)return $;var W=$.length,X="",J=0,Y=0,Q=Z,G=m1;while(Z>-1&&Z<W){var B=d1($[Z+1],4),_=d1($[Z+2],0),K=B|_,z=U1[K];if(G=U1[256+G+z],Y=Y<<6|K&U1[364+z],G===m1)X+=$.slice(J,Q),X+=Y<=65535?String.fromCharCode(Y):String.fromCharCode(55232+(Y>>10),56320+(Y&1023)),Y=0,J=Z+3,Z=Q=$.indexOf("%",J);else if(G===t$)return null;else{if(Z+=3,Z<W&&$.charCodeAt(Z)===37)continue;return null}}return X+$.slice(J)},d1=function($,Z){var W=r$[$];return W===void 0?255:W<<Z},m1=12,t$=0,U1=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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],r$={"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};c1.exports=s$});var Y$=z0((p8,J$)=>{var J8=function($){const Z=new X$;if(typeof $!=="string")return Z;let W=$.length,X="",J="",Y=-1,Q=-1,G=!1,B=!1,_=!1,K=!1,z=!1,M=0;for(let A=0;A<W+1;A++)if(M=A!==W?$.charCodeAt(A):38,M===38){if(z=Q>Y,!z)Q=A;if(X=$.slice(Y+1,Q),z||X.length>0){if(_)X=X.replace(W$," ");if(G)X=Z$(X)||X;if(z){if(J=$.slice(Q+1,A),K)J=J.replace(W$," ");if(B)J=Z$(J)||J}const j=Z[X];if(j===void 0)Z[X]=J;else if(j.pop)j.push(J);else Z[X]=[j,J]}J="",Y=A,Q=A,G=!1,B=!1,_=!1,K=!1}else if(M===61)if(Q<=Y)Q=A;else B=!0;else if(M===43)if(Q>Y)K=!0;else _=!0;else if(M===37)if(Q>Y)B=!0;else G=!0;return Z},Z$=p0(),W$=/\+/g,X$=function(){};X$.prototype=Object.create(null);J$.exports=J8});var G$=z0((l8,Q$)=>{var Q8=function($){const Z=$.length;if(Z===0)return"";let W="",X=0,J=0;$:for(;J<Z;J++){let Y=$.charCodeAt(J);while(Y<128){if(Y8[Y]!==1){if(X<J)W+=$.slice(X,J);X=J+1,W+=s[Y]}if(++J===Z)break $;Y=$.charCodeAt(J)}if(X<J)W+=$.slice(X,J);if(Y<2048){X=J+1,W+=s[192|Y>>6]+s[128|Y&63];continue}if(Y<55296||Y>=57344){X=J+1,W+=s[224|Y>>12]+s[128|Y>>6&63]+s[128|Y&63];continue}if(++J,J>=Z)throw new Error("URI malformed");const Q=$.charCodeAt(J)&1023;X=J+1,Y=65536+((Y&1023)<<10|Q),W+=s[240|Y>>18]+s[128|Y>>12&63]+s[128|Y>>6&63]+s[128|Y&63]}if(X===0)return $;if(X<Z)return W+$.slice(X);return W},s=Array.from({length:256},($,Z)=>"%"+((Z<16?"0":"")+Z.toString(16)).toUpperCase()),Y8=new Int8Array([0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,0]);Q$.exports={encodeString:Q8}});var K$=z0((i8,U$)=>{var B$=function($){const Z=typeof $;if(Z==="string")return N1($);else if(Z==="bigint")return $.toString();else if(Z==="boolean")return $?"true":"false";else if(Z==="number"&&Number.isFinite($))return $<1000000000000000000000?""+$:N1(""+$);return""},G8=function($){let Z="";if($===null||typeof $!=="object")return Z;const W="&",X=Object.keys($),J=X.length;let Y=0;for(let Q=0;Q<J;Q++){const G=X[Q],B=$[G],_=N1(G)+"=";if(Q)Z+=W;if(Array.isArray(B)){Y=B.length;for(let K=0;K<Y;K++){if(K)Z+=W;Z+=_,Z+=B$(B[K])}}else Z+=_,Z+=B$(B)}return Z},{encodeString:N1}=G$();U$.exports=G8});var P1=z0((t8,E0)=>{var _$=Y$(),z$=K$(),D$={parse:_$,stringify:z$};E0.exports=D$;E0.exports.default=D$;E0.exports.parse=_$;E0.exports.stringify=z$});var D0=($,Z)=>({part:$,store:null,inert:Z!==void 0?new Map(Z.map((W)=>[W.part.charCodeAt(0),W])):null,params:null,wildcardStore:null}),q1=($,Z)=>({...$,part:Z}),R1=($)=>({paramName:$,store:null,inert:null});class X0{root={};history=[];static regex={static:/:.+?(?=\/|$)/,params:/:.+?(?=\/|$)/g};add($,Z,W){let X;if(typeof Z!="string")throw TypeError("Route path must be a string");Z===""?Z="/":Z[0]!=="/"&&(Z=`/${Z}`),this.history.push([$,Z,W]);let J=Z[Z.length-1]==="*";J&&(Z=Z.slice(0,-1));let Y=Z.split(X0.regex.static),Q=Z.match(X0.regex.params)||[];Y[Y.length-1]===""&&Y.pop(),X=this.root[$]?this.root[$]:this.root[$]=D0("/");let G=0;for(let B=0;B<Y.length;++B){let _=Y[B];if(B>0){let K=Q[G++].slice(1);if(X.params===null)X.params=R1(K);else if(X.params.paramName!==K)throw Error(`Cannot create route "${Z}" with parameter "${K}" because a route already exists with a different parameter name ("${X.params.paramName}") in the same location`);let z=X.params;if(z.inert===null){X=z.inert=D0(_);continue}X=z.inert}for(let K=0;;){if(K===_.length){if(K<X.part.length){let z=q1(X,X.part.slice(K));Object.assign(X,D0(_,[z]))}break}if(K===X.part.length){if(X.inert===null)X.inert=new Map;else if(X.inert.has(_.charCodeAt(K))){X=X.inert.get(_.charCodeAt(K)),_=_.slice(K),K=0;continue}let z=D0(_.slice(K));X.inert.set(_.charCodeAt(K),z),X=z;break}if(_[K]!==X.part[K]){let z=q1(X,X.part.slice(K)),M=D0(_.slice(K));Object.assign(X,D0(X.part.slice(0,K),[z,M])),X=M;break}++K}}if(G<Q.length){let B=Q[G],_=B.slice(1);if(X.params===null)X.params=R1(_);else if(X.params.paramName!==_)throw Error(`Cannot create route "${Z}" with parameter "${_}" because a route already exists with a different parameter name ("${X.params.paramName}") in the same location`);return X.params.store===null&&(X.params.store=W),X.params.store}return J?(X.wildcardStore===null&&(X.wildcardStore=W),X.wildcardStore):(X.store===null&&(X.store=W),X.store)}find($,Z){let W=this.root[$];return W?J1(Z,Z.length,W,0):null}}var J1=($,Z,W,X)=>{let J=W?.part,Y=X+J.length;if(J.length>1){if(Y>Z)return null;if(J.length<15){for(let Q=1,G=X+1;Q<J.length;++Q,++G)if(J.charCodeAt(Q)!==$.charCodeAt(G))return null}else if($.substring(X,Y)!==J)return null}if(Y===Z)return W.store!==null?{store:W.store,params:{}}:W.wildcardStore!==null?{store:W.wildcardStore,params:{"*":""}}:null;if(W.inert!==null){let Q=W.inert.get($.charCodeAt(Y));if(Q!==void 0){let G=J1($,Z,Q,Y);if(G!==null)return G}}if(W.params!==null){let Q=W.params,G=$.indexOf("/",Y);if(G!==Y){if(G===-1||G>=Z){if(Q.store!==null){let B={};return B[Q.paramName]=$.substring(Y,Z),{store:Q.store,params:B}}}else if(Q.inert!==null){let B=J1($,Z,Q.inert,G);if(B!==null)return B.params[Q.paramName]=$.substring(Y,G),B}}}return W.wildcardStore!==null?{store:W.wildcardStore,params:{"*":$.substring(Y,Z)}}:null};var b1=V0(E1(),1);var H1=b1.default;var h0=()=>{let $;return[new Promise((W)=>{$=W}),$]},Z0=()=>{const[$,Z]=h0(),[W,X]=h0(),J=[],Y=[];return{signal:$,consume:(Q)=>{switch(Q.type){case"begin":if(Q.unit&&J.length===0)for(let G=0;G<Q.unit;G++){const[B,_]=h0(),[K,z]=h0();J.push(B),Y.push([(M)=>{_({children:[],end:K,name:M.name??"",skip:!1,time:M.time})},(M)=>{z(M)}])}Z({children:J,end:W,name:Q.name??"",skip:!1,time:Q.time});break;case"end":X(Q.time);break}},consumeChild(Q){switch(Q.type){case"begin":if(!Y[0])return;const[G]=Y[0];G({children:[],end:W,name:Q.name??"",skip:!1,time:Q.time});break;case"end":const B=Y.shift();if(!B)return;B[1](Q.time)}},resolve(){Z({children:[],end:new Promise((Q)=>Q(0)),name:"",skip:!0,time:0});for(let[Q,G]of Y)Q({children:[],end:new Promise((B)=>B(0)),name:"",skip:!0,time:0}),G(0);X(0)}}},x1=($,Z,W)=>{if(typeof W==="object")W=W.fn;return async function X(X){if(X.event!=="request"||X.type!=="begin")return;const J=X.id,Y=$(),Q=Z0(),G=Z0(),B=Z0(),_=Z0(),K=Z0(),z=Z0(),M=Z0(),A=Z0();Q.consume(X);const j=(O)=>{if(O.id===J)switch(O.event){case"request":Q.consume(O);break;case"request.unit":Q.consumeChild(O);break;case"parse":G.consume(O);break;case"parse.unit":G.consumeChild(O);break;case"transform":B.consume(O);break;case"transform.unit":B.consumeChild(O);break;case"beforeHandle":_.consume(O);break;case"beforeHandle.unit":_.consumeChild(O);break;case"handle":K.consume(O);break;case"afterHandle":z.consume(O);break;case"afterHandle.unit":z.consumeChild(O);break;case"error":M.consume(O);break;case"error.unit":M.consumeChild(O);break;case"response":if(O.type==="begin")Q.resolve(),G.resolve(),B.resolve(),_.resolve(),K.resolve(),z.resolve(),M.resolve();else Y.off("event",j);A.consume(O);break;case"response.unit":A.consumeChild(O);break;case"exit":Q.resolve(),G.resolve(),B.resolve(),_.resolve(),K.resolve(),z.resolve(),M.resolve();break}};Y.on("event",j),await W({id:J,context:X.ctx,set:X.ctx?.set,store:X.ctx?.store,time:X.time,request:Q.signal,parse:G.signal,transform:B.signal,beforeHandle:_.signal,handle:K.signal,afterHandle:z.signal,error:M.signal,response:A.signal}),Y.emit(`res${J}.${Z}`,void 0)}};var y1=($)=>{if($.startsWith("async"))$=$.slice(6);let Z=-1;if($.charCodeAt(0)===40){if(Z=$.indexOf(") => {\n"),Z!==-1)return[$.slice(1,Z),$.slice(Z+5)];if(Z=$.indexOf(") => "),Z!==-1)return[$.slice(1,Z),$.slice(Z+5)]}if($.startsWith("function")){Z=$.indexOf("(");const X=$.indexOf(")");return[$.slice(Z+1,X),$.slice(X+2)]}const W=$.indexOf("(");if(W!==-1){const[X,J]=$.split("\n",2),Y=X.lastIndexOf(")")+1;return[X.slice(W,Y),"{"+J]}return $.split("\n",2)},v1=($)=>{const Z=$.indexOf("{");if(Z===-1)return[-1,0];let W=Z+1,X=1;for(;W<$.length;W++){const J=$.charCodeAt(W);if(J===123)X++;else if(J===125)X--;if(X===0)break}if(X!==0)return[0,$.length];return[Z,W+1]},x$=($)=>{const Z=$.lastIndexOf("}");if(Z===-1)return[-1,0];let W=Z-1,X=1;for(;W>=0;W--){const J=$.charCodeAt(W);if(J===125)X++;else if(J===123)X--;if(X===0)break}if(X!==0)return[-1,0];return[W,Z+1]},m0=($)=>{if($.charCodeAt(0)===40)$=$.slice(1,-1);if($.charCodeAt(0)===123)$=$.slice(2,-2);while(!0){const[Z,W]=v1($);if(Z===-1)break;$=$.slice(0,Z-2)+$.slice(W+1)}return $.replace(/:/g,"").trim()},g$=($,Z)=>{const W=m0($);if(!Z.query&&W.includes("query"))Z.query=!0;if(!Z.headers&&W.includes("headers"))Z.headers=!0;if(!Z.body&&W.includes("body"))Z.body=!0;if(!Z.cookie&&W.includes("cookie"))Z.cookie=!0;if(!Z.set&&W.includes("set"))Z.set=!0;return W},y$=($,Z)=>{const W=m0($);if(!Z.request&&W.includes("request"))Z.request=!0;if(!Z.parse&&W.includes("parse"))Z.parse=!0;if(!Z.transform&&W.includes("transform"))Z.transform=!0;if(!Z.handle&&W.includes("handle"))Z.handle=!0;if(!Z.beforeHandle&&W.includes("beforeHandle"))Z.beforeHandle=!0;if(!Z.afterHandle&&W.includes("afterHandle"))Z.afterHandle=!0;if(!Z.error&&W.includes("error"))Z.error=!0;if(!Z.context&&W.includes("context"))Z.context=!0;if(!Z.store&&W.includes("store"))Z.store=!0;if(!Z.set&&W.includes("set"))Z.set=!0;return W},k1=($,Z,W)=>{const X=Z.indexOf($+"\n",W),J=Z.indexOf($+"\t",W),Y=Z.indexOf($+",",W),Q=Z.indexOf($+";",W),G=Z.indexOf($+" ",W);return[X,J,Y,Q,G].filter((B)=>B>0).sort((B,_)=>B-_)[0]||-1},v$=($,Z,W)=>{const X=Z.indexOf($+"]",W),J=Z.indexOf($+"'",W),Y=Z.indexOf($+'"',W);return[X,J,Y].filter((Q)=>Q>0).sort((Q,G)=>Q-G)[0]||-1},Q1=($,Z,W=0)=>{if(W>5)return[];const X=[];let J=Z;while(!0){let Y=k1(" = "+$,J);if(Y===-1){const B=J.indexOf(" = "+$);if(B+3+$.length!==J.length)break;Y=B}const Q=J.slice(0,Y);let G=Q.slice(Q.lastIndexOf(" ")+1);if(G==="}"){const[B,_]=x$(Q);X.push(J.slice(B,_)),J=J.slice(Y+3+$.length);continue}while(G.charCodeAt(0)===44)G=G.slice(1);while(G.charCodeAt(0)===9)G=G.slice(1);X.push(G),J=J.slice(Y+3+$.length)}for(let Y of X){if(Y.charCodeAt(0)===123)continue;const Q=Q1(Y,Z);if(Q.length>0)X.push(...Q)}return X},f1=($,Z)=>[$+"."+Z,$+'["'+Z+'"]',$+"['"+Z+"']"],u1=($)=>{if(!$)return;if(!$.includes(",")){if($.includes("..."))return $.slice($.indexOf("...")+3);return $}const W=$.indexOf("...");if(W===-1)return;return $.slice(W+3).trimEnd()},g1=($,Z,W)=>{const X=(J,Y)=>$.includes(Y+"."+J)||$.includes(Y+'["'+J+'"]')||$.includes(Y+"['"+J+"']");for(let J of Z){if(!J)continue;if(J.charCodeAt(0)===123){if(J=m0(J),!W.query&&J.includes("query"))W.query=!0;if(!W.headers&&J.includes("headers"))W.headers=!0;if(!W.body&&J.includes("body"))W.body=!0;if(!W.cookie&&J.includes("cookie"))W.cookie=!0;if(!W.set&&J.includes("set"))W.set=!0;continue}if($.includes("("+J+")")){W.query=!0,W.headers=!0,W.body=!0,W.cookie=!0,W.set=!0,W.queries=[],W.unknownQueries=!0;break}if(!W.query&&X("query",J))W.query=!0;if($.includes("return "+J)||f1("return "+J,"query").some((Y)=>$.includes(Y)))W.query=!0,W.unknownQueries=!0;if(W.query&&!W.unknownQueries)while(!0){let Y=J+".";if($.includes(Y+"query"))Y=J+".query";let Q=!1,G=$.indexOf(Y);if(G===-1)Q=!0,G=$.indexOf(J+'["');if(G===-1)Q=!0,G=$.indexOf(J+"['");if(G===-1&&$.indexOf(J+"[")!==-1){W.queries=[],W.unknownQueries=!0;break}if(G!==-1){let B=Q?v$("",$,G+Y.length+1):k1("",$,G+Y.length+1);if(B===-1)B=void 0;const _=G+J.length+1;$=$.slice(G+J.length+1);let K=$.slice(0,B?B-_:B).trimEnd();while(G!==-1)if(G=K.indexOf("."),G!==-1)K=K.slice(G+1);if(K.charCodeAt(K.length-1)===59)K=K.slice(0,-1);if(K.charCodeAt(K.length-1)===44)K=K.slice(0,-1);if(K.charCodeAt(K.length-1)===93)K=K.slice(0,-1);if(K.charCodeAt(K.length-1)===41)K=K.slice(0,-1);if(Q)K=K.replaceAll(/("|')/g,"");if(K&&!W.queries.includes(K)){W.queries.push(K);continue}}break}if(!W.headers&&X("headers",J))W.headers=!0;if(!W.body&&X("body",J))W.body=!0;if(!W.cookie&&X("cookie",J))W.cookie=!0;if(!W.set&&X("set",J))W.set=!0;if(W.query&&W.headers&&W.body&&W.cookie&&W.set)break}return Z},k$=($)=>{while(!0){const Z=$.indexOf("=");if(Z===-1)break;const W=$.indexOf(",",Z),X=$.indexOf("}",Z),J=[W,X].filter((Y)=>Y>0).sort((Y,Q)=>Y-Q)[0]||-1;if(J===-1){$=$.slice(0,Z);break}$=$.slice(0,Z)+$.slice(J)}return $.split(",").map((Z)=>Z.trim()).join(", ")},f$=($)=>{for(let Z of $){if(Z.charCodeAt(0)===123)return!1;if(Z.indexOf("'")!==-1)return!1;if(Z.indexOf('"')!==-1)return!1;if(Z.indexOf("\n")!==-1)return!1;if(Z.indexOf("\t")!==-1)return!1}return!0},u$=($,Z,W)=>{const X=(J,Y)=>$.includes(J+"."+Y)||$.includes(J+'["'+Y+'"]')||$.includes(J+"['"+Y+"']");for(let J of Z){if(J.charCodeAt(0)===123){if(J=m0(J),!W.request&&J.includes("request"))W.request=!0;if(!W.parse&&J.includes("parse"))W.parse=!0;if(!W.transform&&J.includes("transform"))W.transform=!0;if(!W.handle&&J.includes("handle"))W.handle=!0;if(!W.beforeHandle&&J.includes("beforeHandle"))W.beforeHandle=!0;if(!W.afterHandle&&J.includes("afterHandle"))W.afterHandle=!0;if(!W.error&&J.includes("error"))W.error=!0;if(!W.context&&J.includes("context"))W.context=!0;if(!W.store&&J.includes("store"))W.store=!0;if(!W.set&&J.includes("set"))W.set=!0;continue}if($.includes("("+J+")")){W.request=!0,W.parse=!0,W.transform=!0,W.handle=!0,W.beforeHandle=!0,W.afterHandle=!0,W.error=!0,W.context=!0,W.store=!0,W.set=!0;break}if(!W.request&&X("request",J))W.request=!0;if(!W.parse&&X("parse",J))W.parse=!0;if(!W.transform&&X("transform",J))W.transform=!0;if(!W.handle&&X("handle",J))W.handle=!0;if(!W.beforeHandle&&X("beforeHandle",J))W.beforeHandle=!0;if(!W.afterHandle&&X("afterHandle",J))W.afterHandle=!0;if(!W.error&&X("error",J))W.error=!0;if(!W.context&&X("context",J))W.context=!0;if(!W.store&&X("store",J))W.store=!0;if(!W.set&&X("set",J))W.set=!0;if(W.request&&W.parse&&W.transform&&W.handle&&W.beforeHandle&&W.afterHandle&&W.error&&W.context&&W.store&&W.set)break}return Z},d0=($,Z={queries:[],query:!1,headers:!1,body:!1,cookie:!1,set:!1,unknownQueries:!1})=>{const W=[];if($.handler&&typeof $.handler==="function")W.push($.handler);if($.beforeHandle?.length)W.push(...$.beforeHandle);if($.parse?.length)W.push(...$.parse);if($.error?.length)W.push(...$.error);if($.transform?.length)W.push(...$.transform);if($.afterHandle?.length)W.push(...$.afterHandle);if($.mapResponse?.length)W.push(...$.mapResponse);if($.request?.length)W.push(...$.request);if($.onResponse?.length)W.push(...$.onResponse);for(let X of W){if(!X)continue;const J="fn"in X?X.fn:X,[Y,Q]=y1(J.toString()),G=g$(Y,Z),B=u1(G);if(B){const K=Q1(B,Q);K.splice(0,-1,B),g1(Q,K,Z)}const _=G||B;if(_&&["","return "].some((K)=>f1(K+_,"query").some((z)=>Q.includes(z))))Z.query=!0,Z.unknownQueries=!0;if(Z.query){g1(Q,["query"],Z);const K=Y.indexOf("query: {");if(K!==-1){const z=Y.slice(K+7),[M,A]=v1(z),j=k$(z.slice(M,A));for(let O of j.slice(1,-1).split(",")){const U=O.indexOf(":");if(U!==-1)O=O.slice(0,U);if(O=O.trim(),O&&!Z.queries.includes(O))Z.queries.push(O.trim())}}}if(Z.query&&Z.headers&&Z.body&&Z.cookie&&Z.set)break}if(!f$(Z.queries))Z.unknownQueries=!0,Z.queries=[];return Z},h1=($,Z={request:!1,parse:!1,transform:!1,handle:!1,beforeHandle:!1,afterHandle:!1,error:!1,context:!1,store:!1,set:!1})=>{for(let W of $){const[X,J]=y1(W.toString()),Y=y$(X,Z),Q=u1(Y);if(Q){const G=Q1(Q,J);G.splice(0,-1,Q),u$(J,G,Z);continue}if(Z.request&&Z.parse&&Z.transform&&Z.handle&&Z.beforeHandle&&Z.afterHandle&&Z.error&&Z.context&&Z.store&&Z.set)break}return Z};import{Value as o0} from"@sinclair/typebox/value";import{Kind as _1} from"@sinclair/typebox";import{Value as M0} from"@sinclair/typebox/value";import{TypeCompiler as r1} from"@sinclair/typebox/compiler";var m$=function($,Z){if(typeof $!=="string")throw new TypeError("argument str must be a string");var W={},X=Z||{},J=X.decode||c$,Y=0;while(Y<$.length){var Q=$.indexOf("=",Y);if(Q===-1)break;var G=$.indexOf(";",Y);if(G===-1)G=$.length;else if(G<Q){Y=$.lastIndexOf(";",Q-1)+1;continue}var B=$.slice(Y,Q).trim();if(W[B]===void 0){var _=$.slice(Q+1,G).trim();if(_.charCodeAt(0)===34)_=_.slice(1,-1);W[B]=i$(_,J)}Y=G+1}return W},d$=function($,Z,W){var X=W||{},J=X.encode||p$;if(typeof J!=="function")throw new TypeError("option encode is invalid");if(!c0.test($))throw new TypeError("argument name is invalid");var Y=J(Z);if(Y&&!c0.test(Y))throw new TypeError("argument val is invalid");var Q=$+"="+Y;if(X.maxAge!=null){var G=X.maxAge-0;if(isNaN(G)||!isFinite(G))throw new TypeError("option maxAge is invalid");Q+="; Max-Age="+Math.floor(G)}if(X.domain){if(!c0.test(X.domain))throw new TypeError("option domain is invalid");Q+="; Domain="+X.domain}if(X.path){if(!c0.test(X.path))throw new TypeError("option path is invalid");Q+="; Path="+X.path}if(X.expires){var B=X.expires;if(!l$(B)||isNaN(B.valueOf()))throw new TypeError("option expires is invalid");Q+="; Expires="+B.toUTCString()}if(X.httpOnly)Q+="; HttpOnly";if(X.secure)Q+="; Secure";if(X.partitioned)Q+="; Partitioned";if(X.priority){var _=typeof X.priority==="string"?X.priority.toLowerCase():X.priority;switch(_){case"low":Q+="; Priority=Low";break;case"medium":Q+="; Priority=Medium";break;case"high":Q+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}}if(X.sameSite){var K=typeof X.sameSite==="string"?X.sameSite.toLowerCase():X.sameSite;switch(K){case!0:Q+="; SameSite=Strict";break;case"lax":Q+="; SameSite=Lax";break;case"strict":Q+="; SameSite=Strict";break;case"none":Q+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return Q},c$=function($){return $.indexOf("%")!==-1?decodeURIComponent($):$},p$=function($){return encodeURIComponent($)},l$=function($){return h$.call($)==="[object Date]"||$ instanceof Date},i$=function($,Z){try{return Z($)}catch(W){return $}};/*!
|
|
3
3
|
* cookie
|
|
4
4
|
* Copyright(c) 2012-2014 Roman Shtylman
|
|
5
5
|
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
6
6
|
* MIT Licensed
|
|
7
|
-
*/var G1=m8,B1=d8;var h8=Object.prototype.toString,c0=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;var l1=V0(p0(),1);class n{$;Z;W;constructor($,Z,W={}){this.name=$;this.jar=Z;this.initial=W}get cookie(){if(!(this.name in this.jar))return this.initial;return this.jar[this.name]}set cookie($){if(!(this.name in this.jar))this.jar[this.name]=this.initial;this.jar[this.name]=$}get value(){return this.cookie.value}set value($){if(!(this.name in this.jar))this.jar[this.name]=this.initial;this.jar[this.name].value=$}get expires(){return this.cookie.expires}set expires($){this.cookie.expires=$}get maxAge(){return this.cookie.maxAge}set maxAge($){this.cookie.maxAge=$}get domain(){return this.cookie.domain}set domain($){this.cookie.domain=$}get path(){return this.cookie.path}set path($){this.cookie.path=$}get secure(){return this.cookie.secure}set secure($){this.cookie.secure=$}get httpOnly(){return this.cookie.httpOnly}set httpOnly($){this.cookie.httpOnly=$}get sameSite(){return this.cookie.sameSite}set sameSite($){this.cookie.sameSite=$}get priority(){return this.cookie.priority}set priority($){this.cookie.priority=$}get secrets(){return this.cookie.secrets}set secrets($){this.cookie.secrets=$}update($){return this.cookie=Object.assign(this.cookie,typeof $==="function"?$(this.cookie):$),this}set($){return this.cookie=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 p1=($,Z,W)=>{if(!$.cookie)$.cookie={};return new Proxy(Z,{get(X,J){if(J in Z)return new n(J,$.cookie,Object.assign({},W??{},Z[J]));return new n(J,$.cookie,Object.assign({},W))}})},l0=async($,Z,{secret:W,sign:X,...J}={})=>{if(!Z)return p1($,{},J);const Q=typeof W==="string";if(X&&X!==!0&&!Array.isArray(X))X=[X];const Y={},G=G1(Z);for(let[B,_]of Object.entries(G)){let K=l1.default(_);if(X===!0||X?.includes(B)){if(!W)throw new Error("No secret is provided to cookie plugin");if(Q){const M=await K1(K,W);if(M===!1)throw new T0(B);K=M}else{let M=!0;for(let A=0;A<W.length;A++){const j=await K1(K,W[A]);if(j!==!1){M=!0,K=j;break}}if(!M)throw new T0(B)}}const z=K.charCodeAt(0);if(z===123||z===91)try{Y[B]={value:JSON.parse(K)};continue}catch{}if(D0(K)){Y[B]={value:parseInt(K)};continue}if(K==="true"){Y[B]={value:!0};continue}if(K==="false"){Y[B]={value:!1};continue}Y[B]={value:K}}return p1($,Y,J)};var C0="toJSON"in new Headers,m=($)=>{if(!$)return!1;for(let Z in $)return!0;return!1},q0=($,Z)=>{const W=$.size;if(!Z&&W||W&&Z&&Z.status!==206&&Z.status!==304&&Z.status!==412&&Z.status!==416){if(Z){if(Z.headers instanceof Headers){if(C0)Z.headers=Z.headers.toJSON();else for(let[X,J]of Z.headers.entries())if(X in Z.headers)Z.headers[X]=J}return new Response($,{status:Z.status,headers:Object.assign({"accept-ranges":"bytes","content-range":`bytes 0-${W-1}/${W}`},Z.headers)})}return new Response($,{headers:{"accept-ranges":"bytes","content-range":`bytes 0-${W-1}/${W}`}})}return new Response($)},i1=($,Z)=>{if(!$)return $;$.delete("Set-Cookie");for(let W=0;W<Z.length;W++){const X=Z[W].indexOf("=");$.append("Set-Cookie",`${Z[W].slice(0,X)}=${Z[W].slice(X+1)||""}`)}return $},t1=($)=>{if(!$||!m($))return;const Z=[];for(let[W,X]of Object.entries($)){if(!W||!X)continue;const J=X.value;if(J===void 0||J===null)continue;Z.push(B1(W,typeof J==="object"?JSON.stringify(J):J+"",X))}if(Z.length===0)return;if(Z.length===1)return Z[0];return Z},h=($,Z,W)=>{if($?.$passthrough)$=$?.[$.$passthrough];if($?.[d])Z.status=$[d],$=$.response;if(m(Z.headers)||Z.status!==200||Z.redirect||Z.cookie){if(typeof Z.status==="string")Z.status=J0[Z.status];if(Z.redirect){if(Z.headers.Location=Z.redirect,!Z.status||Z.status<300||Z.status>=400)Z.status=302}if(Z.cookie&&m(Z.cookie))Z.headers["Set-Cookie"]=t1(Z.cookie);if(Z.headers["Set-Cookie"]&&Array.isArray(Z.headers["Set-Cookie"]))Z.headers=i1(new Headers(Z.headers),Z.headers["Set-Cookie"]);switch($?.constructor?.name){case"String":return new Response($,Z);case"Blob":return q0($,Z);case"Object":case"Array":return Response.json($,Z);case"ReadableStream":if(!Z.headers["content-type"]?.startsWith("text/event-stream"))Z.headers["content-type"]="text/event-stream; charset=utf-8";return W?.signal.addEventListener("abort",{handleEvent(){if(!W?.signal.aborted)$.cancel(W)}},{once:!0}),new Response($,Z);case void 0:if(!$)return new Response("",Z);return Response.json($,Z);case"Response":const X={...Z.headers};if(C0)Z.headers=$.headers.toJSON();else for(let[J,Q]of $.headers.entries())if(J in Z.headers)Z.headers[J]=Q;for(let J in X)$.headers.append(J,X[J]);return $;case"Error":return t($,Z);case"Promise":return $.then((J)=>h(J,Z));case"Function":return h($(),Z);case"Number":case"Boolean":return new Response($.toString(),Z);case"Cookie":if($ instanceof n)return new Response($.value,Z);return new Response($?.toString(),Z);default:if($ instanceof Response){const J=Object.assign({},Z.headers);if(C0)Z.headers=$.headers.toJSON();else for(let[Q,Y]of $.headers.entries())if(Q in Z.headers)Z.headers[Q]=Y;for(let Q in J)$.headers.append(Q,J[Q]);return $}if($ instanceof Promise)return $.then((J)=>h(J,Z));if($ instanceof Error)return t($,Z);if("charCodeAt"in $){const J=$.charCodeAt(0);if(J===123||J===91){if(!Z.headers["Content-Type"])Z.headers["Content-Type"]="application/json";return new Response(JSON.stringify($),Z)}}return new Response($,Z)}}else switch($?.constructor?.name){case"String":return new Response($);case"Blob":return q0($,Z);case"Object":case"Array":return new Response(JSON.stringify($),{headers:{"content-type":"application/json"}});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":return $;case"Error":return t($,Z);case"Promise":return $.then((X)=>{const J=o(X);if(J!==void 0)return J;return new Response("")});case"Function":return o($());case"Number":case"Boolean":return new Response($.toString());case"Cookie":if($ instanceof n)return new Response($.value,Z);return new Response($?.toString(),Z);default:if($ instanceof Response)return new Response($.body,{headers:{"Content-Type":"application/json"}});if($ instanceof Promise)return $.then((X)=>h(X,Z));if($ instanceof Error)return t($,Z);if("charCodeAt"in $){const X=$.charCodeAt(0);if(X===123||X===91){if(!Z.headers["Content-Type"])Z.headers["Content-Type"]="application/json";return new Response(JSON.stringify($),Z)}}return new Response($)}},u=($,Z,W)=>{if($===void 0||$===null)return;if($?.$passthrough)$=$?.[$.$passthrough];if($?.[d])Z.status=$[d],$=$.response;if(m(Z.headers)||Z.status!==200||Z.redirect||Z.cookie){if(typeof Z.status==="string")Z.status=J0[Z.status];if(Z.redirect){if(Z.headers.Location=Z.redirect,!Z.status||Z.status<300||Z.status>=400)Z.status=302}if(Z.cookie&&m(Z.cookie))Z.headers["Set-Cookie"]=t1(Z.cookie);if(Z.headers["Set-Cookie"]&&Array.isArray(Z.headers["Set-Cookie"]))Z.headers=i1(new Headers(Z.headers),Z.headers["Set-Cookie"]);switch($?.constructor?.name){case"String":return new Response($,Z);case"Blob":return q0($,Z);case"Object":case"Array":return Response.json($,Z);case"ReadableStream":if(!Z.headers["content-type"]?.startsWith("text/event-stream"))Z.headers["content-type"]="text/event-stream; charset=utf-8";return W?.signal.addEventListener("abort",{handleEvent(){if(!W?.signal.aborted)$.cancel(W)}},{once:!0}),new Response($,Z);case void 0:if(!$)return;return Response.json($,Z);case"Response":const X=Object.assign({},Z.headers);if(C0)Z.headers=$.headers.toJSON();else for(let[J,Q]of $.headers.entries())if(!(J in Z.headers))Z.headers[J]=Q;for(let J in X)$.headers.append(J,X[J]);if($.status!==Z.status)Z.status=$.status;return $;case"Promise":return $.then((J)=>{const Q=u(J,Z);if(Q!==void 0)return Q});case"Error":return t($,Z);case"Function":return u($(),Z);case"Number":case"Boolean":return new Response($.toString(),Z);case"Cookie":if($ instanceof n)return new Response($.value,Z);return new Response($?.toString(),Z);default:if($ instanceof Response){const J={...Z.headers};if(C0)Z.headers=$.headers.toJSON();else for(let[Q,Y]of $.headers.entries())if(Q in Z.headers)Z.headers[Q]=Y;for(let Q in J)$.headers.append(Q,J[Q]);return $}if($ instanceof Promise)return $.then((J)=>u(J,Z));if($ instanceof Error)return t($,Z);if("charCodeAt"in $){const J=$.charCodeAt(0);if(J===123||J===91){if(!Z.headers["Content-Type"])Z.headers["Content-Type"]="application/json";return new Response(JSON.stringify($),Z)}}return new Response($,Z)}}else switch($?.constructor?.name){case"String":return new Response($);case"Blob":return q0($,Z);case"Object":case"Array":return new Response(JSON.stringify($),{headers:{"content-type":"application/json"}});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":return $;case"Promise":return $.then((X)=>{const J=u(X,Z);if(J!==void 0)return J});case"Error":return t($,Z);case"Function":return o($());case"Number":case"Boolean":return new Response($.toString());case"Cookie":if($ instanceof n)return new Response($.value,Z);return new Response($?.toString(),Z);default:if($ instanceof Response)return new Response($.body,{headers:{"Content-Type":"application/json"}});if($ instanceof Promise)return $.then((X)=>u(X,Z));if($ instanceof Error)return t($,Z);if("charCodeAt"in $){const X=$.charCodeAt(0);if(X===123||X===91){if(!Z.headers["Content-Type"])Z.headers["Content-Type"]="application/json";return new Response(JSON.stringify($),Z)}}return new Response($)}},o=($,Z)=>{if($?.$passthrough)$=$?.[$.$passthrough];if($?.[d])return h($.response,{status:$[d],headers:{}});switch($?.constructor?.name){case"String":return new Response($);case"Blob":return q0($);case"Object":case"Array":return new Response(JSON.stringify($),{headers:{"content-type":"application/json"}});case"ReadableStream":return Z?.signal.addEventListener("abort",{handleEvent(){if(!Z?.signal.aborted)$.cancel(Z)}},{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":return $;case"Error":return t($);case"Promise":return $.then(o);case"Function":return o($());case"Number":case"Boolean":return new Response($.toString());default:if($ instanceof Response)return new Response($.body,{headers:{"Content-Type":"application/json"}});if($ instanceof Promise)return $.then(o);if($ instanceof Error)return t($);const W=JSON.stringify($);if(W.charCodeAt(0)===123)return new Response(JSON.stringify($),{headers:{"Content-Type":"application/json"}});return new Response(W)}},t=($,Z)=>new Response(JSON.stringify({name:$?.name,message:$?.message,cause:$?.cause}),{status:Z?.status!==200?Z?.status??500:500,headers:Z?.headers});var X$=function($){let Z=$;while(Z.endsWith("="))Z=Z.slice(0,-1);return Z},F1=($,Z)=>{const W=new URL($);return W.pathname=Z,W.toString()},n8=($)=>typeof $==="function"&&/^\s*class\s+/.test($.toString())||$.toString().startsWith("[object ")||m(Object.getPrototypeOf($)),z1=($)=>$&&typeof $==="object"&&!Array.isArray($),p=($,Z,{skipKeys:W}={})=>{if(z1($)&&z1(Z))for(let[X,J]of Object.entries(Z)){if(W?.includes(X))continue;if(!z1(J)||!(X in $)||n8(J)){$[X]=J;continue}$[X]=p($[X],J)}return $},o8=($,Z)=>{const{properties:W,...X}=$??{},{properties:J,...Q}=Z??{};return p(X,Q)},H=($=[],Z=[])=>{if(!$)return[];if(!Z)return $;const W=[],X=[];if(!Array.isArray($))$=[$];if(!Array.isArray(Z))Z=[Z];for(let J of $)if(W.push(J),J.checksum)X.push(J.checksum);for(let J of Z)if(!X.includes(J.checksum))W.push(J);return W},a8=["start","request","parse","transform","resolve","beforeHandle","afterHandle","onResponse","mapResponse","trace","error","stop","body","headers","params","query","response","type","detail"],e8=a8.reduce(($,Z)=>($[Z]=!0,$),{}),$$=($,Z)=>{const W=(X)=>typeof X==="object"&&Object.keys(X).every(D0);if(W($)&&W(Z))return{...$,...Z};return Z??$},f=($,Z,{allowMacro:W=!1}={})=>{return{...W?{...$,...Z}:void 0,body:Z?.body??$?.body,headers:Z?.headers??$?.headers,params:Z?.params??$?.params,query:Z?.query??$?.query,response:$$($?.response,Z?.response),type:$?.type||Z?.type,detail:p(Z?.detail??{},$?.detail??{}),parse:H($?.parse,Z?.parse),transform:H($?.transform,Z?.transform),beforeHandle:H($?.beforeHandle,Z?.beforeHandle),afterHandle:H($?.afterHandle,Z?.afterHandle),onResponse:H($?.onResponse,Z?.onResponse),mapResponse:H($?.mapResponse,Z?.mapResponse),trace:H($?.trace,Z?.trace),error:H($?.error,Z?.error)}},k=($,{models:Z={},dynamic:W=!1,normalize:X=!1,additionalProperties:J=X})=>{if(!$)return;if(typeof $==="string"&&!($ in Z))return;const Q=typeof $==="string"?Z[$]:$;if(Q.type==="object"&&"additionalProperties"in Q===!1)Q.additionalProperties=J;const Y=(B)=>M0.Clean(Q,B);if(W){const B={schema:Q,references:"",checkFunc:()=>{},code:"",Check:(_)=>M0.Check(Q,_),Errors:(_)=>M0.Errors(Q,_),Code:()=>""};if(X&&Q.additionalProperties===!0)B.Clean=Y;if(Q.config){if(B.config=Q.config,B?.schema?.config)delete B.schema.config}return B}const G=r1.Compile(Q,Object.values(Z));if(G.Clean=Y,Q.config){if(G.config=Q.config,G?.schema?.config)delete G.schema.config}return G},i0=($,{models:Z={},dynamic:W=!1,normalize:X=!1,additionalProperties:J=X})=>{if(!$)return;if(typeof $==="string"&&!($ in Z))return;const Q=typeof $==="string"?Z[$]:$,Y=(B,_)=>{const K=(M)=>M0.Clean(B,M);if(W)return{schema:B,references:"",checkFunc:()=>{},code:"",Check:(M)=>M0.Check(B,M),Errors:(M)=>M0.Errors(B,M),Code:()=>""};const z=r1.Compile(B,_);if(X&&B.additionalProperties===!0)z.Clean=K;return z};if(_1 in Q){if("additionalProperties"in Q===!1)Q.additionalProperties=J;return{200:Y(Q,Object.values(Z))}}const G={};return Object.keys(Q).forEach((B)=>{const _=Q[+B];if(typeof _==="string"){if(_ in Z){const K=Z[_];K.type==="object"&&"additionalProperties"in K,G[+B]=_1 in K?Y(K,Object.values(Z)):K}return}if(_.type==="object"&&"additionalProperties"in _===!1)_.additionalProperties=J;G[+B]=_1 in _?Y(_,Object.values(Z)):_}),G},Z$=typeof Bun!=="undefined",W$=Z$&&typeof Bun.hash==="function",R0=($)=>{if(W$)return Bun.hash($);let Z=9;for(let W=0;W<$.length;)Z=Math.imul(Z^$.charCodeAt(W++),387420489);return Z=Z^Z>>>9},t0=({validator:$,defaultConfig:Z={},config:W,dynamic:X,models:J})=>{let Q=k($,{dynamic:X,models:J,additionalProperties:!0});if(m(Z))if(Q)Q.config=o8(Q.config,W);else Q=k(T.Cookie({}),{dynamic:X,models:J,additionalProperties:!0}),Q.config=Z;return Q},s0=($,Z,W)=>{const X=(J)=>{if(!J)return;if(!Array.isArray(J)){const Y=J;if(W&&!Y.checksum)Y.checksum=W;if(Y.scope==="scoped")Y.scope="local";return Y}const Q=[...J];for(let Y of Q){if(W&&!Y.checksum)Y.checksum=W;if(Y.scope==="scoped")Y.scope="local"}return Q};return{start:H($.start,X(Z?.start)),request:H($.request,X(Z?.request)),parse:H($.parse,X(Z?.parse)),transform:H($.transform,X(Z?.transform)),beforeHandle:H($.beforeHandle,X(Z?.beforeHandle)),afterHandle:H($.afterHandle,X(Z?.afterHandle)),mapResponse:H($.mapResponse,X(Z?.mapResponse)),onResponse:H($.onResponse,X(Z?.onResponse)),trace:$.trace,error:H($.error,X(Z?.error)),stop:H($.stop,X(Z?.stop))}},n1=($,Z,{skipIfHasType:W=!1}={})=>{if(!$)return $;if(!Array.isArray($)){if(W)$.scope??=Z;else $.scope=Z;return $}for(let X of $)if(W)X.scope??=Z;else X.scope=Z;return $},Q0=($)=>{if(!$)return $;if(!Array.isArray($))switch($.scope){case"global":case"scoped":return{...$};default:return{fn:$}}const Z=[];for(let W of $)switch(W.scope){case"global":case"scoped":Z.push({...W});break}return Z},D1=($)=>{return{...$,type:$?.type,detail:$?.detail,parse:Q0($?.parse),transform:Q0($?.transform),beforeHandle:Q0($?.beforeHandle),afterHandle:Q0($?.afterHandle),onResponse:Q0($?.onResponse),error:Q0($?.error),mapResponse:Q0($?.mapResponse)}},J0={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},r0=Object.fromEntries(Object.entries(J0).map(([$,Z])=>[Z,$])),s1=new TextEncoder,A0=async($,Z)=>{if(typeof $!=="string")throw new TypeError("Cookie value must be provided as a string.");if(Z===null)throw new TypeError("Secret key must be provided.");const W=await crypto.subtle.importKey("raw",s1.encode(Z),{name:"HMAC",hash:"SHA-256"},!1,["sign"]),X=await crypto.subtle.sign("HMAC",W,s1.encode($));return $+"."+X$(Buffer.from(X).toString("base64"))},K1=async($,Z)=>{if(typeof $!=="string")throw new TypeError("Signed cookie string must be provided.");if(Z===null)throw new TypeError("Secret key must be provided.");const W=$.slice(0,$.lastIndexOf("."));return await A0(W,Z)===$?W:!1},M1=($,Z,W=Z)=>{if(!$||typeof $!=="object"||!Z)return;for(let[X,J]of Object.entries(Z)){if(X in e8||!(X in $))continue;const Q=$[X];if(typeof Q==="function")Q(J);else if(typeof Q==="object")M1(Q,J,W)}},o1=({globalHook:$,localHook:Z})=>(W)=>(X,J)=>{if(typeof X==="function")X={fn:X};if("fn"in X||Array.isArray(X)){if(!Z[W])Z[W]=[];if(typeof Z[W]==="function")Z[W]=[Z[W]];if(Array.isArray(X))Z[W]=Z[W].concat(X);else Z[W].push(X);return}const{insert:Q="after",stack:Y="local"}=X;if(typeof J==="function")J={fn:J};if(Y==="global")if(!Array.isArray(J))if(Q==="before")$[W].unshift(J);else $[W].push(J);else if(Q==="before")$[W]=J.concat($[W]);else $[W]=$[W].concat(J);else{if(!Z[W])Z[W]=[];if(typeof Z[W]==="function")Z[W]=[Z[W]];if(!Array.isArray(J))if(Q==="before")Z[W].unshift(J);else Z[W].push(J);else if(Q==="before")Z[W]=J.concat(Z[W]);else Z[W]=Z[W].concat(J)}},D0=($)=>{if($.length<16)return $.trim().length!==0&&!Number.isNaN(Number($));if($.length===16){const Z=Number($);if(Z.toString()===$)return $.trim().length!==0&&!Number.isNaN(Z)}return!1};class A1{$;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($,Z){return(this.root??Promise.resolve()).then($,Z)}}var c=($)=>{if(!$)return $;if(!Array.isArray($)){if(typeof $==="function")return{fn:$};else if("fn"in $)return $}const Z=[];for(let W of $)if(typeof W==="function")Z.push({fn:W});else if("fn"in W)Z.push(W);return Z},a1=($)=>{return{...$,start:c($?.start),request:c($?.request),parse:c($?.parse),transform:c($?.transform),beforeHandle:c($?.beforeHandle),afterHandle:c($?.afterHandle),onResponse:c($?.onResponse),mapResponse:c($?.mapResponse),trace:c($?.trace),error:c($?.error),stop:c($?.stop)}},e1=($)=>{return{...$,start:$.start?.map((Z)=>Z.fn),request:$.request?.map((Z)=>Z.fn),parse:$.parse?.map((Z)=>Z.fn),transform:$.transform?.map((Z)=>Z.fn),beforeHandle:$.beforeHandle?.map((Z)=>Z.fn),afterHandle:$.afterHandle?.map((Z)=>Z.fn),onResponse:$.onResponse?.map((Z)=>Z.fn),mapResponse:$.mapResponse?.map((Z)=>Z.fn),trace:$.trace?.map((Z)=>Z.fn),error:$.error?.map((Z)=>Z.fn),stop:$.stop?.map((Z)=>Z.fn)}},n0=($)=>({event:{body:$.event.body,cookie:$.event.cookie,headers:$.event.headers,queries:[...$.event.queries],query:$.event.query,set:$.event.set,unknownQueries:$.event.unknownQueries},trace:{request:$.trace.request,parse:$.trace.parse,transform:$.trace.transform,handle:$.trace.handle,beforeHandle:$.trace.beforeHandle,afterHandle:$.trace.afterHandle,error:$.trace.error,context:$.trace.context,store:$.trace.store,set:$.trace.set}});var $8=typeof Bun!=="undefined"?Bun.env:typeof process!=="undefined"?process?.env:void 0,Y0=Symbol("ElysiaErrorCode"),d=Symbol("ElysiaResponse"),L0=($8?.NODE_ENV??$8?.ENV)==="production",N1=($,Z)=>({[d]:J0[$]??$,response:Z??($ in r0?r0[$]:$),_type:void 0});class a0 extends Error{code="INTERNAL_SERVER_ERROR";status=500;constructor($){super($??"INTERNAL_SERVER_ERROR")}}class G0 extends Error{code="NOT_FOUND";status=404;constructor($){super($??"NOT_FOUND")}}class e0 extends Error{Z;code="PARSE";status=400;constructor($,Z){super($??"PARSE");this.body=Z}}class T0 extends Error{$;code="INVALID_COOKIE_SIGNATURE";status=400;constructor($,Z){super(Z??`"${$}" has invalid cookie signature`);this.key=$}}class R extends Error{$;Z;W;code="VALIDATION";status=422;constructor($,Z,W){if(typeof W==="object"&&d in W)W=W.response;const X=L0?void 0:("Errors"in Z)?Z.Errors(W).First():o0.Errors(Z,W).First(),J=X?.schema.error?typeof X.schema.error==="function"?X.schema.error($,Z,W):X.schema.error:void 0,Q=X?.path||"root";let Y="";if(J)Y=typeof J==="object"?JSON.stringify(J):J+"";else if(L0)Y=JSON.stringify({type:"validation",on:$,message:X?.message,found:W});else{const G=Z?.schema??Z,B="Errors"in Z?[...Z.Errors(W)]:[...o0.Errors(Z,W)];let _;try{_=o0.Create(G)}catch(K){_={type:"Could not create expected value",message:K?.message,error:K}}Y=JSON.stringify({type:"validation",on:$,property:Q,message:X?.message,expected:_,found:W,errors:B},null,2)}super(Y);this.type=$;this.validator=Z;this.value=W;Object.setPrototypeOf(this,R.prototype)}get all(){return[...this.validator.Errors(this.value)]}static simplifyModel($){const Z="schema"in $?$.schema:$;try{return o0.Create(Z)}catch{return Z}}get model(){return R.simplifyModel(this.validator)}toResponse($){return new Response(this.message,{status:400,headers:{...$,"content-type":"application/json"}})}}var j1={open($){$.data.open?.($)},message($,Z){$.data.message?.($,Z)},drain($){$.data.drain?.($)},close($,Z,W){$.data.close?.($,Z,W)}};class N0{$;Z;validator;constructor($,Z){this.raw=$;this.data=Z;if(this.validator=$.data.validator,$.data.id)this.id=$.data.id;else{const W=new Uint32Array(1);crypto.getRandomValues(W),this.id=W[0].toString()}}get id(){return this.raw.data.id}set id($){this.raw.data.id=$}get publish(){return($,Z=void 0,W)=>{if(this.validator?.Check(Z)===!1)throw new R("message",this.validator,Z);if(typeof Z==="object")Z=JSON.stringify(Z);return this.raw.publish($,Z,W),this}}get send(){return($)=>{if(this.validator?.Check($)===!1)throw new R("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 D8=V0(P1(),1),M8=V0(p0(),1);import{Value as b0} from"@sinclair/typebox/value";var B$=(new Headers()).toJSON,A8={value:0},N8=({hasTrace:$,hasTraceSet:Z=!1,addFn:W,condition:X={}})=>{if($)return W("\nconst reporter = getReporter()\n"),(J,{name:Q,attribute:Y="",unit:G=0}={})=>{const B=J.indexOf("."),_=B===-1;if(J!=="request"&&J!=="response"&&!X[_?J:J.slice(0,B)])return()=>{if(Z&&J==="afterHandle")W("\nawait traceDone\n")};if(_)Q||=J;else Q||="anonymous";W("\n"+`reporter.emit('event', {
|
|
7
|
+
*/var G1=m$,B1=d$;var h$=Object.prototype.toString,c0=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;var l1=V0(p0(),1);class n{$;Z;W;constructor($,Z,W={}){this.name=$;this.jar=Z;this.initial=W}get cookie(){if(!(this.name in this.jar))return this.initial;return this.jar[this.name]}set cookie($){if(!(this.name in this.jar))this.jar[this.name]=this.initial;this.jar[this.name]=$}get value(){return this.cookie.value}set value($){if(!(this.name in this.jar))this.jar[this.name]=this.initial;this.jar[this.name].value=$}get expires(){return this.cookie.expires}set expires($){this.cookie.expires=$}get maxAge(){return this.cookie.maxAge}set maxAge($){this.cookie.maxAge=$}get domain(){return this.cookie.domain}set domain($){this.cookie.domain=$}get path(){return this.cookie.path}set path($){this.cookie.path=$}get secure(){return this.cookie.secure}set secure($){this.cookie.secure=$}get httpOnly(){return this.cookie.httpOnly}set httpOnly($){this.cookie.httpOnly=$}get sameSite(){return this.cookie.sameSite}set sameSite($){this.cookie.sameSite=$}get priority(){return this.cookie.priority}set priority($){this.cookie.priority=$}get secrets(){return this.cookie.secrets}set secrets($){this.cookie.secrets=$}update($){return this.cookie=Object.assign(this.cookie,typeof $==="function"?$(this.cookie):$),this}set($){return this.cookie=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 p1=($,Z,W)=>{if(!$.cookie)$.cookie={};return new Proxy(Z,{get(X,J){if(J in Z)return new n(J,$.cookie,Object.assign({},W??{},Z[J]));return new n(J,$.cookie,Object.assign({},W))}})},l0=async($,Z,{secret:W,sign:X,...J}={})=>{if(!Z)return p1($,{},J);const Y=typeof W==="string";if(X&&X!==!0&&!Array.isArray(X))X=[X];const Q={},G=G1(Z);for(let[B,_]of Object.entries(G)){let K=l1.default(_);if(X===!0||X?.includes(B)){if(!W)throw new Error("No secret is provided to cookie plugin");if(Y){const M=await K1(K,W);if(M===!1)throw new T0(B);K=M}else{let M=!0;for(let A=0;A<W.length;A++){const j=await K1(K,W[A]);if(j!==!1){M=!0,K=j;break}}if(!M)throw new T0(B)}}const z=K.charCodeAt(0);if(z===123||z===91)try{Q[B]={value:JSON.parse(K)};continue}catch{}if(F0(K)){Q[B]={value:parseInt(K)};continue}if(K==="true"){Q[B]={value:!0};continue}if(K==="false"){Q[B]={value:!1};continue}Q[B]={value:K}}return p1($,Q,J)};var C0="toJSON"in new Headers,m=($)=>{if(!$)return!1;for(let Z in $)return!0;return!1},q0=($,Z)=>{const W=$.size;if(!Z&&W||W&&Z&&Z.status!==206&&Z.status!==304&&Z.status!==412&&Z.status!==416){if(Z){if(Z.headers instanceof Headers){if(C0)Z.headers=Z.headers.toJSON();else for(let[X,J]of Z.headers.entries())if(X in Z.headers)Z.headers[X]=J}return new Response($,{status:Z.status,headers:Object.assign({"accept-ranges":"bytes","content-range":`bytes 0-${W-1}/${W}`},Z.headers)})}return new Response($,{headers:{"accept-ranges":"bytes","content-range":`bytes 0-${W-1}/${W}`}})}return new Response($)},i1=($,Z)=>{if(!$)return $;$.delete("Set-Cookie");for(let W=0;W<Z.length;W++){const X=Z[W].indexOf("=");$.append("Set-Cookie",`${Z[W].slice(0,X)}=${Z[W].slice(X+1)||""}`)}return $},t1=($)=>{if(!$||!m($))return;const Z=[];for(let[W,X]of Object.entries($)){if(!W||!X)continue;const J=X.value;if(J===void 0||J===null)continue;Z.push(B1(W,typeof J==="object"?JSON.stringify(J):J+"",X))}if(Z.length===0)return;if(Z.length===1)return Z[0];return Z},h=($,Z,W)=>{if($?.$passthrough)$=$?.[$.$passthrough];if($?.[d])Z.status=$[d],$=$.response;if(m(Z.headers)||Z.status!==200||Z.redirect||Z.cookie){if(typeof Z.status==="string")Z.status=J0[Z.status];if(Z.redirect){if(Z.headers.Location=Z.redirect,!Z.status||Z.status<300||Z.status>=400)Z.status=302}if(Z.cookie&&m(Z.cookie))Z.headers["Set-Cookie"]=t1(Z.cookie);if(Z.headers["Set-Cookie"]&&Array.isArray(Z.headers["Set-Cookie"]))Z.headers=i1(new Headers(Z.headers),Z.headers["Set-Cookie"]);switch($?.constructor?.name){case"String":return new Response($,Z);case"Blob":return q0($,Z);case"Object":case"Array":return Response.json($,Z);case"ReadableStream":if(!Z.headers["content-type"]?.startsWith("text/event-stream"))Z.headers["content-type"]="text/event-stream; charset=utf-8";return W?.signal.addEventListener("abort",{handleEvent(){if(!W?.signal.aborted)$.cancel(W)}},{once:!0}),new Response($,Z);case void 0:if(!$)return new Response("",Z);return Response.json($,Z);case"Response":const X={...Z.headers};if(C0)Z.headers=$.headers.toJSON();else for(let[J,Y]of $.headers.entries())if(J in Z.headers)Z.headers[J]=Y;for(let J in X)$.headers.append(J,X[J]);return $;case"Error":return t($,Z);case"Promise":return $.then((J)=>h(J,Z));case"Function":return h($(),Z);case"Number":case"Boolean":return new Response($.toString(),Z);case"Cookie":if($ instanceof n)return new Response($.value,Z);return new Response($?.toString(),Z);default:if($ instanceof Response){const J=Object.assign({},Z.headers);if(C0)Z.headers=$.headers.toJSON();else for(let[Y,Q]of $.headers.entries())if(Y in Z.headers)Z.headers[Y]=Q;for(let Y in J)$.headers.append(Y,J[Y]);return $}if($ instanceof Promise)return $.then((J)=>h(J,Z));if($ instanceof Error)return t($,Z);if("charCodeAt"in $){const J=$.charCodeAt(0);if(J===123||J===91){if(!Z.headers["Content-Type"])Z.headers["Content-Type"]="application/json";return new Response(JSON.stringify($),Z)}}return new Response($,Z)}}else switch($?.constructor?.name){case"String":return new Response($);case"Blob":return q0($,Z);case"Object":case"Array":return new Response(JSON.stringify($),{headers:{"content-type":"application/json"}});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":return $;case"Error":return t($,Z);case"Promise":return $.then((X)=>{const J=o(X);if(J!==void 0)return J;return new Response("")});case"Function":return o($());case"Number":case"Boolean":return new Response($.toString());case"Cookie":if($ instanceof n)return new Response($.value,Z);return new Response($?.toString(),Z);default:if($ instanceof Response)return new Response($.body,{headers:{"Content-Type":"application/json"}});if($ instanceof Promise)return $.then((X)=>h(X,Z));if($ instanceof Error)return t($,Z);if("charCodeAt"in $){const X=$.charCodeAt(0);if(X===123||X===91){if(!Z.headers["Content-Type"])Z.headers["Content-Type"]="application/json";return new Response(JSON.stringify($),Z)}}return new Response($)}},u=($,Z,W)=>{if($===void 0||$===null)return;if($?.$passthrough)$=$?.[$.$passthrough];if($?.[d])Z.status=$[d],$=$.response;if(m(Z.headers)||Z.status!==200||Z.redirect||Z.cookie){if(typeof Z.status==="string")Z.status=J0[Z.status];if(Z.redirect){if(Z.headers.Location=Z.redirect,!Z.status||Z.status<300||Z.status>=400)Z.status=302}if(Z.cookie&&m(Z.cookie))Z.headers["Set-Cookie"]=t1(Z.cookie);if(Z.headers["Set-Cookie"]&&Array.isArray(Z.headers["Set-Cookie"]))Z.headers=i1(new Headers(Z.headers),Z.headers["Set-Cookie"]);switch($?.constructor?.name){case"String":return new Response($,Z);case"Blob":return q0($,Z);case"Object":case"Array":return Response.json($,Z);case"ReadableStream":if(!Z.headers["content-type"]?.startsWith("text/event-stream"))Z.headers["content-type"]="text/event-stream; charset=utf-8";return W?.signal.addEventListener("abort",{handleEvent(){if(!W?.signal.aborted)$.cancel(W)}},{once:!0}),new Response($,Z);case void 0:if(!$)return;return Response.json($,Z);case"Response":const X=Object.assign({},Z.headers);if(C0)Z.headers=$.headers.toJSON();else for(let[J,Y]of $.headers.entries())if(!(J in Z.headers))Z.headers[J]=Y;for(let J in X)$.headers.append(J,X[J]);if($.status!==Z.status)Z.status=$.status;return $;case"Promise":return $.then((J)=>{const Y=u(J,Z);if(Y!==void 0)return Y});case"Error":return t($,Z);case"Function":return u($(),Z);case"Number":case"Boolean":return new Response($.toString(),Z);case"Cookie":if($ instanceof n)return new Response($.value,Z);return new Response($?.toString(),Z);default:if($ instanceof Response){const J={...Z.headers};if(C0)Z.headers=$.headers.toJSON();else for(let[Y,Q]of $.headers.entries())if(Y in Z.headers)Z.headers[Y]=Q;for(let Y in J)$.headers.append(Y,J[Y]);return $}if($ instanceof Promise)return $.then((J)=>u(J,Z));if($ instanceof Error)return t($,Z);if("charCodeAt"in $){const J=$.charCodeAt(0);if(J===123||J===91){if(!Z.headers["Content-Type"])Z.headers["Content-Type"]="application/json";return new Response(JSON.stringify($),Z)}}return new Response($,Z)}}else switch($?.constructor?.name){case"String":return new Response($);case"Blob":return q0($,Z);case"Object":case"Array":return new Response(JSON.stringify($),{headers:{"content-type":"application/json"}});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":return $;case"Promise":return $.then((X)=>{const J=u(X,Z);if(J!==void 0)return J});case"Error":return t($,Z);case"Function":return o($());case"Number":case"Boolean":return new Response($.toString());case"Cookie":if($ instanceof n)return new Response($.value,Z);return new Response($?.toString(),Z);default:if($ instanceof Response)return new Response($.body,{headers:{"Content-Type":"application/json"}});if($ instanceof Promise)return $.then((X)=>u(X,Z));if($ instanceof Error)return t($,Z);if("charCodeAt"in $){const X=$.charCodeAt(0);if(X===123||X===91){if(!Z.headers["Content-Type"])Z.headers["Content-Type"]="application/json";return new Response(JSON.stringify($),Z)}}return new Response($)}},o=($,Z)=>{if($?.$passthrough)$=$?.[$.$passthrough];if($?.[d])return h($.response,{status:$[d],headers:{}});switch($?.constructor?.name){case"String":return new Response($);case"Blob":return q0($);case"Object":case"Array":return new Response(JSON.stringify($),{headers:{"content-type":"application/json"}});case"ReadableStream":return Z?.signal.addEventListener("abort",{handleEvent(){if(!Z?.signal.aborted)$.cancel(Z)}},{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":return $;case"Error":return t($);case"Promise":return $.then(o);case"Function":return o($());case"Number":case"Boolean":return new Response($.toString());default:if($ instanceof Response)return new Response($.body,{headers:{"Content-Type":"application/json"}});if($ instanceof Promise)return $.then(o);if($ instanceof Error)return t($);const W=JSON.stringify($);if(W.charCodeAt(0)===123)return new Response(JSON.stringify($),{headers:{"Content-Type":"application/json"}});return new Response(W)}},t=($,Z)=>new Response(JSON.stringify({name:$?.name,message:$?.message,cause:$?.cause}),{status:Z?.status!==200?Z?.status??500:500,headers:Z?.headers});var X8=function($){let Z=$;while(Z.endsWith("="))Z=Z.slice(0,-1);return Z},D1=($,Z)=>{const W=new URL($);return W.pathname=Z,W.toString()},n$=($)=>typeof $==="function"&&/^\s*class\s+/.test($.toString())||$.toString().startsWith("[object ")||m(Object.getPrototypeOf($)),z1=($)=>$&&typeof $==="object"&&!Array.isArray($),p=($,Z,{skipKeys:W}={})=>{if(z1($)&&z1(Z))for(let[X,J]of Object.entries(Z)){if(W?.includes(X))continue;if(!z1(J)||!(X in $)||n$(J)){$[X]=J;continue}$[X]=p($[X],J)}return $},o$=($,Z)=>{const{properties:W,...X}=$??{},{properties:J,...Y}=Z??{};return p(X,Y)},H=($=[],Z=[])=>{if(!$)return[];if(!Z)return $;const W=[],X=[];if(!Array.isArray($))$=[$];if(!Array.isArray(Z))Z=[Z];for(let J of $)if(W.push(J),J.checksum)X.push(J.checksum);for(let J of Z)if(!X.includes(J.checksum))W.push(J);return W},a$=["start","request","parse","transform","resolve","beforeHandle","afterHandle","onResponse","mapResponse","trace","error","stop","body","headers","params","query","response","type","detail"],e$=a$.reduce(($,Z)=>($[Z]=!0,$),{}),$8=($,Z)=>{const W=(X)=>typeof X==="object"&&Object.keys(X).every(F0);if(W($)&&W(Z))return{...$,...Z};return Z??$},f=($,Z,{allowMacro:W=!1}={})=>{return{...W?{...$,...Z}:void 0,body:Z?.body??$?.body,headers:Z?.headers??$?.headers,params:Z?.params??$?.params,query:Z?.query??$?.query,response:$8($?.response,Z?.response),type:$?.type||Z?.type,detail:p(Z?.detail??{},$?.detail??{}),parse:H($?.parse,Z?.parse),transform:H($?.transform,Z?.transform),beforeHandle:H($?.beforeHandle,Z?.beforeHandle),afterHandle:H($?.afterHandle,Z?.afterHandle),onResponse:H($?.onResponse,Z?.onResponse),mapResponse:H($?.mapResponse,Z?.mapResponse),trace:H($?.trace,Z?.trace),error:H($?.error,Z?.error)}},k=($,{models:Z={},dynamic:W=!1,normalize:X=!1,additionalProperties:J=X})=>{if(!$)return;if(typeof $==="string"&&!($ in Z))return;const Y=typeof $==="string"?Z[$]:$;if(Y.type==="object"&&"additionalProperties"in Y===!1)Y.additionalProperties=J;const Q=(B)=>M0.Clean(Y,B);if(W){const B={schema:Y,references:"",checkFunc:()=>{},code:"",Check:(_)=>M0.Check(Y,_),Errors:(_)=>M0.Errors(Y,_),Code:()=>""};if(X&&Y.additionalProperties===!0)B.Clean=Q;if(Y.config){if(B.config=Y.config,B?.schema?.config)delete B.schema.config}return B}const G=r1.Compile(Y,Object.values(Z));if(G.Clean=Q,Y.config){if(G.config=Y.config,G?.schema?.config)delete G.schema.config}return G},i0=($,{models:Z={},dynamic:W=!1,normalize:X=!1,additionalProperties:J=X})=>{if(!$)return;if(typeof $==="string"&&!($ in Z))return;const Y=typeof $==="string"?Z[$]:$,Q=(B,_)=>{const K=(M)=>M0.Clean(B,M);if(W)return{schema:B,references:"",checkFunc:()=>{},code:"",Check:(M)=>M0.Check(B,M),Errors:(M)=>M0.Errors(B,M),Code:()=>""};const z=r1.Compile(B,_);if(X&&B.additionalProperties===!0)z.Clean=K;return z};if(_1 in Y){if("additionalProperties"in Y===!1)Y.additionalProperties=J;return{200:Q(Y,Object.values(Z))}}const G={};return Object.keys(Y).forEach((B)=>{const _=Y[+B];if(typeof _==="string"){if(_ in Z){const K=Z[_];K.type==="object"&&"additionalProperties"in K,G[+B]=_1 in K?Q(K,Object.values(Z)):K}return}if(_.type==="object"&&"additionalProperties"in _===!1)_.additionalProperties=J;G[+B]=_1 in _?Q(_,Object.values(Z)):_}),G},Z8=typeof Bun!=="undefined",W8=Z8&&typeof Bun.hash==="function",R0=($)=>{if(W8)return Bun.hash($);let Z=9;for(let W=0;W<$.length;)Z=Math.imul(Z^$.charCodeAt(W++),387420489);return Z=Z^Z>>>9},t0=({validator:$,defaultConfig:Z={},config:W,dynamic:X,models:J})=>{let Y=k($,{dynamic:X,models:J,additionalProperties:!0});if(m(Z))if(Y)Y.config=o$(Y.config,W);else Y=k(T.Cookie({}),{dynamic:X,models:J,additionalProperties:!0}),Y.config=Z;return Y},s0=($,Z,W)=>{const X=(J)=>{if(!J)return;if(!Array.isArray(J)){const Q=J;if(W&&!Q.checksum)Q.checksum=W;if(Q.scope==="scoped")Q.scope="local";return Q}const Y=[...J];for(let Q of Y){if(W&&!Q.checksum)Q.checksum=W;if(Q.scope==="scoped")Q.scope="local"}return Y};return{start:H($.start,X(Z?.start)),request:H($.request,X(Z?.request)),parse:H($.parse,X(Z?.parse)),transform:H($.transform,X(Z?.transform)),beforeHandle:H($.beforeHandle,X(Z?.beforeHandle)),afterHandle:H($.afterHandle,X(Z?.afterHandle)),mapResponse:H($.mapResponse,X(Z?.mapResponse)),onResponse:H($.onResponse,X(Z?.onResponse)),trace:$.trace,error:H($.error,X(Z?.error)),stop:H($.stop,X(Z?.stop))}},n1=($,Z,{skipIfHasType:W=!1}={})=>{if(!$)return $;if(!Array.isArray($)){if(W)$.scope??=Z;else $.scope=Z;return $}for(let X of $)if(W)X.scope??=Z;else X.scope=Z;return $},Y0=($)=>{if(!$)return $;if(!Array.isArray($))switch($.scope){case"global":case"scoped":return{...$};default:return{fn:$}}const Z=[];for(let W of $)switch(W.scope){case"global":case"scoped":Z.push({...W});break}return Z},F1=($)=>{return{...$,type:$?.type,detail:$?.detail,parse:Y0($?.parse),transform:Y0($?.transform),beforeHandle:Y0($?.beforeHandle),afterHandle:Y0($?.afterHandle),onResponse:Y0($?.onResponse),error:Y0($?.error),mapResponse:Y0($?.mapResponse)}},J0={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},r0=Object.fromEntries(Object.entries(J0).map(([$,Z])=>[Z,$])),s1=new TextEncoder,A0=async($,Z)=>{if(typeof $!=="string")throw new TypeError("Cookie value must be provided as a string.");if(Z===null)throw new TypeError("Secret key must be provided.");const W=await crypto.subtle.importKey("raw",s1.encode(Z),{name:"HMAC",hash:"SHA-256"},!1,["sign"]),X=await crypto.subtle.sign("HMAC",W,s1.encode($));return $+"."+X8(Buffer.from(X).toString("base64"))},K1=async($,Z)=>{if(typeof $!=="string")throw new TypeError("Signed cookie string must be provided.");if(Z===null)throw new TypeError("Secret key must be provided.");const W=$.slice(0,$.lastIndexOf("."));return await A0(W,Z)===$?W:!1},M1=($,Z,W=Z)=>{if(!$||typeof $!=="object"||!Z)return;for(let[X,J]of Object.entries(Z)){if(X in e$||!(X in $))continue;const Y=$[X];if(typeof Y==="function")Y(J);else if(typeof Y==="object")M1(Y,J,W)}},o1=({globalHook:$,localHook:Z})=>(W)=>(X,J)=>{if(typeof X==="function")X={fn:X};if("fn"in X||Array.isArray(X)){if(!Z[W])Z[W]=[];if(typeof Z[W]==="function")Z[W]=[Z[W]];if(Array.isArray(X))Z[W]=Z[W].concat(X);else Z[W].push(X);return}const{insert:Y="after",stack:Q="local"}=X;if(typeof J==="function")J={fn:J};if(Q==="global")if(!Array.isArray(J))if(Y==="before")$[W].unshift(J);else $[W].push(J);else if(Y==="before")$[W]=J.concat($[W]);else $[W]=$[W].concat(J);else{if(!Z[W])Z[W]=[];if(typeof Z[W]==="function")Z[W]=[Z[W]];if(!Array.isArray(J))if(Y==="before")Z[W].unshift(J);else Z[W].push(J);else if(Y==="before")Z[W]=J.concat(Z[W]);else Z[W]=Z[W].concat(J)}},F0=($)=>{if($.length<16)return $.trim().length!==0&&!Number.isNaN(Number($));if($.length===16){const Z=Number($);if(Z.toString()===$)return $.trim().length!==0&&!Number.isNaN(Z)}return!1};class A1{$;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($,Z){return(this.root??Promise.resolve()).then($,Z)}}var c=($)=>{if(!$)return $;if(!Array.isArray($)){if(typeof $==="function")return{fn:$};else if("fn"in $)return $}const Z=[];for(let W of $)if(typeof W==="function")Z.push({fn:W});else if("fn"in W)Z.push(W);return Z},a1=($)=>{return{...$,start:c($?.start),request:c($?.request),parse:c($?.parse),transform:c($?.transform),beforeHandle:c($?.beforeHandle),afterHandle:c($?.afterHandle),onResponse:c($?.onResponse),mapResponse:c($?.mapResponse),trace:c($?.trace),error:c($?.error),stop:c($?.stop)}},e1=($)=>{return{...$,start:$.start?.map((Z)=>Z.fn),request:$.request?.map((Z)=>Z.fn),parse:$.parse?.map((Z)=>Z.fn),transform:$.transform?.map((Z)=>Z.fn),beforeHandle:$.beforeHandle?.map((Z)=>Z.fn),afterHandle:$.afterHandle?.map((Z)=>Z.fn),onResponse:$.onResponse?.map((Z)=>Z.fn),mapResponse:$.mapResponse?.map((Z)=>Z.fn),trace:$.trace?.map((Z)=>Z.fn),error:$.error?.map((Z)=>Z.fn),stop:$.stop?.map((Z)=>Z.fn)}},n0=($)=>({event:{body:$.event.body,cookie:$.event.cookie,headers:$.event.headers,queries:[...$.event.queries],query:$.event.query,set:$.event.set,unknownQueries:$.event.unknownQueries},trace:{request:$.trace.request,parse:$.trace.parse,transform:$.trace.transform,handle:$.trace.handle,beforeHandle:$.trace.beforeHandle,afterHandle:$.trace.afterHandle,error:$.trace.error,context:$.trace.context,store:$.trace.store,set:$.trace.set}});var $$=typeof Bun!=="undefined"?Bun.env:typeof process!=="undefined"?process?.env:void 0,Q0=Symbol("ElysiaErrorCode"),d=Symbol("ElysiaResponse"),L0=($$?.NODE_ENV??$$?.ENV)==="production",w1=($,Z)=>({[d]:J0[$]??$,response:Z??($ in r0?r0[$]:$),_type:void 0});class a0 extends Error{code="INTERNAL_SERVER_ERROR";status=500;constructor($){super($??"INTERNAL_SERVER_ERROR")}}class G0 extends Error{code="NOT_FOUND";status=404;constructor($){super($??"NOT_FOUND")}}class e0 extends Error{Z;code="PARSE";status=400;constructor($,Z){super($??"PARSE");this.body=Z}}class T0 extends Error{$;code="INVALID_COOKIE_SIGNATURE";status=400;constructor($,Z){super(Z??`"${$}" has invalid cookie signature`);this.key=$}}class R extends Error{$;Z;W;code="VALIDATION";status=422;constructor($,Z,W){if(typeof W==="object"&&d in W)W=W.response;const X=L0?void 0:("Errors"in Z)?Z.Errors(W).First():o0.Errors(Z,W).First(),J=X?.schema.error?typeof X.schema.error==="function"?X.schema.error($,Z,W):X.schema.error:void 0,Y=X?.path||"root";let Q="";if(J)Q=typeof J==="object"?JSON.stringify(J):J+"";else if(L0)Q=JSON.stringify({type:"validation",on:$,message:X?.message,found:W});else{const G=Z?.schema??Z,B="Errors"in Z?[...Z.Errors(W)]:[...o0.Errors(Z,W)];let _;try{_=o0.Create(G)}catch(K){_={type:"Could not create expected value",message:K?.message,error:K}}Q=JSON.stringify({type:"validation",on:$,property:Y,message:X?.message,expected:_,found:W,errors:B},null,2)}super(Q);this.type=$;this.validator=Z;this.value=W;Object.setPrototypeOf(this,R.prototype)}get all(){return[...this.validator.Errors(this.value)]}static simplifyModel($){const Z="schema"in $?$.schema:$;try{return o0.Create(Z)}catch{return Z}}get model(){return R.simplifyModel(this.validator)}toResponse($){return new Response(this.message,{status:400,headers:{...$,"content-type":"application/json"}})}}var j1={open($){$.data.open?.($)},message($,Z){$.data.message?.($,Z)},drain($){$.data.drain?.($)},close($,Z,W){$.data.close?.($,Z,W)}};class w0{$;Z;validator;constructor($,Z){this.raw=$;this.data=Z;if(this.validator=$.data.validator,$.data.id)this.id=$.data.id;else{const W=new Uint32Array(1);crypto.getRandomValues(W),this.id=W[0].toString()}}get id(){return this.raw.data.id}set id($){this.raw.data.id=$}get publish(){return($,Z=void 0,W)=>{if(this.validator?.Check(Z)===!1)throw new R("message",this.validator,Z);if(typeof Z==="object")Z=JSON.stringify(Z);return this.raw.publish($,Z,W),this}}get send(){return($)=>{if(this.validator?.Check($)===!1)throw new R("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 F$=V0(P1(),1),M$=V0(p0(),1);import{Value as b0} from"@sinclair/typebox/value";var B8=(new Headers()).toJSON,A$={value:0},w$=({hasTrace:$,hasTraceSet:Z=!1,addFn:W,condition:X={}})=>{if($)return W("\nconst reporter = getReporter()\n"),(J,{name:Y,attribute:Q="",unit:G=0}={})=>{const B=J.indexOf("."),_=B===-1;if(J!=="request"&&J!=="response"&&!X[_?J:J.slice(0,B)])return()=>{if(Z&&J==="afterHandle")W("\nawait traceDone\n")};if(_)Y||=J;else Y||="anonymous";return W("\n"+`reporter.emit('event', {
|
|
8
8
|
id,
|
|
9
9
|
event: '${J}',
|
|
10
10
|
type: 'begin',
|
|
11
|
-
name: '${
|
|
11
|
+
name: '${Y}',
|
|
12
12
|
time: performance.now(),
|
|
13
13
|
${_?`unit: ${G},`:""}
|
|
14
|
-
${
|
|
15
|
-
})`.replace(/(\t| |\n)/g,"")+"\n")
|
|
14
|
+
${Q}
|
|
15
|
+
})`.replace(/(\t| |\n)/g,"")+"\n"),()=>{if(W("\n"+`reporter.emit('event', {
|
|
16
16
|
id,
|
|
17
17
|
event: '${J}',
|
|
18
18
|
type: 'end',
|
|
19
19
|
time: performance.now()
|
|
20
|
-
})`.replace(/(\t| |\n)/g,"")+"\n"),Z&&J==="afterHandle")W("\nawait traceDone\n")}};else return()=>()=>{}},H0=($)=>{const Z=$.indexOf(")");if($.charCodeAt(Z+2)===61&&$.charCodeAt(Z+5)!==123)return!0;return $.includes("return")},
|
|
20
|
+
})`.replace(/(\t| |\n)/g,"")+"\n"),Z&&J==="afterHandle")W("\nawait traceDone\n")}};else return()=>()=>{}},H0=($)=>{const Z=$.indexOf(")");if($.charCodeAt(Z+2)===61&&$.charCodeAt(Z+5)!==123)return!0;return $.includes("return")},U8=($,{injectResponse:Z="",normalize:W=!1}={})=>({composeValidation:(X,J=`c.${X}`)=>$?`c.set.status = 422; throw new ValidationError('${X}', ${X}, ${J})`:`c.set.status = 422; return new ValidationError('${X}', ${X}, ${J}).toResponse(c.set.headers)`,composeResponseValidation:(X="r")=>{const J=$?`throw new ValidationError('response', response[c.set.status], ${X})`:`return new ValidationError('response', response[c.set.status], ${X}).toResponse(c.set.headers)`;let Y="\n"+Z+"\n";if(Y+=`const er = ${X}[ELYSIA_RESPONSE]\n`,W)Y+=`
|
|
21
21
|
if(!er && response[c.set.status]?.Clean)
|
|
22
22
|
${X} = response[c.set.status]?.Clean(${X})
|
|
23
23
|
else if(response[er]?.Clean)
|
|
24
|
-
${X}.response = response[er]?.Clean(${X}.response)`;return
|
|
24
|
+
${X}.response = response[er]?.Clean(${X}.response)`;return Y+=`
|
|
25
25
|
if(typeof ${X} === "object" && ELYSIA_RESPONSE in ${X}) {
|
|
26
26
|
if(!(${X} instanceof Response) && response[er]?.Check(${X}.response) === false) {
|
|
27
27
|
if(!(response instanceof Error)) {
|
|
@@ -33,15 +33,15 @@ var q8=Object.create;var{defineProperty:C1,getPrototypeOf:R8,getOwnPropertyNames
|
|
|
33
33
|
} else if(!(${X} instanceof Response) && response[c.set.status]?.Check(${X}) === false) {
|
|
34
34
|
if(!(response instanceof Error))
|
|
35
35
|
${J}
|
|
36
|
-
}\n`,
|
|
36
|
+
}\n`,Y}}),j0=Symbol.for("TypeBox.Kind"),$1=($,Z)=>{if(!Z)return;if(j0 in Z&&Z[j0]===$)return!0;if(Z.type==="object"){const W=Z.properties;for(let X of Object.keys(W)){const J=W[X];if(J.type==="object"){if($1($,J))return!0}else if(J.anyOf){for(let Y=0;Y<J.anyOf.length;Y++)if($1($,J.anyOf[Y]))return!0}if(j0 in J&&J[j0]===$)return!0}return!1}return Z.properties&&j0 in Z.properties&&Z.properties[j0]===$},B0=($,Z)=>{if(!Z)return;if(Z.type==="object"){const W=Z.properties;if(!W)return!1;for(let X of Object.keys(W)){const J=W[X];if($ in J)return!0;if(J.type==="object"){if(B0($,J))return!0}else if(J.anyOf){for(let Y=0;Y<J.anyOf.length;Y++)if(B0($,J.anyOf[Y]))return!0}}return!1}return $ in Z},I1=Symbol.for("TypeBox.Transform"),N0=($)=>{if(!$)return;if($.type==="object"&&$.properties){const Z=$.properties;for(let W of Object.keys(Z)){const X=Z[W];if(X.type==="object"){if(N0(X))return!0}else if(X.anyOf){for(let Y=0;Y<X.anyOf.length;Y++)if(N0(X.anyOf[Y]))return!0}if(I1 in X)return!0}return!1}return I1 in $||$.properties&&I1 in $.properties},K8=($)=>{if(!$)return;const Z=$?.schema;if(Z&&"anyOf"in Z){let W=!1;const X=Z.anyOf[0].type;for(let J of Z.anyOf)if(J.type!==X){W=!0;break}if(!W)return X}return $.schema?.type},_8=/(?:return|=>) \S+\(/g,x=($)=>{const Z="fn"in $?$.fn:$;if(Z.constructor.name==="AsyncFunction")return!0;const W=Z.toString();if(W.includes("=> response.clone("))return!1;return!!W.match(_8)},Z1=({app:$,path:Z,method:W,localHook:X,hooks:J,validator:Y,handler:Q,allowMeta:G=!1,appInference:{event:B,trace:_}})=>{const K=typeof Q==="function";if(!K)Q=h(Q,{headers:$.setHeaders??{}});const z=$.config.forceErrorEncapsulation&&(K||J.afterHandle.length>0||J.beforeHandle.length>0||J.transform.length>0)||J.error.length>0||$.event.error.length>0||typeof Bun==="undefined"||J.onResponse.length>0||J.onResponse.length>0||!!J.trace.length,M=K?"handler(c)":"handler",A=J.onResponse.length?`\n;(async () => {${J.onResponse.map((I,D)=>`await res${D}(c)`).join(";")}})();\n`:"",j=_,O=J.trace.length>0;let U="";const F=d0(Object.assign(X,{handler:Q}),B),P=F.query||!!Y.query,N=W!=="$INTERNALWS"&&W!=="GET"&&W!=="HEAD"&&J.type!=="none"&&(F.body||!!Y.body),L=$.setHeaders,q=L&&!!Object.keys(L).length,e=F.headers||Y.headers,v=F.cookie||!!Y.cookie,r=v?t0({validator:Y.cookie,defaultConfig:$.config.cookie,dynamic:!!$.config.aot,config:Y.cookie?.config??{},models:$.definitions.type}):void 0,S=r?.config;let V="";if(S?.sign){if(!S.secrets)throw new Error(`t.Cookie required secret which is not set in (${W}) ${Z}.`);const I=!S.secrets?void 0:typeof S.secrets==="string"?S.secrets:S.secrets[0];if(V+=`const _setCookie = c.set.cookie
|
|
37
37
|
if(_setCookie) {`,S.sign===!0)V+=`for(const [key, cookie] of Object.entries(_setCookie)) {
|
|
38
38
|
c.set.cookie[key].value = await signCookie(cookie.value, '${I}')
|
|
39
|
-
}`;else for(let
|
|
39
|
+
}`;else for(let D of S.sign)V+=`if(_setCookie['${D}']?.value) { c.set.cookie['${D}'].value = await signCookie(_setCookie['${D}'].value, '${I}') }\n`;V+="}\n"}const $0=$.config.normalize,{composeValidation:U0,composeResponseValidation:y0}=U8(z,{normalize:$0});if(e)U+=B8?"c.headers = c.request.headers.toJSON()\n":`c.headers = {}
|
|
40
40
|
for (const [key, value] of c.request.headers.entries())
|
|
41
41
|
c.headers[key] = value
|
|
42
|
-
`;if(v){const I=(
|
|
43
|
-
secret: ${S.secrets!==void 0?typeof S.secrets==="string"?`'${S.secrets}'`:"["+S.secrets.reduce((
|
|
44
|
-
sign: ${S.sign===!0?!0:S.sign!==void 0?"["+S.sign.reduce((
|
|
42
|
+
`;if(v){const I=(w,C)=>{const b=S?.[w]??C;if(!b)return typeof C==="string"?`${w}: "${C}",`:`${w}: ${C},`;if(typeof b==="string")return`${w}: '${b}',`;if(b instanceof Date)return`${w}: new Date(${b.getTime()}),`;return`${w}: ${b},`},D=S?`{
|
|
43
|
+
secret: ${S.secrets!==void 0?typeof S.secrets==="string"?`'${S.secrets}'`:"["+S.secrets.reduce((w,C)=>w+`'${C}',`,"")+"]":"undefined"},
|
|
44
|
+
sign: ${S.sign===!0?!0:S.sign!==void 0?"["+S.sign.reduce((w,C)=>w+`'${C}',`,"")+"]":"undefined"},
|
|
45
45
|
${I("domain")}
|
|
46
46
|
${I("expires")}
|
|
47
47
|
${I("httpOnly")}
|
|
@@ -50,7 +50,7 @@ var q8=Object.create;var{defineProperty:C1,getPrototypeOf:R8,getOwnPropertyNames
|
|
|
50
50
|
${I("priority")}
|
|
51
51
|
${I("sameSite")}
|
|
52
52
|
${I("secure")}
|
|
53
|
-
}`:"undefined";if(e)U+=`\nc.cookie = await parseCookie(c.set, c.headers.cookie, ${
|
|
53
|
+
}`:"undefined";if(e)U+=`\nc.cookie = await parseCookie(c.set, c.headers.cookie, ${D})\n`;else U+=`\nc.cookie = await parseCookie(c.set, c.request.headers.get('cookie'), ${D})\n`}if(P){let I=[];if(Y.query&&Y.query.schema.type==="object")I=Object.keys(Y.query.schema.properties);else for(let D of F.queries)if(I.indexOf(D)===-1)I.push(D);if($.config.forceDynamicQuery===!0||F.unknownQueries===!0||!I.length)U+=`if(c.qi !== -1) {
|
|
54
54
|
c.query = parseQuery(decodeURIComponent(c.request.url.slice(c.qi + 1)).replace(/\\+/g, ' '))
|
|
55
55
|
} else c.query = {}`;else U+=`if(c.qi !== -1) {
|
|
56
56
|
let url = decodeURIComponent(
|
|
@@ -58,25 +58,25 @@ var q8=Object.create;var{defineProperty:C1,getPrototypeOf:R8,getOwnPropertyNames
|
|
|
58
58
|
.replace(/\\+/g, ' ')
|
|
59
59
|
)
|
|
60
60
|
|
|
61
|
-
${I.map((
|
|
62
|
-
${
|
|
63
|
-
if(memory === -1) memory = url.indexOf('?${
|
|
64
|
-
let a${
|
|
61
|
+
${I.map((D,w)=>`
|
|
62
|
+
${w===0?"let":""} memory = url.indexOf('&${D}=')
|
|
63
|
+
if(memory === -1) memory = url.indexOf('?${D}=')
|
|
64
|
+
let a${w}
|
|
65
65
|
|
|
66
66
|
if(memory !== -1) {
|
|
67
|
-
const start = memory + ${
|
|
67
|
+
const start = memory + ${D.length+2}
|
|
68
68
|
memory = url.indexOf('&', start)
|
|
69
69
|
|
|
70
|
-
if(memory === -1) a${
|
|
71
|
-
else a${
|
|
70
|
+
if(memory === -1) a${w} = url.slice(start)
|
|
71
|
+
else a${w} = url.slice(start, memory)
|
|
72
72
|
}`).join("\n")}
|
|
73
73
|
|
|
74
74
|
c.query = {
|
|
75
|
-
${I.map((
|
|
75
|
+
${I.map((D,w)=>`'${D}': a${w}`).join(", ")}
|
|
76
76
|
}
|
|
77
77
|
} else {
|
|
78
78
|
c.query = {}
|
|
79
|
-
}`}const v0=_.set,k0=
|
|
79
|
+
}`}const v0=_.set,k0=F.cookie||F.set||v0||e||K&&q;if(O)U+="\nconst id = c.$$requestId\n";const E=w$({hasTrace:O,hasTraceSet:v0,condition:j,addFn:(I)=>{U+=I}});if(U+=z?"\n try {\n":"",v0){U+="\nconst traceDone = Promise.all([";for(let I=0;I<J.trace.length;I++)U+=`new Promise(r => { reporter.once(\`res\${id}.${I}\`, r) }),`;U+="])\n"}const K0=typeof Q==="function"&&x(Q),X1=v||N||v0||K0||!!J.mapResponse.length||J.parse.length>0||J.afterHandle.some(x)||J.beforeHandle.some(x)||J.transform.some(x),V$=E("parse",{unit:J.parse.length});if(N){const I=K8(Y?.body);if(J.type&&!Array.isArray(J.type)){if(J.type)switch(J.type){case"json":case"application/json":if(z)U+=`const tempBody = await c.request.text()
|
|
80
80
|
|
|
81
81
|
try {
|
|
82
82
|
c.body = JSON.parse(tempBody)
|
|
@@ -93,7 +93,7 @@ var q8=Object.create;var{defineProperty:C1,getPrototypeOf:R8,getOwnPropertyNames
|
|
|
93
93
|
if (value.length === 1)
|
|
94
94
|
c.body[key] = value[0]
|
|
95
95
|
else c.body[key] = value
|
|
96
|
-
}\n`;break}if(J.parse.length)U+="}}"}else{const
|
|
96
|
+
}\n`;break}if(J.parse.length)U+="}}"}else{const w=(()=>{if(J.parse.length&&I&&!Array.isArray(J.type)){const C=Y?.body?.schema;if(typeof C==="object"&&($1("File",C)||$1("Files",C)))return`c.body = {}
|
|
97
97
|
|
|
98
98
|
const form = await c.request.formData()
|
|
99
99
|
for (const key of form.keys()) {
|
|
@@ -104,7 +104,7 @@ var q8=Object.create;var{defineProperty:C1,getPrototypeOf:R8,getOwnPropertyNames
|
|
|
104
104
|
if (value.length === 1)
|
|
105
105
|
c.body[key] = value[0]
|
|
106
106
|
else c.body[key] = value
|
|
107
|
-
}`}})();if(
|
|
107
|
+
}`}})();if(w)U+=w;else{if(U+="\n",U+=e?"let contentType = c.headers['content-type']":"let contentType = c.request.headers.get('content-type')",U+=`
|
|
108
108
|
if (contentType) {
|
|
109
109
|
const index = contentType.indexOf(';')
|
|
110
110
|
if (index !== -1) contentType = contentType.substring(0, index)\n`,J.parse.length){U+="let used = false\n";const C=E("parse",{unit:J.parse.length});for(let b=0;b<J.parse.length;b++){const _0=E("parse.unit",{name:J.parse[b].fn.name}),W0=`bo${b}`;if(b!==0)U+="if(!used) {\n";if(U+=`let ${W0} = parse[${b}](c, contentType)\n`,U+=`if(${W0} instanceof Promise) ${W0} = await ${W0}\n`,U+=`if(${W0} !== undefined) { c.body = ${W0}; used = true }\n`,_0(),b!==0)U+="}"}C()}if(J.parse.length)U+="if (!used)";U+=`
|
|
@@ -148,41 +148,41 @@ var q8=Object.create;var{defineProperty:C1,getPrototypeOf:R8,getOwnPropertyNames
|
|
|
148
148
|
}
|
|
149
149
|
|
|
150
150
|
break
|
|
151
|
-
}\n`,U+="}\n"}}U+="\n"}if(
|
|
151
|
+
}\n`,U+="}\n"}}U+="\n"}if(V$(),J?.transform){const I=E("transform",{unit:J.transform.length});if(J.transform.length)U+="\nlet transformed\n";for(let D=0;D<J.transform.length;D++){const w=J.transform[D],C=E("transform.unit",{name:w.fn.name});U+=x(w)?`transformed = await transform[${D}](c)\n`:`transformed = transform[${D}](c)\n`,U+=`if(transformed?.[ELYSIA_RESPONSE])
|
|
152
152
|
throw transformed
|
|
153
153
|
else
|
|
154
|
-
Object.assign(c, transformed)\n`,C()}I()}if(
|
|
154
|
+
Object.assign(c, transformed)\n`,C()}I()}if(Y){if(U+="\n",Y.headers){if(B0("default",Y.headers.params))for(let[I,D]of Object.entries(b0.Default(Y.headers.schema,{}))){const w=typeof D==="object"?JSON.stringify(D):`'${D}'`;if(w)U+=`c.headers['${I}'] ??= ${w}\n`}if(U+=`if(headers.Check(c.headers) === false) {
|
|
155
155
|
${U0("headers")}
|
|
156
|
-
}`,
|
|
156
|
+
}`,N0(Y.headers.schema))U+="\nc.headers = headers.Decode(c.headers)\n"}if(Y.params){if(B0("default",Y.params.schema))for(let[I,D]of Object.entries(b0.Default(Y.params.schema,{}))){const w=typeof D==="object"?JSON.stringify(D):`'${D}'`;if(w)U+=`c.params['${I}'] ??= ${w}\n`}if(U+=`if(params.Check(c.params) === false) {
|
|
157
157
|
${U0("params")}
|
|
158
|
-
}`,
|
|
158
|
+
}`,N0(Y.params.schema))U+="\nc.params = params.Decode(c.params)\n"}if(Y.query){if($0)U+="c.query = query.Clean(c.query);\n";if(B0("default",Y.query.schema))for(let[I,D]of Object.entries(b0.Default(Y.query.schema,{}))){const w=typeof D==="object"?JSON.stringify(D):`'${D}'`;if(w)U+=`c.query['${I}'] ??= ${w}\n`}if(U+=`if(query.Check(c.query) === false) {
|
|
159
159
|
${U0("query")}
|
|
160
|
-
}`,
|
|
161
|
-
c.body = Object.assign(${JSON.stringify(b0.Default(
|
|
160
|
+
}`,N0(Y.query.schema))U+="\nc.query = query.Decode(Object.assign({}, c.query))\n"}if(Y.body){if($0)U+="c.body = body.Clean(c.body);\n";if(B0("default",Y.body.schema))U+=`if(body.Check(c.body) === false) {
|
|
161
|
+
c.body = Object.assign(${JSON.stringify(b0.Default(Y.body.schema,null)??{})}, c.body)
|
|
162
162
|
|
|
163
163
|
if(body.Check(c.query) === false) {
|
|
164
164
|
${U0("body")}
|
|
165
165
|
}
|
|
166
166
|
}`;else U+=`if(body.Check(c.body) === false) {
|
|
167
167
|
${U0("body")}
|
|
168
|
-
}`;if(
|
|
168
|
+
}`;if(N0(Y.body.schema))U+="\nc.body = body.Decode(c.body)\n"}if(m(r?.schema.properties??{})){if(U+=`const cookieValue = {}
|
|
169
169
|
for(const [key, value] of Object.entries(c.cookie))
|
|
170
|
-
cookieValue[key] = value.value\n`,B0("default",r.schema))for(let[I,
|
|
170
|
+
cookieValue[key] = value.value\n`,B0("default",r.schema))for(let[I,D]of Object.entries(b0.Default(r.schema,{})))U+=`cookieValue['${I}'] = ${typeof D==="object"?JSON.stringify(D):D}\n`;U+=`if(cookie.Check(cookieValue) === false) {
|
|
171
171
|
${U0("cookie","cookieValue")}
|
|
172
|
-
}`}}if(J?.beforeHandle){const I=E("beforeHandle",{unit:J.beforeHandle.length});let
|
|
172
|
+
}`}}if(J?.beforeHandle){const I=E("beforeHandle",{unit:J.beforeHandle.length});let D=!1;for(let w=0;w<J.beforeHandle.length;w++){const C=J.beforeHandle[w],b=E("beforeHandle.unit",{name:C.fn.name}),_0=H0(C.fn.toString());if(C.subType==="resolve"){if(!D)D=!0,U+="\nlet resolved\n";U+=x(C)?`resolved = await beforeHandle[${w}](c);\n`:`resolved = beforeHandle[${w}](c);\n`,U+=`if(resolved[ELYSIA_RESPONSE])
|
|
173
173
|
throw resolved
|
|
174
174
|
else
|
|
175
|
-
Object.assign(c, resolved)\n`}else if(!_0)U+=x(C)?`await beforeHandle[${
|
|
175
|
+
Object.assign(c, resolved)\n`}else if(!_0)U+=x(C)?`await beforeHandle[${w}](c);\n`:`beforeHandle[${w}](c);\n`,b();else{U+="Object.assign(c, be);",U+=x(C)?`be = await beforeHandle[${w}](c);\n`:`be = beforeHandle[${w}](c);\n`,b(),U+="if(be !== undefined) {\n",I();const S$=E("afterHandle",{unit:J.transform.length});if(J.afterHandle){E("handle",{name:K?Q.name:void 0})();for(let l=0;l<J.afterHandle.length;l++){const f0=J.afterHandle[l],T$=H0(f0.fn.toString()),C$=E("afterHandle.unit",{name:f0.fn.name});if(U+="c.response = be\n",!T$)U+=x(f0.fn)?`await afterHandle[${l}](c, be)\n`:`afterHandle[${l}](c, be)\n`;else U+=x(f0.fn)?`af = await afterHandle[${l}](c)\n`:`af = afterHandle[${l}](c)\n`,U+="if(af !== undefined) { c.response = be = af }\n";C$()}}if(S$(),Y.response)U+=y0("be");if(J.mapResponse.length){U+="c.response = be";for(let l=0;l<J.mapResponse.length;l++)U+=`\nif(mr === undefined) {
|
|
176
176
|
mr = onMapResponse[${l}](c)
|
|
177
177
|
if(mr instanceof Promise) mr = await mr
|
|
178
178
|
if(mr !== undefined) c.response = mr
|
|
179
|
-
}\n`}U+=V,U+="return mapEarlyResponse(be, c.set, c.request)}\n"}}I()}if(J?.afterHandle.length){const I=E("handle",{name:K?
|
|
179
|
+
}\n`}U+=V,U+="return mapEarlyResponse(be, c.set, c.request)}\n"}}I()}if(J?.afterHandle.length){const I=E("handle",{name:K?Q.name:void 0});if(J.afterHandle.length)U+=K0?`let r = c.response = await ${M};\n`:`let r = c.response = ${M};\n`;else U+=K0?`let r = await ${M};\n`:`let r = ${M};\n`;I();const D=E("afterHandle",{unit:J.afterHandle.length});for(let w=0;w<J.afterHandle.length;w++){const C=J.afterHandle[w],b=H0(C.fn.toString()),_0=E("afterHandle.unit",{name:C.fn.name});if(!b)U+=x(C.fn)?`await afterHandle[${w}](c)\n`:`afterHandle[${w}](c)\n`,_0();else if(U+=x(C.fn)?`af = await afterHandle[${w}](c)\n`:`af = afterHandle[${w}](c)\n`,_0(),Y.response)U+="if(af !== undefined) {",D(),U+=y0("af"),U+="c.response = af }";else U+="if(af !== undefined) {",D(),U+="c.response = af}\n"}if(D(),U+="r = c.response\n",Y.response)U+=y0();if(U+=V,J.mapResponse.length)for(let w=0;w<J.mapResponse.length;w++)U+=`\nmr = onMapResponse[${w}](c)
|
|
180
180
|
if(mr instanceof Promise) mr = await mr
|
|
181
|
-
if(mr !== undefined) c.response = mr\n`;if(k0)U+="return mapResponse(r, c.set, c.request)\n";else U+="return mapCompactResponse(r, c.request)\n"}else{const I=E("handle",{name:K?
|
|
182
|
-
mr = onMapResponse[${
|
|
181
|
+
if(mr !== undefined) c.response = mr\n`;if(k0)U+="return mapResponse(r, c.set, c.request)\n";else U+="return mapCompactResponse(r, c.request)\n"}else{const I=E("handle",{name:K?Q.name:void 0});if(Y.response||J.mapResponse.length){if(U+=K0?`let r = await ${M};\n`:`let r = ${M};\n`,I(),Y.response)U+=y0();if(E("afterHandle")(),J.mapResponse.length){U+="c.response = r";for(let D=0;D<J.mapResponse.length;D++)U+=`\nif(mr === undefined) {
|
|
182
|
+
mr = onMapResponse[${D}](c)
|
|
183
183
|
if(mr instanceof Promise) mr = await mr
|
|
184
184
|
if(mr !== undefined) r = c.response = mr
|
|
185
|
-
}\n`}if(U+=V,
|
|
185
|
+
}\n`}if(U+=V,Q instanceof Response)U+=F.set?`if(
|
|
186
186
|
isNotEmpty(c.set.headers) ||
|
|
187
187
|
c.set.status !== 200 ||
|
|
188
188
|
c.set.redirect ||
|
|
@@ -190,11 +190,11 @@ var q8=Object.create;var{defineProperty:C1,getPrototypeOf:R8,getOwnPropertyNames
|
|
|
190
190
|
)
|
|
191
191
|
return mapResponse(${M}.clone(), c.set, c.request)
|
|
192
192
|
else
|
|
193
|
-
return ${M}.clone()`:`return ${M}.clone()`,U+="\n";else if(k0)U+="return mapResponse(r, c.set, c.request)\n";else U+="return mapCompactResponse(r, c.request)\n"}else if(j.handle||v){if(U+=K0?`let r = await ${M};\n`:`let r = ${M};\n`,I(),E("afterHandle")(),J.mapResponse.length){U+="c.response = r";for(let
|
|
194
|
-
mr = onMapResponse[${
|
|
193
|
+
return ${M}.clone()`:`return ${M}.clone()`,U+="\n";else if(k0)U+="return mapResponse(r, c.set, c.request)\n";else U+="return mapCompactResponse(r, c.request)\n"}else if(j.handle||v){if(U+=K0?`let r = await ${M};\n`:`let r = ${M};\n`,I(),E("afterHandle")(),J.mapResponse.length){U+="c.response = r";for(let D=0;D<J.mapResponse.length;D++)U+=`\nif(mr === undefined) {
|
|
194
|
+
mr = onMapResponse[${D}](c)
|
|
195
195
|
if(mr instanceof Promise) mr = await mr
|
|
196
196
|
if(mr !== undefined) r = c.response = mr
|
|
197
|
-
}\n`}if(U+=V,k0)U+="return mapResponse(r, c.set, c.request)\n";else U+="return mapCompactResponse(r, c.request)\n"}else{I();const
|
|
197
|
+
}\n`}if(U+=V,k0)U+="return mapResponse(r, c.set, c.request)\n";else U+="return mapCompactResponse(r, c.request)\n"}else{I();const D=K0?`await ${M}`:M;if(E("afterHandle")(),Q instanceof Response)U+=F.set?`if(
|
|
198
198
|
isNotEmpty(c.set.headers) ||
|
|
199
199
|
c.set.status !== 200 ||
|
|
200
200
|
c.set.redirect ||
|
|
@@ -202,10 +202,10 @@ var q8=Object.create;var{defineProperty:C1,getPrototypeOf:R8,getOwnPropertyNames
|
|
|
202
202
|
)
|
|
203
203
|
return mapResponse(${M}.clone(), c.set, c.request)
|
|
204
204
|
else
|
|
205
|
-
return ${M}.clone()`:`return ${M}.clone()`,U+="\n";else if(k0)U+=`return mapResponse(${
|
|
205
|
+
return ${M}.clone()`:`return ${M}.clone()`,U+="\n";else if(k0)U+=`return mapResponse(${D}, c.set, c.request)\n`;else U+=`return mapCompactResponse(${D}, c.request)\n`}}if(z||A){if(U+="\n} catch(error) {",!X1)U+="return (async () => {";U+="const set = c.set\nif (!set.status || set.status < 300) set.status = error?.status || 500\n";const I=E("error",{unit:J.error.length});if(J.error.length){U+=`
|
|
206
206
|
c.error = error
|
|
207
207
|
c.code = error.code ?? error[ERROR_CODE] ?? "UNKNOWN"
|
|
208
|
-
`;for(let
|
|
208
|
+
`;for(let D=0;D<J.error.length;D++){const w=`er${D}`,C=E("error.unit",{name:J.error[D].fn.name});if(U+=`\nlet ${w} = handleErrors[${D}](c)\n`,x(J.error[D]))U+=`if (${w} instanceof Promise) ${w} = await ${w}\n`;C(),U+=`${w} = mapEarlyResponse(${w}, set, c.request)\n`,U+=`if (${w}) {`,U+=`return ${w} }\n`}}if(I(),U+="return handleError(c, error, true)\n\n",!X1)U+="})()";if(U+="}",A||O){U+=" finally { ";const D=E("response",{unit:J.onResponse.length});U+=A,D(),U+="}"}}return U=`const {
|
|
209
209
|
handler,
|
|
210
210
|
handleError,
|
|
211
211
|
hooks: {
|
|
@@ -250,7 +250,7 @@ var q8=Object.create;var{defineProperty:C1,getPrototypeOf:R8,getOwnPropertyNames
|
|
|
250
250
|
ELYSIA_RESPONSE
|
|
251
251
|
} = hooks
|
|
252
252
|
|
|
253
|
-
${J.onResponse.length?`const ${J.onResponse.map((I,
|
|
253
|
+
${J.onResponse.length?`const ${J.onResponse.map((I,D)=>`res${D} = onResponse[${D}]`).join(",")}`:""}
|
|
254
254
|
|
|
255
255
|
return ${X1?"async":""} function handle(c) {
|
|
256
256
|
${J.beforeHandle.length?"let be":""}
|
|
@@ -259,8 +259,8 @@ var q8=Object.create;var{defineProperty:C1,getPrototypeOf:R8,getOwnPropertyNames
|
|
|
259
259
|
|
|
260
260
|
${G?"c.schema = schema; c.defs = definitions":""}
|
|
261
261
|
${U}
|
|
262
|
-
}`,Function("hooks",U)({handler:
|
|
263
|
-
const route = router.find(request.method, path) ${
|
|
262
|
+
}`,Function("hooks",U)({handler:Q,hooks:e1(J),validator:Y,handleError:$.handleError,utils:{mapResponse:h,mapCompactResponse:o,mapEarlyResponse:u,parseQuery:F$.parse,isNotEmpty:m},error:{NotFoundError:G0,ValidationError:R,InternalServerError:a0,ParseError:e0},schema:$.router.history,definitions:$.definitions.type,ERROR_CODE:Q0,getReporter:()=>$.reporter,requestId:A$,parseCookie:l0,signCookie:A0,decodeURIComponent:M$.default,ELYSIA_RESPONSE:d})},O1=($)=>{const Z={event:{...$.inference.event,queries:[...$.inference.event.queries]},trace:{...$.inference.trace}};let W="",X="";const J=$.setHeaders;for(let U of Object.keys($.singleton.decorator))W+=`,${U}: app.singleton.decorator.${U}`;const Y=$.router,Q=$.event.trace.length>0;let G=`
|
|
263
|
+
const route = router.find(request.method, path) ${Y.http.root.ALL?'?? router.find("ALL", path)':""}
|
|
264
264
|
|
|
265
265
|
if (route === null)
|
|
266
266
|
return ${$.event.error.length?"app.handleError(ctx, notFound)":$.event.request.length?`new Response(error404Message, {
|
|
@@ -273,7 +273,7 @@ var q8=Object.create;var{defineProperty:C1,getPrototypeOf:R8,getOwnPropertyNames
|
|
|
273
273
|
return route.store.composed(ctx)
|
|
274
274
|
|
|
275
275
|
if(route.store.compose)
|
|
276
|
-
return (route.store.compose())(ctx)`;else G+="return route.store(ctx)";G+="\n";let _="";for(let[U,{code:
|
|
276
|
+
return (route.store.compose())(ctx)`;else G+="return route.store(ctx)";G+="\n";let _="";for(let[U,{code:F,all:P}]of Object.entries(Y.static.http.map))_+=`case '${U}':\nswitch(request.method) {\n${F}\n${P??"default: break map"}}\n\n`;const K=$.event.request.some(x),z=`\n
|
|
277
277
|
const url = request.url
|
|
278
278
|
const s = url.indexOf('/', 11)
|
|
279
279
|
const qi = url.indexOf('?', s + 1)
|
|
@@ -299,14 +299,14 @@ var q8=Object.create;var{defineProperty:C1,getPrototypeOf:R8,getOwnPropertyNames
|
|
|
299
299
|
const notFound = new NotFoundError()
|
|
300
300
|
|
|
301
301
|
${$.event.request.length?"const onRequest = app.event.request.map(x => x.fn)":""}
|
|
302
|
-
${
|
|
302
|
+
${Y.static.http.variables}
|
|
303
303
|
${$.event.error.length?"":`
|
|
304
304
|
const error404Message = notFound.message.toString()
|
|
305
305
|
const error404 = new Response(error404Message, { status: 404 });
|
|
306
306
|
`}
|
|
307
307
|
|
|
308
|
-
return ${K?"async":""} function map(request) {\n`,$.event.request.length)X+="let re";const M=
|
|
309
|
-
${
|
|
308
|
+
return ${K?"async":""} function map(request) {\n`,$.event.request.length)X+="let re";const M=w$({hasTrace:Q,hasTraceSet:Z.trace.set,condition:{request:Z.trace.request},addFn:(U)=>{X+=U}});if($.event.request.length){X+=`
|
|
309
|
+
${Q?"const id = +requestId.value++":""}
|
|
310
310
|
|
|
311
311
|
const ctx = {
|
|
312
312
|
request,
|
|
@@ -316,16 +316,16 @@ var q8=Object.create;var{defineProperty:C1,getPrototypeOf:R8,getOwnPropertyNames
|
|
|
316
316
|
status: 200
|
|
317
317
|
},
|
|
318
318
|
error
|
|
319
|
-
${
|
|
319
|
+
${Q?",$$requestId: +id":""}
|
|
320
320
|
${W}
|
|
321
321
|
}
|
|
322
|
-
`;const U=M("request",{attribute:"ctx",unit:$.event.request.length});X+="\n try {\n";for(let
|
|
323
|
-
${L?"await":""} onRequest[${
|
|
322
|
+
`;const U=M("request",{attribute:"ctx",unit:$.event.request.length});X+="\n try {\n";for(let F=0;F<$.event.request.length;F++){const P=$.event.request[F],N=H0(P.fn.toString()),L=x(P),q=M("request.unit",{name:$.event.request[F].fn.name});if(N)X+=`re = mapEarlyResponse(
|
|
323
|
+
${L?"await":""} onRequest[${F}](ctx),
|
|
324
324
|
ctx.set,
|
|
325
325
|
request
|
|
326
|
-
)\n`,q(),X+="if(re !== undefined) return re\n";else X+=`${L?"await":""} onRequest[${
|
|
326
|
+
)\n`,q(),X+="if(re !== undefined) return re\n";else X+=`${L?"await":""} onRequest[${F}](ctx)\n`,q()}X+=`} catch (error) {
|
|
327
327
|
return app.handleError(ctx, error)
|
|
328
|
-
}`,U(),X+=z,X+="\nctx.qi = qi\n ctx.path = path\n"}else X+=z,X+=`${
|
|
328
|
+
}`,U(),X+=z,X+="\nctx.qi = qi\n ctx.path = path\n"}else X+=z,X+=`${Q?"const id = +requestId.value++":""}
|
|
329
329
|
const ctx = {
|
|
330
330
|
request,
|
|
331
331
|
store,
|
|
@@ -336,14 +336,14 @@ var q8=Object.create;var{defineProperty:C1,getPrototypeOf:R8,getOwnPropertyNames
|
|
|
336
336
|
status: 200
|
|
337
337
|
},
|
|
338
338
|
error
|
|
339
|
-
${
|
|
339
|
+
${Q?",$$requestId: id":""}
|
|
340
340
|
${W}
|
|
341
341
|
}`,M("request",{unit:$.event.request.length,attribute:Z.trace.context||Z.trace.store||Z.trace.set?"ctx":""})();const A=$.router.static.ws,j=$.router.ws;if(Object.keys(A).length||j.history.length){X+=`
|
|
342
342
|
if(request.method === 'GET') {
|
|
343
|
-
switch(path) {`;for(let[U,
|
|
343
|
+
switch(path) {`;for(let[U,F]of Object.entries(A))X+=`
|
|
344
344
|
case '${U}':
|
|
345
345
|
if(request.headers.get('upgrade') === 'websocket')
|
|
346
|
-
return st${
|
|
346
|
+
return st${F}(ctx)
|
|
347
347
|
|
|
348
348
|
break`;X+=`
|
|
349
349
|
default:
|
|
@@ -368,7 +368,7 @@ var q8=Object.create;var{defineProperty:C1,getPrototypeOf:R8,getOwnPropertyNames
|
|
|
368
368
|
}
|
|
369
369
|
|
|
370
370
|
${G}
|
|
371
|
-
}`;const O=V1($);return $.handleError=O,Function("data",X)({app:$,mapEarlyResponse:u,NotFoundError:G0,getReporter:()=>$.reporter,requestId:
|
|
371
|
+
}`;const O=V1($);return $.handleError=O,Function("data",X)({app:$,mapEarlyResponse:u,NotFoundError:G0,getReporter:()=>$.reporter,requestId:A$,handleError:O,error:w1})},V1=($)=>{let Z=`const {
|
|
372
372
|
app: { event: { error: onErrorContainer, onResponse: resContainer } },
|
|
373
373
|
mapResponse,
|
|
374
374
|
ERROR_CODE,
|
|
@@ -420,9 +420,9 @@ var q8=Object.create;var{defineProperty:C1,getPrototypeOf:R8,getOwnPropertyNames
|
|
|
420
420
|
|
|
421
421
|
return mapResponse(error, set, context.request)
|
|
422
422
|
}
|
|
423
|
-
}`,Function("inject",Z)({app:$,mapResponse:h,ERROR_CODE:
|
|
423
|
+
}`,Function("inject",Z)({app:$,mapResponse:h,ERROR_CODE:Q0,ELYSIA_RESPONSE:d})},x0=($)=>`if(stc${$}) return stc${$}(ctx)
|
|
424
424
|
if(st${$}.compose) return (stc${$} = st${$}.compose())(ctx)
|
|
425
425
|
|
|
426
|
-
return st${$}(ctx)`;var W1=V0(P1(),1);var S1=($)=>async(Z)=>{const W=Z.url,X=W.indexOf("/",11),J=W.indexOf("?",X+1),Q=J===-1?W.substring(X):W.substring(X,J),Y={cookie:{},status:200,headers:{}},G=Object.assign({},$.singleton.decorator,{set:Y,store:$.singleton.store,request:Z,path:Q,qi:J});try{for(let D=0;D<$.event.request.length;D++){const P=$.event.request[D].fn;let w=P(G);if(w instanceof Promise)w=await w;if(w=u(w,Y),w)return w}const B=$.router.dynamic.find(Z.method,Q)??$.router.dynamic.find("ALL",Q);if(!B)throw new G0;const{handle:_,hooks:K,validator:z,content:M}=B.store;let A;if(Z.method!=="GET"&&Z.method!=="HEAD")if(M)switch(M){case"application/json":A=await Z.json();break;case"text/plain":A=await Z.text();break;case"application/x-www-form-urlencoded":A=W1.parse(await Z.text());break;case"application/octet-stream":A=await Z.arrayBuffer();break;case"multipart/form-data":A={};const D=await Z.formData();for(let P of D.keys()){if(A[P])continue;const w=D.getAll(P);if(w.length===1)A[P]=w[0];else A[P]=w}break}else{let D=Z.headers.get("content-type");if(D){const P=D.indexOf(";");if(P!==-1)D=D.slice(0,P);for(let w=0;w<K.parse.length;w++){const L=K.parse[w].fn;let q=L(G,D);if(q instanceof Promise)q=await q;if(q){A=q;break}}if(A===void 0)switch(D){case"application/json":A=await Z.json();break;case"text/plain":A=await Z.text();break;case"application/x-www-form-urlencoded":A=W1.parse(await Z.text());break;case"application/octet-stream":A=await Z.arrayBuffer();break;case"multipart/form-data":A={};const w=await Z.formData();for(let L of w.keys()){if(A[L])continue;const q=w.getAll(L);if(q.length===1)A[L]=q[0];else A[L]=q}break}}}G.body=A,G.params=B?.params||void 0,G.query=J===-1?{}:W1.parse(W.substring(J+1)),G.headers={};for(let[D,P]of Z.headers.entries())G.headers[D]=P;const j=Object.assign({},$.config?.cookie,z?.cookie?.config),O=Z.headers.get("cookie");G.cookie=await l0(G.set,O,j?{secret:j.secrets!==void 0?typeof j.secrets==="string"?j.secrets:j.secrets.join(","):void 0,sign:j.sign===!0?!0:j.sign!==void 0?typeof j.sign==="string"?j.sign:j.sign.join(","):void 0}:void 0);for(let D=0;D<K.transform.length;D++){const P=K.transform[D],w=P.fn(G);if(P.subType==="derive")if(w instanceof Promise)Object.assign(G,await w);else Object.assign(G,w);else if(w instanceof Promise)await w}if(z){if(z.headers){const D={};for(let P in Z.headers)D[P]=Z.headers.get(P);if(z.headers.Check(D)===!1)throw new R("header",z.headers,D)}if(z.params?.Check(G.params)===!1)throw new R("params",z.params,G.params);if(z.query?.Check(G.query)===!1)throw new R("query",z.query,G.query);if(z.cookie){const D={};for(let[P,w]of Object.entries(G.cookie))D[P]=w.value;if(z.cookie?.Check(D)===!1)throw new R("cookie",z.cookie,D)}if(z.body?.Check(A)===!1)throw new R("body",z.body,A)}for(let D=0;D<K.beforeHandle.length;D++){let P=K.beforeHandle[D].fn(G);if(P instanceof Promise)P=await P;if(P!==void 0){G.response=P;for(let L=0;L<K.afterHandle.length;L++){let q=K.afterHandle[L].fn(G);if(q instanceof Promise)q=await q;if(q)P=q}const w=u(P,G.set);if(w)return w}}let U=_(G);if(U instanceof Promise)U=await U;if(!K.afterHandle.length){const D=z?.response?.[U.status];if(D?.Check(U)===!1)throw new R("response",D,U)}else{G.response=U;for(let D=0;D<K.afterHandle.length;D++){let P=K.afterHandle[D].fn(G);if(P instanceof Promise)P=await P;const w=u(P,G.set);if(w!==void 0){const L=z?.response?.[U.status];if(L?.Check(w)===!1)throw new R("response",L,w);return w}}}if(G.set.cookie&&j?.sign){const D=!j.secrets?void 0:typeof j.secrets==="string"?j.secrets:j.secrets[0];if(j.sign===!0)for(let[P,w]of Object.entries(G.set.cookie))G.set.cookie[P].value=await A0(w.value,"${secret}");else{const P=z?.cookie?.schema?.properties;for(let w of j.sign){if(!(w in P))continue;if(G.set.cookie[w]?.value)G.set.cookie[w].value=await A0(G.set.cookie[w].value,D)}}}return h(U,G.set)}catch(B){if(B.status)Y.status=B.status;return $.handleError(G,B)}finally{for(let B of $.event.onResponse)await B.fn(G)}},j8=($)=>async(Z,W)=>{const X=Object.assign(Z,{error:W,code:W.code});X.set=Z.set;for(let J=0;J<$.event.error.length;J++){let Y=$.event.error[J].fn(X);if(Y instanceof Promise)Y=await Y;if(Y!==void 0&&Y!==null)return h(Y,Z.set)}return new Response(typeof W.cause==="string"?W.cause:W.message,{headers:Z.set.headers,status:W.status??500})};import{TypeSystem as I0} from"@sinclair/typebox/system";import{Type as g0,FormatRegistry as O0} from"@sinclair/typebox";import{Value as P0} from"@sinclair/typebox/value";import{TypeSystemPolicy as P6,TypeSystem as I6,TypeSystemDuplicateFormat as O6,TypeSystemDuplicateTypeKind as V6} from"@sinclair/typebox/system";import{TypeCompiler as T6,TypeCheck as C6} from"@sinclair/typebox/compiler";var w8=/(\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))/,P8=/(?: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\([^)]+\)/,I8=/^(?:(?:(?:(?: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)?)?$/;try{I0.Format("email",($)=>/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9]+(?:-[a-z0-9]+)*$/i.test($)),I0.Format("uuid",($)=>/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test($)),I0.Format("date",($)=>{const Z=$.replace(/"/g,"");if(w8.test(Z)||P8.test(Z)||I8.test(Z)){const W=new Date(Z);if(!Number.isNaN(W.getTime()))return!0}return!1}),I0.Format("date-time",($)=>{const Z=$.replace(/"/g,"");if(w8.test(Z)||P8.test(Z)||I8.test(Z)){const W=new Date(Z);if(!Number.isNaN(W.getTime()))return!0}return!1})}catch{}var T=Object.assign({},g0),O8=($)=>{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 $},T1=($,Z)=>{if(!(Z instanceof Blob))return!1;if($.minSize&&Z.size<O8($.minSize))return!1;if($.maxSize&&Z.size>O8($.maxSize))return!1;if($.extension)if(typeof $.extension==="string"){if(!Z.type.startsWith($.extension))return!1}else{for(let W=0;W<$.extension.length;W++)if(Z.type.startsWith($.extension[W]))return!0;return!1}return!0},z$=I0.Type("Files",($,Z)=>{if(!Array.isArray(Z))return T1($,Z);if($.minItems&&Z.length<$.minItems)return!1;if($.maxItems&&Z.length>$.maxItems)return!1;for(let W=0;W<Z.length;W++)if(!T1($,Z[W]))return!1;return!0});if(!O0.Get("numeric"))O0.Set("numeric",($)=>!!$&&!isNaN(+$));if(!O0.Get("boolean"))O0.Set("boolean",($)=>$==="true"||$==="false");if(!O0.Get("ObjectString"))O0.Set("ObjectString",($)=>{let Z=$.charCodeAt(0);if(Z===9||Z===10||Z===32)Z=$.trimStart().charCodeAt(0);if(Z!==123&&Z!==91)return!1;try{return JSON.parse($),!0}catch{return!1}});var a={Numeric:($)=>{const Z=g0.Number($);return T.Transform(T.Union([T.String({format:"numeric",default:0}),T.Number($)],$)).Decode((W)=>{const X=+W;if(isNaN(X))return W;if($&&!P0.Check(Z,X))throw new R("property",Z,X);return X}).Encode((W)=>W)},Date:($)=>{const Z=g0.Date($);return T.Transform(T.Union([g0.Date($),T.String({format:"date",default:(new Date()).toISOString()}),T.String({format:"date-time",default:(new Date()).toISOString()})],$)).Decode((W)=>{if(W instanceof Date)return W;const X=new Date(W);if(!P0.Check(Z,X))throw new R("property",Z,X);return X}).Encode((W)=>{if(typeof W==="string")return new Date(W);return W})},BooleanString:($)=>{const Z=g0.Boolean($);return T.Transform(T.Union([T.String({format:"boolean",default:!1}),T.Boolean($)],$)).Decode((W)=>{if(typeof W==="string")return W==="true";if($&&!P0.Check(Z,W))throw new R("property",Z,W);return W}).Encode((W)=>W)},ObjectString:($={},Z)=>{const W=T.Object($,Z),X=JSON.stringify(P0.Create(W));return T.Transform(T.Union([T.String({format:"ObjectString",default:X}),W])).Decode((J)=>{if(typeof J==="string"){try{J=JSON.parse(J)}catch{throw new R("property",W,J)}if(!P0.Check(W,J))throw new R("property",W,J);return J}return J}).Encode((J)=>{if(typeof J==="string")try{J=JSON.parse(J)}catch{throw new R("property",W,J)}if(!P0.Check(W,J))throw new R("property",W,J);return JSON.stringify(J)})},File:I0.Type("File",T1),Files:($={})=>T.Transform(z$($)).Decode((Z)=>{if(Array.isArray(Z))return Z;return[Z]}).Encode((Z)=>Z),Nullable:($)=>T.Union([T.Null(),$]),MaybeEmpty:($)=>T.Union([T.Null(),T.Undefined(),$]),Cookie:($,{domain:Z,expires:W,httpOnly:X,maxAge:J,path:Q,priority:Y,sameSite:G,secure:B,secrets:_,sign:K,...z}={})=>{const M=T.Object($,z);return M.config={domain:Z,expires:W,httpOnly:X,maxAge:J,path:Q,priority:Y,sameSite:G,secure:B,secrets:_,sign:K},M}};T.BooleanString=a.BooleanString;T.ObjectString=a.ObjectString;T.Numeric=a.Numeric;T.File=($={})=>a.File({default:"File",...$,extension:$?.type,type:"string",format:"binary"});T.Files=($={})=>a.Files({...$,elysiaMeta:"Files",default:"Files",extension:$?.type,type:"array",items:{...$,default:"Files",type:"string",format:"binary"}});T.Nullable=($)=>a.Nullable($);T.MaybeEmpty=a.MaybeEmpty;T.Cookie=a.Cookie;T.Date=a.Date;class i{config;server=null;dependencies={};reporter=new H1;_routes={};_types={Prefix:"",Scoped:!1,Singleton:{},Definitions:{},Metadata:{}};_ephemeral={};_volatile={};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:[]};validator=null;event={start:[],request:[],parse:[],transform:[],beforeHandle:[],afterHandle:[],mapResponse:[],onResponse:[],trace:[],error:[],stop:[]};telemetry={stack:void 0};router={http:new X0,ws:new X0,dynamic:new X0,static:{http:{handlers:[],variables:"",map:{},all:""},ws:{}},history:[]};inference={event:{body:!1,cookie:!1,headers:!1,queries:[],query:!1,set:!1,unknownQueries:!1},trace:{request:!1,parse:!1,transform:!1,handle:!1,beforeHandle:!1,afterHandle:!1,error:!1,context:!1,store:!1,set:!1}};promisedModules=new A1;constructor($){if($?.tags)if(!$.detail)$.detail={tags:$.tags};else $.detail.tags=$.tags;if(this.config={forceErrorEncapsulation:!0,prefix:"",aot:!0,strictPath:!1,global:!1,cookie:{},analytic:!1,...$,experimental:$?.experimental??{},seed:$?.seed===void 0?"":$?.seed},$?.analytic&&($?.name||$?.seed!==void 0))this.telemetry.stack=new Error().stack}getServer(){return this.server}get routes(){return this.router.history}routeTree=new Map;applyMacro($){if(this.extender.macros.length){const Z=o1({globalHook:this.event,localHook:$}),W={events:{global:this.event,local:$},onParse:Z("parse"),onTransform:Z("transform"),onBeforeHandle:Z("beforeHandle"),onAfterHandle:Z("afterHandle"),onResponse:Z("onResponse"),mapResponse:Z("mapResponse"),onError:Z("error")};for(let X of this.extender.macros)M1(X.fn(W),$)}}add($,Z,W,X,{allowMeta:J=!1,skipPrefix:Q=!1}={allowMeta:!1,skipPrefix:!1}){if(X=a1(X),Z!==""&&Z.charCodeAt(0)!==47)Z="/"+Z;if(this.config.prefix&&!Q&&!this.config.scoped)Z=this.config.prefix+Z;if(X?.type)switch(X.type){case"text":X.type="text/plain";break;case"json":X.type="application/json";break;case"formdata":X.type="multipart/form-data";break;case"urlencoded":X.type="application/x-www-form-urlencoded";break;case"arrayBuffer":X.type="application/octet-stream";break;default:break}const Y=this.definitions.type;let G,B,_,K,z,M;const A=!this.config.aot,j={body:X?.body??this.validator?.body,headers:X?.headers??this.validator?.headers,params:X?.params??this.validator?.params,query:X?.query??this.validator?.query,cookie:X?.cookie??this.validator?.cookie,response:X?.response??this.validator?.response},O=()=>j.cookie?t0({validator:j.cookie,defaultConfig:this.config.cookie,config:j.cookie?.config??{},dynamic:A,models:Y}):void 0,U=this.config.normalize,D=this.config.precompile===!0||typeof this.config.precompile==="object"&&this.config.precompile.schema===!0?{body:k(j.body,{dynamic:A,models:Y,normalize:U}),headers:k(j.headers,{dynamic:A,models:Y,additionalProperties:!0}),params:k(j.params,{dynamic:A,models:Y}),query:k(j.query,{dynamic:A,models:Y,normalize:U}),cookie:O(),response:i0(j.response,{dynamic:A,models:Y,normalize:U})}:{get body(){if(G)return G;return G=k(j.body,{dynamic:A,models:Y,normalize:U})},get headers(){if(B)return B;return k(j.headers,{dynamic:A,models:Y,additionalProperties:!0})},get params(){if(_)return _;return _=k(j.params,{dynamic:A,models:Y})},get query(){if(K)return K;return K=k(j.query,{dynamic:A,models:Y})},get cookie(){if(z)return z;return z=O()},get response(){if(M)return M;return M=i0(j.response,{dynamic:A,models:Y,normalize:U})}},P=Z.endsWith("/")?Z.slice(0,Z.length-1):Z+"/";if(X=f(X,{},{allowMacro:!0}),X.tags)if(!X.detail)X.detail={tags:X.tags};else X.detail.tags=X.tags;if(m(this.config.detail))X.detail=p(Object.assign({},this.config.detail),X.detail);this.applyMacro(X);const w=f(this.event,X);if(this.config.aot===!1){if(this.router.dynamic.add($,Z,{validator:D,hooks:w,content:X?.type,handle:W}),this.config.strictPath===!1)this.router.dynamic.add($,P,{validator:D,hooks:w,content:X?.type,handle:W});this.router.history.push({method:$,path:Z,composed:null,handler:W,hooks:w});return}let L=void 0;const q=this.config.precompile===!0||typeof this.config.precompile==="object"&&this.config.precompile.compose===!0,e=n0(this.inference),v=q?Z1({app:this,path:Z,method:$,localHook:f(X),hooks:w,validator:D,handler:W,allowMeta:J,appInference:e}):(V)=>{if(L)return L(V);return(L=Z1({app:this,path:Z,method:$,localHook:f(X),hooks:w,validator:D,handler:W,allowMeta:J,appInference:e}))(V)};if(!q)v.compose=()=>{return v.composed=Z1({app:this,path:Z,method:$,localHook:f(X),hooks:w,validator:D,handler:W,allowMeta:J,appInference:e})};let r=this.router.history.length;if(this.routeTree.has($+Z)){if(r=this.router.history.findIndex((V)=>V.path===Z&&V.method===$),r!==-1){const V=this.router.history.splice(r,1)[0];if(V&&this.routeTree.has(V?.method+V?.path))this.routeTree.delete(V.method+V.path)}}this.routeTree.set($+Z,r),this.router.history.push({method:$,path:Z,composed:v,handler:W,hooks:w});const S=this.router.static.http;if($==="$INTERNALWS"){const V=this.config.strictPath?void 0:Z.endsWith("/")?Z.slice(0,Z.length-1):Z+"/";if(Z.indexOf(":")===-1&&Z.indexOf("*")===-1){const $0=S.handlers.length;if(S.handlers.push(v),S.variables+=`const st${$0} = staticRouter.handlers[${$0}]\n`,this.router.static.ws[Z]=$0,V)this.router.static.ws[V]=$0}else if(this.router.ws.add("ws",Z,v),V)this.router.ws.add("ws",V,v);return}if(Z.indexOf(":")===-1&&Z.indexOf("*")===-1){const V=S.handlers.length;if(S.handlers.push(v),S.variables+=q?`const st${V} = staticRouter.handlers[${V}]\n`:`let st${V} = staticRouter.handlers[${V}]\nlet stc${V}\n`,!S.map[Z])S.map[Z]={code:""};if($==="ALL")S.map[Z].all=q?`default: return st${V}(ctx)\n`:`default: ${x0(V)}\n`;else S.map[Z].code=q?`case '${$}': return st${V}(ctx)\n${S.map[Z].code}`:`case '${$}': ${x0(V)}\n${S.map[Z].code}`;if(!this.config.strictPath){if(!S.map[P])S.map[P]={code:""};if($==="ALL")S.map[P].all=q?`default: return st${V}(ctx)\n`:`default: ${x0(V)}\n`;else S.map[P].code=q?`case '${$}': return st${V}(ctx)\n${S.map[P].code}`:`case '${$}': ${x0(V)}\n${S.map[P].code}`}}else if(this.router.http.add($,Z,v),!this.config.strictPath)this.router.http.add($,Z.endsWith("/")?Z.slice(0,Z.length-1):Z+"/",v)}setHeaders;headers($){if(!$)return this;if(!this.setHeaders)this.setHeaders={};return this.setHeaders=p(this.setHeaders,$),this}onStart($){return this.on("start",$),this}onRequest($){return this.on("request",$),this}onParse($,Z){if(!Z)return this.on("parse",$);return this.on($,"parse",Z)}onTransform($,Z){if(!Z)return this.on("transform",$);return this.on($,"transform",Z)}resolve($,Z){if(!Z)Z=$,$={as:"local"};const W={subType:"resolve",fn:Z};return this.onBeforeHandle($,W)}mapResolve($,Z){if(!Z)Z=$,$={as:"local"};const W={subType:"resolve",fn:Z};return this.onBeforeHandle($,W)}onBeforeHandle($,Z){if(!Z)return this.on("beforeHandle",$);return this.on($,"beforeHandle",Z)}onAfterHandle($,Z){if(!Z)return this.on("afterHandle",$);return this.on($,"afterHandle",Z)}mapResponse($,Z){if(!Z)return this.on("mapResponse",$);return this.on($,"mapResponse",Z)}onResponse($,Z){if(!Z)return this.on("response",$);return this.on($,"response",Z)}trace($,Z){if(!Z)Z=$,$={as:"local"};if(!Array.isArray(Z))Z=[Z];for(let W of Z)this.reporter.on("event",x1(()=>this.reporter,this.event.trace.length,W));return this.on($,"trace",Z),this}error($,Z){switch(typeof $){case"string":return Z.prototype[Y0]=$,this.definitions.error[$]=Z,this;case"function":return this.definitions.error=$(this.definitions.error),this}for(let[W,X]of Object.entries($))X.prototype[Y0]=W,this.definitions.error[W]=X;return this}onError($,Z){if(!Z)return this.on("error",$);return this.on($,"error",Z)}onStop($){return this.on("stop",$),this}on($,Z,W){let X;switch(typeof $){case"string":X=$,W=Z;break;case"object":X=Z;break}if(X==="response")X="onResponse";if(Array.isArray(W))W=c(W);else if(typeof W==="function")W=[{fn:W}];else W=[W];const J=W;for(let Q of J)Q.scope=typeof $==="string"?"local":$?.as??"local";if(X==="trace")h1(J.map((Q)=>Q.fn),this.inference.trace);else d0({[X]:J.map((Q)=>Q.fn)},this.inference.event);for(let Q of J){const Y=n1(Q,"global",{skipIfHasType:!0});switch(X){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"onResponse":this.event.onResponse.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(){const $=(Z)=>{for(let W of Z)if("scope"in W&&W.scope==="local")W.scope="scoped"};return $(this.event.parse),$(this.event.transform),$(this.event.beforeHandle),$(this.event.afterHandle),$(this.event.mapResponse),$(this.event.onResponse),$(this.event.trace),$(this.event.error),this}group($,Z,W){const X=new i({...this.config,prefix:""});X.singleton={...this.singleton},X.definitions={...this.definitions},X.getServer=()=>this.server,X.inference=n0(this.inference);const J=typeof Z==="object",Q=(J?W:Z)(X);if(this.singleton=p(this.singleton,X.singleton),this.definitions=p(this.definitions,X.definitions),Q.event.request.length)this.event.request=[...this.event.request||[],...Q.event.request||[]];if(Q.event.onResponse.length)this.event.onResponse=[...this.event.onResponse||[],...Q.event.onResponse||[]];return this.model(Q.definitions.type),Object.values(X.router.history).forEach(({method:Y,path:G,handler:B,hooks:_})=>{if(G=(J?"":this.config.prefix)+$+G,J){const K=Z,z=_;this.add(Y,G,B,f(K,{...z||{},error:!z.error?Q.event.error:Array.isArray(z.error)?[...z.error||{},...Q.event.error||{}]:[z.error,...Q.event.error||{}]}))}else this.add(Y,G,B,f(_,{error:Q.event.error}),{skipPrefix:!0})}),this}guard($,Z){if(!Z){if(typeof $==="object"){if(this.applyMacro($),this.event=s0(this.event,$),this.validator={body:$.body??this.validator?.body,headers:$.headers??this.validator?.headers,params:$.params??this.validator?.params,query:$.query??this.validator?.query,response:$.response??this.validator?.response,cookie:$.cookie??this.validator?.cookie},$.detail)if(this.config.detail)this.config.detail=p(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 W=new i({...this.config,prefix:""});W.singleton={...this.singleton},W.definitions={...this.definitions},W.inference=n0(this.inference);const X=Z(W);if(this.singleton=p(this.singleton,W.singleton),this.definitions=p(this.definitions,W.definitions),X.getServer=()=>this.server,X.event.request.length)this.event.request=[...this.event.request||[],...X.event.request||[]];if(X.event.onResponse.length)this.event.onResponse=[...this.event.onResponse||[],...X.event.onResponse||[]];return this.model(X.definitions.type),Object.values(W.router.history).forEach(({method:J,path:Q,handler:Y,hooks:G})=>{this.add(J,Q,Y,f($,{...G||{},error:!G.error?X.event.error:Array.isArray(G.error)?[...G.error||{},...X.event.error||[]]:[G.error,...X.event.error||[]]},{allowMacro:!0}))}),this}use($,Z){if(Z?.scoped)return this.guard({},(W)=>W.use($));if(Array.isArray($)){let W=this;for(let X of $)W=this.use(X);return W}if($ instanceof Promise)return this.promisedModules.add($.then((W)=>{if(typeof W==="function")return W(this);if(W instanceof i)return this._use(W);if(typeof W.default==="function")return W.default(this);if(W.default instanceof i)return this._use(W.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((W)=>W.compile())),this;return this._use($)}_use($){if(typeof $==="function"){const J=$(this);if(J instanceof Promise)return this.promisedModules.add(J.then((Q)=>{if(Q instanceof i){this.compile();for(let{method:Y,path:G,handler:B,hooks:_}of Object.values(Q.router.history))this.add(Y,G,B,f(_,{error:Q.event.error}));return Q}if(typeof Q==="function")return Q(this);if(typeof Q.default==="function")return Q.default(this);return this._use(Q)}).then((Q)=>Q.compile())),this;return J}if($.promisedModules.size)return this.promisedModules.add($.modules.then(()=>this._use($)).then((J)=>J.compile())),this;const{name:Z,seed:W}=$.config;$.getServer=()=>this.getServer(),$.model(this.definitions.type),$.error(this.definitions.error);const X=$.config.scoped;if(X){if(Z){if(!(Z in this.dependencies))this.dependencies[Z]=[];const Q=W!==void 0?R0(Z+JSON.stringify(W)):0;if(this.dependencies[Z].some(({checksum:Y})=>Q===Y))return this;this.dependencies[Z].push(!this.config?.analytic?{name:$.config.name,seed:$.config.seed,checksum:Q,dependencies:$.dependencies}:{name:$.config.name,seed:$.config.seed,checksum:Q,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 Q=0;Q<$.extender.macros.length;Q++){const Y=this.extender.macros[Q];if(J.includes(Y.checksum))$.extender.macros.splice(Q,1),Q--;J.push(Y.checksum)}if($.onRequest((Q)=>{Object.assign(Q,this.singleton.decorator),Object.assign(Q.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(X===!0&&$.config.prefix){this.mount($.config.prefix+"/",$.fetch);for(let Q of $.router.history)this.routeTree.set(Q.method+`${$.config.prefix}${Q.path}`,this.router.history.length),this.router.history.push({...Q,path:`${$.config.prefix}${Q.path}`,hooks:f(Q.hooks,{error:this.event.error})})}else{this.mount($.fetch);for(let Q of $.router.history)this.routeTree.set(Q.method+`${$.config.prefix}${Q.path}`,this.router.history.length),this.router.history.push({...Q,path:`${$.config.prefix}${Q.path}`,hooks:f(Q.hooks,{error:this.event.error})})}return this}else{this.headers($.setHeaders),$.reporter=this.reporter;for(let Q of $.event.trace)if(Q.scope&&Q.scope!=="local")this.trace(Q);if(Z){if(!(Z in this.dependencies))this.dependencies[Z]=[];const Q=W!==void 0?R0(Z+JSON.stringify(W)):0;if(!this.dependencies[Z].some(({checksum:Y})=>Q===Y))this.extender.macros=this.extender.macros.concat($.extender.macros)}else this.extender.macros=this.extender.macros.concat($.extender.macros);const J=[];for(let Q=0;Q<this.extender.macros.length;Q++){const Y=this.extender.macros[Q];if(Y.checksum){if(J.includes(Y.checksum))this.extender.macros.splice(Q,1),Q--;J.push(Y.checksum)}}this.inference={event:{body:this.inference.event.body||$.inference.event.body,cookie:this.inference.event.cookie||$.inference.event.cookie,headers:this.inference.event.headers||$.inference.event.headers,queries:[...this.inference.event.queries,...$.inference.event.queries],query:this.inference.event.query||$.inference.event.query,set:this.inference.event.set||$.inference.event.set,unknownQueries:this.inference.event.unknownQueries||$.inference.event.unknownQueries},trace:{request:this.inference.trace.request||$.inference.trace.request,parse:this.inference.trace.parse||$.inference.trace.parse,transform:this.inference.trace.transform||$.inference.trace.transform,handle:this.inference.trace.handle||$.inference.trace.handle,beforeHandle:this.inference.trace.beforeHandle||$.inference.trace.beforeHandle,afterHandle:this.inference.trace.afterHandle||$.inference.trace.afterHandle,error:this.inference.trace.error||$.inference.trace.error,context:this.inference.trace.context||$.inference.trace.context,store:this.inference.trace.store||$.inference.trace.store,set:this.inference.trace.set||$.inference.trace.set}}}this.decorate($.singleton.decorator),this.state($.singleton.store),this.model($.definitions.type),this.error($.definitions.error);for(let{method:J,path:Q,handler:Y,hooks:G}of Object.values($.router.history))this.add(J,Q,Y,f(G,{error:$.event.error}));if(!X)if(Z){if(!(Z in this.dependencies))this.dependencies[Z]=[];const J=W!==void 0?R0(Z+JSON.stringify(W)):0;if(this.dependencies[Z].some(({checksum:Q})=>J===Q))return this;this.dependencies[Z].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((Q)=>Q?.subType==="derive").map((Q)=>({fn:Q.toString(),stack:new Error().stack??""})),resolve:$.event.transform.filter((Q)=>Q?.subType==="resolve").map((Q)=>({fn:Q.toString(),stack:new Error().stack??""}))}),this.event=s0(this.event,D1($.event),J)}else this.event=s0(this.event,D1($.event));return this}macro($){const Z={checksum:R0(JSON.stringify({name:this.config.name,seed:this.config.seed,content:$.toString()})),fn:$};return this.extender.macros.push(Z),this}mount($,Z){if($ instanceof i||typeof $==="function"||$.length===0||$==="/"){const J=typeof $==="function"?$:$ instanceof i?$.compile().fetch:Z instanceof i?Z.compile().fetch:Z,Q=async({request:Y,path:G})=>J(new Request(F1(Y.url,G||"/"),Y));return this.all("/*",Q,{type:"none"}),this}const W=$.length;if(Z instanceof i)Z=Z.compile().fetch;const X=async({request:J,path:Q})=>Z(new Request(F1(J.url,Q.slice(W)||"/"),J));return this.all($,X,{type:"none"}),this.all($+($.endsWith("/")?"*":"/*"),X,{type:"none"}),this}get($,Z,W){return this.add("GET",$,Z,W),this}post($,Z,W){return this.add("POST",$,Z,W),this}put($,Z,W){return this.add("PUT",$,Z,W),this}patch($,Z,W){return this.add("PATCH",$,Z,W),this}delete($,Z,W){return this.add("DELETE",$,Z,W),this}options($,Z,W){return this.add("OPTIONS",$,Z,W),this}all($,Z,W){return this.add("ALL",$,Z,W),this}head($,Z,W){return this.add("HEAD",$,Z,W),this}connect($,Z,W){return this.add("CONNECT",$,Z,W),this}route($,Z,W,X){return this.add($.toUpperCase(),Z,W,X,X?.config),this}ws($,Z){const W=Z.transformMessage?Array.isArray(Z.transformMessage)?Z.transformMessage:[Z.transformMessage]:void 0;let X=null;const J=k(Z?.body,{models:this.definitions.type,normalize:this.config.normalize}),Q=k(Z?.response,{models:this.definitions.type,normalize:this.config.normalize}),Y=(G)=>{if(typeof G==="string"){const B=G?.charCodeAt(0);if(B===47||B===123)try{G=JSON.parse(G)}catch{}else if(D0(G))G=+G}if(W?.length)for(let B=0;B<W.length;B++){const _=W[B](G);if(_!==void 0)G=_}return G};return this.route("$INTERNALWS",$,(G)=>{const{set:B,path:_,qi:K,headers:z,query:M,params:A}=G;if(X===null)X=this.getServer();if(X?.upgrade(G.request,{headers:typeof Z.upgrade==="function"?Z.upgrade(G):Z.upgrade,data:{validator:Q,open(j){Z.open?.(new N0(j,G))},message:(j,O)=>{const U=Y(O);if(J?.Check(U)===!1)return void j.send(new R("message",J,U).message);Z.message?.(new N0(j,G),U)},drain(j){Z.drain?.(new N0(j,G))},close(j,O,U){Z.close?.(new N0(j,G),O,U)}}}))return;return B.status=400,"Expected a websocket connection"},{beforeHandle:Z.beforeHandle,transform:Z.transform,headers:Z.headers,params:Z.params,query:Z.query}),this}state($,Z){switch(typeof $){case"object":return this.singleton.store=p(this.singleton.store,$),this;case"function":return this.singleton.store=$(this.singleton.store),this}if(!($ in this.singleton.store))this.singleton.store[$]=Z;return this}decorate($,Z){switch(typeof $){case"object":return this.singleton.decorator=p(this.singleton.decorator,$),this;case"function":return this.singleton.decorator=$(this.singleton.decorator),this}if(!($ in this.singleton.decorator))this.singleton.decorator[$]=Z;return this}derive($,Z){if(!Z)Z=$,$={as:"local"};const W={subType:"derive",fn:Z};return this.onTransform($,W)}model($,Z){switch(typeof $){case"object":return Object.entries($).forEach(([W,X])=>{if(!(W in this.definitions.type))this.definitions.type[W]=X}),this;case"function":return this.definitions.type=$(this.definitions.type),this}return this.definitions.type[$]=Z,this}mapDerive($,Z){if(!Z)Z=$,$={as:"local"};const W={subType:"derive",fn:Z};return this.onTransform($,W)}affix($,Z,W){if(W==="")return this;const X=["_","-"," "],J=(B)=>B[0].toUpperCase()+B.slice(1),Q=$==="prefix"?(B,_)=>X.includes(B.at(-1)??"")?B+_:B+J(_):X.includes(W.at(-1)??"")?(B,_)=>_+B:(B,_)=>_+J(B),Y=(B)=>{const _={};switch(B){case"decorator":for(let K in this.singleton.decorator)_[Q(W,K)]=this.singleton.decorator[K];this.singleton.decorator=_;break;case"state":for(let K in this.singleton.store)_[Q(W,K)]=this.singleton.store[K];this.singleton.store=_;break;case"model":for(let K in this.definitions.type)_[Q(W,K)]=this.definitions.type[K];this.definitions.type=_;break;case"error":for(let K in this.definitions.error)_[Q(W,K)]=this.definitions.error[K];this.definitions.error=_;break}},G=Array.isArray(Z)?Z:[Z];for(let B of G.some((_)=>_==="all")?["decorator","state","model","error"]:G)Y(B);return this}prefix($,Z){return this.affix("prefix",$,Z)}suffix($,Z){return this.affix("suffix",$,Z)}compile(){if(this.fetch=this.config.aot?O1(this):S1(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?O1(this):S1(this))($)};handleError=async($,Z)=>(this.handleError=this.config.aot?V1(this):j8(this))($,Z);outerErrorHandler=($)=>new Response($.message||$.name||"Error",{status:$?.status??500});listen=($,Z)=>{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(!D0($))throw new Error("Port must be a numeric value");$=parseInt($)}const W=this.fetch,X=typeof $==="object"?{development:!L0,reusePort:!0,...this.config.serve||{},...$||{},websocket:{...this.config.websocket||{},...j1||{}},fetch:W,error:this.outerErrorHandler}:{development:!L0,reusePort:!0,...this.config.serve||{},websocket:{...this.config.websocket||{},...j1||{}},port:$,fetch:W,error:this.outerErrorHandler};this.server=Bun?.serve(X);for(let J=0;J<this.event.start.length;J++)this.event.start[J].fn(this);if(Z)Z(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 $=0;$<this.event.stop.length;$++)this.event.stop[$].fn(this)}};get modules(){return Promise.all(this.promisedModules.promises)}}export{T as t,H as mergeObjectArray,f as mergeHook,h as mapResponse,u as mapEarlyResponse,o as mapCompactResponse,k as getSchemaValidator,i0 as getResponseSchemaValidator,N1 as error,i as default,R as ValidationError,J0 as StatusMap,e0 as ParseError,G0 as NotFoundError,r0 as InvertedStatusMap,T0 as InvalidCookieSignature,a0 as InternalServerError,i as Elysia,Y0 as ERROR_CODE,d as ELYSIA_RESPONSE,n as Cookie};
|
|
426
|
+
return st${$}(ctx)`;var W1=V0(P1(),1);var S1=($)=>async(Z)=>{const W=Z.url,X=W.indexOf("/",11),J=W.indexOf("?",X+1),Y=J===-1?W.substring(X):W.substring(X,J),Q={cookie:{},status:200,headers:{}},G=Object.assign({},$.singleton.decorator,{set:Q,store:$.singleton.store,request:Z,path:Y,qi:J});try{for(let F=0;F<$.event.request.length;F++){const P=$.event.request[F].fn;let N=P(G);if(N instanceof Promise)N=await N;if(N=u(N,Q),N)return N}const B=$.router.dynamic.find(Z.method,Y)??$.router.dynamic.find("ALL",Y);if(!B)throw new G0;const{handle:_,hooks:K,validator:z,content:M}=B.store;let A;if(Z.method!=="GET"&&Z.method!=="HEAD")if(M)switch(M){case"application/json":A=await Z.json();break;case"text/plain":A=await Z.text();break;case"application/x-www-form-urlencoded":A=W1.parse(await Z.text());break;case"application/octet-stream":A=await Z.arrayBuffer();break;case"multipart/form-data":A={};const F=await Z.formData();for(let P of F.keys()){if(A[P])continue;const N=F.getAll(P);if(N.length===1)A[P]=N[0];else A[P]=N}break}else{let F=Z.headers.get("content-type");if(F){const P=F.indexOf(";");if(P!==-1)F=F.slice(0,P);for(let N=0;N<K.parse.length;N++){const L=K.parse[N].fn;let q=L(G,F);if(q instanceof Promise)q=await q;if(q){A=q;break}}if(A===void 0)switch(F){case"application/json":A=await Z.json();break;case"text/plain":A=await Z.text();break;case"application/x-www-form-urlencoded":A=W1.parse(await Z.text());break;case"application/octet-stream":A=await Z.arrayBuffer();break;case"multipart/form-data":A={};const N=await Z.formData();for(let L of N.keys()){if(A[L])continue;const q=N.getAll(L);if(q.length===1)A[L]=q[0];else A[L]=q}break}}}G.body=A,G.params=B?.params||void 0,G.query=J===-1?{}:W1.parse(W.substring(J+1)),G.headers={};for(let[F,P]of Z.headers.entries())G.headers[F]=P;const j=Object.assign({},$.config?.cookie,z?.cookie?.config),O=Z.headers.get("cookie");G.cookie=await l0(G.set,O,j?{secret:j.secrets!==void 0?typeof j.secrets==="string"?j.secrets:j.secrets.join(","):void 0,sign:j.sign===!0?!0:j.sign!==void 0?typeof j.sign==="string"?j.sign:j.sign.join(","):void 0}:void 0);for(let F=0;F<K.transform.length;F++){const P=K.transform[F],N=P.fn(G);if(P.subType==="derive")if(N instanceof Promise)Object.assign(G,await N);else Object.assign(G,N);else if(N instanceof Promise)await N}if(z){if(z.headers){const F={};for(let P in Z.headers)F[P]=Z.headers.get(P);if(z.headers.Check(F)===!1)throw new R("header",z.headers,F)}if(z.params?.Check(G.params)===!1)throw new R("params",z.params,G.params);if(z.query?.Check(G.query)===!1)throw new R("query",z.query,G.query);if(z.cookie){const F={};for(let[P,N]of Object.entries(G.cookie))F[P]=N.value;if(z.cookie?.Check(F)===!1)throw new R("cookie",z.cookie,F)}if(z.body?.Check(A)===!1)throw new R("body",z.body,A)}for(let F=0;F<K.beforeHandle.length;F++){let P=K.beforeHandle[F].fn(G);if(P instanceof Promise)P=await P;if(P!==void 0){G.response=P;for(let L=0;L<K.afterHandle.length;L++){let q=K.afterHandle[L].fn(G);if(q instanceof Promise)q=await q;if(q)P=q}const N=u(P,G.set);if(N)return N}}let U=_(G);if(U instanceof Promise)U=await U;if(!K.afterHandle.length){const F=z?.response?.[U.status];if(F?.Check(U)===!1)throw new R("response",F,U)}else{G.response=U;for(let F=0;F<K.afterHandle.length;F++){let P=K.afterHandle[F].fn(G);if(P instanceof Promise)P=await P;const N=u(P,G.set);if(N!==void 0){const L=z?.response?.[U.status];if(L?.Check(N)===!1)throw new R("response",L,N);return N}}}if(G.set.cookie&&j?.sign){const F=!j.secrets?void 0:typeof j.secrets==="string"?j.secrets:j.secrets[0];if(j.sign===!0)for(let[P,N]of Object.entries(G.set.cookie))G.set.cookie[P].value=await A0(N.value,"${secret}");else{const P=z?.cookie?.schema?.properties;for(let N of j.sign){if(!(N in P))continue;if(G.set.cookie[N]?.value)G.set.cookie[N].value=await A0(G.set.cookie[N].value,F)}}}return h(U,G.set)}catch(B){if(B.status)Q.status=B.status;return $.handleError(G,B)}finally{for(let B of $.event.onResponse)await B.fn(G)}},j$=($)=>async(Z,W)=>{const X=Object.assign(Z,{error:W,code:W.code});X.set=Z.set;for(let J=0;J<$.event.error.length;J++){let Q=$.event.error[J].fn(X);if(Q instanceof Promise)Q=await Q;if(Q!==void 0&&Q!==null)return h(Q,Z.set)}return new Response(typeof W.cause==="string"?W.cause:W.message,{headers:Z.set.headers,status:W.status??500})};import{TypeSystem as I0} from"@sinclair/typebox/system";import{Type as g0,FormatRegistry as O0} from"@sinclair/typebox";import{Value as P0} from"@sinclair/typebox/value";import{TypeSystemPolicy as P6,TypeSystem as I6,TypeSystemDuplicateFormat as O6,TypeSystemDuplicateTypeKind as V6} from"@sinclair/typebox/system";import{TypeCompiler as T6,TypeCheck as C6} from"@sinclair/typebox/compiler";var N$=/(\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))/,P$=/(?: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\([^)]+\)/,I$=/^(?:(?:(?:(?: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)?)?$/;try{I0.Format("email",($)=>/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9]+(?:-[a-z0-9]+)*$/i.test($)),I0.Format("uuid",($)=>/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test($)),I0.Format("date",($)=>{const Z=$.replace(/"/g,"");if(N$.test(Z)||P$.test(Z)||I$.test(Z)){const W=new Date(Z);if(!Number.isNaN(W.getTime()))return!0}return!1}),I0.Format("date-time",($)=>{const Z=$.replace(/"/g,"");if(N$.test(Z)||P$.test(Z)||I$.test(Z)){const W=new Date(Z);if(!Number.isNaN(W.getTime()))return!0}return!1})}catch{}var T=Object.assign({},g0),O$=($)=>{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 $},T1=($,Z)=>{if(!(Z instanceof Blob))return!1;if($.minSize&&Z.size<O$($.minSize))return!1;if($.maxSize&&Z.size>O$($.maxSize))return!1;if($.extension)if(typeof $.extension==="string"){if(!Z.type.startsWith($.extension))return!1}else{for(let W=0;W<$.extension.length;W++)if(Z.type.startsWith($.extension[W]))return!0;return!1}return!0},z8=I0.Type("Files",($,Z)=>{if(!Array.isArray(Z))return T1($,Z);if($.minItems&&Z.length<$.minItems)return!1;if($.maxItems&&Z.length>$.maxItems)return!1;for(let W=0;W<Z.length;W++)if(!T1($,Z[W]))return!1;return!0});if(!O0.Get("numeric"))O0.Set("numeric",($)=>!!$&&!isNaN(+$));if(!O0.Get("boolean"))O0.Set("boolean",($)=>$==="true"||$==="false");if(!O0.Get("ObjectString"))O0.Set("ObjectString",($)=>{let Z=$.charCodeAt(0);if(Z===9||Z===10||Z===32)Z=$.trimStart().charCodeAt(0);if(Z!==123&&Z!==91)return!1;try{return JSON.parse($),!0}catch{return!1}});var a={Numeric:($)=>{const Z=g0.Number($);return T.Transform(T.Union([T.String({format:"numeric",default:0}),T.Number($)],$)).Decode((W)=>{const X=+W;if(isNaN(X))return W;if($&&!P0.Check(Z,X))throw new R("property",Z,X);return X}).Encode((W)=>W)},Date:($)=>{const Z=g0.Date($);return T.Transform(T.Union([g0.Date($),T.String({format:"date",default:(new Date()).toISOString()}),T.String({format:"date-time",default:(new Date()).toISOString()})],$)).Decode((W)=>{if(W instanceof Date)return W;const X=new Date(W);if(!P0.Check(Z,X))throw new R("property",Z,X);return X}).Encode((W)=>{if(typeof W==="string")return new Date(W);return W})},BooleanString:($)=>{const Z=g0.Boolean($);return T.Transform(T.Union([T.String({format:"boolean",default:!1}),T.Boolean($)],$)).Decode((W)=>{if(typeof W==="string")return W==="true";if($&&!P0.Check(Z,W))throw new R("property",Z,W);return W}).Encode((W)=>W)},ObjectString:($={},Z)=>{const W=T.Object($,Z),X=JSON.stringify(P0.Create(W));return T.Transform(T.Union([T.String({format:"ObjectString",default:X}),W])).Decode((J)=>{if(typeof J==="string"){try{J=JSON.parse(J)}catch{throw new R("property",W,J)}if(!P0.Check(W,J))throw new R("property",W,J);return J}return J}).Encode((J)=>{if(typeof J==="string")try{J=JSON.parse(J)}catch{throw new R("property",W,J)}if(!P0.Check(W,J))throw new R("property",W,J);return JSON.stringify(J)})},File:I0.Type("File",T1),Files:($={})=>T.Transform(z8($)).Decode((Z)=>{if(Array.isArray(Z))return Z;return[Z]}).Encode((Z)=>Z),Nullable:($)=>T.Union([T.Null(),$]),MaybeEmpty:($)=>T.Union([T.Null(),T.Undefined(),$]),Cookie:($,{domain:Z,expires:W,httpOnly:X,maxAge:J,path:Y,priority:Q,sameSite:G,secure:B,secrets:_,sign:K,...z}={})=>{const M=T.Object($,z);return M.config={domain:Z,expires:W,httpOnly:X,maxAge:J,path:Y,priority:Q,sameSite:G,secure:B,secrets:_,sign:K},M}};T.BooleanString=a.BooleanString;T.ObjectString=a.ObjectString;T.Numeric=a.Numeric;T.File=($={})=>a.File({default:"File",...$,extension:$?.type,type:"string",format:"binary"});T.Files=($={})=>a.Files({...$,elysiaMeta:"Files",default:"Files",extension:$?.type,type:"array",items:{...$,default:"Files",type:"string",format:"binary"}});T.Nullable=($)=>a.Nullable($);T.MaybeEmpty=a.MaybeEmpty;T.Cookie=a.Cookie;T.Date=a.Date;class i{config;server=null;dependencies={};reporter=new H1;_routes={};_types={Prefix:"",Scoped:!1,Singleton:{},Definitions:{},Metadata:{}};_ephemeral={};_volatile={};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:[]};validator=null;event={start:[],request:[],parse:[],transform:[],beforeHandle:[],afterHandle:[],mapResponse:[],onResponse:[],trace:[],error:[],stop:[]};telemetry={stack:void 0};router={http:new X0,ws:new X0,dynamic:new X0,static:{http:{handlers:[],variables:"",map:{},all:""},ws:{}},history:[]};inference={event:{body:!1,cookie:!1,headers:!1,queries:[],query:!1,set:!1,unknownQueries:!1},trace:{request:!1,parse:!1,transform:!1,handle:!1,beforeHandle:!1,afterHandle:!1,error:!1,context:!1,store:!1,set:!1}};promisedModules=new A1;constructor($){if($?.tags)if(!$.detail)$.detail={tags:$.tags};else $.detail.tags=$.tags;if(this.config={forceErrorEncapsulation:!0,prefix:"",aot:!0,strictPath:!1,global:!1,cookie:{},analytic:!1,...$,experimental:$?.experimental??{},seed:$?.seed===void 0?"":$?.seed},$?.analytic&&($?.name||$?.seed!==void 0))this.telemetry.stack=new Error().stack}getServer(){return this.server}get routes(){return this.router.history}routeTree=new Map;applyMacro($){if(this.extender.macros.length){const Z=o1({globalHook:this.event,localHook:$}),W={events:{global:this.event,local:$},onParse:Z("parse"),onTransform:Z("transform"),onBeforeHandle:Z("beforeHandle"),onAfterHandle:Z("afterHandle"),onResponse:Z("onResponse"),mapResponse:Z("mapResponse"),onError:Z("error")};for(let X of this.extender.macros)M1(X.fn(W),$)}}add($,Z,W,X,{allowMeta:J=!1,skipPrefix:Y=!1}={allowMeta:!1,skipPrefix:!1}){if(X=a1(X),Z!==""&&Z.charCodeAt(0)!==47)Z="/"+Z;if(this.config.prefix&&!Y&&!this.config.scoped)Z=this.config.prefix+Z;if(X?.type)switch(X.type){case"text":X.type="text/plain";break;case"json":X.type="application/json";break;case"formdata":X.type="multipart/form-data";break;case"urlencoded":X.type="application/x-www-form-urlencoded";break;case"arrayBuffer":X.type="application/octet-stream";break;default:break}const Q=this.definitions.type;let G,B,_,K,z,M;const A=!this.config.aot,j={body:X?.body??this.validator?.body,headers:X?.headers??this.validator?.headers,params:X?.params??this.validator?.params,query:X?.query??this.validator?.query,cookie:X?.cookie??this.validator?.cookie,response:X?.response??this.validator?.response},O=()=>j.cookie?t0({validator:j.cookie,defaultConfig:this.config.cookie,config:j.cookie?.config??{},dynamic:A,models:Q}):void 0,U=this.config.normalize,F=this.config.precompile===!0||typeof this.config.precompile==="object"&&this.config.precompile.schema===!0?{body:k(j.body,{dynamic:A,models:Q,normalize:U}),headers:k(j.headers,{dynamic:A,models:Q,additionalProperties:!0}),params:k(j.params,{dynamic:A,models:Q}),query:k(j.query,{dynamic:A,models:Q,normalize:U}),cookie:O(),response:i0(j.response,{dynamic:A,models:Q,normalize:U})}:{get body(){if(G)return G;return G=k(j.body,{dynamic:A,models:Q,normalize:U})},get headers(){if(B)return B;return k(j.headers,{dynamic:A,models:Q,additionalProperties:!0})},get params(){if(_)return _;return _=k(j.params,{dynamic:A,models:Q})},get query(){if(K)return K;return K=k(j.query,{dynamic:A,models:Q})},get cookie(){if(z)return z;return z=O()},get response(){if(M)return M;return M=i0(j.response,{dynamic:A,models:Q,normalize:U})}},P=Z.endsWith("/")?Z.slice(0,Z.length-1):Z+"/";if(X=f(X,{},{allowMacro:!0}),X.tags)if(!X.detail)X.detail={tags:X.tags};else X.detail.tags=X.tags;if(m(this.config.detail))X.detail=p(Object.assign({},this.config.detail),X.detail);this.applyMacro(X);const N=f(this.event,X);if(this.config.aot===!1){if(this.router.dynamic.add($,Z,{validator:F,hooks:N,content:X?.type,handle:W}),this.config.strictPath===!1)this.router.dynamic.add($,P,{validator:F,hooks:N,content:X?.type,handle:W});this.router.history.push({method:$,path:Z,composed:null,handler:W,hooks:N});return}let L=void 0;const q=this.config.precompile===!0||typeof this.config.precompile==="object"&&this.config.precompile.compose===!0,e=n0(this.inference),v=q?Z1({app:this,path:Z,method:$,localHook:f(X),hooks:N,validator:F,handler:W,allowMeta:J,appInference:e}):(V)=>{if(L)return L(V);return(L=Z1({app:this,path:Z,method:$,localHook:f(X),hooks:N,validator:F,handler:W,allowMeta:J,appInference:e}))(V)};if(!q)v.compose=()=>{return v.composed=Z1({app:this,path:Z,method:$,localHook:f(X),hooks:N,validator:F,handler:W,allowMeta:J,appInference:e})};let r=this.router.history.length;if(this.routeTree.has($+Z)){if(r=this.router.history.findIndex((V)=>V.path===Z&&V.method===$),r!==-1){const V=this.router.history.splice(r,1)[0];if(V&&this.routeTree.has(V?.method+V?.path))this.routeTree.delete(V.method+V.path)}}this.routeTree.set($+Z,r),this.router.history.push({method:$,path:Z,composed:v,handler:W,hooks:N});const S=this.router.static.http;if($==="$INTERNALWS"){const V=this.config.strictPath?void 0:Z.endsWith("/")?Z.slice(0,Z.length-1):Z+"/";if(Z.indexOf(":")===-1&&Z.indexOf("*")===-1){const $0=S.handlers.length;if(S.handlers.push(v),S.variables+=`const st${$0} = staticRouter.handlers[${$0}]\n`,this.router.static.ws[Z]=$0,V)this.router.static.ws[V]=$0}else if(this.router.ws.add("ws",Z,v),V)this.router.ws.add("ws",V,v);return}if(Z.indexOf(":")===-1&&Z.indexOf("*")===-1){const V=S.handlers.length;if(S.handlers.push(v),S.variables+=q?`const st${V} = staticRouter.handlers[${V}]\n`:`let st${V} = staticRouter.handlers[${V}]\nlet stc${V}\n`,!S.map[Z])S.map[Z]={code:""};if($==="ALL")S.map[Z].all=q?`default: return st${V}(ctx)\n`:`default: ${x0(V)}\n`;else S.map[Z].code=q?`case '${$}': return st${V}(ctx)\n${S.map[Z].code}`:`case '${$}': ${x0(V)}\n${S.map[Z].code}`;if(!this.config.strictPath){if(!S.map[P])S.map[P]={code:""};if($==="ALL")S.map[P].all=q?`default: return st${V}(ctx)\n`:`default: ${x0(V)}\n`;else S.map[P].code=q?`case '${$}': return st${V}(ctx)\n${S.map[P].code}`:`case '${$}': ${x0(V)}\n${S.map[P].code}`}}else if(this.router.http.add($,Z,v),!this.config.strictPath)this.router.http.add($,Z.endsWith("/")?Z.slice(0,Z.length-1):Z+"/",v)}setHeaders;headers($){if(!$)return this;if(!this.setHeaders)this.setHeaders={};return this.setHeaders=p(this.setHeaders,$),this}onStart($){return this.on("start",$),this}onRequest($){return this.on("request",$),this}onParse($,Z){if(!Z)return this.on("parse",$);return this.on($,"parse",Z)}onTransform($,Z){if(!Z)return this.on("transform",$);return this.on($,"transform",Z)}resolve($,Z){if(!Z)Z=$,$={as:"local"};const W={subType:"resolve",fn:Z};return this.onBeforeHandle($,W)}mapResolve($,Z){if(!Z)Z=$,$={as:"local"};const W={subType:"resolve",fn:Z};return this.onBeforeHandle($,W)}onBeforeHandle($,Z){if(!Z)return this.on("beforeHandle",$);return this.on($,"beforeHandle",Z)}onAfterHandle($,Z){if(!Z)return this.on("afterHandle",$);return this.on($,"afterHandle",Z)}mapResponse($,Z){if(!Z)return this.on("mapResponse",$);return this.on($,"mapResponse",Z)}onResponse($,Z){if(!Z)return this.on("response",$);return this.on($,"response",Z)}trace($,Z){if(!Z)Z=$,$={as:"local"};if(!Array.isArray(Z))Z=[Z];for(let W of Z)this.reporter.on("event",x1(()=>this.reporter,this.event.trace.length,W));return this.on($,"trace",Z),this}error($,Z){switch(typeof $){case"string":return Z.prototype[Q0]=$,this.definitions.error[$]=Z,this;case"function":return this.definitions.error=$(this.definitions.error),this}for(let[W,X]of Object.entries($))X.prototype[Q0]=W,this.definitions.error[W]=X;return this}onError($,Z){if(!Z)return this.on("error",$);return this.on($,"error",Z)}onStop($){return this.on("stop",$),this}on($,Z,W){let X;switch(typeof $){case"string":X=$,W=Z;break;case"object":X=Z;break}if(X==="response")X="onResponse";if(Array.isArray(W))W=c(W);else if(typeof W==="function")W=[{fn:W}];else W=[W];const J=W;for(let Y of J)Y.scope=typeof $==="string"?"local":$?.as??"local";if(X==="trace")h1(J.map((Y)=>Y.fn),this.inference.trace);else d0({[X]:J.map((Y)=>Y.fn)},this.inference.event);for(let Y of J){const Q=n1(Y,"global",{skipIfHasType:!0});switch(X){case"start":this.event.start.push(Q);break;case"request":this.event.request.push(Q);break;case"parse":this.event.parse.push(Q);break;case"transform":this.event.transform.push(Q);break;case"beforeHandle":this.event.beforeHandle.push(Q);break;case"afterHandle":this.event.afterHandle.push(Q);break;case"mapResponse":this.event.mapResponse.push(Q);break;case"onResponse":this.event.onResponse.push(Q);break;case"trace":this.event.trace.push(Q);break;case"error":this.event.error.push(Q);break;case"stop":this.event.stop.push(Q);break}}return this}propagate(){const $=(Z)=>{for(let W of Z)if("scope"in W&&W.scope==="local")W.scope="scoped"};return $(this.event.parse),$(this.event.transform),$(this.event.beforeHandle),$(this.event.afterHandle),$(this.event.mapResponse),$(this.event.onResponse),$(this.event.trace),$(this.event.error),this}group($,Z,W){const X=new i({...this.config,prefix:""});X.singleton={...this.singleton},X.definitions={...this.definitions},X.getServer=()=>this.server,X.inference=n0(this.inference);const J=typeof Z==="object",Y=(J?W:Z)(X);if(this.singleton=p(this.singleton,X.singleton),this.definitions=p(this.definitions,X.definitions),Y.event.request.length)this.event.request=[...this.event.request||[],...Y.event.request||[]];if(Y.event.onResponse.length)this.event.onResponse=[...this.event.onResponse||[],...Y.event.onResponse||[]];return this.model(Y.definitions.type),Object.values(X.router.history).forEach(({method:Q,path:G,handler:B,hooks:_})=>{if(G=(J?"":this.config.prefix)+$+G,J){const K=Z,z=_;this.add(Q,G,B,f(K,{...z||{},error:!z.error?Y.event.error:Array.isArray(z.error)?[...z.error||{},...Y.event.error||{}]:[z.error,...Y.event.error||{}]}))}else this.add(Q,G,B,f(_,{error:Y.event.error}),{skipPrefix:!0})}),this}guard($,Z){if(!Z){if(typeof $==="object"){if(this.applyMacro($),this.event=s0(this.event,$),this.validator={body:$.body??this.validator?.body,headers:$.headers??this.validator?.headers,params:$.params??this.validator?.params,query:$.query??this.validator?.query,response:$.response??this.validator?.response,cookie:$.cookie??this.validator?.cookie},$.detail)if(this.config.detail)this.config.detail=p(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 W=new i({...this.config,prefix:""});W.singleton={...this.singleton},W.definitions={...this.definitions},W.inference=n0(this.inference);const X=Z(W);if(this.singleton=p(this.singleton,W.singleton),this.definitions=p(this.definitions,W.definitions),X.getServer=()=>this.server,X.event.request.length)this.event.request=[...this.event.request||[],...X.event.request||[]];if(X.event.onResponse.length)this.event.onResponse=[...this.event.onResponse||[],...X.event.onResponse||[]];return this.model(X.definitions.type),Object.values(W.router.history).forEach(({method:J,path:Y,handler:Q,hooks:G})=>{this.add(J,Y,Q,f($,{...G||{},error:!G.error?X.event.error:Array.isArray(G.error)?[...G.error||{},...X.event.error||[]]:[G.error,...X.event.error||[]]},{allowMacro:!0}))}),this}use($,Z){if(Z?.scoped)return this.guard({},(W)=>W.use($));if(Array.isArray($)){let W=this;for(let X of $)W=this.use(X);return W}if($ instanceof Promise)return this.promisedModules.add($.then((W)=>{if(typeof W==="function")return W(this);if(W instanceof i)return this._use(W);if(typeof W.default==="function")return W.default(this);if(W.default instanceof i)return this._use(W.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((W)=>W.compile())),this;return this._use($)}_use($){if(typeof $==="function"){const J=$(this);if(J instanceof Promise)return this.promisedModules.add(J.then((Y)=>{if(Y instanceof i){this.compile();for(let{method:Q,path:G,handler:B,hooks:_}of Object.values(Y.router.history))this.add(Q,G,B,f(_,{error:Y.event.error}));return Y}if(typeof Y==="function")return Y(this);if(typeof Y.default==="function")return Y.default(this);return this._use(Y)}).then((Y)=>Y.compile())),this;return J}if($.promisedModules.size)return this.promisedModules.add($.modules.then(()=>this._use($)).then((J)=>J.compile())),this;const{name:Z,seed:W}=$.config;$.getServer=()=>this.getServer(),$.model(this.definitions.type),$.error(this.definitions.error);const X=$.config.scoped;if(X){if(Z){if(!(Z in this.dependencies))this.dependencies[Z]=[];const Y=W!==void 0?R0(Z+JSON.stringify(W)):0;if(this.dependencies[Z].some(({checksum:Q})=>Y===Q))return this;this.dependencies[Z].push(!this.config?.analytic?{name:$.config.name,seed:$.config.seed,checksum:Y,dependencies:$.dependencies}:{name:$.config.name,seed:$.config.seed,checksum:Y,dependencies:$.dependencies,stack:$.telemetry.stack,routes:$.router.history,decorators:$.singleton.decorator,store:$.singleton.store,type:$.definitions.type,error:$.definitions.error,derive:$.event.transform.filter((Q)=>Q.subType==="derive").map((Q)=>({fn:Q.fn.toString(),stack:new Error().stack??""})),resolve:$.event.transform.filter((Q)=>Q.subType==="derive").map((Q)=>({fn:Q.fn.toString(),stack:new Error().stack??""}))})}$.extender.macros=this.extender.macros.concat($.extender.macros);const J=[];for(let Y=0;Y<$.extender.macros.length;Y++){const Q=this.extender.macros[Y];if(J.includes(Q.checksum))$.extender.macros.splice(Y,1),Y--;J.push(Q.checksum)}if($.onRequest((Y)=>{Object.assign(Y,this.singleton.decorator),Object.assign(Y.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(X===!0&&$.config.prefix){this.mount($.config.prefix+"/",$.fetch);for(let Y of $.router.history)this.routeTree.set(Y.method+`${$.config.prefix}${Y.path}`,this.router.history.length),this.router.history.push({...Y,path:`${$.config.prefix}${Y.path}`,hooks:f(Y.hooks,{error:this.event.error})})}else{this.mount($.fetch);for(let Y of $.router.history)this.routeTree.set(Y.method+`${$.config.prefix}${Y.path}`,this.router.history.length),this.router.history.push({...Y,path:`${$.config.prefix}${Y.path}`,hooks:f(Y.hooks,{error:this.event.error})})}return this}else{this.headers($.setHeaders),$.reporter=this.reporter;for(let Y of $.event.trace)if(Y.scope&&Y.scope!=="local")this.trace(Y);if(Z){if(!(Z in this.dependencies))this.dependencies[Z]=[];const Y=W!==void 0?R0(Z+JSON.stringify(W)):0;if(!this.dependencies[Z].some(({checksum:Q})=>Y===Q))this.extender.macros=this.extender.macros.concat($.extender.macros)}else this.extender.macros=this.extender.macros.concat($.extender.macros);const J=[];for(let Y=0;Y<this.extender.macros.length;Y++){const Q=this.extender.macros[Y];if(Q.checksum){if(J.includes(Q.checksum))this.extender.macros.splice(Y,1),Y--;J.push(Q.checksum)}}this.inference={event:{body:this.inference.event.body||$.inference.event.body,cookie:this.inference.event.cookie||$.inference.event.cookie,headers:this.inference.event.headers||$.inference.event.headers,queries:[...this.inference.event.queries,...$.inference.event.queries],query:this.inference.event.query||$.inference.event.query,set:this.inference.event.set||$.inference.event.set,unknownQueries:this.inference.event.unknownQueries||$.inference.event.unknownQueries},trace:{request:this.inference.trace.request||$.inference.trace.request,parse:this.inference.trace.parse||$.inference.trace.parse,transform:this.inference.trace.transform||$.inference.trace.transform,handle:this.inference.trace.handle||$.inference.trace.handle,beforeHandle:this.inference.trace.beforeHandle||$.inference.trace.beforeHandle,afterHandle:this.inference.trace.afterHandle||$.inference.trace.afterHandle,error:this.inference.trace.error||$.inference.trace.error,context:this.inference.trace.context||$.inference.trace.context,store:this.inference.trace.store||$.inference.trace.store,set:this.inference.trace.set||$.inference.trace.set}}}this.decorate($.singleton.decorator),this.state($.singleton.store),this.model($.definitions.type),this.error($.definitions.error);for(let{method:J,path:Y,handler:Q,hooks:G}of Object.values($.router.history))this.add(J,Y,Q,f(G,{error:$.event.error}));if(!X)if(Z){if(!(Z in this.dependencies))this.dependencies[Z]=[];const J=W!==void 0?R0(Z+JSON.stringify(W)):0;if(this.dependencies[Z].some(({checksum:Y})=>J===Y))return this;this.dependencies[Z].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((Y)=>Y?.subType==="derive").map((Y)=>({fn:Y.toString(),stack:new Error().stack??""})),resolve:$.event.transform.filter((Y)=>Y?.subType==="resolve").map((Y)=>({fn:Y.toString(),stack:new Error().stack??""}))}),this.event=s0(this.event,F1($.event),J)}else this.event=s0(this.event,F1($.event));return this}macro($){const Z={checksum:R0(JSON.stringify({name:this.config.name,seed:this.config.seed,content:$.toString()})),fn:$};return this.extender.macros.push(Z),this}mount($,Z){if($ instanceof i||typeof $==="function"||$.length===0||$==="/"){const J=typeof $==="function"?$:$ instanceof i?$.compile().fetch:Z instanceof i?Z.compile().fetch:Z,Y=async({request:Q,path:G})=>J(new Request(D1(Q.url,G||"/"),Q));return this.all("/*",Y,{type:"none"}),this}const W=$.length;if(Z instanceof i)Z=Z.compile().fetch;const X=async({request:J,path:Y})=>Z(new Request(D1(J.url,Y.slice(W)||"/"),J));return this.all($,X,{type:"none"}),this.all($+($.endsWith("/")?"*":"/*"),X,{type:"none"}),this}get($,Z,W){return this.add("GET",$,Z,W),this}post($,Z,W){return this.add("POST",$,Z,W),this}put($,Z,W){return this.add("PUT",$,Z,W),this}patch($,Z,W){return this.add("PATCH",$,Z,W),this}delete($,Z,W){return this.add("DELETE",$,Z,W),this}options($,Z,W){return this.add("OPTIONS",$,Z,W),this}all($,Z,W){return this.add("ALL",$,Z,W),this}head($,Z,W){return this.add("HEAD",$,Z,W),this}connect($,Z,W){return this.add("CONNECT",$,Z,W),this}route($,Z,W,X){return this.add($.toUpperCase(),Z,W,X,X?.config),this}ws($,Z){const W=Z.transformMessage?Array.isArray(Z.transformMessage)?Z.transformMessage:[Z.transformMessage]:void 0;let X=null;const J=k(Z?.body,{models:this.definitions.type,normalize:this.config.normalize}),Y=k(Z?.response,{models:this.definitions.type,normalize:this.config.normalize}),Q=(G)=>{if(typeof G==="string"){const B=G?.charCodeAt(0);if(B===47||B===123)try{G=JSON.parse(G)}catch{}else if(F0(G))G=+G}if(W?.length)for(let B=0;B<W.length;B++){const _=W[B](G);if(_!==void 0)G=_}return G};return this.route("$INTERNALWS",$,(G)=>{const{set:B,path:_,qi:K,headers:z,query:M,params:A}=G;if(X===null)X=this.getServer();if(X?.upgrade(G.request,{headers:typeof Z.upgrade==="function"?Z.upgrade(G):Z.upgrade,data:{validator:Y,open(j){Z.open?.(new w0(j,G))},message:(j,O)=>{const U=Q(O);if(J?.Check(U)===!1)return void j.send(new R("message",J,U).message);Z.message?.(new w0(j,G),U)},drain(j){Z.drain?.(new w0(j,G))},close(j,O,U){Z.close?.(new w0(j,G),O,U)}}}))return;return B.status=400,"Expected a websocket connection"},{beforeHandle:Z.beforeHandle,transform:Z.transform,headers:Z.headers,params:Z.params,query:Z.query}),this}state($,Z){switch(typeof $){case"object":return this.singleton.store=p(this.singleton.store,$),this;case"function":return this.singleton.store=$(this.singleton.store),this}if(!($ in this.singleton.store))this.singleton.store[$]=Z;return this}decorate($,Z){switch(typeof $){case"object":return this.singleton.decorator=p(this.singleton.decorator,$),this;case"function":return this.singleton.decorator=$(this.singleton.decorator),this}if(!($ in this.singleton.decorator))this.singleton.decorator[$]=Z;return this}derive($,Z){if(!Z)Z=$,$={as:"local"};const W={subType:"derive",fn:Z};return this.onTransform($,W)}model($,Z){switch(typeof $){case"object":return Object.entries($).forEach(([W,X])=>{if(!(W in this.definitions.type))this.definitions.type[W]=X}),this;case"function":return this.definitions.type=$(this.definitions.type),this}return this.definitions.type[$]=Z,this}mapDerive($,Z){if(!Z)Z=$,$={as:"local"};const W={subType:"derive",fn:Z};return this.onTransform($,W)}affix($,Z,W){if(W==="")return this;const X=["_","-"," "],J=(B)=>B[0].toUpperCase()+B.slice(1),Y=$==="prefix"?(B,_)=>X.includes(B.at(-1)??"")?B+_:B+J(_):X.includes(W.at(-1)??"")?(B,_)=>_+B:(B,_)=>_+J(B),Q=(B)=>{const _={};switch(B){case"decorator":for(let K in this.singleton.decorator)_[Y(W,K)]=this.singleton.decorator[K];this.singleton.decorator=_;break;case"state":for(let K in this.singleton.store)_[Y(W,K)]=this.singleton.store[K];this.singleton.store=_;break;case"model":for(let K in this.definitions.type)_[Y(W,K)]=this.definitions.type[K];this.definitions.type=_;break;case"error":for(let K in this.definitions.error)_[Y(W,K)]=this.definitions.error[K];this.definitions.error=_;break}},G=Array.isArray(Z)?Z:[Z];for(let B of G.some((_)=>_==="all")?["decorator","state","model","error"]:G)Q(B);return this}prefix($,Z){return this.affix("prefix",$,Z)}suffix($,Z){return this.affix("suffix",$,Z)}compile(){if(this.fetch=this.config.aot?O1(this):S1(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?O1(this):S1(this))($)};handleError=async($,Z)=>(this.handleError=this.config.aot?V1(this):j$(this))($,Z);outerErrorHandler=($)=>new Response($.message||$.name||"Error",{status:$?.status??500});listen=($,Z)=>{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(!F0($))throw new Error("Port must be a numeric value");$=parseInt($)}const W=this.fetch,X=typeof $==="object"?{development:!L0,reusePort:!0,...this.config.serve||{},...$||{},websocket:{...this.config.websocket||{},...j1||{}},fetch:W,error:this.outerErrorHandler}:{development:!L0,reusePort:!0,...this.config.serve||{},websocket:{...this.config.websocket||{},...j1||{}},port:$,fetch:W,error:this.outerErrorHandler};this.server=Bun?.serve(X);for(let J=0;J<this.event.start.length;J++)this.event.start[J].fn(this);if(Z)Z(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 $=0;$<this.event.stop.length;$++)this.event.stop[$].fn(this)}};get modules(){return Promise.all(this.promisedModules.promises)}}export{T as t,H as mergeObjectArray,f as mergeHook,h as mapResponse,u as mapEarlyResponse,o as mapCompactResponse,k as getSchemaValidator,i0 as getResponseSchemaValidator,w1 as error,i as default,R as ValidationError,J0 as StatusMap,e0 as ParseError,G0 as NotFoundError,r0 as InvertedStatusMap,T0 as InvalidCookieSignature,a0 as InternalServerError,i as Elysia,Q0 as ERROR_CODE,d as ELYSIA_RESPONSE,n as Cookie};
|
|
427
427
|
|
|
428
|
-
//# debugId=
|
|
428
|
+
//# debugId=09CC6433DAB6FC0964756e2164756e21
|