@elysiumjs/argus 0.1.0 → 0.2.0
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/.turbo/turbo-build.log +3 -3
- package/CHANGELOG.md +39 -0
- package/README.md +9 -0
- package/dist/index.js +336 -271
- package/package.json +58 -58
- package/src/argus.module.ts +55 -0
- package/src/index.ts +1 -0
- package/src/sdk.ts +19 -7
- package/tests/argus.module.test.ts +120 -0
- package/tests/setup.ts +0 -11
- package/bunfig.toml +0 -11
package/dist/index.js
CHANGED
|
@@ -1,132 +1,189 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var dQ=Object.defineProperty;var OX=(Y,X)=>{for(var Z in X)dQ(Y,Z,{get:X[Z],enumerable:!0,configurable:!0,set:(W)=>X[Z]=()=>W})};var vQ=import.meta.require;import{OTLPTraceExporter as hQ}from"@opentelemetry/exporter-trace-otlp-http";import{Resource as mQ}from"@opentelemetry/resources";import{NodeSDK as uQ}from"@opentelemetry/sdk-node";import{ConsoleSpanExporter as cQ,TraceIdRatioBasedSampler as pQ}from"@opentelemetry/sdk-trace-base";import{ATTR_SERVICE_NAME as iQ}from"@opentelemetry/semantic-conventions";class LY{static instance;sdk=null;constructor(){}static initialize(Y){if(LY.instance){console.error("[Argus] SDK already initialized. Ignoring duplicate call.");return}if(LY.instance=new LY,!Y.enabled)return;let X=LY.createExporter(Y);LY.instance.sdk=new uQ({resource:new mQ({[iQ]:Y.serviceName}),traceExporter:X,...Y.samplingRate!==void 0&&{sampler:new pQ(Y.samplingRate)}}),LY.instance.sdk.start()}static createExporter(Y){switch(Y.exporter){case"otlp-http":return new hQ({url:Y.endpoint??"http://localhost:4318/v1/traces"});case"console":default:return new cQ}}static async shutdown(){if(LY.instance?.sdk)await LY.instance.sdk.shutdown()}}import{SpanStatusCode as RW,trace as lQ}from"@opentelemetry/api";function nQ(Y,X){return function(Z,W,$){let Q=$.value,J=Y??`${Z.constructor.name}.${String(W)}`;return $.value=async function(...M){return lQ.getTracer("@elysiumjs/argus").startActiveSpan(J,X??{},async(U)=>{try{let G=await Q.apply(this,M);return U.setStatus({code:RW.OK}),G}catch(G){throw U.setStatus({code:RW.ERROR,message:G instanceof Error?G.message:"Unknown error"}),U.recordException(G),G}finally{U.end()}})},$}}import{trace as oQ}from"@opentelemetry/api";function tQ(Y={}){let X=oQ.getActiveSpan();if(!X)return Y;let Z=X.spanContext();return{...Y,traceId:Z.traceId,spanId:Z.spanId}}import{SpanStatusCode as gQ,trace as sH}from"@opentelemetry/api";var B8={};OX(B8,{IsUndefined:()=>p0,IsUint8Array:()=>EY,IsSymbol:()=>wZ,IsString:()=>_0,IsRegExp:()=>S1,IsObject:()=>D0,IsNumber:()=>I8,IsNull:()=>DZ,IsIterator:()=>qZ,IsFunction:()=>AZ,IsDate:()=>SX,IsBoolean:()=>bY,IsBigInt:()=>O1,IsAsyncIterator:()=>HZ,IsArray:()=>c0,HasPropertyKey:()=>z6});function z6(Y,X){return X in Y}function HZ(Y){return D0(Y)&&!c0(Y)&&!EY(Y)&&Symbol.asyncIterator in Y}function c0(Y){return Array.isArray(Y)}function O1(Y){return typeof Y==="bigint"}function bY(Y){return typeof Y==="boolean"}function SX(Y){return Y instanceof globalThis.Date}function AZ(Y){return typeof Y==="function"}function qZ(Y){return D0(Y)&&!c0(Y)&&!EY(Y)&&Symbol.iterator in Y}function DZ(Y){return Y===null}function I8(Y){return typeof Y==="number"}function D0(Y){return typeof Y==="object"&&Y!==null}function S1(Y){return Y instanceof globalThis.RegExp}function _0(Y){return typeof Y==="string"}function wZ(Y){return typeof Y==="symbol"}function EY(Y){return Y instanceof globalThis.Uint8Array}function p0(Y){return Y===void 0}function sQ(Y){return Y.map((X)=>U6(X))}function rQ(Y){return new Date(Y.getTime())}function aQ(Y){return new Uint8Array(Y)}function eQ(Y){return new RegExp(Y.source,Y.flags)}function Y2(Y){let X={};for(let Z of Object.getOwnPropertyNames(Y))X[Z]=U6(Y[Z]);for(let Z of Object.getOwnPropertySymbols(Y))X[Z]=U6(Y[Z]);return X}function U6(Y){return c0(Y)?sQ(Y):SX(Y)?rQ(Y):EY(Y)?aQ(Y):S1(Y)?eQ(Y):D0(Y)?Y2(Y):Y}function C0(Y){return U6(Y)}function kX(Y,X){return X===void 0?C0(Y):C0({...X,...Y})}function G6(Y){return t(Y)&&globalThis.Symbol.asyncIterator in Y}function B6(Y){return t(Y)&&globalThis.Symbol.iterator in Y}function LZ(Y){return t(Y)&&(globalThis.Object.getPrototypeOf(Y)===Object.prototype||globalThis.Object.getPrototypeOf(Y)===null)}function N6(Y){return Y instanceof globalThis.Promise}function D8(Y){return Y instanceof Date&&globalThis.Number.isFinite(Y.getTime())}function bW(Y){return Y instanceof globalThis.Map}function EW(Y){return Y instanceof globalThis.Set}function h8(Y){return globalThis.ArrayBuffer.isView(Y)}function gX(Y){return Y instanceof globalThis.Uint8Array}function l(Y,X){return X in Y}function t(Y){return Y!==null&&typeof Y==="object"}function p(Y){return globalThis.Array.isArray(Y)&&!globalThis.ArrayBuffer.isView(Y)}function R0(Y){return Y===void 0}function VY(Y){return Y===null}function OY(Y){return typeof Y==="boolean"}function u(Y){return typeof Y==="number"}function H6(Y){return globalThis.Number.isInteger(Y)}function Q8(Y){return typeof Y==="bigint"}function Q0(Y){return typeof Y==="string"}function YX(Y){return typeof Y==="function"}function IY(Y){return typeof Y==="symbol"}function T8(Y){return Q8(Y)||OY(Y)||VY(Y)||u(Y)||Q0(Y)||IY(Y)||R0(Y)}var j0;(function(Y){Y.InstanceMode="default",Y.ExactOptionalPropertyTypes=!1,Y.AllowArrayObject=!1,Y.AllowNaN=!1,Y.AllowNullVoid=!1;function X(J,M){return Y.ExactOptionalPropertyTypes?M in J:J[M]!==void 0}Y.IsExactOptionalProperty=X;function Z(J){let M=t(J);return Y.AllowArrayObject?M:M&&!p(J)}Y.IsObjectLike=Z;function W(J){return Z(J)&&!(J instanceof Date)&&!(J instanceof Uint8Array)}Y.IsRecordLike=W;function $(J){return Y.AllowNaN?u(J):Number.isFinite(J)}Y.IsNumberLike=$;function Q(J){let M=R0(J);return Y.AllowNullVoid?M||J===null:M}Y.IsVoidLike=Q})(j0||(j0={}));function X2(Y){return globalThis.Object.freeze(Y).map((X)=>P1(X))}function Z2(Y){return Y}function W2(Y){return Y}function $2(Y){return Y}function Q2(Y){let X={};for(let Z of Object.getOwnPropertyNames(Y))X[Z]=P1(Y[Z]);for(let Z of Object.getOwnPropertySymbols(Y))X[Z]=P1(Y[Z]);return globalThis.Object.freeze(X)}function P1(Y){return c0(Y)?X2(Y):SX(Y)?Z2(Y):EY(Y)?W2(Y):S1(Y)?$2(Y):D0(Y)?Q2(Y):Y}function j(Y,X){let Z=X!==void 0?{...X,...Y}:Y;switch(j0.InstanceMode){case"freeze":return P1(Z);case"clone":return C0(Z);default:return Z}}class i extends Error{constructor(Y){super(Y)}}var S0=Symbol.for("TypeBox.Transform"),s8=Symbol.for("TypeBox.Readonly"),o0=Symbol.for("TypeBox.Optional"),m8=Symbol.for("TypeBox.Hint"),O=Symbol.for("TypeBox.Kind");function fX(Y){return D0(Y)&&Y[s8]==="Readonly"}function P8(Y){return D0(Y)&&Y[o0]==="Optional"}function OZ(Y){return W0(Y,"Any")}function SZ(Y){return W0(Y,"Argument")}function r8(Y){return W0(Y,"Array")}function PX(Y){return W0(Y,"AsyncIterator")}function _X(Y){return W0(Y,"BigInt")}function TY(Y){return W0(Y,"Boolean")}function a8(Y){return W0(Y,"Computed")}function e8(Y){return W0(Y,"Constructor")}function J2(Y){return W0(Y,"Date")}function YY(Y){return W0(Y,"Function")}function XY(Y){return W0(Y,"Integer")}function k0(Y){return W0(Y,"Intersect")}function FX(Y){return W0(Y,"Iterator")}function W0(Y,X){return D0(Y)&&O in Y&&Y[O]===X}function A6(Y){return bY(Y)||I8(Y)||_0(Y)}function x8(Y){return W0(Y,"Literal")}function k8(Y){return W0(Y,"MappedKey")}function b0(Y){return W0(Y,"MappedResult")}function XX(Y){return W0(Y,"Never")}function M2(Y){return W0(Y,"Not")}function _1(Y){return W0(Y,"Null")}function ZY(Y){return W0(Y,"Number")}function i0(Y){return W0(Y,"Object")}function jX(Y){return W0(Y,"Promise")}function KX(Y){return W0(Y,"Record")}function v0(Y){return W0(Y,"Ref")}function PZ(Y){return W0(Y,"RegExp")}function xY(Y){return W0(Y,"String")}function F1(Y){return W0(Y,"Symbol")}function g8(Y){return W0(Y,"TemplateLiteral")}function z2(Y){return W0(Y,"This")}function B0(Y){return D0(Y)&&S0 in Y}function f8(Y){return W0(Y,"Tuple")}function kY(Y){return W0(Y,"Undefined")}function J0(Y){return W0(Y,"Union")}function U2(Y){return W0(Y,"Uint8Array")}function G2(Y){return W0(Y,"Unknown")}function B2(Y){return W0(Y,"Unsafe")}function N2(Y){return W0(Y,"Void")}function ZX(Y){return D0(Y)&&O in Y&&_0(Y[O])}function I0(Y){return OZ(Y)||SZ(Y)||r8(Y)||TY(Y)||_X(Y)||PX(Y)||a8(Y)||e8(Y)||J2(Y)||YY(Y)||XY(Y)||k0(Y)||FX(Y)||x8(Y)||k8(Y)||b0(Y)||XX(Y)||M2(Y)||_1(Y)||ZY(Y)||i0(Y)||jX(Y)||KX(Y)||v0(Y)||PZ(Y)||xY(Y)||F1(Y)||g8(Y)||z2(Y)||f8(Y)||kY(Y)||J0(Y)||U2(Y)||G2(Y)||B2(Y)||N2(Y)||ZX(Y)}var L={};OX(L,{TypeGuardUnknownTypeError:()=>VW,IsVoid:()=>w$,IsUnsafe:()=>D$,IsUnknown:()=>q$,IsUnionLiteral:()=>P2,IsUnion:()=>jZ,IsUndefined:()=>H$,IsUint8Array:()=>A$,IsTuple:()=>N$,IsTransform:()=>B$,IsThis:()=>G$,IsTemplateLiteral:()=>U$,IsSymbol:()=>z$,IsString:()=>M$,IsSchema:()=>E0,IsRegExp:()=>J$,IsRef:()=>Q$,IsRecursive:()=>S2,IsRecord:()=>$$,IsReadonly:()=>D2,IsProperties:()=>q6,IsPromise:()=>W$,IsOptional:()=>w2,IsObject:()=>Z$,IsNumber:()=>X$,IsNull:()=>Y$,IsNot:()=>eW,IsNever:()=>aW,IsMappedResult:()=>rW,IsMappedKey:()=>sW,IsLiteralValue:()=>tW,IsLiteralString:()=>nW,IsLiteralNumber:()=>oW,IsLiteralBoolean:()=>O2,IsLiteral:()=>K1,IsKindOf:()=>Y0,IsKind:()=>L$,IsIterator:()=>lW,IsIntersect:()=>iW,IsInteger:()=>pW,IsImport:()=>L2,IsFunction:()=>cW,IsDate:()=>uW,IsConstructor:()=>mW,IsComputed:()=>hW,IsBoolean:()=>vW,IsBigInt:()=>dW,IsAsyncIterator:()=>yW,IsArray:()=>fW,IsArgument:()=>gW,IsAny:()=>kW});class VW extends i{}var H2=["Argument","Any","Array","AsyncIterator","BigInt","Boolean","Computed","Constructor","Date","Enum","Function","Integer","Intersect","Iterator","Literal","MappedKey","MappedResult","Not","Null","Number","Object","Promise","Record","Ref","RegExp","String","Symbol","TemplateLiteral","This","Tuple","Undefined","Union","Uint8Array","Unknown","Void"];function IW(Y){try{return new RegExp(Y),!0}catch{return!1}}function _Z(Y){if(!_0(Y))return!1;for(let X=0;X<Y.length;X++){let Z=Y.charCodeAt(X);if(Z>=7&&Z<=13||Z===27||Z===127)return!1}return!0}function TW(Y){return FZ(Y)||E0(Y)}function j1(Y){return p0(Y)||O1(Y)}function F0(Y){return p0(Y)||I8(Y)}function FZ(Y){return p0(Y)||bY(Y)}function w0(Y){return p0(Y)||_0(Y)}function A2(Y){return p0(Y)||_0(Y)&&_Z(Y)&&IW(Y)}function q2(Y){return p0(Y)||_0(Y)&&_Z(Y)}function xW(Y){return p0(Y)||E0(Y)}function D2(Y){return D0(Y)&&Y[s8]==="Readonly"}function w2(Y){return D0(Y)&&Y[o0]==="Optional"}function kW(Y){return Y0(Y,"Any")&&w0(Y.$id)}function gW(Y){return Y0(Y,"Argument")&&I8(Y.index)}function fW(Y){return Y0(Y,"Array")&&Y.type==="array"&&w0(Y.$id)&&E0(Y.items)&&F0(Y.minItems)&&F0(Y.maxItems)&&FZ(Y.uniqueItems)&&xW(Y.contains)&&F0(Y.minContains)&&F0(Y.maxContains)}function yW(Y){return Y0(Y,"AsyncIterator")&&Y.type==="AsyncIterator"&&w0(Y.$id)&&E0(Y.items)}function dW(Y){return Y0(Y,"BigInt")&&Y.type==="bigint"&&w0(Y.$id)&&j1(Y.exclusiveMaximum)&&j1(Y.exclusiveMinimum)&&j1(Y.maximum)&&j1(Y.minimum)&&j1(Y.multipleOf)}function vW(Y){return Y0(Y,"Boolean")&&Y.type==="boolean"&&w0(Y.$id)}function hW(Y){return Y0(Y,"Computed")&&_0(Y.target)&&c0(Y.parameters)&&Y.parameters.every((X)=>E0(X))}function mW(Y){return Y0(Y,"Constructor")&&Y.type==="Constructor"&&w0(Y.$id)&&c0(Y.parameters)&&Y.parameters.every((X)=>E0(X))&&E0(Y.returns)}function uW(Y){return Y0(Y,"Date")&&Y.type==="Date"&&w0(Y.$id)&&F0(Y.exclusiveMaximumTimestamp)&&F0(Y.exclusiveMinimumTimestamp)&&F0(Y.maximumTimestamp)&&F0(Y.minimumTimestamp)&&F0(Y.multipleOfTimestamp)}function cW(Y){return Y0(Y,"Function")&&Y.type==="Function"&&w0(Y.$id)&&c0(Y.parameters)&&Y.parameters.every((X)=>E0(X))&&E0(Y.returns)}function L2(Y){return Y0(Y,"Import")&&z6(Y,"$defs")&&D0(Y.$defs)&&q6(Y.$defs)&&z6(Y,"$ref")&&_0(Y.$ref)&&Y.$ref in Y.$defs}function pW(Y){return Y0(Y,"Integer")&&Y.type==="integer"&&w0(Y.$id)&&F0(Y.exclusiveMaximum)&&F0(Y.exclusiveMinimum)&&F0(Y.maximum)&&F0(Y.minimum)&&F0(Y.multipleOf)}function q6(Y){return D0(Y)&&Object.entries(Y).every(([X,Z])=>_Z(X)&&E0(Z))}function iW(Y){return Y0(Y,"Intersect")&&(_0(Y.type)&&Y.type!=="object"?!1:!0)&&c0(Y.allOf)&&Y.allOf.every((X)=>E0(X)&&!B$(X))&&w0(Y.type)&&(FZ(Y.unevaluatedProperties)||xW(Y.unevaluatedProperties))&&w0(Y.$id)}function lW(Y){return Y0(Y,"Iterator")&&Y.type==="Iterator"&&w0(Y.$id)&&E0(Y.items)}function Y0(Y,X){return D0(Y)&&O in Y&&Y[O]===X}function nW(Y){return K1(Y)&&_0(Y.const)}function oW(Y){return K1(Y)&&I8(Y.const)}function O2(Y){return K1(Y)&&bY(Y.const)}function K1(Y){return Y0(Y,"Literal")&&w0(Y.$id)&&tW(Y.const)}function tW(Y){return bY(Y)||I8(Y)||_0(Y)}function sW(Y){return Y0(Y,"MappedKey")&&c0(Y.keys)&&Y.keys.every((X)=>I8(X)||_0(X))}function rW(Y){return Y0(Y,"MappedResult")&&q6(Y.properties)}function aW(Y){return Y0(Y,"Never")&&D0(Y.not)&&Object.getOwnPropertyNames(Y.not).length===0}function eW(Y){return Y0(Y,"Not")&&E0(Y.not)}function Y$(Y){return Y0(Y,"Null")&&Y.type==="null"&&w0(Y.$id)}function X$(Y){return Y0(Y,"Number")&&Y.type==="number"&&w0(Y.$id)&&F0(Y.exclusiveMaximum)&&F0(Y.exclusiveMinimum)&&F0(Y.maximum)&&F0(Y.minimum)&&F0(Y.multipleOf)}function Z$(Y){return Y0(Y,"Object")&&Y.type==="object"&&w0(Y.$id)&&q6(Y.properties)&&TW(Y.additionalProperties)&&F0(Y.minProperties)&&F0(Y.maxProperties)}function W$(Y){return Y0(Y,"Promise")&&Y.type==="Promise"&&w0(Y.$id)&&E0(Y.item)}function $$(Y){return Y0(Y,"Record")&&Y.type==="object"&&w0(Y.$id)&&TW(Y.additionalProperties)&&D0(Y.patternProperties)&&((X)=>{let Z=Object.getOwnPropertyNames(X.patternProperties);return Z.length===1&&IW(Z[0])&&D0(X.patternProperties)&&E0(X.patternProperties[Z[0]])})(Y)}function S2(Y){return D0(Y)&&m8 in Y&&Y[m8]==="Recursive"}function Q$(Y){return Y0(Y,"Ref")&&w0(Y.$id)&&_0(Y.$ref)}function J$(Y){return Y0(Y,"RegExp")&&w0(Y.$id)&&_0(Y.source)&&_0(Y.flags)&&F0(Y.maxLength)&&F0(Y.minLength)}function M$(Y){return Y0(Y,"String")&&Y.type==="string"&&w0(Y.$id)&&F0(Y.minLength)&&F0(Y.maxLength)&&A2(Y.pattern)&&q2(Y.format)}function z$(Y){return Y0(Y,"Symbol")&&Y.type==="symbol"&&w0(Y.$id)}function U$(Y){return Y0(Y,"TemplateLiteral")&&Y.type==="string"&&_0(Y.pattern)&&Y.pattern[0]==="^"&&Y.pattern[Y.pattern.length-1]==="$"}function G$(Y){return Y0(Y,"This")&&w0(Y.$id)&&_0(Y.$ref)}function B$(Y){return D0(Y)&&S0 in Y}function N$(Y){return Y0(Y,"Tuple")&&Y.type==="array"&&w0(Y.$id)&&I8(Y.minItems)&&I8(Y.maxItems)&&Y.minItems===Y.maxItems&&(p0(Y.items)&&p0(Y.additionalItems)&&Y.minItems===0||c0(Y.items)&&Y.items.every((X)=>E0(X)))}function H$(Y){return Y0(Y,"Undefined")&&Y.type==="undefined"&&w0(Y.$id)}function P2(Y){return jZ(Y)&&Y.anyOf.every((X)=>nW(X)||oW(X))}function jZ(Y){return Y0(Y,"Union")&&w0(Y.$id)&&D0(Y)&&c0(Y.anyOf)&&Y.anyOf.every((X)=>E0(X))}function A$(Y){return Y0(Y,"Uint8Array")&&Y.type==="Uint8Array"&&w0(Y.$id)&&F0(Y.minByteLength)&&F0(Y.maxByteLength)}function q$(Y){return Y0(Y,"Unknown")&&w0(Y.$id)}function D$(Y){return Y0(Y,"Unsafe")}function w$(Y){return Y0(Y,"Void")&&Y.type==="void"&&w0(Y.$id)}function L$(Y){return D0(Y)&&O in Y&&_0(Y[O])&&!H2.includes(Y[O])}function E0(Y){return D0(Y)&&(kW(Y)||gW(Y)||fW(Y)||vW(Y)||dW(Y)||yW(Y)||hW(Y)||mW(Y)||uW(Y)||cW(Y)||pW(Y)||iW(Y)||lW(Y)||K1(Y)||sW(Y)||rW(Y)||aW(Y)||eW(Y)||Y$(Y)||X$(Y)||Z$(Y)||W$(Y)||$$(Y)||Q$(Y)||J$(Y)||M$(Y)||z$(Y)||U$(Y)||G$(Y)||N$(Y)||H$(Y)||jZ(Y)||A$(Y)||q$(Y)||D$(Y)||w$(Y)||L$(Y))}var O$="(true|false)",D6="(0|[1-9][0-9]*)",S$="(.*)";var WX="^(0|[1-9][0-9]*)$",$X="^(.*)$",P$="^(?!.*)$";var q0={};OX(q0,{Set:()=>C2,Has:()=>K2,Get:()=>R2,Entries:()=>_2,Delete:()=>j2,Clear:()=>F2});var yX=new Map;function _2(){return new Map(yX)}function F2(){return yX.clear()}function j2(Y){return yX.delete(Y)}function K2(Y){return yX.has(Y)}function C2(Y,X){yX.set(Y,X)}function R2(Y){return yX.get(Y)}var t0={};OX(t0,{Set:()=>T2,Has:()=>I2,Get:()=>x2,Entries:()=>b2,Delete:()=>V2,Clear:()=>E2});var dX=new Map;function b2(){return new Map(dX)}function E2(){return dX.clear()}function V2(Y){return dX.delete(Y)}function I2(Y){return dX.has(Y)}function T2(Y,X){dX.set(Y,X)}function x2(Y){return dX.get(Y)}function _$(Y,X){return Y.includes(X)}function F$(Y){return[...new Set(Y)]}function k2(Y,X){return Y.filter((Z)=>X.includes(Z))}function g2(Y,X){return Y.reduce((Z,W)=>{return k2(Z,W)},X)}function j$(Y){return Y.length===1?Y[0]:Y.length>1?g2(Y.slice(1),Y[0]):[]}function K$(Y){let X=[];for(let Z of Y)X.push(...Z);return X}function QX(Y){return j({[O]:"Any"},Y)}function vX(Y,X){return j({[O]:"Array",type:"array",items:Y},X)}function C$(Y){return j({[O]:"Argument",index:Y})}function hX(Y,X){return j({[O]:"AsyncIterator",type:"AsyncIterator",items:Y},X)}function K0(Y,X,Z){return j({[O]:"Computed",target:Y,parameters:X},Z)}function f2(Y,X){let{[X]:Z,...W}=Y;return W}function g0(Y,X){return X.reduce((Z,W)=>f2(Z,W),Y)}function a(Y){return j({[O]:"Never",not:{}},Y)}function z0(Y){return j({[O]:"MappedResult",properties:Y})}function mX(Y,X,Z){return j({[O]:"Constructor",type:"Constructor",parameters:Y,returns:X},Z)}function SY(Y,X,Z){return j({[O]:"Function",type:"Function",parameters:Y,returns:X},Z)}function C1(Y,X){return j({[O]:"Union",anyOf:Y},X)}function y2(Y){return Y.some((X)=>P8(X))}function R$(Y){return Y.map((X)=>P8(X)?d2(X):X)}function d2(Y){return g0(Y,[o0])}function v2(Y,X){return y2(Y)?N8(C1(R$(Y),X)):C1(R$(Y),X)}function PY(Y,X){return Y.length===1?j(Y[0],X):Y.length===0?a(X):v2(Y,X)}function N0(Y,X){return Y.length===0?a(X):Y.length===1?j(Y[0],X):C1(Y,X)}class KZ extends i{}function h2(Y){return Y.replace(/\\\$/g,"$").replace(/\\\*/g,"*").replace(/\\\^/g,"^").replace(/\\\|/g,"|").replace(/\\\(/g,"(").replace(/\\\)/g,")")}function CZ(Y,X,Z){return Y[X]===Z&&Y.charCodeAt(X-1)!==92}function fY(Y,X){return CZ(Y,X,"(")}function R1(Y,X){return CZ(Y,X,")")}function b$(Y,X){return CZ(Y,X,"|")}function m2(Y){if(!(fY(Y,0)&&R1(Y,Y.length-1)))return!1;let X=0;for(let Z=0;Z<Y.length;Z++){if(fY(Y,Z))X+=1;if(R1(Y,Z))X-=1;if(X===0&&Z!==Y.length-1)return!1}return!0}function u2(Y){return Y.slice(1,Y.length-1)}function c2(Y){let X=0;for(let Z=0;Z<Y.length;Z++){if(fY(Y,Z))X+=1;if(R1(Y,Z))X-=1;if(b$(Y,Z)&&X===0)return!0}return!1}function p2(Y){for(let X=0;X<Y.length;X++)if(fY(Y,X))return!0;return!1}function i2(Y){let[X,Z]=[0,0],W=[];for(let Q=0;Q<Y.length;Q++){if(fY(Y,Q))X+=1;if(R1(Y,Q))X-=1;if(b$(Y,Q)&&X===0){let J=Y.slice(Z,Q);if(J.length>0)W.push(uX(J));Z=Q+1}}let $=Y.slice(Z);if($.length>0)W.push(uX($));if(W.length===0)return{type:"const",const:""};if(W.length===1)return W[0];return{type:"or",expr:W}}function l2(Y){function X($,Q){if(!fY($,Q))throw new KZ("TemplateLiteralParser: Index must point to open parens");let J=0;for(let M=Q;M<$.length;M++){if(fY($,M))J+=1;if(R1($,M))J-=1;if(J===0)return[Q,M]}throw new KZ("TemplateLiteralParser: Unclosed group parens in expression")}function Z($,Q){for(let J=Q;J<$.length;J++)if(fY($,J))return[Q,J];return[Q,$.length]}let W=[];for(let $=0;$<Y.length;$++)if(fY(Y,$)){let[Q,J]=X(Y,$),M=Y.slice(Q,J+1);W.push(uX(M)),$=J}else{let[Q,J]=Z(Y,$),M=Y.slice(Q,J);if(M.length>0)W.push(uX(M));$=J-1}return W.length===0?{type:"const",const:""}:W.length===1?W[0]:{type:"and",expr:W}}function uX(Y){return m2(Y)?uX(u2(Y)):c2(Y)?i2(Y):p2(Y)?l2(Y):{type:"const",const:h2(Y)}}function cX(Y){return uX(Y.slice(1,Y.length-1))}class E$ extends i{}function n2(Y){return Y.type==="or"&&Y.expr.length===2&&Y.expr[0].type==="const"&&Y.expr[0].const==="0"&&Y.expr[1].type==="const"&&Y.expr[1].const==="[1-9][0-9]*"}function o2(Y){return Y.type==="or"&&Y.expr.length===2&&Y.expr[0].type==="const"&&Y.expr[0].const==="true"&&Y.expr[1].type==="const"&&Y.expr[1].const==="false"}function t2(Y){return Y.type==="const"&&Y.const===".*"}function CX(Y){return n2(Y)||t2(Y)?!1:o2(Y)?!0:Y.type==="and"?Y.expr.every((X)=>CX(X)):Y.type==="or"?Y.expr.every((X)=>CX(X)):Y.type==="const"?!0:(()=>{throw new E$("Unknown expression type")})()}function w6(Y){let X=cX(Y.pattern);return CX(X)}class V$ extends i{}function*I$(Y){if(Y.length===1)return yield*Y[0];for(let X of Y[0])for(let Z of I$(Y.slice(1)))yield`${X}${Z}`}function*s2(Y){return yield*I$(Y.expr.map((X)=>[...b1(X)]))}function*r2(Y){for(let X of Y.expr)yield*b1(X)}function*a2(Y){return yield Y.const}function*b1(Y){return Y.type==="and"?yield*s2(Y):Y.type==="or"?yield*r2(Y):Y.type==="const"?yield*a2(Y):(()=>{throw new V$("Unknown expression")})()}function pX(Y){let X=cX(Y.pattern);return CX(X)?[...b1(X)]:[]}function $0(Y,X){return j({[O]:"Literal",const:Y,type:typeof Y},X)}function L6(Y){return j({[O]:"Boolean",type:"boolean"},Y)}function iX(Y){return j({[O]:"BigInt",type:"bigint"},Y)}function u8(Y){return j({[O]:"Number",type:"number"},Y)}function w8(Y){return j({[O]:"String",type:"string"},Y)}function*e2(Y){let X=Y.trim().replace(/"|'/g,"");return X==="boolean"?yield L6():X==="number"?yield u8():X==="bigint"?yield iX():X==="string"?yield w8():yield(()=>{let Z=X.split("|").map((W)=>$0(W.trim()));return Z.length===0?a():Z.length===1?Z[0]:PY(Z)})()}function*Y5(Y){if(Y[1]!=="{"){let X=$0("$"),Z=RZ(Y.slice(1));return yield*[X,...Z]}for(let X=2;X<Y.length;X++)if(Y[X]==="}"){let Z=e2(Y.slice(2,X)),W=RZ(Y.slice(X+1));return yield*[...Z,...W]}yield $0(Y)}function*RZ(Y){for(let X=0;X<Y.length;X++)if(Y[X]==="$"){let Z=$0(Y.slice(0,X)),W=Y5(Y.slice(X));return yield*[Z,...W]}yield $0(Y)}function T$(Y){return[...RZ(Y)]}class x$ extends i{}function X5(Y){return Y.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function k$(Y,X){return g8(Y)?Y.pattern.slice(1,Y.pattern.length-1):J0(Y)?`(${Y.anyOf.map((Z)=>k$(Z,X)).join("|")})`:ZY(Y)?`${X}${D6}`:XY(Y)?`${X}${D6}`:_X(Y)?`${X}${D6}`:xY(Y)?`${X}${S$}`:x8(Y)?`${X}${X5(Y.const.toString())}`:TY(Y)?`${X}${O$}`:(()=>{throw new x$(`Unexpected Kind '${Y[O]}'`)})()}function bZ(Y){return`^${Y.map((X)=>k$(X,"")).join("")}$`}function RX(Y){let Z=pX(Y).map((W)=>$0(W));return PY(Z)}function O6(Y,X){let Z=_0(Y)?bZ(T$(Y)):bZ(Y);return j({[O]:"TemplateLiteral",type:"string",pattern:Z},X)}function Z5(Y){return pX(Y).map((Z)=>Z.toString())}function W5(Y){let X=[];for(let Z of Y)X.push(..._8(Z));return X}function $5(Y){return[Y.toString()]}function _8(Y){return[...new Set(g8(Y)?Z5(Y):J0(Y)?W5(Y.anyOf):x8(Y)?$5(Y.const):ZY(Y)?["[number]"]:XY(Y)?["[number]"]:[])]}function Q5(Y,X,Z){let W={};for(let $ of Object.getOwnPropertyNames(X))W[$]=JX(Y,_8(X[$]),Z);return W}function J5(Y,X,Z){return Q5(Y,X.properties,Z)}function g$(Y,X,Z){let W=J5(Y,X,Z);return z0(W)}function y$(Y,X){return Y.map((Z)=>d$(Z,X))}function M5(Y){return Y.filter((X)=>!XX(X))}function z5(Y,X){return S6(M5(y$(Y,X)))}function U5(Y){return Y.some((X)=>XX(X))?[]:Y}function G5(Y,X){return PY(U5(y$(Y,X)))}function B5(Y,X){return X in Y?Y[X]:X==="[number]"?PY(Y):a()}function N5(Y,X){return X==="[number]"?Y:a()}function H5(Y,X){return X in Y?Y[X]:a()}function d$(Y,X){return k0(Y)?z5(Y.allOf,X):J0(Y)?G5(Y.anyOf,X):f8(Y)?B5(Y.items??[],X):r8(Y)?N5(Y.items,X):i0(Y)?H5(Y.properties,X):a()}function E1(Y,X){return X.map((Z)=>d$(Y,Z))}function f$(Y,X){return PY(E1(Y,X))}function JX(Y,X,Z){if(v0(Y)||v0(X)){if(!I0(Y)||!I0(X))throw new i("Index types using Ref parameters require both Type and Key to be of TSchema");return K0("Index",[Y,X])}if(b0(X))return g$(Y,X,Z);if(k8(X))return v$(Y,X,Z);return j(I0(X)?f$(Y,_8(X)):f$(Y,X),Z)}function A5(Y,X,Z){return{[X]:JX(Y,[X],C0(Z))}}function q5(Y,X,Z){return X.reduce((W,$)=>{return{...W,...A5(Y,$,Z)}},{})}function D5(Y,X,Z){return q5(Y,X.keys,Z)}function v$(Y,X,Z){let W=D5(Y,X,Z);return z0(W)}function lX(Y,X){return j({[O]:"Iterator",type:"Iterator",items:Y},X)}function w5(Y){let X=[];for(let Z in Y)if(!P8(Y[Z]))X.push(Z);return X}function L5(Y,X){let Z=w5(Y),W=Z.length>0?{[O]:"Object",type:"object",properties:Y,required:Z}:{[O]:"Object",type:"object",properties:Y};return j(W,X)}var H0=L5;function P6(Y,X){return j({[O]:"Promise",type:"Promise",item:Y},X)}function O5(Y){return j(g0(Y,[s8]))}function S5(Y){return j({...Y,[s8]:"Readonly"})}function P5(Y,X){return X===!1?O5(Y):S5(Y)}function F8(Y,X){let Z=X??!0;return b0(Y)?h$(Y,Z):P5(Y,Z)}function _5(Y,X){let Z={};for(let W of globalThis.Object.getOwnPropertyNames(Y))Z[W]=F8(Y[W],X);return Z}function F5(Y,X){return _5(Y.properties,X)}function h$(Y,X){let Z=F5(Y,X);return z0(Z)}function c8(Y,X){return j(Y.length>0?{[O]:"Tuple",type:"array",items:Y,additionalItems:!1,minItems:Y.length,maxItems:Y.length}:{[O]:"Tuple",type:"array",minItems:Y.length,maxItems:Y.length},X)}function m$(Y,X){return Y in X?p8(Y,X[Y]):z0(X)}function j5(Y){return{[Y]:$0(Y)}}function K5(Y){let X={};for(let Z of Y)X[Z]=$0(Z);return X}function C5(Y,X){return _$(X,Y)?j5(Y):K5(X)}function R5(Y,X){let Z=C5(Y,X);return m$(Y,Z)}function V1(Y,X){return X.map((Z)=>p8(Y,Z))}function b5(Y,X){let Z={};for(let W of globalThis.Object.getOwnPropertyNames(X))Z[W]=p8(Y,X[W]);return Z}function p8(Y,X){let Z={...X};return P8(X)?N8(p8(Y,g0(X,[o0]))):fX(X)?F8(p8(Y,g0(X,[s8]))):b0(X)?m$(Y,X.properties):k8(X)?R5(Y,X.keys):e8(X)?mX(V1(Y,X.parameters),p8(Y,X.returns),Z):YY(X)?SY(V1(Y,X.parameters),p8(Y,X.returns),Z):PX(X)?hX(p8(Y,X.items),Z):FX(X)?lX(p8(Y,X.items),Z):k0(X)?H8(V1(Y,X.allOf),Z):J0(X)?N0(V1(Y,X.anyOf),Z):f8(X)?c8(V1(Y,X.items??[]),Z):i0(X)?H0(b5(Y,X.properties),Z):r8(X)?vX(p8(Y,X.items),Z):jX(X)?P6(p8(Y,X.item),Z):X}function E5(Y,X){let Z={};for(let W of Y)Z[W]=p8(W,X);return Z}function u$(Y,X,Z){let W=I0(Y)?_8(Y):Y,$=X({[O]:"MappedKey",keys:W}),Q=E5(W,$);return H0(Q,Z)}function V5(Y){return j(g0(Y,[o0]))}function I5(Y){return j({...Y,[o0]:"Optional"})}function T5(Y,X){return X===!1?V5(Y):I5(Y)}function N8(Y,X){let Z=X??!0;return b0(Y)?c$(Y,Z):T5(Y,Z)}function x5(Y,X){let Z={};for(let W of globalThis.Object.getOwnPropertyNames(Y))Z[W]=N8(Y[W],X);return Z}function k5(Y,X){return x5(Y.properties,X)}function c$(Y,X){let Z=k5(Y,X);return z0(Z)}function I1(Y,X={}){let Z=Y.every(($)=>i0($)),W=I0(X.unevaluatedProperties)?{unevaluatedProperties:X.unevaluatedProperties}:{};return j(X.unevaluatedProperties===!1||I0(X.unevaluatedProperties)||Z?{...W,[O]:"Intersect",type:"object",allOf:Y}:{...W,[O]:"Intersect",allOf:Y},X)}function g5(Y){return Y.every((X)=>P8(X))}function f5(Y){return g0(Y,[o0])}function p$(Y){return Y.map((X)=>P8(X)?f5(X):X)}function y5(Y,X){return g5(Y)?N8(I1(p$(Y),X)):I1(p$(Y),X)}function S6(Y,X={}){if(Y.length===1)return j(Y[0],X);if(Y.length===0)return a(X);if(Y.some((Z)=>B0(Z)))throw Error("Cannot intersect transform types");return y5(Y,X)}function H8(Y,X){if(Y.length===1)return j(Y[0],X);if(Y.length===0)return a(X);if(Y.some((Z)=>B0(Z)))throw Error("Cannot intersect transform types");return I1(Y,X)}function i8(...Y){let[X,Z]=typeof Y[0]==="string"?[Y[0],Y[1]]:[Y[0].$id,Y[1]];if(typeof X!=="string")throw new i("Ref: $ref must be a string");return j({[O]:"Ref",$ref:X},Z)}function d5(Y,X){return K0("Awaited",[K0(Y,X)])}function v5(Y){return K0("Awaited",[i8(Y)])}function h5(Y){return H8(i$(Y))}function m5(Y){return N0(i$(Y))}function u5(Y){return nX(Y)}function i$(Y){return Y.map((X)=>nX(X))}function nX(Y,X){return j(a8(Y)?d5(Y.target,Y.parameters):k0(Y)?h5(Y.allOf):J0(Y)?m5(Y.anyOf):jX(Y)?u5(Y.item):v0(Y)?v5(Y.$ref):Y,X)}function l$(Y){let X=[];for(let Z of Y)X.push(j8(Z));return X}function c5(Y){let X=l$(Y);return K$(X)}function p5(Y){let X=l$(Y);return j$(X)}function i5(Y){return Y.map((X,Z)=>Z.toString())}function l5(Y){return["[number]"]}function n5(Y){return globalThis.Object.getOwnPropertyNames(Y)}function o5(Y){if(!EZ)return[];return globalThis.Object.getOwnPropertyNames(Y).map((Z)=>{return Z[0]==="^"&&Z[Z.length-1]==="$"?Z.slice(1,Z.length-1):Z})}function j8(Y){return k0(Y)?c5(Y.allOf):J0(Y)?p5(Y.anyOf):f8(Y)?i5(Y.items??[]):r8(Y)?l5(Y.items):i0(Y)?n5(Y.properties):KX(Y)?o5(Y.patternProperties):[]}var EZ=!1;function yY(Y){EZ=!0;let X=j8(Y);return EZ=!1,`^(${X.map((W)=>`(${W})`).join("|")})$`}function t5(Y,X){return K0("KeyOf",[K0(Y,X)])}function s5(Y){return K0("KeyOf",[i8(Y)])}function r5(Y,X){let Z=j8(Y),W=a5(Z),$=PY(W);return j($,X)}function a5(Y){return Y.map((X)=>X==="[number]"?u8():$0(X))}function oX(Y,X){return a8(Y)?t5(Y.target,Y.parameters):v0(Y)?s5(Y.$ref):b0(Y)?n$(Y,X):r5(Y,X)}function e5(Y,X){let Z={};for(let W of globalThis.Object.getOwnPropertyNames(Y))Z[W]=oX(Y[W],C0(X));return Z}function Y4(Y,X){return e5(Y.properties,X)}function n$(Y,X){let Z=Y4(Y,X);return z0(Z)}function _6(Y){let X=j8(Y),Z=E1(Y,X);return X.map((W,$)=>[X[$],Z[$]])}function X4(Y){let X=[];for(let Z of Y)X.push(...j8(Z));return F$(X)}function Z4(Y){return Y.filter((X)=>!XX(X))}function W4(Y,X){let Z=[];for(let W of Y)Z.push(...E1(W,[X]));return Z4(Z)}function $4(Y,X){let Z={};for(let W of X)Z[W]=S6(W4(Y,W));return Z}function o$(Y,X){let Z=X4(Y),W=$4(Y,Z);return H0(W,X)}function F6(Y){return j({[O]:"Date",type:"Date"},Y)}function j6(Y){return j({[O]:"Null",type:"null"},Y)}function K6(Y){return j({[O]:"Symbol",type:"symbol"},Y)}function C6(Y){return j({[O]:"Undefined",type:"undefined"},Y)}function R6(Y){return j({[O]:"Uint8Array",type:"Uint8Array"},Y)}function WY(Y){return j({[O]:"Unknown"},Y)}function Q4(Y){return Y.map((X)=>VZ(X,!1))}function J4(Y){let X={};for(let Z of globalThis.Object.getOwnPropertyNames(Y))X[Z]=F8(VZ(Y[Z],!1));return X}function b6(Y,X){return X===!0?Y:F8(Y)}function VZ(Y,X){return HZ(Y)?b6(QX(),X):qZ(Y)?b6(QX(),X):c0(Y)?F8(c8(Q4(Y))):EY(Y)?R6():SX(Y)?F6():D0(Y)?b6(H0(J4(Y)),X):AZ(Y)?b6(SY([],WY()),X):p0(Y)?C6():DZ(Y)?j6():wZ(Y)?K6():O1(Y)?iX():I8(Y)?$0(Y):bY(Y)?$0(Y):_0(Y)?$0(Y):H0({})}function t$(Y,X){return j(VZ(Y,!0),X)}function s$(Y,X){return e8(Y)?c8(Y.parameters,X):a(X)}function r$(Y,X){if(p0(Y))throw Error("Enum undefined or empty");let Z=globalThis.Object.getOwnPropertyNames(Y).filter((Q)=>isNaN(Q)).map((Q)=>Y[Q]),$=[...new Set(Z)].map((Q)=>$0(Q));return N0($,{...X,[m8]:"Enum"})}class Z7 extends i{}var K;(function(Y){Y[Y.Union=0]="Union",Y[Y.True=1]="True",Y[Y.False=2]="False"})(K||(K={}));function l8(Y){return Y===K.False?Y:K.True}function tX(Y){throw new Z7(Y)}function l0(Y){return L.IsNever(Y)||L.IsIntersect(Y)||L.IsUnion(Y)||L.IsUnknown(Y)||L.IsAny(Y)}function n0(Y,X){return L.IsNever(X)?Q7(Y,X):L.IsIntersect(X)?E6(Y,X):L.IsUnion(X)?gZ(Y,X):L.IsUnknown(X)?U7(Y,X):L.IsAny(X)?kZ(Y,X):tX("StructuralRight")}function kZ(Y,X){return K.True}function M4(Y,X){return L.IsIntersect(X)?E6(Y,X):L.IsUnion(X)&&X.anyOf.some((Z)=>L.IsAny(Z)||L.IsUnknown(Z))?K.True:L.IsUnion(X)?K.Union:L.IsUnknown(X)?K.True:L.IsAny(X)?K.True:K.Union}function z4(Y,X){return L.IsUnknown(Y)?K.False:L.IsAny(Y)?K.Union:L.IsNever(Y)?K.True:K.False}function U4(Y,X){return L.IsObject(X)&&V6(X)?K.True:l0(X)?n0(Y,X):!L.IsArray(X)?K.False:l8(L0(Y.items,X.items))}function G4(Y,X){return l0(X)?n0(Y,X):!L.IsAsyncIterator(X)?K.False:l8(L0(Y.items,X.items))}function B4(Y,X){return l0(X)?n0(Y,X):L.IsObject(X)?A8(Y,X):L.IsRecord(X)?n8(Y,X):L.IsBigInt(X)?K.True:K.False}function W7(Y,X){return L.IsLiteralBoolean(Y)?K.True:L.IsBoolean(Y)?K.True:K.False}function N4(Y,X){return l0(X)?n0(Y,X):L.IsObject(X)?A8(Y,X):L.IsRecord(X)?n8(Y,X):L.IsBoolean(X)?K.True:K.False}function H4(Y,X){return l0(X)?n0(Y,X):L.IsObject(X)?A8(Y,X):!L.IsConstructor(X)?K.False:Y.parameters.length>X.parameters.length?K.False:!Y.parameters.every((Z,W)=>l8(L0(X.parameters[W],Z))===K.True)?K.False:l8(L0(Y.returns,X.returns))}function A4(Y,X){return l0(X)?n0(Y,X):L.IsObject(X)?A8(Y,X):L.IsRecord(X)?n8(Y,X):L.IsDate(X)?K.True:K.False}function q4(Y,X){return l0(X)?n0(Y,X):L.IsObject(X)?A8(Y,X):!L.IsFunction(X)?K.False:Y.parameters.length>X.parameters.length?K.False:!Y.parameters.every((Z,W)=>l8(L0(X.parameters[W],Z))===K.True)?K.False:l8(L0(Y.returns,X.returns))}function $7(Y,X){return L.IsLiteral(Y)&&B8.IsNumber(Y.const)?K.True:L.IsNumber(Y)||L.IsInteger(Y)?K.True:K.False}function D4(Y,X){return L.IsInteger(X)||L.IsNumber(X)?K.True:l0(X)?n0(Y,X):L.IsObject(X)?A8(Y,X):L.IsRecord(X)?n8(Y,X):K.False}function E6(Y,X){return X.allOf.every((Z)=>L0(Y,Z)===K.True)?K.True:K.False}function w4(Y,X){return Y.allOf.some((Z)=>L0(Z,X)===K.True)?K.True:K.False}function L4(Y,X){return l0(X)?n0(Y,X):!L.IsIterator(X)?K.False:l8(L0(Y.items,X.items))}function O4(Y,X){return L.IsLiteral(X)&&X.const===Y.const?K.True:l0(X)?n0(Y,X):L.IsObject(X)?A8(Y,X):L.IsRecord(X)?n8(Y,X):L.IsString(X)?z7(Y,X):L.IsNumber(X)?J7(Y,X):L.IsInteger(X)?$7(Y,X):L.IsBoolean(X)?W7(Y,X):K.False}function Q7(Y,X){return K.False}function S4(Y,X){return K.True}function a$(Y){let[X,Z]=[Y,0];while(!0){if(!L.IsNot(X))break;X=X.not,Z+=1}return Z%2===0?X:WY()}function P4(Y,X){return L.IsNot(Y)?L0(a$(Y),X):L.IsNot(X)?L0(Y,a$(X)):tX("Invalid fallthrough for Not")}function _4(Y,X){return l0(X)?n0(Y,X):L.IsObject(X)?A8(Y,X):L.IsRecord(X)?n8(Y,X):L.IsNull(X)?K.True:K.False}function J7(Y,X){return L.IsLiteralNumber(Y)?K.True:L.IsNumber(Y)||L.IsInteger(Y)?K.True:K.False}function F4(Y,X){return l0(X)?n0(Y,X):L.IsObject(X)?A8(Y,X):L.IsRecord(X)?n8(Y,X):L.IsInteger(X)||L.IsNumber(X)?K.True:K.False}function K8(Y,X){return Object.getOwnPropertyNames(Y.properties).length===X}function e$(Y){return V6(Y)}function Y7(Y){return K8(Y,0)||K8(Y,1)&&"description"in Y.properties&&L.IsUnion(Y.properties.description)&&Y.properties.description.anyOf.length===2&&(L.IsString(Y.properties.description.anyOf[0])&&L.IsUndefined(Y.properties.description.anyOf[1])||L.IsString(Y.properties.description.anyOf[1])&&L.IsUndefined(Y.properties.description.anyOf[0]))}function IZ(Y){return K8(Y,0)}function X7(Y){return K8(Y,0)}function j4(Y){return K8(Y,0)}function K4(Y){return K8(Y,0)}function C4(Y){return V6(Y)}function R4(Y){let X=u8();return K8(Y,0)||K8(Y,1)&&"length"in Y.properties&&l8(L0(Y.properties.length,X))===K.True}function b4(Y){return K8(Y,0)}function V6(Y){let X=u8();return K8(Y,0)||K8(Y,1)&&"length"in Y.properties&&l8(L0(Y.properties.length,X))===K.True}function E4(Y){let X=SY([QX()],QX());return K8(Y,0)||K8(Y,1)&&"then"in Y.properties&&l8(L0(Y.properties.then,X))===K.True}function M7(Y,X){return L0(Y,X)===K.False?K.False:L.IsOptional(Y)&&!L.IsOptional(X)?K.False:K.True}function A8(Y,X){return L.IsUnknown(Y)?K.False:L.IsAny(Y)?K.Union:L.IsNever(Y)||L.IsLiteralString(Y)&&e$(X)||L.IsLiteralNumber(Y)&&IZ(X)||L.IsLiteralBoolean(Y)&&X7(X)||L.IsSymbol(Y)&&Y7(X)||L.IsBigInt(Y)&&j4(X)||L.IsString(Y)&&e$(X)||L.IsSymbol(Y)&&Y7(X)||L.IsNumber(Y)&&IZ(X)||L.IsInteger(Y)&&IZ(X)||L.IsBoolean(Y)&&X7(X)||L.IsUint8Array(Y)&&C4(X)||L.IsDate(Y)&&K4(X)||L.IsConstructor(Y)&&b4(X)||L.IsFunction(Y)&&R4(X)?K.True:L.IsRecord(Y)&&L.IsString(TZ(Y))?(()=>{return X[m8]==="Record"?K.True:K.False})():L.IsRecord(Y)&&L.IsNumber(TZ(Y))?(()=>{return K8(X,0)?K.True:K.False})():K.False}function V4(Y,X){return l0(X)?n0(Y,X):L.IsRecord(X)?n8(Y,X):!L.IsObject(X)?K.False:(()=>{for(let Z of Object.getOwnPropertyNames(X.properties)){if(!(Z in Y.properties)&&!L.IsOptional(X.properties[Z]))return K.False;if(L.IsOptional(X.properties[Z]))return K.True;if(M7(Y.properties[Z],X.properties[Z])===K.False)return K.False}return K.True})()}function I4(Y,X){return l0(X)?n0(Y,X):L.IsObject(X)&&E4(X)?K.True:!L.IsPromise(X)?K.False:l8(L0(Y.item,X.item))}function TZ(Y){return WX in Y.patternProperties?u8():($X in Y.patternProperties)?w8():tX("Unknown record key pattern")}function xZ(Y){return WX in Y.patternProperties?Y.patternProperties[WX]:($X in Y.patternProperties)?Y.patternProperties[$X]:tX("Unable to get record value schema")}function n8(Y,X){let[Z,W]=[TZ(X),xZ(X)];return L.IsLiteralString(Y)&&L.IsNumber(Z)&&l8(L0(Y,W))===K.True?K.True:L.IsUint8Array(Y)&&L.IsNumber(Z)?L0(Y,W):L.IsString(Y)&&L.IsNumber(Z)?L0(Y,W):L.IsArray(Y)&&L.IsNumber(Z)?L0(Y,W):L.IsObject(Y)?(()=>{for(let $ of Object.getOwnPropertyNames(Y.properties))if(M7(W,Y.properties[$])===K.False)return K.False;return K.True})():K.False}function T4(Y,X){return l0(X)?n0(Y,X):L.IsObject(X)?A8(Y,X):!L.IsRecord(X)?K.False:L0(xZ(Y),xZ(X))}function x4(Y,X){let Z=L.IsRegExp(Y)?w8():Y,W=L.IsRegExp(X)?w8():X;return L0(Z,W)}function z7(Y,X){return L.IsLiteral(Y)&&B8.IsString(Y.const)?K.True:L.IsString(Y)?K.True:K.False}function k4(Y,X){return l0(X)?n0(Y,X):L.IsObject(X)?A8(Y,X):L.IsRecord(X)?n8(Y,X):L.IsString(X)?K.True:K.False}function g4(Y,X){return l0(X)?n0(Y,X):L.IsObject(X)?A8(Y,X):L.IsRecord(X)?n8(Y,X):L.IsSymbol(X)?K.True:K.False}function f4(Y,X){return L.IsTemplateLiteral(Y)?L0(RX(Y),X):L.IsTemplateLiteral(X)?L0(Y,RX(X)):tX("Invalid fallthrough for TemplateLiteral")}function y4(Y,X){return L.IsArray(X)&&Y.items!==void 0&&Y.items.every((Z)=>L0(Z,X.items)===K.True)}function d4(Y,X){return L.IsNever(Y)?K.True:L.IsUnknown(Y)?K.False:L.IsAny(Y)?K.Union:K.False}function v4(Y,X){return l0(X)?n0(Y,X):L.IsObject(X)&&V6(X)?K.True:L.IsArray(X)&&y4(Y,X)?K.True:!L.IsTuple(X)?K.False:B8.IsUndefined(Y.items)&&!B8.IsUndefined(X.items)||!B8.IsUndefined(Y.items)&&B8.IsUndefined(X.items)?K.False:B8.IsUndefined(Y.items)&&!B8.IsUndefined(X.items)?K.True:Y.items.every((Z,W)=>L0(Z,X.items[W])===K.True)?K.True:K.False}function h4(Y,X){return l0(X)?n0(Y,X):L.IsObject(X)?A8(Y,X):L.IsRecord(X)?n8(Y,X):L.IsUint8Array(X)?K.True:K.False}function m4(Y,X){return l0(X)?n0(Y,X):L.IsObject(X)?A8(Y,X):L.IsRecord(X)?n8(Y,X):L.IsVoid(X)?p4(Y,X):L.IsUndefined(X)?K.True:K.False}function gZ(Y,X){return X.anyOf.some((Z)=>L0(Y,Z)===K.True)?K.True:K.False}function u4(Y,X){return Y.anyOf.every((Z)=>L0(Z,X)===K.True)?K.True:K.False}function U7(Y,X){return K.True}function c4(Y,X){return L.IsNever(X)?Q7(Y,X):L.IsIntersect(X)?E6(Y,X):L.IsUnion(X)?gZ(Y,X):L.IsAny(X)?kZ(Y,X):L.IsString(X)?z7(Y,X):L.IsNumber(X)?J7(Y,X):L.IsInteger(X)?$7(Y,X):L.IsBoolean(X)?W7(Y,X):L.IsArray(X)?z4(Y,X):L.IsTuple(X)?d4(Y,X):L.IsObject(X)?A8(Y,X):L.IsUnknown(X)?K.True:K.False}function p4(Y,X){return L.IsUndefined(Y)?K.True:L.IsUndefined(Y)?K.True:K.False}function i4(Y,X){return L.IsIntersect(X)?E6(Y,X):L.IsUnion(X)?gZ(Y,X):L.IsUnknown(X)?U7(Y,X):L.IsAny(X)?kZ(Y,X):L.IsObject(X)?A8(Y,X):L.IsVoid(X)?K.True:K.False}function L0(Y,X){return L.IsTemplateLiteral(Y)||L.IsTemplateLiteral(X)?f4(Y,X):L.IsRegExp(Y)||L.IsRegExp(X)?x4(Y,X):L.IsNot(Y)||L.IsNot(X)?P4(Y,X):L.IsAny(Y)?M4(Y,X):L.IsArray(Y)?U4(Y,X):L.IsBigInt(Y)?B4(Y,X):L.IsBoolean(Y)?N4(Y,X):L.IsAsyncIterator(Y)?G4(Y,X):L.IsConstructor(Y)?H4(Y,X):L.IsDate(Y)?A4(Y,X):L.IsFunction(Y)?q4(Y,X):L.IsInteger(Y)?D4(Y,X):L.IsIntersect(Y)?w4(Y,X):L.IsIterator(Y)?L4(Y,X):L.IsLiteral(Y)?O4(Y,X):L.IsNever(Y)?S4(Y,X):L.IsNull(Y)?_4(Y,X):L.IsNumber(Y)?F4(Y,X):L.IsObject(Y)?V4(Y,X):L.IsRecord(Y)?T4(Y,X):L.IsString(Y)?k4(Y,X):L.IsSymbol(Y)?g4(Y,X):L.IsTuple(Y)?v4(Y,X):L.IsPromise(Y)?I4(Y,X):L.IsUint8Array(Y)?h4(Y,X):L.IsUndefined(Y)?m4(Y,X):L.IsUnion(Y)?u4(Y,X):L.IsUnknown(Y)?c4(Y,X):L.IsVoid(Y)?i4(Y,X):tX(`Unknown left type operand '${Y[O]}'`)}function MX(Y,X){return L0(Y,X)}function l4(Y,X,Z,W,$){let Q={};for(let J of globalThis.Object.getOwnPropertyNames(Y))Q[J]=sX(Y[J],X,Z,W,C0($));return Q}function n4(Y,X,Z,W,$){return l4(Y.properties,X,Z,W,$)}function G7(Y,X,Z,W,$){let Q=n4(Y,X,Z,W,$);return z0(Q)}function o4(Y,X,Z,W){let $=MX(Y,X);return $===K.Union?N0([Z,W]):$===K.True?Z:W}function sX(Y,X,Z,W,$){return b0(Y)?G7(Y,X,Z,W,$):k8(Y)?j(B7(Y,X,Z,W,$)):j(o4(Y,X,Z,W),$)}function t4(Y,X,Z,W,$){return{[Y]:sX($0(Y),X,Z,W,C0($))}}function s4(Y,X,Z,W,$){return Y.reduce((Q,J)=>{return{...Q,...t4(J,X,Z,W,$)}},{})}function r4(Y,X,Z,W,$){return s4(Y.keys,X,Z,W,$)}function B7(Y,X,Z,W,$){let Q=r4(Y,X,Z,W,$);return z0(Q)}function a4(Y){return Y.allOf.every((X)=>dY(X))}function e4(Y){return Y.anyOf.some((X)=>dY(X))}function YJ(Y){return!dY(Y.not)}function dY(Y){return Y[O]==="Intersect"?a4(Y):Y[O]==="Union"?e4(Y):Y[O]==="Not"?YJ(Y):Y[O]==="Undefined"?!0:!1}function N7(Y,X){return rX(RX(Y),X)}function XJ(Y,X){let Z=Y.filter((W)=>MX(W,X)===K.False);return Z.length===1?Z[0]:N0(Z)}function rX(Y,X,Z={}){if(g8(Y))return j(N7(Y,X),Z);if(b0(Y))return j(H7(Y,X),Z);return j(J0(Y)?XJ(Y.anyOf,X):MX(Y,X)!==K.False?a():Y,Z)}function ZJ(Y,X){let Z={};for(let W of globalThis.Object.getOwnPropertyNames(Y))Z[W]=rX(Y[W],X);return Z}function WJ(Y,X){return ZJ(Y.properties,X)}function H7(Y,X){let Z=WJ(Y,X);return z0(Z)}function A7(Y,X){return aX(RX(Y),X)}function $J(Y,X){let Z=Y.filter((W)=>MX(W,X)!==K.False);return Z.length===1?Z[0]:N0(Z)}function aX(Y,X,Z){if(g8(Y))return j(A7(Y,X),Z);if(b0(Y))return j(q7(Y,X),Z);return j(J0(Y)?$J(Y.anyOf,X):MX(Y,X)!==K.False?Y:a(),Z)}function QJ(Y,X){let Z={};for(let W of globalThis.Object.getOwnPropertyNames(Y))Z[W]=aX(Y[W],X);return Z}function JJ(Y,X){return QJ(Y.properties,X)}function q7(Y,X){let Z=JJ(Y,X);return z0(Z)}function D7(Y,X){return e8(Y)?j(Y.returns,X):a(X)}function I6(Y){return F8(N8(Y))}function bX(Y,X,Z){return j({[O]:"Record",type:"object",patternProperties:{[Y]:X}},Z)}function fZ(Y,X,Z){let W={};for(let $ of Y)W[$]=X;return H0(W,{...Z,[m8]:"Record"})}function MJ(Y,X,Z){return w6(Y)?fZ(_8(Y),X,Z):bX(Y.pattern,X,Z)}function zJ(Y,X,Z){return fZ(_8(N0(Y)),X,Z)}function UJ(Y,X,Z){return fZ([Y.toString()],X,Z)}function GJ(Y,X,Z){return bX(Y.source,X,Z)}function BJ(Y,X,Z){let W=p0(Y.pattern)?$X:Y.pattern;return bX(W,X,Z)}function NJ(Y,X,Z){return bX($X,X,Z)}function HJ(Y,X,Z){return bX(P$,X,Z)}function AJ(Y,X,Z){return H0({true:X,false:X},Z)}function qJ(Y,X,Z){return bX(WX,X,Z)}function DJ(Y,X,Z){return bX(WX,X,Z)}function T6(Y,X,Z={}){return J0(Y)?zJ(Y.anyOf,X,Z):g8(Y)?MJ(Y,X,Z):x8(Y)?UJ(Y.const,X,Z):TY(Y)?AJ(Y,X,Z):XY(Y)?qJ(Y,X,Z):ZY(Y)?DJ(Y,X,Z):PZ(Y)?GJ(Y,X,Z):xY(Y)?BJ(Y,X,Z):OZ(Y)?NJ(Y,X,Z):XX(Y)?HJ(Y,X,Z):a(Z)}function x6(Y){return globalThis.Object.getOwnPropertyNames(Y.patternProperties)[0]}function w7(Y){let X=x6(Y);return X===$X?w8():X===WX?u8():w8({pattern:X})}function k6(Y){return Y.patternProperties[x6(Y)]}function wJ(Y,X){return X.parameters=T1(Y,X.parameters),X.returns=$Y(Y,X.returns),X}function LJ(Y,X){return X.parameters=T1(Y,X.parameters),X.returns=$Y(Y,X.returns),X}function OJ(Y,X){return X.allOf=T1(Y,X.allOf),X}function SJ(Y,X){return X.anyOf=T1(Y,X.anyOf),X}function PJ(Y,X){if(p0(X.items))return X;return X.items=T1(Y,X.items),X}function _J(Y,X){return X.items=$Y(Y,X.items),X}function FJ(Y,X){return X.items=$Y(Y,X.items),X}function jJ(Y,X){return X.items=$Y(Y,X.items),X}function KJ(Y,X){return X.item=$Y(Y,X.item),X}function CJ(Y,X){let Z=VJ(Y,X.properties);return{...X,...H0(Z)}}function RJ(Y,X){let Z=$Y(Y,w7(X)),W=$Y(Y,k6(X)),$=T6(Z,W);return{...X,...$}}function bJ(Y,X){return X.index in Y?Y[X.index]:WY()}function EJ(Y,X){let Z=fX(X),W=P8(X),$=$Y(Y,X);return Z&&W?I6($):Z&&!W?F8($):!Z&&W?N8($):$}function VJ(Y,X){return globalThis.Object.getOwnPropertyNames(X).reduce((Z,W)=>{return{...Z,[W]:EJ(Y,X[W])}},{})}function T1(Y,X){return X.map((Z)=>$Y(Y,Z))}function $Y(Y,X){return e8(X)?wJ(Y,X):YY(X)?LJ(Y,X):k0(X)?OJ(Y,X):J0(X)?SJ(Y,X):f8(X)?PJ(Y,X):r8(X)?_J(Y,X):PX(X)?FJ(Y,X):FX(X)?jJ(Y,X):jX(X)?KJ(Y,X):i0(X)?CJ(Y,X):KX(X)?RJ(Y,X):SZ(X)?bJ(Y,X):X}function L7(Y,X){return $Y(X,kX(Y))}function O7(Y){return j({[O]:"Integer",type:"integer"},Y)}function IJ(Y,X,Z){return{[Y]:QY($0(Y),X,C0(Z))}}function TJ(Y,X,Z){return Y.reduce(($,Q)=>{return{...$,...IJ(Q,X,Z)}},{})}function xJ(Y,X,Z){return TJ(Y.keys,X,Z)}function S7(Y,X,Z){let W=xJ(Y,X,Z);return z0(W)}function kJ(Y){let[X,Z]=[Y.slice(0,1),Y.slice(1)];return[X.toLowerCase(),Z].join("")}function gJ(Y){let[X,Z]=[Y.slice(0,1),Y.slice(1)];return[X.toUpperCase(),Z].join("")}function fJ(Y){return Y.toUpperCase()}function yJ(Y){return Y.toLowerCase()}function dJ(Y,X,Z){let W=cX(Y.pattern);if(!CX(W))return{...Y,pattern:P7(Y.pattern,X)};let J=[...b1(W)].map((U)=>$0(U)),M=_7(J,X),z=N0(M);return O6([z],Z)}function P7(Y,X){return typeof Y==="string"?X==="Uncapitalize"?kJ(Y):X==="Capitalize"?gJ(Y):X==="Uppercase"?fJ(Y):X==="Lowercase"?yJ(Y):Y:Y.toString()}function _7(Y,X){return Y.map((Z)=>QY(Z,X))}function QY(Y,X,Z={}){return k8(Y)?S7(Y,X,Z):g8(Y)?dJ(Y,X,Z):J0(Y)?N0(_7(Y.anyOf,X),Z):x8(Y)?$0(P7(Y.const,X),Z):j(Y,Z)}function F7(Y,X={}){return QY(Y,"Capitalize",X)}function j7(Y,X={}){return QY(Y,"Lowercase",X)}function K7(Y,X={}){return QY(Y,"Uncapitalize",X)}function C7(Y,X={}){return QY(Y,"Uppercase",X)}function vJ(Y,X,Z){let W={};for(let $ of globalThis.Object.getOwnPropertyNames(Y))W[$]=zX(Y[$],X,C0(Z));return W}function hJ(Y,X,Z){return vJ(Y.properties,X,Z)}function R7(Y,X,Z){let W=hJ(Y,X,Z);return z0(W)}function mJ(Y,X){return Y.map((Z)=>yZ(Z,X))}function uJ(Y,X){return Y.map((Z)=>yZ(Z,X))}function cJ(Y,X){let{[X]:Z,...W}=Y;return W}function pJ(Y,X){return X.reduce((Z,W)=>cJ(Z,W),Y)}function iJ(Y,X){let Z=g0(Y,[S0,"$id","required","properties"]),W=pJ(Y.properties,X);return H0(W,Z)}function lJ(Y){let X=Y.reduce((Z,W)=>A6(W)?[...Z,$0(W)]:Z,[]);return N0(X)}function yZ(Y,X){return k0(Y)?H8(mJ(Y.allOf,X)):J0(Y)?N0(uJ(Y.anyOf,X)):i0(Y)?iJ(Y,X):H0({})}function zX(Y,X,Z){let W=c0(X)?lJ(X):X,$=I0(X)?_8(X):X,Q=v0(Y),J=v0(X);return b0(Y)?R7(Y,$,Z):k8(X)?b7(Y,X,Z):Q&&J?K0("Omit",[Y,W],Z):!Q&&J?K0("Omit",[Y,W],Z):Q&&!J?K0("Omit",[Y,W],Z):j({...yZ(Y,$),...Z})}function nJ(Y,X,Z){return{[X]:zX(Y,[X],C0(Z))}}function oJ(Y,X,Z){return X.reduce((W,$)=>{return{...W,...nJ(Y,$,Z)}},{})}function tJ(Y,X,Z){return oJ(Y,X.keys,Z)}function b7(Y,X,Z){let W=tJ(Y,X,Z);return z0(W)}function sJ(Y,X,Z){let W={};for(let $ of globalThis.Object.getOwnPropertyNames(Y))W[$]=UX(Y[$],X,C0(Z));return W}function rJ(Y,X,Z){return sJ(Y.properties,X,Z)}function E7(Y,X,Z){let W=rJ(Y,X,Z);return z0(W)}function aJ(Y,X){return Y.map((Z)=>dZ(Z,X))}function eJ(Y,X){return Y.map((Z)=>dZ(Z,X))}function YM(Y,X){let Z={};for(let W of X)if(W in Y)Z[W]=Y[W];return Z}function XM(Y,X){let Z=g0(Y,[S0,"$id","required","properties"]),W=YM(Y.properties,X);return H0(W,Z)}function ZM(Y){let X=Y.reduce((Z,W)=>A6(W)?[...Z,$0(W)]:Z,[]);return N0(X)}function dZ(Y,X){return k0(Y)?H8(aJ(Y.allOf,X)):J0(Y)?N0(eJ(Y.anyOf,X)):i0(Y)?XM(Y,X):H0({})}function UX(Y,X,Z){let W=c0(X)?ZM(X):X,$=I0(X)?_8(X):X,Q=v0(Y),J=v0(X);return b0(Y)?E7(Y,$,Z):k8(X)?V7(Y,X,Z):Q&&J?K0("Pick",[Y,W],Z):!Q&&J?K0("Pick",[Y,W],Z):Q&&!J?K0("Pick",[Y,W],Z):j({...dZ(Y,$),...Z})}function WM(Y,X,Z){return{[X]:UX(Y,[X],C0(Z))}}function $M(Y,X,Z){return X.reduce((W,$)=>{return{...W,...WM(Y,$,Z)}},{})}function QM(Y,X,Z){return $M(Y,X.keys,Z)}function V7(Y,X,Z){let W=QM(Y,X,Z);return z0(W)}function JM(Y,X){return K0("Partial",[K0(Y,X)])}function MM(Y){return K0("Partial",[i8(Y)])}function zM(Y){let X={};for(let Z of globalThis.Object.getOwnPropertyNames(Y))X[Z]=N8(Y[Z]);return X}function UM(Y){let X=g0(Y,[S0,"$id","required","properties"]),Z=zM(Y.properties);return H0(Z,X)}function I7(Y){return Y.map((X)=>T7(X))}function T7(Y){return a8(Y)?JM(Y.target,Y.parameters):v0(Y)?MM(Y.$ref):k0(Y)?H8(I7(Y.allOf)):J0(Y)?N0(I7(Y.anyOf)):i0(Y)?UM(Y):_X(Y)?Y:TY(Y)?Y:XY(Y)?Y:x8(Y)?Y:_1(Y)?Y:ZY(Y)?Y:xY(Y)?Y:F1(Y)?Y:kY(Y)?Y:H0({})}function eX(Y,X){if(b0(Y))return x7(Y,X);else return j({...T7(Y),...X})}function GM(Y,X){let Z={};for(let W of globalThis.Object.getOwnPropertyNames(Y))Z[W]=eX(Y[W],C0(X));return Z}function BM(Y,X){return GM(Y.properties,X)}function x7(Y,X){let Z=BM(Y,X);return z0(Z)}function NM(Y,X){return K0("Required",[K0(Y,X)])}function HM(Y){return K0("Required",[i8(Y)])}function AM(Y){let X={};for(let Z of globalThis.Object.getOwnPropertyNames(Y))X[Z]=g0(Y[Z],[o0]);return X}function qM(Y){let X=g0(Y,[S0,"$id","required","properties"]),Z=AM(Y.properties);return H0(Z,X)}function k7(Y){return Y.map((X)=>g7(X))}function g7(Y){return a8(Y)?NM(Y.target,Y.parameters):v0(Y)?HM(Y.$ref):k0(Y)?H8(k7(Y.allOf)):J0(Y)?N0(k7(Y.anyOf)):i0(Y)?qM(Y):_X(Y)?Y:TY(Y)?Y:XY(Y)?Y:x8(Y)?Y:_1(Y)?Y:ZY(Y)?Y:xY(Y)?Y:F1(Y)?Y:kY(Y)?Y:H0({})}function Y1(Y,X){if(b0(Y))return f7(Y,X);else return j({...g7(Y),...X})}function DM(Y,X){let Z={};for(let W of globalThis.Object.getOwnPropertyNames(Y))Z[W]=Y1(Y[W],X);return Z}function wM(Y,X){return DM(Y.properties,X)}function f7(Y,X){let Z=wM(Y,X);return z0(Z)}function LM(Y,X){return X.map((Z)=>{return v0(Z)?vZ(Y,Z.$ref):y8(Y,Z)})}function vZ(Y,X){return X in Y?v0(Y[X])?vZ(Y,Y[X].$ref):y8(Y,Y[X]):a()}function OM(Y){return nX(Y[0])}function SM(Y){return JX(Y[0],Y[1])}function PM(Y){return oX(Y[0])}function _M(Y){return eX(Y[0])}function FM(Y){return zX(Y[0],Y[1])}function jM(Y){return UX(Y[0],Y[1])}function KM(Y){return Y1(Y[0])}function CM(Y,X,Z){let W=LM(Y,Z);return X==="Awaited"?OM(W):X==="Index"?SM(W):X==="KeyOf"?PM(W):X==="Partial"?_M(W):X==="Omit"?FM(W):X==="Pick"?jM(W):X==="Required"?KM(W):a()}function RM(Y,X){return vX(y8(Y,X))}function bM(Y,X){return hX(y8(Y,X))}function EM(Y,X,Z){return mX(x1(Y,X),y8(Y,Z))}function VM(Y,X,Z){return SY(x1(Y,X),y8(Y,Z))}function IM(Y,X){return H8(x1(Y,X))}function TM(Y,X){return lX(y8(Y,X))}function xM(Y,X){return H0(globalThis.Object.keys(X).reduce((Z,W)=>{return{...Z,[W]:y8(Y,X[W])}},{}))}function kM(Y,X){let[Z,W]=[y8(Y,k6(X)),x6(X)],$=kX(X);return $.patternProperties[W]=Z,$}function gM(Y,X){return v0(X)?{...vZ(Y,X.$ref),[S0]:X[S0]}:X}function fM(Y,X){return c8(x1(Y,X))}function yM(Y,X){return N0(x1(Y,X))}function x1(Y,X){return X.map((Z)=>y8(Y,Z))}function y8(Y,X){return P8(X)?j(y8(Y,g0(X,[o0])),X):fX(X)?j(y8(Y,g0(X,[s8])),X):B0(X)?j(gM(Y,X),X):r8(X)?j(RM(Y,X.items),X):PX(X)?j(bM(Y,X.items),X):a8(X)?j(CM(Y,X.target,X.parameters)):e8(X)?j(EM(Y,X.parameters,X.returns),X):YY(X)?j(VM(Y,X.parameters,X.returns),X):k0(X)?j(IM(Y,X.allOf),X):FX(X)?j(TM(Y,X.items),X):i0(X)?j(xM(Y,X.properties),X):KX(X)?j(kM(Y,X)):f8(X)?j(fM(Y,X.items||[]),X):J0(X)?j(yM(Y,X.anyOf),X):X}function dM(Y,X){return X in Y?y8(Y,Y[X]):a()}function y7(Y){return globalThis.Object.getOwnPropertyNames(Y).reduce((X,Z)=>{return{...X,[Z]:dM(Y,Z)}},{})}class d7{constructor(Y){let X=y7(Y),Z=this.WithIdentifiers(X);this.$defs=Z}Import(Y,X){let Z={...this.$defs,[Y]:j(this.$defs[Y],X)};return j({[O]:"Import",$defs:Z,$ref:Y})}WithIdentifiers(Y){return globalThis.Object.getOwnPropertyNames(Y).reduce((X,Z)=>{return{...X,[Z]:{...Y[Z],$id:Z}}},{})}}function v7(Y){return new d7(Y)}function h7(Y,X){return j({[O]:"Not",not:Y},X)}function m7(Y,X){return YY(Y)?c8(Y.parameters,X):a()}var vM=0;function u7(Y,X={}){if(p0(X.$id))X.$id=`T${vM++}`;let Z=kX(Y({[O]:"This",$ref:`${X.$id}`}));return Z.$id=X.$id,j({[m8]:"Recursive",...Z},X)}function c7(Y,X){let Z=_0(Y)?new globalThis.RegExp(Y):Y;return j({[O]:"RegExp",type:"RegExp",source:Z.source,flags:Z.flags},X)}function hM(Y){return k0(Y)?Y.allOf:J0(Y)?Y.anyOf:f8(Y)?Y.items??[]:[]}function p7(Y){return hM(Y)}function i7(Y,X){return YY(Y)?j(Y.returns,X):a(X)}class l7{constructor(Y){this.schema=Y}Decode(Y){return new n7(this.schema,Y)}}class n7{constructor(Y,X){this.schema=Y,this.decode=X}EncodeTransform(Y,X){let $={Encode:(Q)=>X[S0].Encode(Y(Q)),Decode:(Q)=>this.decode(X[S0].Decode(Q))};return{...X,[S0]:$}}EncodeSchema(Y,X){let Z={Decode:this.decode,Encode:Y};return{...X,[S0]:Z}}Encode(Y){return B0(this.schema)?this.EncodeTransform(Y,this.schema):this.EncodeSchema(Y,this.schema)}}function o7(Y){return new l7(Y)}function g6(Y={}){return j({[O]:Y[O]??"Unsafe"},Y)}function t7(Y){return j({[O]:"Void",type:"void"},Y)}var hZ={};OX(hZ,{Void:()=>t7,Uppercase:()=>C7,Unsafe:()=>g6,Unknown:()=>WY,Union:()=>N0,Undefined:()=>C6,Uncapitalize:()=>K7,Uint8Array:()=>R6,Tuple:()=>c8,Transform:()=>o7,TemplateLiteral:()=>O6,Symbol:()=>K6,String:()=>w8,ReturnType:()=>i7,Rest:()=>p7,Required:()=>Y1,RegExp:()=>c7,Ref:()=>i8,Recursive:()=>u7,Record:()=>T6,ReadonlyOptional:()=>I6,Readonly:()=>F8,Promise:()=>P6,Pick:()=>UX,Partial:()=>eX,Parameters:()=>m7,Optional:()=>N8,Omit:()=>zX,Object:()=>H0,Number:()=>u8,Null:()=>j6,Not:()=>h7,Never:()=>a,Module:()=>v7,Mapped:()=>u$,Lowercase:()=>j7,Literal:()=>$0,KeyOf:()=>oX,Iterator:()=>lX,Intersect:()=>H8,Integer:()=>O7,Instantiate:()=>L7,InstanceType:()=>D7,Index:()=>JX,Function:()=>SY,Extract:()=>aX,Extends:()=>sX,Exclude:()=>rX,Enum:()=>r$,Date:()=>F6,ConstructorParameters:()=>s$,Constructor:()=>mX,Const:()=>t$,Composite:()=>o$,Capitalize:()=>F7,Boolean:()=>L6,BigInt:()=>iX,Awaited:()=>nX,AsyncIterator:()=>hX,Array:()=>vX,Argument:()=>C$,Any:()=>QX});var JY=hZ;function mM(Y){switch(Y.errorType){case _.ArrayContains:return"Expected array to contain at least one matching value";case _.ArrayMaxContains:return`Expected array to contain no more than ${Y.schema.maxContains} matching values`;case _.ArrayMinContains:return`Expected array to contain at least ${Y.schema.minContains} matching values`;case _.ArrayMaxItems:return`Expected array length to be less or equal to ${Y.schema.maxItems}`;case _.ArrayMinItems:return`Expected array length to be greater or equal to ${Y.schema.minItems}`;case _.ArrayUniqueItems:return"Expected array elements to be unique";case _.Array:return"Expected array";case _.AsyncIterator:return"Expected AsyncIterator";case _.BigIntExclusiveMaximum:return`Expected bigint to be less than ${Y.schema.exclusiveMaximum}`;case _.BigIntExclusiveMinimum:return`Expected bigint to be greater than ${Y.schema.exclusiveMinimum}`;case _.BigIntMaximum:return`Expected bigint to be less or equal to ${Y.schema.maximum}`;case _.BigIntMinimum:return`Expected bigint to be greater or equal to ${Y.schema.minimum}`;case _.BigIntMultipleOf:return`Expected bigint to be a multiple of ${Y.schema.multipleOf}`;case _.BigInt:return"Expected bigint";case _.Boolean:return"Expected boolean";case _.DateExclusiveMinimumTimestamp:return`Expected Date timestamp to be greater than ${Y.schema.exclusiveMinimumTimestamp}`;case _.DateExclusiveMaximumTimestamp:return`Expected Date timestamp to be less than ${Y.schema.exclusiveMaximumTimestamp}`;case _.DateMinimumTimestamp:return`Expected Date timestamp to be greater or equal to ${Y.schema.minimumTimestamp}`;case _.DateMaximumTimestamp:return`Expected Date timestamp to be less or equal to ${Y.schema.maximumTimestamp}`;case _.DateMultipleOfTimestamp:return`Expected Date timestamp to be a multiple of ${Y.schema.multipleOfTimestamp}`;case _.Date:return"Expected Date";case _.Function:return"Expected function";case _.IntegerExclusiveMaximum:return`Expected integer to be less than ${Y.schema.exclusiveMaximum}`;case _.IntegerExclusiveMinimum:return`Expected integer to be greater than ${Y.schema.exclusiveMinimum}`;case _.IntegerMaximum:return`Expected integer to be less or equal to ${Y.schema.maximum}`;case _.IntegerMinimum:return`Expected integer to be greater or equal to ${Y.schema.minimum}`;case _.IntegerMultipleOf:return`Expected integer to be a multiple of ${Y.schema.multipleOf}`;case _.Integer:return"Expected integer";case _.IntersectUnevaluatedProperties:return"Unexpected property";case _.Intersect:return"Expected all values to match";case _.Iterator:return"Expected Iterator";case _.Literal:return`Expected ${typeof Y.schema.const==="string"?`'${Y.schema.const}'`:Y.schema.const}`;case _.Never:return"Never";case _.Not:return"Value should not match";case _.Null:return"Expected null";case _.NumberExclusiveMaximum:return`Expected number to be less than ${Y.schema.exclusiveMaximum}`;case _.NumberExclusiveMinimum:return`Expected number to be greater than ${Y.schema.exclusiveMinimum}`;case _.NumberMaximum:return`Expected number to be less or equal to ${Y.schema.maximum}`;case _.NumberMinimum:return`Expected number to be greater or equal to ${Y.schema.minimum}`;case _.NumberMultipleOf:return`Expected number to be a multiple of ${Y.schema.multipleOf}`;case _.Number:return"Expected number";case _.Object:return"Expected object";case _.ObjectAdditionalProperties:return"Unexpected property";case _.ObjectMaxProperties:return`Expected object to have no more than ${Y.schema.maxProperties} properties`;case _.ObjectMinProperties:return`Expected object to have at least ${Y.schema.minProperties} properties`;case _.ObjectRequiredProperty:return"Expected required property";case _.Promise:return"Expected Promise";case _.RegExp:return"Expected string to match regular expression";case _.StringFormatUnknown:return`Unknown format '${Y.schema.format}'`;case _.StringFormat:return`Expected string to match '${Y.schema.format}' format`;case _.StringMaxLength:return`Expected string length less or equal to ${Y.schema.maxLength}`;case _.StringMinLength:return`Expected string length greater or equal to ${Y.schema.minLength}`;case _.StringPattern:return`Expected string to match '${Y.schema.pattern}'`;case _.String:return"Expected string";case _.Symbol:return"Expected symbol";case _.TupleLength:return`Expected tuple to have ${Y.schema.maxItems||0} elements`;case _.Tuple:return"Expected tuple";case _.Uint8ArrayMaxByteLength:return`Expected byte length less or equal to ${Y.schema.maxByteLength}`;case _.Uint8ArrayMinByteLength:return`Expected byte length greater or equal to ${Y.schema.minByteLength}`;case _.Uint8Array:return"Expected Uint8Array";case _.Undefined:return"Expected undefined";case _.Union:return"Expected union value";case _.Void:return"Expected void";case _.Kind:return`Expected kind '${Y.schema[O]}'`;default:return"Unknown error type"}}var uM=mM;function s7(){return uM}class r7 extends i{constructor(Y){super(`Unable to dereference schema with $id '${Y.$ref}'`);this.schema=Y}}function cM(Y,X){let Z=X.find((W)=>W.$id===Y.$ref);if(Z===void 0)throw new r7(Y);return M0(Z,X)}function Y8(Y,X){if(!Q0(Y.$id)||X.some((Z)=>Z.$id===Y.$id))return X;return X.push(Y),X}function M0(Y,X){return Y[O]==="This"||Y[O]==="Ref"?cM(Y,X):Y}class a7 extends i{constructor(Y){super("Unable to hash value");this.value=Y}}var d8;(function(Y){Y[Y.Undefined=0]="Undefined",Y[Y.Null=1]="Null",Y[Y.Boolean=2]="Boolean",Y[Y.Number=3]="Number",Y[Y.String=4]="String",Y[Y.Object=5]="Object",Y[Y.Array=6]="Array",Y[Y.Date=7]="Date",Y[Y.Uint8Array=8]="Uint8Array",Y[Y.Symbol=9]="Symbol",Y[Y.BigInt=10]="BigInt"})(d8||(d8={}));var X1=BigInt("14695981039346656037"),[pM,iM]=[BigInt("1099511628211"),BigInt("18446744073709551616")],lM=Array.from({length:256}).map((Y,X)=>BigInt(X)),e7=new Float64Array(1),Y9=new DataView(e7.buffer),X9=new Uint8Array(e7.buffer);function*nM(Y){let X=Y===0?1:Math.ceil(Math.floor(Math.log2(Y)+1)/8);for(let Z=0;Z<X;Z++)yield Y>>8*(X-1-Z)&255}function oM(Y){q8(d8.Array);for(let X of Y)Z1(X)}function tM(Y){q8(d8.Boolean),q8(Y?1:0)}function sM(Y){q8(d8.BigInt),Y9.setBigInt64(0,Y);for(let X of X9)q8(X)}function rM(Y){q8(d8.Date),Z1(Y.getTime())}function aM(Y){q8(d8.Null)}function eM(Y){q8(d8.Number),Y9.setFloat64(0,Y);for(let X of X9)q8(X)}function Yz(Y){q8(d8.Object);for(let X of globalThis.Object.getOwnPropertyNames(Y).sort())Z1(X),Z1(Y[X])}function Xz(Y){q8(d8.String);for(let X=0;X<Y.length;X++)for(let Z of nM(Y.charCodeAt(X)))q8(Z)}function Zz(Y){q8(d8.Symbol),Z1(Y.description)}function Wz(Y){q8(d8.Uint8Array);for(let X=0;X<Y.length;X++)q8(Y[X])}function $z(Y){return q8(d8.Undefined)}function Z1(Y){if(p(Y))return oM(Y);if(OY(Y))return tM(Y);if(Q8(Y))return sM(Y);if(D8(Y))return rM(Y);if(VY(Y))return aM(Y);if(u(Y))return eM(Y);if(t(Y))return Yz(Y);if(Q0(Y))return Xz(Y);if(IY(Y))return Zz(Y);if(gX(Y))return Wz(Y);if(R0(Y))return $z(Y);throw new a7(Y)}function q8(Y){X1=X1^lM[Y],X1=X1*pM%iM}function GX(Y){return X1=BigInt("14695981039346656037"),Z1(Y),X1}class Z9 extends i{constructor(Y){super("Unknown type");this.schema=Y}}function Qz(Y){return Y[O]==="Any"||Y[O]==="Unknown"}function X0(Y){return Y!==void 0}function Jz(Y,X,Z){return!0}function Mz(Y,X,Z){return!0}function zz(Y,X,Z){if(!p(Z))return!1;if(X0(Y.minItems)&&!(Z.length>=Y.minItems))return!1;if(X0(Y.maxItems)&&!(Z.length<=Y.maxItems))return!1;if(!Z.every((Q)=>X8(Y.items,X,Q)))return!1;if(Y.uniqueItems===!0&&!function(){let Q=new Set;for(let J of Z){let M=GX(J);if(Q.has(M))return!1;else Q.add(M)}return!0}())return!1;if(!(X0(Y.contains)||u(Y.minContains)||u(Y.maxContains)))return!0;let W=X0(Y.contains)?Y.contains:a(),$=Z.reduce((Q,J)=>X8(W,X,J)?Q+1:Q,0);if($===0)return!1;if(u(Y.minContains)&&$<Y.minContains)return!1;if(u(Y.maxContains)&&$>Y.maxContains)return!1;return!0}function Uz(Y,X,Z){return G6(Z)}function Gz(Y,X,Z){if(!Q8(Z))return!1;if(X0(Y.exclusiveMaximum)&&!(Z<Y.exclusiveMaximum))return!1;if(X0(Y.exclusiveMinimum)&&!(Z>Y.exclusiveMinimum))return!1;if(X0(Y.maximum)&&!(Z<=Y.maximum))return!1;if(X0(Y.minimum)&&!(Z>=Y.minimum))return!1;if(X0(Y.multipleOf)&&Z%Y.multipleOf!==BigInt(0))return!1;return!0}function Bz(Y,X,Z){return OY(Z)}function Nz(Y,X,Z){return X8(Y.returns,X,Z.prototype)}function Hz(Y,X,Z){if(!D8(Z))return!1;if(X0(Y.exclusiveMaximumTimestamp)&&!(Z.getTime()<Y.exclusiveMaximumTimestamp))return!1;if(X0(Y.exclusiveMinimumTimestamp)&&!(Z.getTime()>Y.exclusiveMinimumTimestamp))return!1;if(X0(Y.maximumTimestamp)&&!(Z.getTime()<=Y.maximumTimestamp))return!1;if(X0(Y.minimumTimestamp)&&!(Z.getTime()>=Y.minimumTimestamp))return!1;if(X0(Y.multipleOfTimestamp)&&Z.getTime()%Y.multipleOfTimestamp!==0)return!1;return!0}function Az(Y,X,Z){return YX(Z)}function qz(Y,X,Z){let W=globalThis.Object.values(Y.$defs),$=Y.$defs[Y.$ref];return X8($,[...X,...W],Z)}function Dz(Y,X,Z){if(!H6(Z))return!1;if(X0(Y.exclusiveMaximum)&&!(Z<Y.exclusiveMaximum))return!1;if(X0(Y.exclusiveMinimum)&&!(Z>Y.exclusiveMinimum))return!1;if(X0(Y.maximum)&&!(Z<=Y.maximum))return!1;if(X0(Y.minimum)&&!(Z>=Y.minimum))return!1;if(X0(Y.multipleOf)&&Z%Y.multipleOf!==0)return!1;return!0}function wz(Y,X,Z){let W=Y.allOf.every(($)=>X8($,X,Z));if(Y.unevaluatedProperties===!1){let $=new RegExp(yY(Y)),Q=Object.getOwnPropertyNames(Z).every((J)=>$.test(J));return W&&Q}else if(I0(Y.unevaluatedProperties)){let $=new RegExp(yY(Y)),Q=Object.getOwnPropertyNames(Z).every((J)=>$.test(J)||X8(Y.unevaluatedProperties,X,Z[J]));return W&&Q}else return W}function Lz(Y,X,Z){return B6(Z)}function Oz(Y,X,Z){return Z===Y.const}function Sz(Y,X,Z){return!1}function Pz(Y,X,Z){return!X8(Y.not,X,Z)}function _z(Y,X,Z){return VY(Z)}function Fz(Y,X,Z){if(!j0.IsNumberLike(Z))return!1;if(X0(Y.exclusiveMaximum)&&!(Z<Y.exclusiveMaximum))return!1;if(X0(Y.exclusiveMinimum)&&!(Z>Y.exclusiveMinimum))return!1;if(X0(Y.minimum)&&!(Z>=Y.minimum))return!1;if(X0(Y.maximum)&&!(Z<=Y.maximum))return!1;if(X0(Y.multipleOf)&&Z%Y.multipleOf!==0)return!1;return!0}function jz(Y,X,Z){if(!j0.IsObjectLike(Z))return!1;if(X0(Y.minProperties)&&!(Object.getOwnPropertyNames(Z).length>=Y.minProperties))return!1;if(X0(Y.maxProperties)&&!(Object.getOwnPropertyNames(Z).length<=Y.maxProperties))return!1;let W=Object.getOwnPropertyNames(Y.properties);for(let $ of W){let Q=Y.properties[$];if(Y.required&&Y.required.includes($)){if(!X8(Q,X,Z[$]))return!1;if((dY(Q)||Qz(Q))&&!($ in Z))return!1}else if(j0.IsExactOptionalProperty(Z,$)&&!X8(Q,X,Z[$]))return!1}if(Y.additionalProperties===!1){let $=Object.getOwnPropertyNames(Z);if(Y.required&&Y.required.length===W.length&&$.length===W.length)return!0;else return $.every((Q)=>W.includes(Q))}else if(typeof Y.additionalProperties==="object")return Object.getOwnPropertyNames(Z).every((Q)=>W.includes(Q)||X8(Y.additionalProperties,X,Z[Q]));else return!0}function Kz(Y,X,Z){return N6(Z)}function Cz(Y,X,Z){if(!j0.IsRecordLike(Z))return!1;if(X0(Y.minProperties)&&!(Object.getOwnPropertyNames(Z).length>=Y.minProperties))return!1;if(X0(Y.maxProperties)&&!(Object.getOwnPropertyNames(Z).length<=Y.maxProperties))return!1;let[W,$]=Object.entries(Y.patternProperties)[0],Q=new RegExp(W),J=Object.entries(Z).every(([U,G])=>{return Q.test(U)?X8($,X,G):!0}),M=typeof Y.additionalProperties==="object"?Object.entries(Z).every(([U,G])=>{return!Q.test(U)?X8(Y.additionalProperties,X,G):!0}):!0,z=Y.additionalProperties===!1?Object.getOwnPropertyNames(Z).every((U)=>{return Q.test(U)}):!0;return J&&M&&z}function Rz(Y,X,Z){return X8(M0(Y,X),X,Z)}function bz(Y,X,Z){let W=new RegExp(Y.source,Y.flags);if(X0(Y.minLength)){if(!(Z.length>=Y.minLength))return!1}if(X0(Y.maxLength)){if(!(Z.length<=Y.maxLength))return!1}return W.test(Z)}function Ez(Y,X,Z){if(!Q0(Z))return!1;if(X0(Y.minLength)){if(!(Z.length>=Y.minLength))return!1}if(X0(Y.maxLength)){if(!(Z.length<=Y.maxLength))return!1}if(X0(Y.pattern)){if(!new RegExp(Y.pattern).test(Z))return!1}if(X0(Y.format)){if(!q0.Has(Y.format))return!1;return q0.Get(Y.format)(Z)}return!0}function Vz(Y,X,Z){return IY(Z)}function Iz(Y,X,Z){return Q0(Z)&&new RegExp(Y.pattern).test(Z)}function Tz(Y,X,Z){return X8(M0(Y,X),X,Z)}function xz(Y,X,Z){if(!p(Z))return!1;if(Y.items===void 0&&Z.length!==0)return!1;if(Z.length!==Y.maxItems)return!1;if(!Y.items)return!0;for(let W=0;W<Y.items.length;W++)if(!X8(Y.items[W],X,Z[W]))return!1;return!0}function kz(Y,X,Z){return R0(Z)}function gz(Y,X,Z){return Y.anyOf.some((W)=>X8(W,X,Z))}function fz(Y,X,Z){if(!gX(Z))return!1;if(X0(Y.maxByteLength)&&!(Z.length<=Y.maxByteLength))return!1;if(X0(Y.minByteLength)&&!(Z.length>=Y.minByteLength))return!1;return!0}function yz(Y,X,Z){return!0}function dz(Y,X,Z){return j0.IsVoidLike(Z)}function vz(Y,X,Z){if(!t0.Has(Y[O]))return!1;return t0.Get(Y[O])(Y,Z)}function X8(Y,X,Z){let W=X0(Y.$id)?Y8(Y,X):X,$=Y;switch($[O]){case"Any":return Jz($,W,Z);case"Argument":return Mz($,W,Z);case"Array":return zz($,W,Z);case"AsyncIterator":return Uz($,W,Z);case"BigInt":return Gz($,W,Z);case"Boolean":return Bz($,W,Z);case"Constructor":return Nz($,W,Z);case"Date":return Hz($,W,Z);case"Function":return Az($,W,Z);case"Import":return qz($,W,Z);case"Integer":return Dz($,W,Z);case"Intersect":return wz($,W,Z);case"Iterator":return Lz($,W,Z);case"Literal":return Oz($,W,Z);case"Never":return Sz($,W,Z);case"Not":return Pz($,W,Z);case"Null":return _z($,W,Z);case"Number":return Fz($,W,Z);case"Object":return jz($,W,Z);case"Promise":return Kz($,W,Z);case"Record":return Cz($,W,Z);case"Ref":return Rz($,W,Z);case"RegExp":return bz($,W,Z);case"String":return Ez($,W,Z);case"Symbol":return Vz($,W,Z);case"TemplateLiteral":return Iz($,W,Z);case"This":return Tz($,W,Z);case"Tuple":return xz($,W,Z);case"Undefined":return kz($,W,Z);case"Union":return gz($,W,Z);case"Uint8Array":return fz($,W,Z);case"Unknown":return yz($,W,Z);case"Void":return dz($,W,Z);default:if(!t0.Has($[O]))throw new Z9($);return vz($,W,Z)}}function e(...Y){return Y.length===3?X8(Y[0],Y[1],Y[2]):X8(Y[0],[],Y[1])}var _;(function(Y){Y[Y.ArrayContains=0]="ArrayContains",Y[Y.ArrayMaxContains=1]="ArrayMaxContains",Y[Y.ArrayMaxItems=2]="ArrayMaxItems",Y[Y.ArrayMinContains=3]="ArrayMinContains",Y[Y.ArrayMinItems=4]="ArrayMinItems",Y[Y.ArrayUniqueItems=5]="ArrayUniqueItems",Y[Y.Array=6]="Array",Y[Y.AsyncIterator=7]="AsyncIterator",Y[Y.BigIntExclusiveMaximum=8]="BigIntExclusiveMaximum",Y[Y.BigIntExclusiveMinimum=9]="BigIntExclusiveMinimum",Y[Y.BigIntMaximum=10]="BigIntMaximum",Y[Y.BigIntMinimum=11]="BigIntMinimum",Y[Y.BigIntMultipleOf=12]="BigIntMultipleOf",Y[Y.BigInt=13]="BigInt",Y[Y.Boolean=14]="Boolean",Y[Y.DateExclusiveMaximumTimestamp=15]="DateExclusiveMaximumTimestamp",Y[Y.DateExclusiveMinimumTimestamp=16]="DateExclusiveMinimumTimestamp",Y[Y.DateMaximumTimestamp=17]="DateMaximumTimestamp",Y[Y.DateMinimumTimestamp=18]="DateMinimumTimestamp",Y[Y.DateMultipleOfTimestamp=19]="DateMultipleOfTimestamp",Y[Y.Date=20]="Date",Y[Y.Function=21]="Function",Y[Y.IntegerExclusiveMaximum=22]="IntegerExclusiveMaximum",Y[Y.IntegerExclusiveMinimum=23]="IntegerExclusiveMinimum",Y[Y.IntegerMaximum=24]="IntegerMaximum",Y[Y.IntegerMinimum=25]="IntegerMinimum",Y[Y.IntegerMultipleOf=26]="IntegerMultipleOf",Y[Y.Integer=27]="Integer",Y[Y.IntersectUnevaluatedProperties=28]="IntersectUnevaluatedProperties",Y[Y.Intersect=29]="Intersect",Y[Y.Iterator=30]="Iterator",Y[Y.Kind=31]="Kind",Y[Y.Literal=32]="Literal",Y[Y.Never=33]="Never",Y[Y.Not=34]="Not",Y[Y.Null=35]="Null",Y[Y.NumberExclusiveMaximum=36]="NumberExclusiveMaximum",Y[Y.NumberExclusiveMinimum=37]="NumberExclusiveMinimum",Y[Y.NumberMaximum=38]="NumberMaximum",Y[Y.NumberMinimum=39]="NumberMinimum",Y[Y.NumberMultipleOf=40]="NumberMultipleOf",Y[Y.Number=41]="Number",Y[Y.ObjectAdditionalProperties=42]="ObjectAdditionalProperties",Y[Y.ObjectMaxProperties=43]="ObjectMaxProperties",Y[Y.ObjectMinProperties=44]="ObjectMinProperties",Y[Y.ObjectRequiredProperty=45]="ObjectRequiredProperty",Y[Y.Object=46]="Object",Y[Y.Promise=47]="Promise",Y[Y.RegExp=48]="RegExp",Y[Y.StringFormatUnknown=49]="StringFormatUnknown",Y[Y.StringFormat=50]="StringFormat",Y[Y.StringMaxLength=51]="StringMaxLength",Y[Y.StringMinLength=52]="StringMinLength",Y[Y.StringPattern=53]="StringPattern",Y[Y.String=54]="String",Y[Y.Symbol=55]="Symbol",Y[Y.TupleLength=56]="TupleLength",Y[Y.Tuple=57]="Tuple",Y[Y.Uint8ArrayMaxByteLength=58]="Uint8ArrayMaxByteLength",Y[Y.Uint8ArrayMinByteLength=59]="Uint8ArrayMinByteLength",Y[Y.Uint8Array=60]="Uint8Array",Y[Y.Undefined=61]="Undefined",Y[Y.Union=62]="Union",Y[Y.Void=63]="Void"})(_||(_={}));class W9 extends i{constructor(Y){super("Unknown type");this.schema=Y}}function vY(Y){return Y.replace(/~/g,"~0").replace(/\//g,"~1")}function Z0(Y){return Y!==void 0}class EX{constructor(Y){this.iterator=Y}[Symbol.iterator](){return this.iterator}First(){let Y=this.iterator.next();return Y.done?void 0:Y.value}}function v(Y,X,Z,W,$=[]){return{type:Y,schema:X,path:Z,value:W,message:s7()({errorType:Y,path:Z,schema:X,value:W,errors:$}),errors:$}}function*hz(Y,X,Z,W){}function*mz(Y,X,Z,W){}function*uz(Y,X,Z,W){if(!p(W))return yield v(_.Array,Y,Z,W);if(Z0(Y.minItems)&&!(W.length>=Y.minItems))yield v(_.ArrayMinItems,Y,Z,W);if(Z0(Y.maxItems)&&!(W.length<=Y.maxItems))yield v(_.ArrayMaxItems,Y,Z,W);for(let J=0;J<W.length;J++)yield*Z8(Y.items,X,`${Z}/${J}`,W[J]);if(Y.uniqueItems===!0&&!function(){let J=new Set;for(let M of W){let z=GX(M);if(J.has(z))return!1;else J.add(z)}return!0}())yield v(_.ArrayUniqueItems,Y,Z,W);if(!(Z0(Y.contains)||Z0(Y.minContains)||Z0(Y.maxContains)))return;let $=Z0(Y.contains)?Y.contains:a(),Q=W.reduce((J,M,z)=>Z8($,X,`${Z}${z}`,M).next().done===!0?J+1:J,0);if(Q===0)yield v(_.ArrayContains,Y,Z,W);if(u(Y.minContains)&&Q<Y.minContains)yield v(_.ArrayMinContains,Y,Z,W);if(u(Y.maxContains)&&Q>Y.maxContains)yield v(_.ArrayMaxContains,Y,Z,W)}function*cz(Y,X,Z,W){if(!G6(W))yield v(_.AsyncIterator,Y,Z,W)}function*pz(Y,X,Z,W){if(!Q8(W))return yield v(_.BigInt,Y,Z,W);if(Z0(Y.exclusiveMaximum)&&!(W<Y.exclusiveMaximum))yield v(_.BigIntExclusiveMaximum,Y,Z,W);if(Z0(Y.exclusiveMinimum)&&!(W>Y.exclusiveMinimum))yield v(_.BigIntExclusiveMinimum,Y,Z,W);if(Z0(Y.maximum)&&!(W<=Y.maximum))yield v(_.BigIntMaximum,Y,Z,W);if(Z0(Y.minimum)&&!(W>=Y.minimum))yield v(_.BigIntMinimum,Y,Z,W);if(Z0(Y.multipleOf)&&W%Y.multipleOf!==BigInt(0))yield v(_.BigIntMultipleOf,Y,Z,W)}function*iz(Y,X,Z,W){if(!OY(W))yield v(_.Boolean,Y,Z,W)}function*lz(Y,X,Z,W){yield*Z8(Y.returns,X,Z,W.prototype)}function*nz(Y,X,Z,W){if(!D8(W))return yield v(_.Date,Y,Z,W);if(Z0(Y.exclusiveMaximumTimestamp)&&!(W.getTime()<Y.exclusiveMaximumTimestamp))yield v(_.DateExclusiveMaximumTimestamp,Y,Z,W);if(Z0(Y.exclusiveMinimumTimestamp)&&!(W.getTime()>Y.exclusiveMinimumTimestamp))yield v(_.DateExclusiveMinimumTimestamp,Y,Z,W);if(Z0(Y.maximumTimestamp)&&!(W.getTime()<=Y.maximumTimestamp))yield v(_.DateMaximumTimestamp,Y,Z,W);if(Z0(Y.minimumTimestamp)&&!(W.getTime()>=Y.minimumTimestamp))yield v(_.DateMinimumTimestamp,Y,Z,W);if(Z0(Y.multipleOfTimestamp)&&W.getTime()%Y.multipleOfTimestamp!==0)yield v(_.DateMultipleOfTimestamp,Y,Z,W)}function*oz(Y,X,Z,W){if(!YX(W))yield v(_.Function,Y,Z,W)}function*tz(Y,X,Z,W){let $=globalThis.Object.values(Y.$defs),Q=Y.$defs[Y.$ref];yield*Z8(Q,[...X,...$],Z,W)}function*sz(Y,X,Z,W){if(!H6(W))return yield v(_.Integer,Y,Z,W);if(Z0(Y.exclusiveMaximum)&&!(W<Y.exclusiveMaximum))yield v(_.IntegerExclusiveMaximum,Y,Z,W);if(Z0(Y.exclusiveMinimum)&&!(W>Y.exclusiveMinimum))yield v(_.IntegerExclusiveMinimum,Y,Z,W);if(Z0(Y.maximum)&&!(W<=Y.maximum))yield v(_.IntegerMaximum,Y,Z,W);if(Z0(Y.minimum)&&!(W>=Y.minimum))yield v(_.IntegerMinimum,Y,Z,W);if(Z0(Y.multipleOf)&&W%Y.multipleOf!==0)yield v(_.IntegerMultipleOf,Y,Z,W)}function*rz(Y,X,Z,W){let $=!1;for(let Q of Y.allOf)for(let J of Z8(Q,X,Z,W))$=!0,yield J;if($)return yield v(_.Intersect,Y,Z,W);if(Y.unevaluatedProperties===!1){let Q=new RegExp(yY(Y));for(let J of Object.getOwnPropertyNames(W))if(!Q.test(J))yield v(_.IntersectUnevaluatedProperties,Y,`${Z}/${J}`,W)}if(typeof Y.unevaluatedProperties==="object"){let Q=new RegExp(yY(Y));for(let J of Object.getOwnPropertyNames(W))if(!Q.test(J)){let M=Z8(Y.unevaluatedProperties,X,`${Z}/${J}`,W[J]).next();if(!M.done)yield M.value}}}function*az(Y,X,Z,W){if(!B6(W))yield v(_.Iterator,Y,Z,W)}function*ez(Y,X,Z,W){if(W!==Y.const)yield v(_.Literal,Y,Z,W)}function*YU(Y,X,Z,W){yield v(_.Never,Y,Z,W)}function*XU(Y,X,Z,W){if(Z8(Y.not,X,Z,W).next().done===!0)yield v(_.Not,Y,Z,W)}function*ZU(Y,X,Z,W){if(!VY(W))yield v(_.Null,Y,Z,W)}function*WU(Y,X,Z,W){if(!j0.IsNumberLike(W))return yield v(_.Number,Y,Z,W);if(Z0(Y.exclusiveMaximum)&&!(W<Y.exclusiveMaximum))yield v(_.NumberExclusiveMaximum,Y,Z,W);if(Z0(Y.exclusiveMinimum)&&!(W>Y.exclusiveMinimum))yield v(_.NumberExclusiveMinimum,Y,Z,W);if(Z0(Y.maximum)&&!(W<=Y.maximum))yield v(_.NumberMaximum,Y,Z,W);if(Z0(Y.minimum)&&!(W>=Y.minimum))yield v(_.NumberMinimum,Y,Z,W);if(Z0(Y.multipleOf)&&W%Y.multipleOf!==0)yield v(_.NumberMultipleOf,Y,Z,W)}function*$U(Y,X,Z,W){if(!j0.IsObjectLike(W))return yield v(_.Object,Y,Z,W);if(Z0(Y.minProperties)&&!(Object.getOwnPropertyNames(W).length>=Y.minProperties))yield v(_.ObjectMinProperties,Y,Z,W);if(Z0(Y.maxProperties)&&!(Object.getOwnPropertyNames(W).length<=Y.maxProperties))yield v(_.ObjectMaxProperties,Y,Z,W);let $=Array.isArray(Y.required)?Y.required:[],Q=Object.getOwnPropertyNames(Y.properties),J=Object.getOwnPropertyNames(W);for(let M of $){if(J.includes(M))continue;yield v(_.ObjectRequiredProperty,Y.properties[M],`${Z}/${vY(M)}`,void 0)}if(Y.additionalProperties===!1){for(let M of J)if(!Q.includes(M))yield v(_.ObjectAdditionalProperties,Y,`${Z}/${vY(M)}`,W[M])}if(typeof Y.additionalProperties==="object")for(let M of J){if(Q.includes(M))continue;yield*Z8(Y.additionalProperties,X,`${Z}/${vY(M)}`,W[M])}for(let M of Q){let z=Y.properties[M];if(Y.required&&Y.required.includes(M)){if(yield*Z8(z,X,`${Z}/${vY(M)}`,W[M]),dY(Y)&&!(M in W))yield v(_.ObjectRequiredProperty,z,`${Z}/${vY(M)}`,void 0)}else if(j0.IsExactOptionalProperty(W,M))yield*Z8(z,X,`${Z}/${vY(M)}`,W[M])}}function*QU(Y,X,Z,W){if(!N6(W))yield v(_.Promise,Y,Z,W)}function*JU(Y,X,Z,W){if(!j0.IsRecordLike(W))return yield v(_.Object,Y,Z,W);if(Z0(Y.minProperties)&&!(Object.getOwnPropertyNames(W).length>=Y.minProperties))yield v(_.ObjectMinProperties,Y,Z,W);if(Z0(Y.maxProperties)&&!(Object.getOwnPropertyNames(W).length<=Y.maxProperties))yield v(_.ObjectMaxProperties,Y,Z,W);let[$,Q]=Object.entries(Y.patternProperties)[0],J=new RegExp($);for(let[M,z]of Object.entries(W))if(J.test(M))yield*Z8(Q,X,`${Z}/${vY(M)}`,z);if(typeof Y.additionalProperties==="object"){for(let[M,z]of Object.entries(W))if(!J.test(M))yield*Z8(Y.additionalProperties,X,`${Z}/${vY(M)}`,z)}if(Y.additionalProperties===!1)for(let[M,z]of Object.entries(W)){if(J.test(M))continue;return yield v(_.ObjectAdditionalProperties,Y,`${Z}/${vY(M)}`,z)}}function*MU(Y,X,Z,W){yield*Z8(M0(Y,X),X,Z,W)}function*zU(Y,X,Z,W){if(!Q0(W))return yield v(_.String,Y,Z,W);if(Z0(Y.minLength)&&!(W.length>=Y.minLength))yield v(_.StringMinLength,Y,Z,W);if(Z0(Y.maxLength)&&!(W.length<=Y.maxLength))yield v(_.StringMaxLength,Y,Z,W);if(!new RegExp(Y.source,Y.flags).test(W))return yield v(_.RegExp,Y,Z,W)}function*UU(Y,X,Z,W){if(!Q0(W))return yield v(_.String,Y,Z,W);if(Z0(Y.minLength)&&!(W.length>=Y.minLength))yield v(_.StringMinLength,Y,Z,W);if(Z0(Y.maxLength)&&!(W.length<=Y.maxLength))yield v(_.StringMaxLength,Y,Z,W);if(Q0(Y.pattern)){if(!new RegExp(Y.pattern).test(W))yield v(_.StringPattern,Y,Z,W)}if(Q0(Y.format)){if(!q0.Has(Y.format))yield v(_.StringFormatUnknown,Y,Z,W);else if(!q0.Get(Y.format)(W))yield v(_.StringFormat,Y,Z,W)}}function*GU(Y,X,Z,W){if(!IY(W))yield v(_.Symbol,Y,Z,W)}function*BU(Y,X,Z,W){if(!Q0(W))return yield v(_.String,Y,Z,W);if(!new RegExp(Y.pattern).test(W))yield v(_.StringPattern,Y,Z,W)}function*NU(Y,X,Z,W){yield*Z8(M0(Y,X),X,Z,W)}function*HU(Y,X,Z,W){if(!p(W))return yield v(_.Tuple,Y,Z,W);if(Y.items===void 0&&W.length!==0)return yield v(_.TupleLength,Y,Z,W);if(W.length!==Y.maxItems)return yield v(_.TupleLength,Y,Z,W);if(!Y.items)return;for(let $=0;$<Y.items.length;$++)yield*Z8(Y.items[$],X,`${Z}/${$}`,W[$])}function*AU(Y,X,Z,W){if(!R0(W))yield v(_.Undefined,Y,Z,W)}function*qU(Y,X,Z,W){if(e(Y,X,W))return;let $=Y.anyOf.map((Q)=>new EX(Z8(Q,X,Z,W)));yield v(_.Union,Y,Z,W,$)}function*DU(Y,X,Z,W){if(!gX(W))return yield v(_.Uint8Array,Y,Z,W);if(Z0(Y.maxByteLength)&&!(W.length<=Y.maxByteLength))yield v(_.Uint8ArrayMaxByteLength,Y,Z,W);if(Z0(Y.minByteLength)&&!(W.length>=Y.minByteLength))yield v(_.Uint8ArrayMinByteLength,Y,Z,W)}function*wU(Y,X,Z,W){}function*LU(Y,X,Z,W){if(!j0.IsVoidLike(W))yield v(_.Void,Y,Z,W)}function*OU(Y,X,Z,W){if(!t0.Get(Y[O])(Y,W))yield v(_.Kind,Y,Z,W)}function*Z8(Y,X,Z,W){let $=Z0(Y.$id)?[...X,Y]:X,Q=Y;switch(Q[O]){case"Any":return yield*hz(Q,$,Z,W);case"Argument":return yield*mz(Q,$,Z,W);case"Array":return yield*uz(Q,$,Z,W);case"AsyncIterator":return yield*cz(Q,$,Z,W);case"BigInt":return yield*pz(Q,$,Z,W);case"Boolean":return yield*iz(Q,$,Z,W);case"Constructor":return yield*lz(Q,$,Z,W);case"Date":return yield*nz(Q,$,Z,W);case"Function":return yield*oz(Q,$,Z,W);case"Import":return yield*tz(Q,$,Z,W);case"Integer":return yield*sz(Q,$,Z,W);case"Intersect":return yield*rz(Q,$,Z,W);case"Iterator":return yield*az(Q,$,Z,W);case"Literal":return yield*ez(Q,$,Z,W);case"Never":return yield*YU(Q,$,Z,W);case"Not":return yield*XU(Q,$,Z,W);case"Null":return yield*ZU(Q,$,Z,W);case"Number":return yield*WU(Q,$,Z,W);case"Object":return yield*$U(Q,$,Z,W);case"Promise":return yield*QU(Q,$,Z,W);case"Record":return yield*JU(Q,$,Z,W);case"Ref":return yield*MU(Q,$,Z,W);case"RegExp":return yield*zU(Q,$,Z,W);case"String":return yield*UU(Q,$,Z,W);case"Symbol":return yield*GU(Q,$,Z,W);case"TemplateLiteral":return yield*BU(Q,$,Z,W);case"This":return yield*NU(Q,$,Z,W);case"Tuple":return yield*HU(Q,$,Z,W);case"Undefined":return yield*AU(Q,$,Z,W);case"Union":return yield*qU(Q,$,Z,W);case"Uint8Array":return yield*DU(Q,$,Z,W);case"Unknown":return yield*wU(Q,$,Z,W);case"Void":return yield*LU(Q,$,Z,W);default:if(!t0.Has(Q[O]))throw new W9(Y);return yield*OU(Q,$,Z,W)}}function _Y(...Y){let X=Y.length===3?Z8(Y[0],Y[1],"",Y[2]):Z8(Y[0],[],"",Y[1]);return new EX(X)}var SU=function(Y,X,Z,W,$){if(W==="m")throw TypeError("Private method is not writable");if(W==="a"&&!$)throw TypeError("Private accessor was defined without a setter");if(typeof X==="function"?Y!==X||!$:!X.has(Y))throw TypeError("Cannot write private member to an object whose class did not declare it");return W==="a"?$.call(Y,Z):$?$.value=Z:X.set(Y,Z),Z},Q9=function(Y,X,Z,W){if(Z==="a"&&!W)throw TypeError("Private accessor was defined without a getter");if(typeof X==="function"?Y!==X||!W:!X.has(Y))throw TypeError("Cannot read private member from an object whose class did not declare it");return Z==="m"?W:Z==="a"?W.call(Y):W?W.value:X.get(Y)},mZ,f6,J9;class M9 extends i{constructor(Y){let X=Y.First();super(X===void 0?"Invalid Value":X.message);mZ.add(this),f6.set(this,void 0),SU(this,f6,Y,"f"),this.error=X}Errors(){return new EX(Q9(this,mZ,"m",J9).call(this))}}f6=new WeakMap,mZ=new WeakSet,J9=function*(){if(this.error)yield this.error;yield*Q9(this,f6,"f")};function $9(Y,X,Z){if(e(Y,X,Z))return;throw new M9(_Y(Y,X,Z))}function y6(...Y){return Y.length===3?$9(Y[0],Y[1],Y[2]):$9(Y[0],[],Y[1])}function PU(Y){let X={};for(let Z of Object.getOwnPropertyNames(Y))X[Z]=U0(Y[Z]);for(let Z of Object.getOwnPropertySymbols(Y))X[Z]=U0(Y[Z]);return X}function _U(Y){return Y.map((X)=>U0(X))}function FU(Y){return Y.slice()}function jU(Y){return new Map(U0([...Y.entries()]))}function KU(Y){return new Set(U0([...Y.entries()]))}function CU(Y){return new Date(Y.toISOString())}function RU(Y){return Y}function U0(Y){if(p(Y))return _U(Y);if(D8(Y))return CU(Y);if(h8(Y))return FU(Y);if(bW(Y))return jU(Y);if(EW(Y))return KU(Y);if(t(Y))return PU(Y);if(T8(Y))return RU(Y);throw Error("ValueClone: Unable to clone value")}class o8 extends i{constructor(Y,X){super(X);this.schema=Y}}function G0(Y){return YX(Y)?Y():U0(Y)}function bU(Y,X){if(l(Y,"default"))return G0(Y.default);else return{}}function EU(Y,X){return{}}function VU(Y,X){if(Y.uniqueItems===!0&&!l(Y,"default"))throw new o8(Y,"Array with the uniqueItems constraint requires a default value");else if("contains"in Y&&!l(Y,"default"))throw new o8(Y,"Array with the contains constraint requires a default value");else if("default"in Y)return G0(Y.default);else if(Y.minItems!==void 0)return Array.from({length:Y.minItems}).map((Z)=>{return v8(Y.items,X)});else return[]}function IU(Y,X){if(l(Y,"default"))return G0(Y.default);else return async function*(){}()}function TU(Y,X){if(l(Y,"default"))return G0(Y.default);else return BigInt(0)}function xU(Y,X){if(l(Y,"default"))return G0(Y.default);else return!1}function kU(Y,X){if(l(Y,"default"))return G0(Y.default);else{let Z=v8(Y.returns,X);if(typeof Z==="object"&&!Array.isArray(Z))return class{constructor(){for(let[W,$]of Object.entries(Z)){let Q=this;Q[W]=$}}};else return class{}}}function gU(Y,X){if(l(Y,"default"))return G0(Y.default);else if(Y.minimumTimestamp!==void 0)return new Date(Y.minimumTimestamp);else return new Date}function fU(Y,X){if(l(Y,"default"))return G0(Y.default);else return()=>v8(Y.returns,X)}function yU(Y,X){let Z=globalThis.Object.values(Y.$defs),W=Y.$defs[Y.$ref];return v8(W,[...X,...Z])}function dU(Y,X){if(l(Y,"default"))return G0(Y.default);else if(Y.minimum!==void 0)return Y.minimum;else return 0}function vU(Y,X){if(l(Y,"default"))return G0(Y.default);else{let Z=Y.allOf.reduce((W,$)=>{let Q=v8($,X);return typeof Q==="object"?{...W,...Q}:Q},{});if(!e(Y,X,Z))throw new o8(Y,"Intersect produced invalid value. Consider using a default value.");return Z}}function hU(Y,X){if(l(Y,"default"))return G0(Y.default);else return function*(){}()}function mU(Y,X){if(l(Y,"default"))return G0(Y.default);else return Y.const}function uU(Y,X){if(l(Y,"default"))return G0(Y.default);else throw new o8(Y,"Never types cannot be created. Consider using a default value.")}function cU(Y,X){if(l(Y,"default"))return G0(Y.default);else throw new o8(Y,"Not types must have a default value")}function pU(Y,X){if(l(Y,"default"))return G0(Y.default);else return null}function iU(Y,X){if(l(Y,"default"))return G0(Y.default);else if(Y.minimum!==void 0)return Y.minimum;else return 0}function lU(Y,X){if(l(Y,"default"))return G0(Y.default);else{let Z=new Set(Y.required),W={};for(let[$,Q]of Object.entries(Y.properties)){if(!Z.has($))continue;W[$]=v8(Q,X)}return W}}function nU(Y,X){if(l(Y,"default"))return G0(Y.default);else return Promise.resolve(v8(Y.item,X))}function oU(Y,X){if(l(Y,"default"))return G0(Y.default);else return{}}function tU(Y,X){if(l(Y,"default"))return G0(Y.default);else return v8(M0(Y,X),X)}function sU(Y,X){if(l(Y,"default"))return G0(Y.default);else throw new o8(Y,"RegExp types cannot be created. Consider using a default value.")}function rU(Y,X){if(Y.pattern!==void 0)if(!l(Y,"default"))throw new o8(Y,"String types with patterns must specify a default value");else return G0(Y.default);else if(Y.format!==void 0)if(!l(Y,"default"))throw new o8(Y,"String types with formats must specify a default value");else return G0(Y.default);else if(l(Y,"default"))return G0(Y.default);else if(Y.minLength!==void 0)return Array.from({length:Y.minLength}).map(()=>" ").join("");else return""}function aU(Y,X){if(l(Y,"default"))return G0(Y.default);else if("value"in Y)return Symbol.for(Y.value);else return Symbol()}function eU(Y,X){if(l(Y,"default"))return G0(Y.default);if(!w6(Y))throw new o8(Y,"Can only create template literals that produce a finite variants. Consider using a default value.");return pX(Y)[0]}function YG(Y,X){if(z9++>zG)throw new o8(Y,"Cannot create recursive type as it appears possibly infinite. Consider using a default.");if(l(Y,"default"))return G0(Y.default);else return v8(M0(Y,X),X)}function XG(Y,X){if(l(Y,"default"))return G0(Y.default);if(Y.items===void 0)return[];else return Array.from({length:Y.minItems}).map((Z,W)=>v8(Y.items[W],X))}function ZG(Y,X){if(l(Y,"default"))return G0(Y.default);else return}function WG(Y,X){if(l(Y,"default"))return G0(Y.default);else if(Y.anyOf.length===0)throw Error("ValueCreate.Union: Cannot create Union with zero variants");else return v8(Y.anyOf[0],X)}function $G(Y,X){if(l(Y,"default"))return G0(Y.default);else if(Y.minByteLength!==void 0)return new Uint8Array(Y.minByteLength);else return new Uint8Array(0)}function QG(Y,X){if(l(Y,"default"))return G0(Y.default);else return{}}function JG(Y,X){if(l(Y,"default"))return G0(Y.default);else return}function MG(Y,X){if(l(Y,"default"))return G0(Y.default);else throw Error("User defined types must specify a default value")}function v8(Y,X){let Z=Y8(Y,X),W=Y;switch(W[O]){case"Any":return bU(W,Z);case"Argument":return EU(W,Z);case"Array":return VU(W,Z);case"AsyncIterator":return IU(W,Z);case"BigInt":return TU(W,Z);case"Boolean":return xU(W,Z);case"Constructor":return kU(W,Z);case"Date":return gU(W,Z);case"Function":return fU(W,Z);case"Import":return yU(W,Z);case"Integer":return dU(W,Z);case"Intersect":return vU(W,Z);case"Iterator":return hU(W,Z);case"Literal":return mU(W,Z);case"Never":return uU(W,Z);case"Not":return cU(W,Z);case"Null":return pU(W,Z);case"Number":return iU(W,Z);case"Object":return lU(W,Z);case"Promise":return nU(W,Z);case"Record":return oU(W,Z);case"Ref":return tU(W,Z);case"RegExp":return sU(W,Z);case"String":return rU(W,Z);case"Symbol":return aU(W,Z);case"TemplateLiteral":return eU(W,Z);case"This":return YG(W,Z);case"Tuple":return XG(W,Z);case"Undefined":return ZG(W,Z);case"Union":return WG(W,Z);case"Uint8Array":return $G(W,Z);case"Unknown":return QG(W,Z);case"Void":return JG(W,Z);default:if(!t0.Has(W[O]))throw new o8(W,"Unknown type");return MG(W,Z)}}var zG=512,z9=0;function MY(...Y){return z9=0,Y.length===2?v8(Y[0],Y[1]):v8(Y[0],[])}class uZ extends i{constructor(Y,X){super(X);this.schema=Y}}function U9(Y,X,Z){if(Y[O]==="Object"&&typeof Z==="object"&&!VY(Z)){let W=Y,$=Object.getOwnPropertyNames(Z);return Object.entries(W.properties).reduce((J,[M,z])=>{let U=z[O]==="Literal"&&z.const===Z[M]?100:0,G=e(z,X,Z[M])?10:0,D=$.includes(M)?1:0;return J+(U+G+D)},0)}else if(Y[O]==="Union"){let $=Y.anyOf.map((Q)=>M0(Q,X)).map((Q)=>U9(Q,X,Z));return Math.max(...$)}else return e(Y,X,Z)?1:0}function UG(Y,X,Z){let W=Y.anyOf.map((J)=>M0(J,X)),[$,Q]=[W[0],0];for(let J of W){let M=U9(J,X,Z);if(M>Q)$=J,Q=M}return $}function GG(Y,X,Z){if("default"in Y)return typeof Z==="function"?Y.default:U0(Y.default);else{let W=UG(Y,X,Z);return k1(W,X,Z)}}function BG(Y,X,Z){return e(Y,X,Z)?U0(Z):MY(Y,X)}function NG(Y,X,Z){return e(Y,X,Z)?Z:MY(Y,X)}function HG(Y,X,Z){if(e(Y,X,Z))return U0(Z);let W=p(Z)?U0(Z):MY(Y,X),$=u(Y.minItems)&&W.length<Y.minItems?[...W,...Array.from({length:Y.minItems-W.length},()=>null)]:W,J=(u(Y.maxItems)&&$.length>Y.maxItems?$.slice(0,Y.maxItems):$).map((z)=>zY(Y.items,X,z));if(Y.uniqueItems!==!0)return J;let M=[...new Set(J)];if(!e(Y,X,M))throw new uZ(Y,"Array cast produced invalid data due to uniqueItems constraint");return M}function AG(Y,X,Z){if(e(Y,X,Z))return MY(Y,X);let W=new Set(Y.returns.required||[]),$=function(){};for(let[Q,J]of Object.entries(Y.returns.properties)){if(!W.has(Q)&&Z.prototype[Q]===void 0)continue;$.prototype[Q]=zY(J,X,Z.prototype[Q])}return $}function qG(Y,X,Z){let W=globalThis.Object.values(Y.$defs),$=Y.$defs[Y.$ref];return zY($,[...X,...W],Z)}function G9(Y,X){if(t(Y)&&!t(X)||!t(Y)&&t(X))return Y;if(!t(Y)||!t(X))return X;return globalThis.Object.getOwnPropertyNames(Y).reduce((Z,W)=>{let $=W in X?G9(Y[W],X[W]):Y[W];return{...Z,[W]:$}},{})}function DG(Y,X,Z){if(e(Y,X,Z))return Z;let W=MY(Y,X),$=G9(W,Z);return e(Y,X,$)?$:W}function wG(Y,X,Z){throw new uZ(Y,"Never types cannot be cast")}function LG(Y,X,Z){if(e(Y,X,Z))return Z;if(Z===null||typeof Z!=="object")return MY(Y,X);let W=new Set(Y.required||[]),$={};for(let[Q,J]of Object.entries(Y.properties)){if(!W.has(Q)&&Z[Q]===void 0)continue;$[Q]=zY(J,X,Z[Q])}if(typeof Y.additionalProperties==="object"){let Q=Object.getOwnPropertyNames(Y.properties);for(let J of Object.getOwnPropertyNames(Z)){if(Q.includes(J))continue;$[J]=zY(Y.additionalProperties,X,Z[J])}}return $}function OG(Y,X,Z){if(e(Y,X,Z))return U0(Z);if(Z===null||typeof Z!=="object"||Array.isArray(Z)||Z instanceof Date)return MY(Y,X);let W=Object.getOwnPropertyNames(Y.patternProperties)[0],$=Y.patternProperties[W],Q={};for(let[J,M]of Object.entries(Z))Q[J]=zY($,X,M);return Q}function SG(Y,X,Z){return zY(M0(Y,X),X,Z)}function PG(Y,X,Z){return zY(M0(Y,X),X,Z)}function _G(Y,X,Z){if(e(Y,X,Z))return U0(Z);if(!p(Z))return MY(Y,X);if(Y.items===void 0)return[];return Y.items.map((W,$)=>zY(W,X,Z[$]))}function FG(Y,X,Z){return e(Y,X,Z)?U0(Z):GG(Y,X,Z)}function zY(Y,X,Z){let W=Q0(Y.$id)?Y8(Y,X):X,$=Y;switch(Y[O]){case"Array":return HG($,W,Z);case"Constructor":return AG($,W,Z);case"Import":return qG($,W,Z);case"Intersect":return DG($,W,Z);case"Never":return wG($,W,Z);case"Object":return LG($,W,Z);case"Record":return OG($,W,Z);case"Ref":return SG($,W,Z);case"This":return PG($,W,Z);case"Tuple":return _G($,W,Z);case"Union":return FG($,W,Z);case"Date":case"Symbol":case"Uint8Array":return BG(Y,X,Z);default:return NG($,W,Z)}}function k1(...Y){return Y.length===3?zY(Y[0],Y[1],Y[2]):zY(Y[0],[],Y[1])}function jG(Y){return ZX(Y)&&Y[O]!=="Unsafe"}function KG(Y,X,Z){if(!p(Z))return Z;return Z.map((W)=>C8(Y.items,X,W))}function CG(Y,X,Z){let W=globalThis.Object.values(Y.$defs),$=Y.$defs[Y.$ref];return C8($,[...X,...W],Z)}function RG(Y,X,Z){let W=Y.unevaluatedProperties,Q=Y.allOf.map((M)=>C8(M,X,U0(Z))).reduce((M,z)=>t(z)?{...M,...z}:z,{});if(!t(Z)||!t(Q)||!ZX(W))return Q;let J=j8(Y);for(let M of Object.getOwnPropertyNames(Z)){if(J.includes(M))continue;if(e(W,X,Z[M]))Q[M]=C8(W,X,Z[M])}return Q}function bG(Y,X,Z){if(!t(Z)||p(Z))return Z;let W=Y.additionalProperties;for(let $ of Object.getOwnPropertyNames(Z)){if(l(Y.properties,$)){Z[$]=C8(Y.properties[$],X,Z[$]);continue}if(ZX(W)&&e(W,X,Z[$])){Z[$]=C8(W,X,Z[$]);continue}delete Z[$]}return Z}function EG(Y,X,Z){if(!t(Z))return Z;let W=Y.additionalProperties,$=Object.getOwnPropertyNames(Z),[Q,J]=Object.entries(Y.patternProperties)[0],M=new RegExp(Q);for(let z of $){if(M.test(z)){Z[z]=C8(J,X,Z[z]);continue}if(ZX(W)&&e(W,X,Z[z])){Z[z]=C8(W,X,Z[z]);continue}delete Z[z]}return Z}function VG(Y,X,Z){return C8(M0(Y,X),X,Z)}function IG(Y,X,Z){return C8(M0(Y,X),X,Z)}function TG(Y,X,Z){if(!p(Z))return Z;if(R0(Y.items))return[];let W=Math.min(Z.length,Y.items.length);for(let $=0;$<W;$++)Z[$]=C8(Y.items[$],X,Z[$]);return Z.length>W?Z.slice(0,W):Z}function xG(Y,X,Z){for(let W of Y.anyOf)if(jG(W)&&e(W,X,Z))return C8(W,X,Z);return Z}function C8(Y,X,Z){let W=Q0(Y.$id)?Y8(Y,X):X,$=Y;switch($[O]){case"Array":return KG($,W,Z);case"Import":return CG($,W,Z);case"Intersect":return RG($,W,Z);case"Object":return bG($,W,Z);case"Record":return EG($,W,Z);case"Ref":return VG($,W,Z);case"This":return IG($,W,Z);case"Tuple":return TG($,W,Z);case"Union":return xG($,W,Z);default:return Z}}function d6(...Y){return Y.length===3?C8(Y[0],Y[1],Y[2]):C8(Y[0],[],Y[1])}function v6(Y){return Q0(Y)&&!isNaN(Y)&&!isNaN(parseFloat(Y))}function kG(Y){return Q8(Y)||OY(Y)||u(Y)}function g1(Y){return Y===!0||u(Y)&&Y===1||Q8(Y)&&Y===BigInt("1")||Q0(Y)&&(Y.toLowerCase()==="true"||Y==="1")}function f1(Y){return Y===!1||u(Y)&&(Y===0||Object.is(Y,-0))||Q8(Y)&&Y===BigInt("0")||Q0(Y)&&(Y.toLowerCase()==="false"||Y==="0"||Y==="-0")}function gG(Y){return Q0(Y)&&/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i.test(Y)}function fG(Y){return Q0(Y)&&/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)?$/i.test(Y)}function yG(Y){return Q0(Y)&&/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i.test(Y)}function dG(Y){return Q0(Y)&&/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)?$/i.test(Y)}function vG(Y){return Q0(Y)&&/^\d\d\d\d-[0-1]\d-[0-3]\d$/i.test(Y)}function hG(Y,X){let Z=N9(Y);return Z===X?Z:Y}function mG(Y,X){let Z=H9(Y);return Z===X?Z:Y}function uG(Y,X){let Z=B9(Y);return Z===X?Z:Y}function cG(Y,X){return Q0(Y.const)?hG(X,Y.const):u(Y.const)?mG(X,Y.const):OY(Y.const)?uG(X,Y.const):X}function B9(Y){return g1(Y)?!0:f1(Y)?!1:Y}function pG(Y){let X=(Z)=>Z.split(".")[0];return v6(Y)?BigInt(X(Y)):u(Y)?BigInt(Math.trunc(Y)):f1(Y)?BigInt(0):g1(Y)?BigInt(1):Y}function N9(Y){return IY(Y)&&Y.description!==void 0?Y.description.toString():kG(Y)?Y.toString():Y}function H9(Y){return v6(Y)?parseFloat(Y):g1(Y)?1:f1(Y)?0:Y}function iG(Y){return v6(Y)?parseInt(Y):u(Y)?Math.trunc(Y):g1(Y)?1:f1(Y)?0:Y}function lG(Y){return Q0(Y)&&Y.toLowerCase()==="null"?null:Y}function nG(Y){return Q0(Y)&&Y==="undefined"?void 0:Y}function oG(Y){return D8(Y)?Y:u(Y)?new Date(Y):g1(Y)?new Date(1):f1(Y)?new Date(0):v6(Y)?new Date(parseInt(Y)):fG(Y)?new Date(`1970-01-01T${Y}.000Z`):gG(Y)?new Date(`1970-01-01T${Y}`):dG(Y)?new Date(`${Y}.000Z`):yG(Y)?new Date(Y):vG(Y)?new Date(`${Y}T00:00:00.000Z`):Y}function tG(Y){return Y}function sG(Y,X,Z){return(p(Z)?Z:[Z]).map(($)=>UY(Y.items,X,$))}function rG(Y,X,Z){return pG(Z)}function aG(Y,X,Z){return B9(Z)}function eG(Y,X,Z){return oG(Z)}function YB(Y,X,Z){let W=globalThis.Object.values(Y.$defs),$=Y.$defs[Y.$ref];return UY($,[...X,...W],Z)}function XB(Y,X,Z){return iG(Z)}function ZB(Y,X,Z){return Y.allOf.reduce((W,$)=>UY($,X,W),Z)}function WB(Y,X,Z){return cG(Y,Z)}function $B(Y,X,Z){return lG(Z)}function QB(Y,X,Z){return H9(Z)}function JB(Y,X,Z){if(!t(Z)||p(Z))return Z;for(let W of Object.getOwnPropertyNames(Y.properties)){if(!l(Z,W))continue;Z[W]=UY(Y.properties[W],X,Z[W])}return Z}function MB(Y,X,Z){if(!(t(Z)&&!p(Z)))return Z;let $=Object.getOwnPropertyNames(Y.patternProperties)[0],Q=Y.patternProperties[$];for(let[J,M]of Object.entries(Z))Z[J]=UY(Q,X,M);return Z}function zB(Y,X,Z){return UY(M0(Y,X),X,Z)}function UB(Y,X,Z){return N9(Z)}function GB(Y,X,Z){return Q0(Z)||u(Z)?Symbol(Z):Z}function BB(Y,X,Z){return UY(M0(Y,X),X,Z)}function NB(Y,X,Z){if(!(p(Z)&&!R0(Y.items)))return Z;return Z.map(($,Q)=>{return Q<Y.items.length?UY(Y.items[Q],X,$):$})}function HB(Y,X,Z){return nG(Z)}function AB(Y,X,Z){for(let W of Y.anyOf)if(e(W,X,Z))return Z;for(let W of Y.anyOf){let $=UY(W,X,U0(Z));if(!e(W,X,$))continue;return $}return Z}function UY(Y,X,Z){let W=Y8(Y,X),$=Y;switch(Y[O]){case"Array":return sG($,W,Z);case"BigInt":return rG($,W,Z);case"Boolean":return aG($,W,Z);case"Date":return eG($,W,Z);case"Import":return YB($,W,Z);case"Integer":return XB($,W,Z);case"Intersect":return ZB($,W,Z);case"Literal":return WB($,W,Z);case"Null":return $B($,W,Z);case"Number":return QB($,W,Z);case"Object":return JB($,W,Z);case"Record":return MB($,W,Z);case"Ref":return zB($,W,Z);case"String":return UB($,W,Z);case"Symbol":return GB($,W,Z);case"This":return BB($,W,Z);case"Tuple":return NB($,W,Z);case"Undefined":return HB($,W,Z);case"Union":return AB($,W,Z);default:return tG(Z)}}function h6(...Y){return Y.length===3?UY(Y[0],Y[1],Y[2]):UY(Y[0],[],Y[1])}class y1 extends i{constructor(Y,X,Z){super("Unable to decode value as it does not match the expected schema");this.schema=Y,this.value=X,this.error=Z}}class m6 extends i{constructor(Y,X,Z,W){super(W instanceof Error?W.message:"Unknown error");this.schema=Y,this.path=X,this.value=Z,this.error=W}}function T0(Y,X,Z){try{return B0(Y)?Y[S0].Decode(Z):Z}catch(W){throw new m6(Y,X,Z,W)}}function qB(Y,X,Z,W){return p(W)?T0(Y,Z,W.map(($,Q)=>GY(Y.items,X,`${Z}/${Q}`,$))):T0(Y,Z,W)}function DB(Y,X,Z,W){if(!t(W)||T8(W))return T0(Y,Z,W);let $=_6(Y),Q=$.map((G)=>G[0]),J={...W};for(let[G,D]of $)if(G in J)J[G]=GY(D,X,`${Z}/${G}`,J[G]);if(!B0(Y.unevaluatedProperties))return T0(Y,Z,J);let M=Object.getOwnPropertyNames(J),z=Y.unevaluatedProperties,U={...J};for(let G of M)if(!Q.includes(G))U[G]=T0(z,`${Z}/${G}`,U[G]);return T0(Y,Z,U)}function wB(Y,X,Z,W){let $=globalThis.Object.values(Y.$defs),Q=Y.$defs[Y.$ref],J=GY(Q,[...X,...$],Z,W);return T0(Y,Z,J)}function LB(Y,X,Z,W){return T0(Y,Z,GY(Y.not,X,Z,W))}function OB(Y,X,Z,W){if(!t(W))return T0(Y,Z,W);let $=j8(Y),Q={...W};for(let U of $){if(!l(Q,U))continue;if(R0(Q[U])&&(!kY(Y.properties[U])||j0.IsExactOptionalProperty(Q,U)))continue;Q[U]=GY(Y.properties[U],X,`${Z}/${U}`,Q[U])}if(!I0(Y.additionalProperties))return T0(Y,Z,Q);let J=Object.getOwnPropertyNames(Q),M=Y.additionalProperties,z={...Q};for(let U of J)if(!$.includes(U))z[U]=T0(M,`${Z}/${U}`,z[U]);return T0(Y,Z,z)}function SB(Y,X,Z,W){if(!t(W))return T0(Y,Z,W);let $=Object.getOwnPropertyNames(Y.patternProperties)[0],Q=new RegExp($),J={...W};for(let G of Object.getOwnPropertyNames(W))if(Q.test(G))J[G]=GY(Y.patternProperties[$],X,`${Z}/${G}`,J[G]);if(!I0(Y.additionalProperties))return T0(Y,Z,J);let M=Object.getOwnPropertyNames(J),z=Y.additionalProperties,U={...J};for(let G of M)if(!Q.test(G))U[G]=T0(z,`${Z}/${G}`,U[G]);return T0(Y,Z,U)}function PB(Y,X,Z,W){let $=M0(Y,X);return T0(Y,Z,GY($,X,Z,W))}function _B(Y,X,Z,W){let $=M0(Y,X);return T0(Y,Z,GY($,X,Z,W))}function FB(Y,X,Z,W){return p(W)&&p(Y.items)?T0(Y,Z,Y.items.map(($,Q)=>GY($,X,`${Z}/${Q}`,W[Q]))):T0(Y,Z,W)}function jB(Y,X,Z,W){for(let $ of Y.anyOf){if(!e($,X,W))continue;let Q=GY($,X,Z,W);return T0(Y,Z,Q)}return T0(Y,Z,W)}function GY(Y,X,Z,W){let $=Y8(Y,X),Q=Y;switch(Y[O]){case"Array":return qB(Q,$,Z,W);case"Import":return wB(Q,$,Z,W);case"Intersect":return DB(Q,$,Z,W);case"Not":return LB(Q,$,Z,W);case"Object":return OB(Q,$,Z,W);case"Record":return SB(Q,$,Z,W);case"Ref":return PB(Q,$,Z,W);case"Symbol":return T0(Q,Z,W);case"This":return _B(Q,$,Z,W);case"Tuple":return FB(Q,$,Z,W);case"Union":return jB(Q,$,Z,W);default:return T0(Q,Z,W)}}function W1(Y,X,Z){return GY(Y,X,"",Z)}class d1 extends i{constructor(Y,X,Z){super("The encoded value does not match the expected schema");this.schema=Y,this.value=X,this.error=Z}}class A9 extends i{constructor(Y,X,Z,W){super(`${W instanceof Error?W.message:"Unknown error"}`);this.schema=Y,this.path=X,this.value=Z,this.error=W}}function J8(Y,X,Z){try{return B0(Y)?Y[S0].Encode(Z):Z}catch(W){throw new A9(Y,X,Z,W)}}function KB(Y,X,Z,W){let $=J8(Y,Z,W);return p($)?$.map((Q,J)=>BY(Y.items,X,`${Z}/${J}`,Q)):$}function CB(Y,X,Z,W){let $=globalThis.Object.values(Y.$defs),Q=Y.$defs[Y.$ref],J=J8(Y,Z,W);return BY(Q,[...X,...$],Z,J)}function RB(Y,X,Z,W){let $=J8(Y,Z,W);if(!t(W)||T8(W))return $;let Q=_6(Y),J=Q.map((D)=>D[0]),M={...$};for(let[D,S]of Q)if(D in M)M[D]=BY(S,X,`${Z}/${D}`,M[D]);if(!B0(Y.unevaluatedProperties))return M;let z=Object.getOwnPropertyNames(M),U=Y.unevaluatedProperties,G={...M};for(let D of z)if(!J.includes(D))G[D]=J8(U,`${Z}/${D}`,G[D]);return G}function bB(Y,X,Z,W){return J8(Y.not,Z,J8(Y,Z,W))}function EB(Y,X,Z,W){let $=J8(Y,Z,W);if(!t($))return $;let Q=j8(Y),J={...$};for(let G of Q){if(!l(J,G))continue;if(R0(J[G])&&(!kY(Y.properties[G])||j0.IsExactOptionalProperty(J,G)))continue;J[G]=BY(Y.properties[G],X,`${Z}/${G}`,J[G])}if(!I0(Y.additionalProperties))return J;let M=Object.getOwnPropertyNames(J),z=Y.additionalProperties,U={...J};for(let G of M)if(!Q.includes(G))U[G]=J8(z,`${Z}/${G}`,U[G]);return U}function VB(Y,X,Z,W){let $=J8(Y,Z,W);if(!t(W))return $;let Q=Object.getOwnPropertyNames(Y.patternProperties)[0],J=new RegExp(Q),M={...$};for(let D of Object.getOwnPropertyNames(W))if(J.test(D))M[D]=BY(Y.patternProperties[Q],X,`${Z}/${D}`,M[D]);if(!I0(Y.additionalProperties))return M;let z=Object.getOwnPropertyNames(M),U=Y.additionalProperties,G={...M};for(let D of z)if(!J.test(D))G[D]=J8(U,`${Z}/${D}`,G[D]);return G}function IB(Y,X,Z,W){let $=M0(Y,X),Q=BY($,X,Z,W);return J8(Y,Z,Q)}function TB(Y,X,Z,W){let $=M0(Y,X),Q=BY($,X,Z,W);return J8(Y,Z,Q)}function xB(Y,X,Z,W){let $=J8(Y,Z,W);return p(Y.items)?Y.items.map((Q,J)=>BY(Q,X,`${Z}/${J}`,$[J])):[]}function kB(Y,X,Z,W){for(let $ of Y.anyOf){if(!e($,X,W))continue;let Q=BY($,X,Z,W);return J8(Y,Z,Q)}for(let $ of Y.anyOf){let Q=BY($,X,Z,W);if(!e(Y,X,Q))continue;return J8(Y,Z,Q)}return J8(Y,Z,W)}function BY(Y,X,Z,W){let $=Y8(Y,X),Q=Y;switch(Y[O]){case"Array":return KB(Q,$,Z,W);case"Import":return CB(Q,$,Z,W);case"Intersect":return RB(Q,$,Z,W);case"Not":return bB(Q,$,Z,W);case"Object":return EB(Q,$,Z,W);case"Record":return VB(Q,$,Z,W);case"Ref":return IB(Q,$,Z,W);case"This":return TB(Q,$,Z,W);case"Tuple":return xB(Q,$,Z,W);case"Union":return kB(Q,$,Z,W);default:return J8(Q,Z,W)}}function $1(Y,X,Z){return BY(Y,X,"",Z)}function gB(Y,X){return B0(Y)||s0(Y.items,X)}function fB(Y,X){return B0(Y)||s0(Y.items,X)}function yB(Y,X){return B0(Y)||s0(Y.returns,X)||Y.parameters.some((Z)=>s0(Z,X))}function dB(Y,X){return B0(Y)||s0(Y.returns,X)||Y.parameters.some((Z)=>s0(Z,X))}function vB(Y,X){return B0(Y)||B0(Y.unevaluatedProperties)||Y.allOf.some((Z)=>s0(Z,X))}function hB(Y,X){let Z=globalThis.Object.getOwnPropertyNames(Y.$defs).reduce(($,Q)=>[...$,Y.$defs[Q]],[]),W=Y.$defs[Y.$ref];return B0(Y)||s0(W,[...Z,...X])}function mB(Y,X){return B0(Y)||s0(Y.items,X)}function uB(Y,X){return B0(Y)||s0(Y.not,X)}function cB(Y,X){return B0(Y)||Object.values(Y.properties).some((Z)=>s0(Z,X))||I0(Y.additionalProperties)&&s0(Y.additionalProperties,X)}function pB(Y,X){return B0(Y)||s0(Y.item,X)}function iB(Y,X){let Z=Object.getOwnPropertyNames(Y.patternProperties)[0],W=Y.patternProperties[Z];return B0(Y)||s0(W,X)||I0(Y.additionalProperties)&&B0(Y.additionalProperties)}function lB(Y,X){if(B0(Y))return!0;return s0(M0(Y,X),X)}function nB(Y,X){if(B0(Y))return!0;return s0(M0(Y,X),X)}function oB(Y,X){return B0(Y)||!R0(Y.items)&&Y.items.some((Z)=>s0(Z,X))}function tB(Y,X){return B0(Y)||Y.anyOf.some((Z)=>s0(Z,X))}function s0(Y,X){let Z=Y8(Y,X),W=Y;if(Y.$id&&cZ.has(Y.$id))return!1;if(Y.$id)cZ.add(Y.$id);switch(Y[O]){case"Array":return gB(W,Z);case"AsyncIterator":return fB(W,Z);case"Constructor":return yB(W,Z);case"Function":return dB(W,Z);case"Import":return hB(W,Z);case"Intersect":return vB(W,Z);case"Iterator":return mB(W,Z);case"Not":return uB(W,Z);case"Object":return cB(W,Z);case"Promise":return pB(W,Z);case"Record":return iB(W,Z);case"Ref":return lB(W,Z);case"This":return nB(W,Z);case"Tuple":return oB(W,Z);case"Union":return tB(W,Z);default:return B0(Y)}}var cZ=new Set;function hY(Y,X){return cZ.clear(),s0(Y,X)}function q9(...Y){let[X,Z,W]=Y.length===3?[Y[0],Y[1],Y[2]]:[Y[0],[],Y[1]];if(!e(X,Z,W))throw new y1(X,W,_Y(X,Z,W).First());return hY(X,Z)?W1(X,Z,W):W}function mY(Y,X){let Z=l(Y,"default")?Y.default:void 0,W=YX(Z)?Z():U0(Z);return R0(X)?W:t(X)&&t(W)?Object.assign(W,X):X}function pZ(Y){return ZX(Y)&&"default"in Y}function sB(Y,X,Z){if(p(Z)){for(let $=0;$<Z.length;$++)Z[$]=L8(Y.items,X,Z[$]);return Z}let W=mY(Y,Z);if(!p(W))return W;for(let $=0;$<W.length;$++)W[$]=L8(Y.items,X,W[$]);return W}function rB(Y,X,Z){return D8(Z)?Z:mY(Y,Z)}function aB(Y,X,Z){let W=globalThis.Object.values(Y.$defs),$=Y.$defs[Y.$ref];return L8($,[...X,...W],Z)}function eB(Y,X,Z){let W=mY(Y,Z);return Y.allOf.reduce(($,Q)=>{let J=L8(Q,X,W);return t(J)?{...$,...J}:J},{})}function YN(Y,X,Z){let W=mY(Y,Z);if(!t(W))return W;let $=Object.getOwnPropertyNames(Y.properties);for(let Q of $){let J=L8(Y.properties[Q],X,W[Q]);if(R0(J))continue;W[Q]=L8(Y.properties[Q],X,W[Q])}if(!pZ(Y.additionalProperties))return W;for(let Q of Object.getOwnPropertyNames(W)){if($.includes(Q))continue;W[Q]=L8(Y.additionalProperties,X,W[Q])}return W}function XN(Y,X,Z){let W=mY(Y,Z);if(!t(W))return W;let $=Y.additionalProperties,[Q,J]=Object.entries(Y.patternProperties)[0],M=new RegExp(Q);for(let z of Object.getOwnPropertyNames(W)){if(!(M.test(z)&&pZ(J)))continue;W[z]=L8(J,X,W[z])}if(!pZ($))return W;for(let z of Object.getOwnPropertyNames(W)){if(M.test(z))continue;W[z]=L8($,X,W[z])}return W}function ZN(Y,X,Z){return L8(M0(Y,X),X,mY(Y,Z))}function WN(Y,X,Z){return L8(M0(Y,X),X,Z)}function $N(Y,X,Z){let W=mY(Y,Z);if(!p(W)||R0(Y.items))return W;let[$,Q]=[Y.items,Math.max(Y.items.length,W.length)];for(let J=0;J<Q;J++)if(J<$.length)W[J]=L8($[J],X,W[J]);return W}function QN(Y,X,Z){let W=mY(Y,Z);for(let $ of Y.anyOf){let Q=L8($,X,U0(W));if(e($,X,Q))return Q}return W}function L8(Y,X,Z){let W=Y8(Y,X),$=Y;switch($[O]){case"Array":return sB($,W,Z);case"Date":return rB($,W,Z);case"Import":return aB($,W,Z);case"Intersect":return eB($,W,Z);case"Object":return YN($,W,Z);case"Record":return XN($,W,Z);case"Ref":return ZN($,W,Z);case"This":return WN($,W,Z);case"Tuple":return $N($,W,Z);case"Union":return QN($,W,Z);default:return mY($,Z)}}function u6(...Y){return Y.length===3?L8(Y[0],Y[1],Y[2]):L8(Y[0],[],Y[1])}var NY={};OX(NY,{ValuePointerRootSetError:()=>iZ,ValuePointerRootDeleteError:()=>lZ,Set:()=>JN,Has:()=>zN,Get:()=>UN,Format:()=>v1,Delete:()=>MN});class iZ extends i{constructor(Y,X,Z){super("Cannot set root value");this.value=Y,this.path=X,this.update=Z}}class lZ extends i{constructor(Y,X){super("Cannot delete root value");this.value=Y,this.path=X}}function D9(Y){return Y.indexOf("~")===-1?Y:Y.replace(/~1/g,"/").replace(/~0/g,"~")}function*v1(Y){if(Y==="")return;let[X,Z]=[0,0];for(let W=0;W<Y.length;W++)if(Y.charAt(W)==="/")if(W===0)X=W+1;else Z=W,yield D9(Y.slice(X,Z)),X=W+1;else Z=W;yield D9(Y.slice(X))}function JN(Y,X,Z){if(X==="")throw new iZ(Y,X,Z);let[W,$,Q]=[null,Y,""];for(let J of v1(X)){if($[J]===void 0)$[J]={};W=$,$=$[J],Q=J}W[Q]=Z}function MN(Y,X){if(X==="")throw new lZ(Y,X);let[Z,W,$]=[null,Y,""];for(let Q of v1(X)){if(W[Q]===void 0||W[Q]===null)return;Z=W,W=W[Q],$=Q}if(Array.isArray(Z)){let Q=parseInt($);Z.splice(Q,1)}else delete Z[$]}function zN(Y,X){if(X==="")return!0;let[Z,W,$]=[null,Y,""];for(let Q of v1(X)){if(W[Q]===void 0)return!1;Z=W,W=W[Q],$=Q}return Object.getOwnPropertyNames(Z).includes($)}function UN(Y,X){if(X==="")return Y;let Z=Y;for(let W of v1(X)){if(Z[W]===void 0)return;Z=Z[W]}return Z}function GN(Y,X){if(!t(X))return!1;let Z=[...Object.keys(Y),...Object.getOwnPropertySymbols(Y)],W=[...Object.keys(X),...Object.getOwnPropertySymbols(X)];if(Z.length!==W.length)return!1;return Z.every(($)=>VX(Y[$],X[$]))}function BN(Y,X){return D8(X)&&Y.getTime()===X.getTime()}function NN(Y,X){if(!p(X)||Y.length!==X.length)return!1;return Y.every((Z,W)=>VX(Z,X[W]))}function HN(Y,X){if(!h8(X)||Y.length!==X.length||Object.getPrototypeOf(Y).constructor.name!==Object.getPrototypeOf(X).constructor.name)return!1;return Y.every((Z,W)=>VX(Z,X[W]))}function AN(Y,X){return Y===X}function VX(Y,X){if(D8(Y))return BN(Y,X);if(h8(Y))return HN(Y,X);if(p(Y))return NN(Y,X);if(t(Y))return GN(Y,X);if(T8(Y))return AN(Y,X);throw Error("ValueEquals: Unable to compare value")}var qN=H0({type:$0("insert"),path:w8(),value:WY()}),DN=H0({type:$0("update"),path:w8(),value:WY()}),wN=H0({type:$0("delete"),path:w8()}),L9=N0([qN,DN,wN]);class nZ extends i{constructor(Y,X){super(X);this.value=Y}}function c6(Y,X){return{type:"update",path:Y,value:X}}function O9(Y,X){return{type:"insert",path:Y,value:X}}function S9(Y){return{type:"delete",path:Y}}function w9(Y){if(globalThis.Object.getOwnPropertySymbols(Y).length>0)throw new nZ(Y,"Cannot diff objects with symbols")}function*LN(Y,X,Z){if(w9(X),w9(Z),!LZ(Z))return yield c6(Y,Z);let W=globalThis.Object.getOwnPropertyNames(X),$=globalThis.Object.getOwnPropertyNames(Z);for(let Q of $){if(l(X,Q))continue;yield O9(`${Y}/${Q}`,Z[Q])}for(let Q of W){if(!l(Z,Q))continue;if(VX(X,Z))continue;yield*p6(`${Y}/${Q}`,X[Q],Z[Q])}for(let Q of W){if(l(Z,Q))continue;yield S9(`${Y}/${Q}`)}}function*ON(Y,X,Z){if(!p(Z))return yield c6(Y,Z);for(let W=0;W<Math.min(X.length,Z.length);W++)yield*p6(`${Y}/${W}`,X[W],Z[W]);for(let W=0;W<Z.length;W++){if(W<X.length)continue;yield O9(`${Y}/${W}`,Z[W])}for(let W=X.length-1;W>=0;W--){if(W<Z.length)continue;yield S9(`${Y}/${W}`)}}function*SN(Y,X,Z){if(!h8(Z)||X.length!==Z.length||globalThis.Object.getPrototypeOf(X).constructor.name!==globalThis.Object.getPrototypeOf(Z).constructor.name)return yield c6(Y,Z);for(let W=0;W<Math.min(X.length,Z.length);W++)yield*p6(`${Y}/${W}`,X[W],Z[W])}function*PN(Y,X,Z){if(X===Z)return;yield c6(Y,Z)}function*p6(Y,X,Z){if(LZ(X))return yield*LN(Y,X,Z);if(p(X))return yield*ON(Y,X,Z);if(h8(X))return yield*SN(Y,X,Z);if(T8(X))return yield*PN(Y,X,Z);throw new nZ(X,"Unable to diff value")}function P9(Y,X){return[...p6("",Y,X)]}function _N(Y){return Y.length>0&&Y[0].path===""&&Y[0].type==="update"}function FN(Y){return Y.length===0}function _9(Y,X){if(_N(X))return U0(X[0].value);if(FN(X))return U0(Y);let Z=U0(Y);for(let W of X)switch(W.type){case"insert":{NY.Set(Z,W.path,W.value);break}case"update":{NY.Set(Z,W.path,W.value);break}case"delete":{NY.Delete(Z,W.path);break}}return Z}function F9(...Y){let[X,Z,W]=Y.length===3?[Y[0],Y[1],Y[2]]:[Y[0],[],Y[1]],$=hY(X,Z)?$1(X,Z,W):W;if(!e(X,Z,$))throw new d1(X,$,_Y(X,Z,$).First());return $}function i6(Y){return t(Y)&&!p(Y)}class oZ extends i{constructor(Y){super(Y)}}function jN(Y,X,Z,W){if(!i6(Z))NY.Set(Y,X,U0(W));else{let $=Object.getOwnPropertyNames(Z),Q=Object.getOwnPropertyNames(W);for(let J of $)if(!Q.includes(J))delete Z[J];for(let J of Q)if(!$.includes(J))Z[J]=null;for(let J of Q)tZ(Y,`${X}/${J}`,Z[J],W[J])}}function KN(Y,X,Z,W){if(!p(Z))NY.Set(Y,X,U0(W));else{for(let $=0;$<W.length;$++)tZ(Y,`${X}/${$}`,Z[$],W[$]);Z.splice(W.length)}}function CN(Y,X,Z,W){if(h8(Z)&&Z.length===W.length)for(let $=0;$<Z.length;$++)Z[$]=W[$];else NY.Set(Y,X,U0(W))}function RN(Y,X,Z,W){if(Z===W)return;NY.Set(Y,X,W)}function tZ(Y,X,Z,W){if(p(W))return KN(Y,X,Z,W);if(h8(W))return CN(Y,X,Z,W);if(i6(W))return jN(Y,X,Z,W);if(T8(W))return RN(Y,X,Z,W)}function j9(Y){return h8(Y)||T8(Y)}function bN(Y,X){return i6(Y)&&p(X)||p(Y)&&i6(X)}function K9(Y,X){if(j9(Y)||j9(X))throw new oZ("Only object and array types can be mutated at the root level");if(bN(Y,X))throw new oZ("Cannot assign due type mismatch of assignable values");tZ(Y,"",Y,X)}class rZ extends i{constructor(Y){super(Y)}}var sZ;(function(Y){let X=new Map([["Assert",(Q,J,M)=>{return y6(Q,J,M),M}],["Cast",(Q,J,M)=>k1(Q,J,M)],["Clean",(Q,J,M)=>d6(Q,J,M)],["Clone",(Q,J,M)=>U0(M)],["Convert",(Q,J,M)=>h6(Q,J,M)],["Decode",(Q,J,M)=>hY(Q,J)?W1(Q,J,M):M],["Default",(Q,J,M)=>u6(Q,J,M)],["Encode",(Q,J,M)=>hY(Q,J)?$1(Q,J,M):M]]);function Z(Q){X.delete(Q)}Y.Delete=Z;function W(Q,J){X.set(Q,J)}Y.Set=W;function $(Q){return X.get(Q)}Y.Get=$})(sZ||(sZ={}));var C9=["Clone","Clean","Default","Convert","Assert","Decode"];function EN(Y,X,Z,W){return Y.reduce(($,Q)=>{let J=sZ.Get(Q);if(R0(J))throw new rZ(`Unable to find Parse operation '${Q}'`);return J(X,Z,$)},W)}function R9(...Y){let[X,Z,W,$]=Y.length===4?[Y[0],Y[1],Y[2],Y[3]]:Y.length===3?p(Y[0])?[Y[0],Y[1],[],Y[2]]:[C9,Y[0],Y[1],Y[2]]:Y.length===2?[C9,Y[0],[],Y[1]]:(()=>{throw new rZ("Invalid Arguments")})();return EN(X,Z,W,$)}var O0={};OX(O0,{ValueErrorIterator:()=>EX,Patch:()=>_9,Parse:()=>R9,Mutate:()=>K9,Hash:()=>GX,Errors:()=>_Y,Equal:()=>VX,Encode:()=>F9,Edit:()=>L9,Diff:()=>P9,Default:()=>u6,Decode:()=>q9,Create:()=>MY,Convert:()=>h6,Clone:()=>U0,Clean:()=>d6,Check:()=>e,Cast:()=>k1,Assert:()=>y6});class b9{constructor(Y,X,Z,W){this.schema=Y,this.references=X,this.checkFunc=Z,this.code=W,this.hasTransform=hY(Y,X)}Code(){return this.code}Schema(){return this.schema}References(){return this.references}Errors(Y){return _Y(this.schema,this.references,Y)}Check(Y){return this.checkFunc(Y)}Decode(Y){if(!this.checkFunc(Y))throw new y1(this.schema,Y,this.Errors(Y).First());return this.hasTransform?W1(this.schema,this.references,Y):Y}Encode(Y){let X=this.hasTransform?$1(this.schema,this.references,Y):Y;if(!this.checkFunc(X))throw new d1(this.schema,Y,this.Errors(Y).First());return X}}var uY;(function(Y){function X(Q){return Q===36}Y.DollarSign=X;function Z(Q){return Q===95}Y.IsUnderscore=Z;function W(Q){return Q>=65&&Q<=90||Q>=97&&Q<=122}Y.IsAlpha=W;function $(Q){return Q>=48&&Q<=57}Y.IsNumeric=$})(uY||(uY={}));var l6;(function(Y){function X(Q){if(Q.length===0)return!1;return uY.IsNumeric(Q.charCodeAt(0))}function Z(Q){if(X(Q))return!1;for(let J=0;J<Q.length;J++){let M=Q.charCodeAt(J);if(!(uY.IsAlpha(M)||uY.IsNumeric(M)||uY.DollarSign(M)||uY.IsUnderscore(M)))return!1}return!0}function W(Q){return Q.replace(/'/g,"\\'")}function $(Q,J){return Z(J)?`${Q}.${J}`:`${Q}['${W(J)}']`}Y.Encode=$})(l6||(l6={}));var aZ;(function(Y){function X(Z){let W=[];for(let $=0;$<Z.length;$++){let Q=Z.charCodeAt($);if(uY.IsNumeric(Q)||uY.IsAlpha(Q))W.push(Z.charAt($));else W.push(`_${Q}_`)}return W.join("").replace(/__/g,"_")}Y.Encode=X})(aZ||(aZ={}));var eZ;(function(Y){function X(Z){return Z.replace(/'/g,"\\'")}Y.Escape=X})(eZ||(eZ={}));class E9 extends i{constructor(Y){super("Unknown type");this.schema=Y}}class YW extends i{constructor(Y){super("Preflight validation check failed to guard for the given schema");this.schema=Y}}var IX;(function(Y){function X(J,M,z){return j0.ExactOptionalPropertyTypes?`('${M}' in ${J} ? ${z} : true)`:`(${l6.Encode(J,M)} !== undefined ? ${z} : true)`}Y.IsExactOptionalProperty=X;function Z(J){return!j0.AllowArrayObject?`(typeof ${J} === 'object' && ${J} !== null && !Array.isArray(${J}))`:`(typeof ${J} === 'object' && ${J} !== null)`}Y.IsObjectLike=Z;function W(J){return!j0.AllowArrayObject?`(typeof ${J} === 'object' && ${J} !== null && !Array.isArray(${J}) && !(${J} instanceof Date) && !(${J} instanceof Uint8Array))`:`(typeof ${J} === 'object' && ${J} !== null && !(${J} instanceof Date) && !(${J} instanceof Uint8Array))`}Y.IsRecordLike=W;function $(J){return j0.AllowNaN?`typeof ${J} === 'number'`:`Number.isFinite(${J})`}Y.IsNumberLike=$;function Q(J){return j0.AllowNullVoid?`(${J} === undefined || ${J} === null)`:`${J} === undefined`}Y.IsVoidLike=Q})(IX||(IX={}));var HY;(function(Y){function X(B){return B[O]==="Any"||B[O]==="Unknown"}function*Z(B,P,A){yield"true"}function*W(B,P,A){yield"true"}function*$(B,P,A){yield`Array.isArray(${A})`;let[V,x]=[aY("value","any"),aY("acc","number")];if(u(B.maxItems))yield`${A}.length <= ${B.maxItems}`;if(u(B.minItems))yield`${A}.length >= ${B.minItems}`;let g=u0(B.items,P,"value");if(yield`${A}.every((${V}) => ${g})`,E0(B.contains)||u(B.minContains)||u(B.maxContains)){let r=E0(B.contains)?B.contains:a(),P0=u0(r,P,"value"),G8=u(B.minContains)?[`(count >= ${B.minContains})`]:[],$8=u(B.maxContains)?[`(count <= ${B.maxContains})`]:[],V8=`const count = value.reduce((${x}, ${V}) => ${P0} ? acc + 1 : acc, 0)`,RY=["(count > 0)",...G8,...$8].join(" && ");yield`((${V}) => { ${V8}; return ${RY}})(${A})`}if(B.uniqueItems===!0)yield`((${V}) => { const set = new Set(); for(const element of value) { const hashed = hash(element); if(set.has(hashed)) { return false } else { set.add(hashed) } } return true } )(${A})`}function*Q(B,P,A){yield`(typeof value === 'object' && Symbol.asyncIterator in ${A})`}function*J(B,P,A){if(yield`(typeof ${A} === 'bigint')`,Q8(B.exclusiveMaximum))yield`${A} < BigInt(${B.exclusiveMaximum})`;if(Q8(B.exclusiveMinimum))yield`${A} > BigInt(${B.exclusiveMinimum})`;if(Q8(B.maximum))yield`${A} <= BigInt(${B.maximum})`;if(Q8(B.minimum))yield`${A} >= BigInt(${B.minimum})`;if(Q8(B.multipleOf))yield`(${A} % BigInt(${B.multipleOf})) === 0`}function*M(B,P,A){yield`(typeof ${A} === 'boolean')`}function*z(B,P,A){yield*KY(B.returns,P,`${A}.prototype`)}function*U(B,P,A){if(yield`(${A} instanceof Date) && Number.isFinite(${A}.getTime())`,u(B.exclusiveMaximumTimestamp))yield`${A}.getTime() < ${B.exclusiveMaximumTimestamp}`;if(u(B.exclusiveMinimumTimestamp))yield`${A}.getTime() > ${B.exclusiveMinimumTimestamp}`;if(u(B.maximumTimestamp))yield`${A}.getTime() <= ${B.maximumTimestamp}`;if(u(B.minimumTimestamp))yield`${A}.getTime() >= ${B.minimumTimestamp}`;if(u(B.multipleOfTimestamp))yield`(${A}.getTime() % ${B.multipleOfTimestamp}) === 0`}function*G(B,P,A){yield`(typeof ${A} === 'function')`}function*D(B,P,A){let V=globalThis.Object.getOwnPropertyNames(B.$defs).reduce((x,g)=>{return[...x,B.$defs[g]]},[]);yield*KY(i8(B.$ref),[...P,...V],A)}function*S(B,P,A){if(yield`Number.isInteger(${A})`,u(B.exclusiveMaximum))yield`${A} < ${B.exclusiveMaximum}`;if(u(B.exclusiveMinimum))yield`${A} > ${B.exclusiveMinimum}`;if(u(B.maximum))yield`${A} <= ${B.maximum}`;if(u(B.minimum))yield`${A} >= ${B.minimum}`;if(u(B.multipleOf))yield`(${A} % ${B.multipleOf}) === 0`}function*N(B,P,A){let V=B.allOf.map((x)=>u0(x,P,A)).join(" && ");if(B.unevaluatedProperties===!1){let x=rY(`${new RegExp(yY(B))};`),g=`Object.getOwnPropertyNames(${A}).every(key => ${x}.test(key))`;yield`(${V} && ${g})`}else if(E0(B.unevaluatedProperties)){let x=rY(`${new RegExp(yY(B))};`),g=`Object.getOwnPropertyNames(${A}).every(key => ${x}.test(key) || ${u0(B.unevaluatedProperties,P,`${A}[key]`)})`;yield`(${V} && ${g})`}else yield`(${V})`}function*H(B,P,A){yield`(typeof value === 'object' && Symbol.iterator in ${A})`}function*q(B,P,A){if(typeof B.const==="number"||typeof B.const==="boolean")yield`(${A} === ${B.const})`;else yield`(${A} === '${eZ.Escape(B.const)}')`}function*F(B,P,A){yield"false"}function*C(B,P,A){yield`(!${u0(B.not,P,A)})`}function*w(B,P,A){yield`(${A} === null)`}function*h(B,P,A){if(yield IX.IsNumberLike(A),u(B.exclusiveMaximum))yield`${A} < ${B.exclusiveMaximum}`;if(u(B.exclusiveMinimum))yield`${A} > ${B.exclusiveMinimum}`;if(u(B.maximum))yield`${A} <= ${B.maximum}`;if(u(B.minimum))yield`${A} >= ${B.minimum}`;if(u(B.multipleOf))yield`(${A} % ${B.multipleOf}) === 0`}function*n(B,P,A){if(yield IX.IsObjectLike(A),u(B.minProperties))yield`Object.getOwnPropertyNames(${A}).length >= ${B.minProperties}`;if(u(B.maxProperties))yield`Object.getOwnPropertyNames(${A}).length <= ${B.maxProperties}`;let V=Object.getOwnPropertyNames(B.properties);for(let x of V){let g=l6.Encode(A,x),r=B.properties[x];if(B.required&&B.required.includes(x)){if(yield*KY(r,P,g),dY(r)||X(r))yield`('${x}' in ${A})`}else{let P0=u0(r,P,g);yield IX.IsExactOptionalProperty(A,x,P0)}}if(B.additionalProperties===!1)if(B.required&&B.required.length===V.length)yield`Object.getOwnPropertyNames(${A}).length === ${V.length}`;else{let x=`[${V.map((g)=>`'${g}'`).join(", ")}]`;yield`Object.getOwnPropertyNames(${A}).every(key => ${x}.includes(key))`}if(typeof B.additionalProperties==="object"){let x=u0(B.additionalProperties,P,`${A}[key]`),g=`[${V.map((r)=>`'${r}'`).join(", ")}]`;yield`(Object.getOwnPropertyNames(${A}).every(key => ${g}.includes(key) || ${x}))`}}function*s(B,P,A){yield`${A} instanceof Promise`}function*f(B,P,A){if(yield IX.IsRecordLike(A),u(B.minProperties))yield`Object.getOwnPropertyNames(${A}).length >= ${B.minProperties}`;if(u(B.maxProperties))yield`Object.getOwnPropertyNames(${A}).length <= ${B.maxProperties}`;let[V,x]=Object.entries(B.patternProperties)[0],g=rY(`${new RegExp(V)}`),r=u0(x,P,"value"),P0=E0(B.additionalProperties)?u0(B.additionalProperties,P,A):B.additionalProperties===!1?"false":"true",G8=`(${g}.test(key) ? ${r} : ${P0})`;yield`(Object.entries(${A}).every(([key, value]) => ${G8}))`}function*T(B,P,A){let V=M0(B,P);if(m0.functions.has(B.$ref))return yield`${wY(B.$ref)}(${A})`;yield*KY(V,P,A)}function*y(B,P,A){let V=rY(`${new RegExp(B.source,B.flags)};`);if(yield`(typeof ${A} === 'string')`,u(B.maxLength))yield`${A}.length <= ${B.maxLength}`;if(u(B.minLength))yield`${A}.length >= ${B.minLength}`;yield`${V}.test(${A})`}function*R(B,P,A){if(yield`(typeof ${A} === 'string')`,u(B.maxLength))yield`${A}.length <= ${B.maxLength}`;if(u(B.minLength))yield`${A}.length >= ${B.minLength}`;if(B.pattern!==void 0)yield`${rY(`${new RegExp(B.pattern)};`)}.test(${A})`;if(B.format!==void 0)yield`format('${B.format}', ${A})`}function*E(B,P,A){yield`(typeof ${A} === 'symbol')`}function*b(B,P,A){yield`(typeof ${A} === 'string')`,yield`${rY(`${new RegExp(B.pattern)};`)}.test(${A})`}function*m(B,P,A){yield`${wY(B.$ref)}(${A})`}function*c(B,P,A){if(yield`Array.isArray(${A})`,B.items===void 0)return yield`${A}.length === 0`;yield`(${A}.length === ${B.maxItems})`;for(let V=0;V<B.items.length;V++)yield`${u0(B.items[V],P,`${A}[${V}]`)}`}function*h0(B,P,A){yield`${A} === undefined`}function*o(B,P,A){yield`(${B.anyOf.map((x)=>u0(x,P,A)).join(" || ")})`}function*LX(B,P,A){if(yield`${A} instanceof Uint8Array`,u(B.maxByteLength))yield`(${A}.length <= ${B.maxByteLength})`;if(u(B.minByteLength))yield`(${A}.length >= ${B.minByteLength})`}function*NZ(B,P,A){yield"true"}function*L1(B,P,A){yield IX.IsVoidLike(A)}function*J6(B,P,A){let V=m0.instances.size;m0.instances.set(V,B),yield`kind('${B[O]}', ${V}, ${A})`}function*KY(B,P,A,V=!0){let x=Q0(B.$id)?[...P,B]:P,g=B;if(V&&Q0(B.$id)){let r=wY(B.$id);if(m0.functions.has(r))return yield`${r}(${A})`;else{m0.functions.set(r,"<deferred>");let P0=CY(r,B,P,"value",!1);return m0.functions.set(r,P0),yield`${r}(${A})`}}switch(g[O]){case"Any":return yield*Z(g,x,A);case"Argument":return yield*W(g,x,A);case"Array":return yield*$(g,x,A);case"AsyncIterator":return yield*Q(g,x,A);case"BigInt":return yield*J(g,x,A);case"Boolean":return yield*M(g,x,A);case"Constructor":return yield*z(g,x,A);case"Date":return yield*U(g,x,A);case"Function":return yield*G(g,x,A);case"Import":return yield*D(g,x,A);case"Integer":return yield*S(g,x,A);case"Intersect":return yield*N(g,x,A);case"Iterator":return yield*H(g,x,A);case"Literal":return yield*q(g,x,A);case"Never":return yield*F(g,x,A);case"Not":return yield*C(g,x,A);case"Null":return yield*w(g,x,A);case"Number":return yield*h(g,x,A);case"Object":return yield*n(g,x,A);case"Promise":return yield*s(g,x,A);case"Record":return yield*f(g,x,A);case"Ref":return yield*T(g,x,A);case"RegExp":return yield*y(g,x,A);case"String":return yield*R(g,x,A);case"Symbol":return yield*E(g,x,A);case"TemplateLiteral":return yield*b(g,x,A);case"This":return yield*m(g,x,A);case"Tuple":return yield*c(g,x,A);case"Undefined":return yield*h0(g,x,A);case"Union":return yield*o(g,x,A);case"Uint8Array":return yield*LX(g,x,A);case"Unknown":return yield*NZ(g,x,A);case"Void":return yield*L1(g,x,A);default:if(!t0.Has(g[O]))throw new E9(B);return yield*J6(g,x,A)}}let m0={language:"javascript",functions:new Map,variables:new Map,instances:new Map};function u0(B,P,A,V=!0){return`(${[...KY(B,P,A,V)].join(" && ")})`}function wY(B){return`check_${aZ.Encode(B)}`}function rY(B){let P=`local_${m0.variables.size}`;return m0.variables.set(P,`const ${P} = ${B}`),P}function CY(B,P,A,V,x=!0){let[g,r]=[`
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}`:`return ${V}`;return[...P0,...r,G8].join(`
|
|
7
|
-
`)}function d(...B){let P={language:"javascript"},[A,V,x]=B.length===2&&p(B[1])?[B[0],B[1],P]:B.length===2&&!p(B[1])?[B[0],[],B[1]]:B.length===3?[B[0],B[1],B[2]]:B.length===1?[B[0],[],P]:[null,[],P];if(m0.language=x.language,m0.variables.clear(),m0.functions.clear(),m0.instances.clear(),!E0(A))throw new YW(A);for(let g of V)if(!E0(g))throw new YW(g);return eY(A,V,x)}Y.Code=d;function k(B,P=[]){let A=d(B,P,{language:"javascript"}),V=globalThis.Function("kind","format","hash",A),x=new Map(m0.instances);function g($8,V8,RY){if(!t0.Has($8)||!x.has(V8))return!1;let fQ=t0.Get($8),yQ=x.get(V8);return fQ(yQ,RY)}function r($8,V8){if(!q0.Has($8))return!1;return q0.Get($8)(V8)}function P0($8){return GX($8)}let G8=V(g,r,P0);return new b9(B,P,G8,A)}Y.Compile=k})(HY||(HY={}));var VN=Object.create,{getPrototypeOf:IN,defineProperty:V9,getOwnPropertyNames:TN}=Object,xN=Object.prototype.hasOwnProperty,Z6=(Y,X,Z)=>{Z=Y!=null?VN(IN(Y)):{};let W=X||!Y||!Y.__esModule?V9(Z,"default",{value:Y,enumerable:!0}):Z;for(let $ of TN(Y))if(!xN.call(W,$))V9(W,$,{get:()=>Y[$],enumerable:!0});return W},JQ=(Y,X)=>()=>(X||Y((X={exports:{}}).exports,X),X.exports);var zZ=JQ((Y,X)=>{var Z=12,W=0,$=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,7,7,7,7,7,7,7,7,7,7,7,7,8,7,7,10,9,9,9,11,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,24,36,48,60,72,84,96,0,12,12,12,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,24,24,24,0,0,0,0,0,0,0,0,0,24,24,0,0,0,0,0,0,0,0,0,0,48,48,48,0,0,0,0,0,0,0,0,0,0,48,48,0,0,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,127,63,63,63,0,31,15,15,15,7,7,7];function Q(z){var U=z.indexOf("%");if(U===-1)return z;var G=z.length,D="",S=0,N=0,H=U,q=Z;while(U>-1&&U<G){var F=M(z[U+1],4),C=M(z[U+2],0),w=F|C,h=$[w];if(q=$[256+q+h],N=N<<6|w&$[364+h],q===Z)D+=z.slice(S,H),D+=N<=65535?String.fromCharCode(N):String.fromCharCode(55232+(N>>10),56320+(N&1023)),N=0,S=U+3,U=H=z.indexOf("%",S);else if(q===W)return null;else{if(U+=3,U<G&&z.charCodeAt(U)===37)continue;return null}}return D+z.slice(S)}var J={"0":0,"1":1,"2":2,"3":3,"4":4,"5":5,"6":6,"7":7,"8":8,"9":9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};function M(z,U){var G=J[z];return G===void 0?255:G<<U}X.exports=Q}),kN=JQ((Y)=>{Object.defineProperty(Y,"__esModule",{value:!0}),Y.parse=M,Y.serialize=G;var X=/^[\u0021-\u003A\u003C\u003E-\u007E]+$/,Z=/^[\u0021-\u003A\u003C-\u007E]*$/,W=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,$=/^[\u0020-\u003A\u003D-\u007E]*$/,Q=Object.prototype.toString,J=(()=>{let N=function(){};return N.prototype=Object.create(null),N})();function M(N,H){let q=new J,F=N.length;if(F<2)return q;let C=H?.decode||D,w=0;do{let h=N.indexOf("=",w);if(h===-1)break;let n=N.indexOf(";",w),s=n===-1?F:n;if(h>s){w=N.lastIndexOf(";",h-1)+1;continue}let f=z(N,w,h),T=U(N,h,f),y=N.slice(f,T);if(q[y]===void 0){let R=z(N,h+1,s),E=U(N,s,R),b=C(N.slice(R,E));q[y]=b}w=s+1}while(w<F);return q}function z(N,H,q){do{let F=N.charCodeAt(H);if(F!==32&&F!==9)return H}while(++H<q);return q}function U(N,H,q){while(H>q){let F=N.charCodeAt(--H);if(F!==32&&F!==9)return H+1}return q}function G(N,H,q){let F=q?.encode||encodeURIComponent;if(!X.test(N))throw TypeError(`argument name is invalid: ${N}`);let C=F(H);if(!Z.test(C))throw TypeError(`argument val is invalid: ${H}`);let w=N+"="+C;if(!q)return w;if(q.maxAge!==void 0){if(!Number.isInteger(q.maxAge))throw TypeError(`option maxAge is invalid: ${q.maxAge}`);w+="; Max-Age="+q.maxAge}if(q.domain){if(!W.test(q.domain))throw TypeError(`option domain is invalid: ${q.domain}`);w+="; Domain="+q.domain}if(q.path){if(!$.test(q.path))throw TypeError(`option path is invalid: ${q.path}`);w+="; Path="+q.path}if(q.expires){if(!S(q.expires)||!Number.isFinite(q.expires.valueOf()))throw TypeError(`option expires is invalid: ${q.expires}`);w+="; Expires="+q.expires.toUTCString()}if(q.httpOnly)w+="; HttpOnly";if(q.secure)w+="; Secure";if(q.partitioned)w+="; Partitioned";if(q.priority)switch(typeof q.priority==="string"?q.priority.toLowerCase():void 0){case"low":w+="; Priority=Low";break;case"medium":w+="; Priority=Medium";break;case"high":w+="; Priority=High";break;default:throw TypeError(`option priority is invalid: ${q.priority}`)}if(q.sameSite)switch(typeof q.sameSite==="string"?q.sameSite.toLowerCase():q.sameSite){case!0:case"strict":w+="; SameSite=Strict";break;case"lax":w+="; SameSite=Lax";break;case"none":w+="; SameSite=None";break;default:throw TypeError(`option sameSite is invalid: ${q.sameSite}`)}return w}function D(N){if(N.indexOf("%")===-1)return N;try{return decodeURIComponent(N)}catch(H){return N}}function S(N){return Q.call(N)==="[object Date]"}}),Q1=(Y,X)=>{let Z=X?.length?{}:null;if(Z)for(let W of X)Z[W.part.charCodeAt(0)]=W;return{part:Y,store:null,inert:Z,params:null,wildcardStore:null}},I9=(Y,X)=>({...Y,part:X}),T9=(Y)=>({name:Y,store:null,inert:null});class B1{config;root={};history=[];deferred=[];constructor(Y={}){if(this.config=Y,Y.lazy)this.find=this.lazyFind;if(Y.onParam&&!Array.isArray(Y.onParam))this.config.onParam=[this.config.onParam]}static regex={static:/:.+?(?=\/|$)/,params:/:.+?(?=\/|$)/g,optionalParams:/(\/:\w+\?)/g};lazyFind=(Y,X)=>{if(!this.config.lazy)return this.find;return this.build(),this.find(Y,X)};build(){if(!this.config.lazy)return;for(let[Y,X,Z]of this.deferred)this.add(Y,X,Z,{lazy:!1,ignoreHistory:!0});this.deferred=[],this.find=(Y,X)=>{let Z=this.root[Y];if(!Z)return null;return r6(X,X.length,Z,0,this.config.onParam)}}add(Y,X,Z,{ignoreError:W=!1,ignoreHistory:$=!1,lazy:Q=this.config.lazy}={}){if(Q)return this.find=this.lazyFind,this.deferred.push([Y,X,Z]),Z;if(typeof X!=="string")throw TypeError("Route path must be a string");if(X==="")X="/";else if(X[0]!=="/")X=`/${X}`;let J=X[X.length-1]==="*",M=X.match(B1.regex.optionalParams);if(M){let S=X.replaceAll("?","");this.add(Y,S,Z,{ignoreError:W,ignoreHistory:$,lazy:Q});for(let N=0;N<M.length;N++){let H=X.replace(M[N],"");this.add(Y,H,Z,{ignoreError:!0,ignoreHistory:$,lazy:Q})}return Z}if(M)X=X.replaceAll("?","");if(this.history.find(([S,N,H])=>S===Y&&N===X))return Z;if(J||M&&X.charCodeAt(X.length-1)===63)X=X.slice(0,-1);if(!$)this.history.push([Y,X,Z]);let z=X.split(B1.regex.static),U=X.match(B1.regex.params)||[];if(z[z.length-1]==="")z.pop();let G;if(!this.root[Y])G=this.root[Y]=Q1("/");else G=this.root[Y];let D=0;for(let S=0;S<z.length;++S){let N=z[S];if(S>0){let H=U[D++].slice(1);if(G.params===null)G.params=T9(H);else if(G.params.name!==H)if(W)return Z;else throw Error(`Cannot create route "${X}" with parameter "${H}" because a route already exists with a different parameter name ("${G.params.name}") in the same location`);let q=G.params;if(q.inert===null){G=q.inert=Q1(N);continue}G=q.inert}for(let H=0;;){if(H===N.length){if(H<G.part.length){let q=I9(G,G.part.slice(H));Object.assign(G,Q1(N,[q]))}break}if(H===G.part.length){if(G.inert===null)G.inert={};let q=G.inert[N.charCodeAt(H)];if(q){G=q,N=N.slice(H),H=0;continue}let F=Q1(N.slice(H));G.inert[N.charCodeAt(H)]=F,G=F;break}if(N[H]!==G.part[H]){let q=I9(G,G.part.slice(H)),F=Q1(N.slice(H));Object.assign(G,Q1(G.part.slice(0,H),[q,F])),G=F;break}++H}}if(D<U.length){let S=U[D].slice(1);if(G.params===null)G.params=T9(S);else if(G.params.name!==S)if(W)return Z;else throw Error(`Cannot create route "${X}" with parameter "${S}" because a route already exists with a different parameter name ("${G.params.name}") in the same location`);if(G.params.store===null)G.params.store=Z;return G.params.store}if(J){if(G.wildcardStore===null)G.wildcardStore=Z;return G.wildcardStore}if(G.store===null)G.store=Z;return G.store}find(Y,X){let Z=this.root[Y];if(!Z)return null;return r6(X,X.length,Z,0,this.config.onParam)}}var r6=(Y,X,Z,W,$)=>{let Q=Z.part,J=Q.length,M=W+J;if(J>1){if(M>X)return null;if(J<15){for(let z=1,U=W+1;z<J;++z,++U)if(Q.charCodeAt(z)!==Y.charCodeAt(U))return null}else if(Y.slice(W,M)!==Q)return null}if(M===X){if(Z.store!==null)return{store:Z.store,params:{}};if(Z.wildcardStore!==null)return{store:Z.wildcardStore,params:{"*":""}};return null}if(Z.inert!==null){let z=Z.inert[Y.charCodeAt(M)];if(z!==void 0){let U=r6(Y,X,z,M,$);if(U!==null)return U}}if(Z.params!==null){let{store:z,name:U,inert:G}=Z.params,D=Y.indexOf("/",M);if(D!==M){if(D===-1||D>=X){if(z!==null){let S={};if(S[U]=Y.substring(M,X),$)for(let N=0;N<$.length;N++){let H=$[N](S[U],U);if(H!==void 0)S[U]=H}return{store:z,params:S}}}else if(G!==null){let S=r6(Y,X,G,D,$);if(S!==null){if(S.params[U]=Y.substring(M,D),$)for(let N=0;N<$.length;N++){let H=$[N](S.params[U],U);if(H!==void 0)S.params[U]=H}return S}}}}if(Z.wildcardStore!==null)return{store:Z.wildcardStore,params:{"*":Y.substring(M,X)}};return null},x9=Z6(zZ(),1),FW={date:MQ,time:HW(!0),"date-time":k9(!0),"iso-time":HW(!1),"iso-date-time":k9(!1),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:uN,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:tN,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:cN,int32:{type:"number",validate:lN},int64:{type:"number",validate:nN},float:{type:"number",validate:f9},double:{type:"number",validate:f9},password:!0,binary:!0};function gN(Y){return Y%4===0&&(Y%100!==0||Y%400===0)}var fN=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,yN=[0,31,28,31,30,31,30,31,31,30,31,30,31];function MQ(Y){let X=fN.exec(Y);if(!X)return!1;let Z=+X[1],W=+X[2],$=+X[3];return W>=1&&W<=12&&$>=1&&$<=(W===2&&gN(Z)?29:yN[W])}var dN=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function HW(Y){return function(X){let Z=dN.exec(X);if(!Z)return!1;let W=+Z[1],$=+Z[2],Q=+Z[3],J=Z[4],M=Z[5]==="-"?-1:1,z=+(Z[6]||0),U=+(Z[7]||0);if(z>23||U>59||Y&&!J)return!1;if(W<=23&&$<=59&&Q<60)return!0;let G=$-U*M,D=W-z*M-(G<0?1:0);return(D===23||D===-1)&&(G===59||G===-1)&&Q<61}}var AW=(Y)=>{if(Y.charCodeAt(Y.length-6)===32)return Y.slice(0,-6)+"+"+Y.slice(-5);return Y},vN=/t|\s/i;function k9(Y){let X=HW(Y);return function(Z){let W=Z.split(vN);return W.length===2&&MQ(W[0])&&X(W[1])}}var hN=/\/|:/,mN=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function uN(Y){return hN.test(Y)&&mN.test(Y)}var g9=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function cN(Y){return g9.lastIndex=0,g9.test(Y)}var pN=-2147483648,iN=2147483647;function lN(Y){return Number.isInteger(Y)&&Y<=iN&&Y>=pN}function nN(Y){return Number.isInteger(Y)}function f9(){return!0}var oN=/[^\\]\\Z/;function tN(Y){if(oN.test(Y))return!1;try{return new RegExp(Y),!0}catch(X){return!1}}var zQ=/(\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))/,UQ=/(?: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\([^)]+\)/,GQ=/^(?:(?:(?:(?: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)?)?$/,sN=FW.date,rN=FW["date-time"];if(!q0.Has("date"))q0.Set("date",(Y)=>{let X=AW(Y).replace(/"/g,"");if(zQ.test(X)||UQ.test(X)||GQ.test(X)||sN(X)){let Z=new Date(X);if(!Number.isNaN(Z.getTime()))return!0}return!1});if(!q0.Has("date-time"))q0.Set("date-time",(Y)=>{let X=Y.replace(/"/g,"");if(zQ.test(X)||UQ.test(X)||GQ.test(X)||rN(X)){let Z=new Date(X);if(!Number.isNaN(Z.getTime()))return!0}return!1});Object.entries(FW).forEach((Y)=>{let[X,Z]=Y;if(!q0.Has(X)){if(Z instanceof RegExp)q0.Set(X,(W)=>Z.test(W));else if(typeof Z==="function")q0.Set(X,Z)}});if(!q0.Has("numeric"))q0.Set("numeric",(Y)=>!!Y&&!isNaN(+Y));if(!q0.Has("integer"))q0.Set("integer",(Y)=>!!Y&&Number.isInteger(+Y));if(!q0.Has("boolean"))q0.Set("boolean",(Y)=>Y==="true"||Y==="false");if(!q0.Has("ObjectString"))q0.Set("ObjectString",(Y)=>{let X=Y.charCodeAt(0);if(X===9||X===10||X===32)X=Y.trimStart().charCodeAt(0);if(X!==123&&X!==91)return!1;try{return JSON.parse(Y),!0}catch{return!1}});if(!q0.Has("ArrayString"))q0.Set("ArrayString",(Y)=>{let X=Y.charCodeAt(0);if(X===9||X===10||X===32)X=Y.trimStart().charCodeAt(0);if(X!==123&&X!==91)return!1;try{return JSON.parse(Y),!0}catch{return!1}});var H1=typeof Bun<"u",BQ={aac:"audio/aac",abw:"application/x-abiword",ai:"application/postscript",arc:"application/octet-stream",avi:"video/x-msvideo",azw:"application/vnd.amazon.ebook",bin:"application/octet-stream",bz:"application/x-bzip",bz2:"application/x-bzip2",csh:"application/x-csh",css:"text/css",csv:"text/csv",doc:"application/msword",dll:"application/octet-stream",eot:"application/vnd.ms-fontobject",epub:"application/epub+zip",gif:"image/gif",htm:"text/html",html:"text/html",ico:"image/x-icon",ics:"text/calendar",jar:"application/java-archive",jpeg:"image/jpeg",jpg:"image/jpeg",js:"application/javascript",json:"application/json",mid:"audio/midi",midi:"audio/midi",mp2:"audio/mpeg",mp3:"audio/mpeg",mp4:"video/mp4",mpa:"video/mpeg",mpe:"video/mpeg",mpeg:"video/mpeg",mpkg:"application/vnd.apple.installer+xml",odp:"application/vnd.oasis.opendocument.presentation",ods:"application/vnd.oasis.opendocument.spreadsheet",odt:"application/vnd.oasis.opendocument.text",oga:"audio/ogg",ogv:"video/ogg",ogx:"application/ogg",otf:"font/otf",png:"image/png",pdf:"application/pdf",ppt:"application/vnd.ms-powerpoint",rar:"application/x-rar-compressed",rtf:"application/rtf",sh:"application/x-sh",svg:"image/svg+xml",swf:"application/x-shockwave-flash",tar:"application/x-tar",tif:"image/tiff",tiff:"image/tiff",ts:"application/typescript",ttf:"font/ttf",txt:"text/plain",vsd:"application/vnd.visio",wav:"audio/x-wav",weba:"audio/webm",webm:"video/webm",webp:"image/webp",woff:"font/woff",woff2:"font/woff2",xhtml:"application/xhtml+xml",xls:"application/vnd.ms-excel",xlsx:"application/vnd.ms-excel",xlsx_OLD:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",xml:"application/xml",xul:"application/vnd.mozilla.xul+xml",zip:"application/zip","3gp":"video/3gpp","3gp_DOES_NOT_CONTAIN_VIDEO":"audio/3gpp","3gp2":"video/3gpp2","3gp2_DOES_NOT_CONTAIN_VIDEO":"audio/3gpp2","7z":"application/x-7z-compressed"},aN=(Y)=>{let X=Y.lastIndexOf(".");if(X===-1)return"";return Y.slice(X+1)};var XW,ZW;class a6{path;value;stats;constructor(Y){if(this.path=Y,H1)this.value=Bun.file(Y);else{if(!XW||!ZW){if(typeof window<"u"){console.warn("Browser environment does not support file");return}let X=(W)=>console.warn(Error(`[elysia] \`file\` require \`fs${W?"."+W:""}\` ${W?.includes(".")?"module ":""}which is not available in this environment`));if(typeof process>"u"||typeof process.getBuiltinModule!=="function"){X();return}let Z=process.getBuiltinModule("fs");if(!Z){X();return}if(typeof Z.createReadStream!=="function"){X();return}if(typeof Z.promises?.stat!=="function"){X();return}XW=Z.createReadStream,ZW=Z.promises.stat}this.value=XW(Y),this.stats=ZW(Y)}}get type(){return BQ[aN(this.path)]||"application/octet-stream"}get length(){if(H1)return this.value.size;return this.stats?.then((Y)=>Y.size)??0}}var qW="toJSON"in new Headers,y9=(Y,X)=>{let Z=new URL(Y);return Z.pathname=X,Z.toString()},eN=(Y)=>typeof Y==="function"&&/^\s*class\s+/.test(Y.toString())||Y.toString&&Y.toString().startsWith("[object ")&&Y.toString()!=="[object Object]"||V0(Object.getPrototypeOf(Y)),WW=(Y)=>Y&&typeof Y==="object"&&!Array.isArray(Y),W8=(Y,X,Z)=>{let W=Z?.skipKeys,$=Z?.override??!0,Q=Z?.mergeArray??!1;if(!WW(Y)||!WW(X))return Y;for(let[J,M]of Object.entries(X)){if(W?.includes(J))continue;if(Q&&Array.isArray(M)){Y[J]=Array.isArray(Y[J])?[...Y[J],...M]:Y[J]=M;continue}if(!WW(M)||!(J in Y)||eN(M)){if(($||!(J in Y))&&!Object.isFrozen(Y))try{Y[J]=M}catch{}continue}if(!Object.isFrozen(Y[J]))try{Y[J]=W8(Y[J],M,{skipKeys:W,override:$,mergeArray:Q})}catch{}}return Y},DW=(Y,X)=>{let Z=W8(Object.assign({},Y),X,{skipKeys:["properties"],mergeArray:!1});if(Z.properties)delete Z.properties;return Z},y0=(Y,X)=>{if(!X)return Y;let Z=[],W=[];if(Y){if(!Array.isArray(Y))Y=[Y];for(let $ of Y)if(Z.push($),$.checksum)W.push($.checksum)}if(X){if(!Array.isArray(X))X=[X];for(let $ of X)if(!W.includes($.checksum))Z.push($)}return Z},YH=["start","request","parse","transform","resolve","beforeHandle","afterHandle","mapResponse","afterResponse","trace","error","stop","body","headers","params","query","response","type","detail"],Vb=YH.reduce((Y,X)=>(Y[X]=!0,Y),{}),n6=(Y)=>typeof Y==="object"&&Object.keys(Y).every((X)=>!isNaN(+X)),NQ=(Y,X)=>{if(n6(Y)&&n6(X))return Object.assign({},Y,X);else if(Y&&!n6(Y)&&n6(X))return Object.assign({200:Y},X);return X??Y},h1=(Y,X)=>{if(!Y&&!X)return{body:void 0,headers:void 0,params:void 0,query:void 0,cookie:void 0,response:void 0};return{body:X?.body??Y?.body,headers:X?.headers??Y?.headers,params:X?.params??Y?.params,query:X?.query??Y?.query,cookie:X?.cookie??Y?.cookie,response:NQ(Y?.response,X?.response)}},TX=(Y,X)=>{if(!X)return Y??{};if(!Y)return X??{};if(!Object.values(X).find((W)=>W!==void 0&&W!==null))return{...Y};let Z={...Y,...X,body:X.body??Y.body,headers:X.headers??Y.headers,params:X.params??Y.params,query:X.query??Y.query,cookie:X.cookie??Y.cookie,response:NQ(Y.response,X.response),type:Y.type||X.type,detail:W8(X.detail??{},Y.detail??{}),parse:y0(Y.parse,X.parse),transform:y0(Y.transform,X.transform),beforeHandle:y0(y0(a0(Y.resolve,"resolve"),Y.beforeHandle),y0(a0(X.resolve,"resolve"),X.beforeHandle)),afterHandle:y0(Y.afterHandle,X.afterHandle),mapResponse:y0(Y.mapResponse,X.mapResponse),afterResponse:y0(Y.afterResponse,X.afterResponse),trace:y0(Y.trace,X.trace),error:y0(Y.error,X.error),standaloneSchema:Y.standaloneSchema||X.standaloneSchema?Y.standaloneSchema&&!X.standaloneSchema?Y.standaloneSchema:X.standaloneSchema&&!Y.standaloneSchema?X.standaloneSchema:[...Y.standaloneSchema??[],...X.standaloneSchema??[]]:void 0};if(Z.resolve)delete Z.resolve;return Z},XH=(Y)=>{if(Y.parse&&!Array.isArray(Y.parse))Y.parse=[Y.parse];if(Y.transform&&!Array.isArray(Y.transform))Y.transform=[Y.transform];if(Y.afterHandle&&!Array.isArray(Y.afterHandle))Y.afterHandle=[Y.afterHandle];if(Y.mapResponse&&!Array.isArray(Y.mapResponse))Y.mapResponse=[Y.mapResponse];if(Y.afterResponse&&!Array.isArray(Y.afterResponse))Y.afterResponse=[Y.afterResponse];if(Y.trace&&!Array.isArray(Y.trace))Y.trace=[Y.trace];if(Y.error&&!Array.isArray(Y.error))Y.error=[Y.error];let X=[];if(Y.resolve)X=a0(Array.isArray(Y.resolve)?Y.resolve:[Y.resolve],"resolve"),delete Y.resolve;if(Y.beforeHandle)if(X.length)X=X.concat(Array.isArray(Y.beforeHandle)?Y.beforeHandle:[Y.beforeHandle]);else X=Array.isArray(Y.beforeHandle)?Y.beforeHandle:[Y.beforeHandle];if(X.length)Y.beforeHandle=X;return Y},ZH=typeof Bun<"u",Ib=ZH&&typeof Bun.hash==="function",u1=(Y)=>{let X=9;for(let Z=0;Z<Y.length;)X=Math.imul(X^Y.charCodeAt(Z++),387420489);return X=X^X>>>9},AY=(Y,X)=>{if(!X)return;if(!Array.isArray(X)){let W=X;if(Y&&!W.checksum)W.checksum=Y;if(W.scope==="scoped")W.scope="local";return W}let Z=[...X];for(let W of Z){if(Y&&!W.checksum)W.checksum=Y;if(W.scope==="scoped")W.scope="local"}return Z},d9=(Y,X,Z)=>{return{start:y0(Y.start,AY(Z,X?.start)),request:y0(Y.request,AY(Z,X?.request)),parse:y0(Y.parse,AY(Z,X?.parse)),transform:y0(Y.transform,AY(Z,X?.transform)),beforeHandle:y0(y0(a0(Y.resolve,"resolve"),Y.beforeHandle),AY(Z,y0(a0(X?.resolve,"resolve"),X?.beforeHandle))),afterHandle:y0(Y.afterHandle,AY(Z,X?.afterHandle)),mapResponse:y0(Y.mapResponse,AY(Z,X?.mapResponse)),afterResponse:y0(Y.afterResponse,AY(Z,X?.afterResponse)),trace:y0(Y.trace,AY(Z,X?.trace)),error:y0(Y.error,AY(Z,X?.error)),stop:y0(Y.stop,AY(Z,X?.stop))}},WH=(Y,X,{skipIfHasType:Z=!1})=>{if(!Y)return Y;if(!Array.isArray(Y)){if(Z)Y.scope??=X;else Y.scope=X;return Y}for(let W of Y)if(Z)W.scope??=X;else W.scope=X;return Y},BX=(Y)=>{if(!Y)return Y;if(!Array.isArray(Y))switch(Y.scope){case"global":case"scoped":return{...Y};default:return{fn:Y}}let X=[];for(let Z of Y)switch(Z.scope){case"global":case"scoped":X.push({...Z});break}return X},v9=(Y)=>{return{...Y,type:Y?.type,detail:Y?.detail,parse:BX(Y?.parse),transform:BX(Y?.transform),beforeHandle:BX(Y?.beforeHandle),afterHandle:BX(Y?.afterHandle),mapResponse:BX(Y?.mapResponse),afterResponse:BX(Y?.afterResponse),error:BX(Y?.error),trace:BX(Y?.trace)}},r1={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,"Enhance Your Calm":420,"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},h9=Object.fromEntries(Object.entries(r1).map(([Y,X])=>[X,Y]));function $H(Y){let X=Y;while(X.endsWith("="))X=X.slice(0,-1);return X}var m9=new TextEncoder,e6=async(Y,X)=>{if(typeof Y==="object")Y=JSON.stringify(Y);else if(typeof Y!=="string")Y=Y+"";if(X===null)throw TypeError("Secret key must be provided.");let Z=await crypto.subtle.importKey("raw",m9.encode(X),{name:"HMAC",hash:"SHA-256"},!1,["sign"]),W=await crypto.subtle.sign("HMAC",Z,m9.encode(Y));return Y+"."+$H(Buffer.from(W).toString("base64"))},u9=async(Y,X)=>{if(typeof Y!=="string")throw TypeError("Signed cookie string must be provided.");if(X===null)throw TypeError("Secret key must be provided.");let Z=Y.slice(0,Y.lastIndexOf("."));return await e6(Z,X)===Y?Z:!1},QH=(Y,X,Z)=>{if(!Y.standaloneValidator?.length||!Array.isArray(Y.standaloneValidator)){Y.standaloneValidator=[{[X]:Z}];return}let W=Y.standaloneValidator[Y.standaloneValidator.length-1];if(X in W)Y.standaloneValidator.push({[X]:Z});else W[X]=Z},JH=(Y)=>{if(typeof Y==="number")return Y;if(Y.length<16){if(Y.trim().length===0)return null;let X=Number(Y);if(Number.isNaN(X))return null;return X}if(Y.length===16){if(Y.trim().length===0)return null;let X=Number(Y);if(Number.isNaN(X)||X.toString()!==Y)return null;return X}return null},HQ=(Y)=>JH(Y)!==null;class AQ{onError;onFinally;root=null;promises=[];constructor(Y=console.error,X=()=>{}){this.onError=Y,this.onFinally=X}get size(){return this.promises.length}add(Y){if(this.promises.push(Y),this.root||=this.drain(),this.promises.length===1)this.then(this.onFinally);return Y}async drain(){while(this.promises.length>0){try{await this.promises[0]}catch(Y){this.onError(Y)}this.promises.shift()}this.root=null}then(Y,X){return(this.root??Promise.resolve()).then(Y,X)}}var a0=(Y,X)=>{if(!Y)return Y;if(!Array.isArray(Y)){if(typeof Y==="function"||typeof Y==="string")return X?{fn:Y,subType:X}:{fn:Y};else if("fn"in Y)return Y}let Z=[];for(let W of Y)if(typeof W==="function"||typeof W==="string")Z.push(X?{fn:W,subType:X}:{fn:W});else if("fn"in W)Z.push(W);return Z},c9=(Y)=>{if(Y.start)Y.start=a0(Y.start);if(Y.request)Y.request=a0(Y.request);if(Y.parse)Y.parse=a0(Y.parse);if(Y.transform)Y.transform=a0(Y.transform);if(Y.beforeHandle)Y.beforeHandle=a0(Y.beforeHandle);if(Y.afterHandle)Y.afterHandle=a0(Y.afterHandle);if(Y.mapResponse)Y.mapResponse=a0(Y.mapResponse);if(Y.afterResponse)Y.afterResponse=a0(Y.afterResponse);if(Y.trace)Y.trace=a0(Y.trace);if(Y.error)Y.error=a0(Y.error);if(Y.stop)Y.stop=a0(Y.stop);return Y},p9=(Y)=>{let X=Object.create(null);if(Y.start?.map)X.start=Y.start.map((Z)=>Z.fn);if(Y.request?.map)X.request=Y.request.map((Z)=>Z.fn);if(Y.parse?.map)X.parse=Y.parse.map((Z)=>Z.fn);if(Y.transform?.map)X.transform=Y.transform.map((Z)=>Z.fn);if(Y.beforeHandle?.map)X.beforeHandle=Y.beforeHandle.map((Z)=>Z.fn);if(Y.afterHandle?.map)X.afterHandle=Y.afterHandle.map((Z)=>Z.fn);if(Y.mapResponse?.map)X.mapResponse=Y.mapResponse.map((Z)=>Z.fn);if(Y.afterResponse?.map)X.afterResponse=Y.afterResponse.map((Z)=>Z.fn);if(Y.error?.map)X.error=Y.error.map((Z)=>Z.fn);if(Y.stop?.map)X.stop=Y.stop.map((Z)=>Z.fn);if(Y.trace?.map)X.trace=Y.trace.map((Z)=>Z.fn);else X.trace=[];return X},i9=(Y)=>({body:Y.body,cookie:Y.cookie,headers:Y.headers,query:Y.query,set:Y.set,server:Y.server,path:Y.path,route:Y.route,url:Y.url}),UZ=(Y,X=302)=>Response.redirect(Y,X),xX=Symbol("ElysiaFormData"),W6=Symbol("ElysiaRequestId"),MH=(Y)=>{let X=new FormData;if(X[xX]={},Y)for(let[Z,W]of Object.entries(Y)){if(Array.isArray(W)){X[xX][Z]=[];for(let $ of W){if(W instanceof File)X.append(Z,W,W.name);else if(W instanceof a6)X.append(Z,W.value,W.value?.name);else X.append(Z,W);X[xX][Z].push(W)}continue}if(W instanceof File)X.append(Z,W,W.name);else if(W instanceof a6)X.append(Z,W.value,W.value?.name);else X.append(Z,W);X[xX][Z]=W}return X},GZ=()=>{let Y=crypto.randomUUID();return Y.slice(0,8)+Y.slice(24,32)},zH=(Y)=>{if(!Y.length)return[];let X=[];for(let Z=0;Z<Y.length;Z++){let W=Y[Z];if(W.checksum){if(X.includes(W.checksum))Y.splice(Z,1),Z--;X.push(W.checksum)}}return Y},NX=(Y,X="scoped")=>{if(!Y)return;if(X==="scoped"){for(let Z of Y)if("scope"in Z&&Z.scope==="local")Z.scope="scoped";return}for(let Z of Y)if("scope"in Z)Z.scope="global"},c1=(Y)=>{if(Y.charCodeAt(Y.length-1)===47)return Y.slice(0,Y.length-1);return Y+"/"},V0=(Y)=>{if(!Y)return!1;for(let X in Y)return!0;return!1},p1=(Y,{dynamic:X=!1}={})=>{let Z=encodeURIComponent(Y).replace(/%2F/g,"/");if(X)Z=Z.replace(/%3A/g,":").replace(/%3F/g,"?");return Z},qQ=(()=>{if(typeof Bun>"u")return!0;let Y=Bun.version.split(".");if(+Y[0]<1||+Y[1]<2||+Y[2]<14)return!1;return!0})();async function UH(Y){if(Y.bodyUsed||!Y.body)return 0;let X=0,Z=Y.body.getReader();while(!0){let{done:W,value:$}=await Z.read();if(W)break;X+=$.byteLength}return X}var GH={headers:!0,cookie:!0,query:!0,params:!0,body:!0,response:!0},l9=typeof Bun<"u"?Bun.env:typeof process<"u"?process?.env:void 0,YZ=Symbol("ElysiaErrorCode"),AX=(l9?.NODE_ENV??l9?.ENV)==="production",BH={101:void 0,204:void 0,205:void 0,304:void 0,307:void 0,308:void 0};class z8{code;response;constructor(Y,X){let Z=X??(Y in h9?h9[Y]:Y);if(this.code=r1[Y]??Y,Y in BH)this.response=void 0;else this.response=Z}}var a1=(Y,X)=>new z8(Y,X);class jW extends Error{code="NOT_FOUND";status=404;constructor(Y){super(Y??"NOT_FOUND")}}class DQ extends Error{code="PARSE";status=400;constructor(Y){super("Bad Request",{cause:Y})}}class wW extends Error{key;code="INVALID_COOKIE_SIGNATURE";status=400;constructor(Y,X){super(X??`"${Y}" has invalid cookie signature`);this.key=Y}}var M8=(Y)=>{if(!Y)return{summary:void 0};let{message:X,path:Z,value:W,type:$}=Y,Q=Z.slice(1).replaceAll("/","."),J=Z==="";switch($){case 42:return{...Y,summary:J?"Value should not be provided":`Property '${Q}' should not be provided`};case 45:return{...Y,summary:J?"Value is missing":`Property '${Q}' is missing`};case 50:let M=X.indexOf("'"),z=X.slice(M+1,X.indexOf("'",M+1));return{...Y,summary:J?"Value should be an email":`Property '${Q}' should be ${z}`};case 54:return{...Y,summary:`${X.slice(0,9).trim()} property '${Q}' to be ${X.slice(8).trim()} but found: ${W}`};case 62:let U=Y.schema.anyOf.map((G)=>`'${G?.format??G.type}'`).join(", ");return{...Y,summary:J?`Value should be one of ${U}`:`Property '${Q}' should be one of: ${U}`};default:return{summary:X,...Y}}};class o1 extends Error{property;expected;message;code="INVALID_FILE_TYPE";status=422;constructor(Y,X,Z=`"${Y}" has invalid file type`){super(Z);this.property=Y,this.expected=X,this.message=Z,Object.setPrototypeOf(this,o1.prototype)}toResponse(Y){if(AX)return new Response(JSON.stringify({type:"validation",on:"body"}),{status:422,headers:{...Y,"content-type":"application/json"}});return new Response(JSON.stringify({type:"validation",on:"body",summary:"Invalid file type",message:this.message,property:this.property,expected:this.expected}),{status:422,headers:{...Y,"content-type":"application/json"}})}}class A0 extends Error{type;validator;value;code="VALIDATION";status=422;valueError;expected;customError;constructor(Y,X,Z,W){let $="",Q,J,M;if(X?.provider==="standard"||"~standard"in X||X.schema&&"~standard"in X.schema){let z=("~standard"in X?X:X.schema)["~standard"];if(Q=(W??z.validate(Z).issues)?.[0],AX)$=JSON.stringify({type:"validation",on:Y,found:Z});else $=JSON.stringify({type:"validation",on:Y,property:Q.path?.[0]||"root",message:Q?.message,summary:Q?.problem,expected:J,found:Z,errors:W},null,2);M=Q?.message}else{if(Z&&typeof Z==="object"&&Z instanceof z8)Z=Z.response;Q=W?.First()??("Errors"in X?X.Errors(Z).First():O0.Errors(X,Z).First());let z=Q?.path||"root",U=X?.schema??X;if(!AX)try{J=O0.Create(U)}catch(G){J={type:"Could not create expected value",message:G?.message,error:G}}if(M=Q?.schema?.message||Q?.schema?.error!==void 0?typeof Q.schema.error==="function"?Q.schema.error(AX?{type:"validation",on:Y,found:Z}:{type:"validation",on:Y,value:Z,property:z,message:Q?.message,summary:M8(Q).summary,found:Z,expected:J,errors:"Errors"in X?[...X.Errors(Z)].map(M8):[...O0.Errors(X,Z)].map(M8)},X):Q.schema.error:void 0,M!==void 0)$=typeof M==="object"?JSON.stringify(M):M+"";else if(AX)$=JSON.stringify({type:"validation",on:Y,found:Z});else $=JSON.stringify({type:"validation",on:Y,property:z,message:Q?.message,summary:M8(Q).summary,expected:J,found:Z,errors:"Errors"in X?[...X.Errors(Z)].map(M8):[...O0.Errors(X,Z)].map(M8)},null,2)}super($);this.type=Y,this.validator=X,this.value=Z,this.valueError=Q,this.expected=J,this.customError=M,Object.setPrototypeOf(this,A0.prototype)}get all(){return"Errors"in this.validator?[...this.validator.Errors(this.value)].map(M8):[...O0.Errors(this.validator,this.value)].map(M8)}static simplifyModel(Y){let X="schema"in Y?Y.schema:Y;try{return O0.Create(X)}catch{return X}}get model(){if("~standard"in this.validator)return this.validator;return A0.simplifyModel(this.validator)}toResponse(Y){return new Response(this.message,{status:400,headers:{...Y,"content-type":"application/json"}})}detail(Y){if(!this.customError)return this.message;let X=this.validator,Z=this.value,W=this.expected,$=this.all;return AX?{type:"validation",on:this.type,found:Z,message:Y}:{type:"validation",on:this.type,property:this.valueError?.path||"root",message:Y,summary:M8(this.valueError).summary,found:Z,expected:W,errors:$}}}var m1=(Y,X)=>{try{return JSON.parse(Y)}catch{throw new A0("property",X,Y)}};function $6(Y,X){if(!t0.Has(Y))t0.Set(Y,X);return(Z={})=>g6({...Z,[O]:Y})}var cY=(Y)=>{try{let X=HY.Compile(Y);return X.Create=()=>O0.Create(Y),X.Error=(Z)=>new A0("property",Y,Z,X.Errors(Z)),X}catch{return{Check:(X)=>O0.Check(Y,X),CheckThrow:(X)=>{if(!O0.Check(Y,X))throw new A0("property",Y,X,O0.Errors(Y,X))},Decode:(X)=>O0.Decode(Y,X),Create:()=>O0.Create(Y),Error:(X)=>new A0("property",Y,X,O0.Errors(Y,X))}}},n9=(Y)=>{if(typeof Y==="string")switch(Y.slice(-1)){case"k":return+Y.slice(0,Y.length-1)*1024;case"m":return+Y.slice(0,Y.length-1)*1048576;default:return+Y}return Y},XZ=(Y,X)=>{if(Y.startsWith(X))return!0;return X.charCodeAt(X.length-1)===42&&X.charCodeAt(X.length-2)===47&&Y.startsWith(X.slice(0,-1))},o9=!1,NH=()=>{if(!o9)console.warn("[Elysia] Attempt to validate file type without 'file-type'. This may lead to security risks. We recommend installing 'file-type' to properly validate file extension."),o9=!0},KW=async()=>import("file-type").then((Y)=>{return ZZ=Y.fileTypeFromBlob,ZZ}).catch(NH),ZZ,HH=(Y)=>{if(ZZ)return ZZ(Y);return KW().then((X)=>{if(X)return X(Y)})},wQ=async(Y,X,Z=Y?.name??"")=>{if(Array.isArray(Y))return await Promise.all(Y.map(($)=>wQ($,X,Z))),!0;if(!Y)return!1;let W=await HH(Y);if(!W)throw new o1(Z,X);if(typeof X==="string"){if(!XZ(W.mime,X))throw new o1(Z,X)}for(let $=0;$<X.length;$++)if(XZ(W.mime,X[$]))return!0;throw new o1(Z,X)},LW=(Y,X)=>{if(X instanceof a6)return!0;if(!(X instanceof Blob))return!1;if(Y.minSize&&X.size<n9(Y.minSize))return!1;if(Y.maxSize&&X.size>n9(Y.maxSize))return!1;if(Y.extension){if(typeof Y.extension==="string")return XZ(X.type,Y.extension);for(let Z=0;Z<Y.extension.length;Z++)if(XZ(X.type,Y.extension[Z]))return!0;return!1}return!0};var I=Object.assign({},JY);$6("UnionEnum",(Y,X)=>(typeof X==="number"||typeof X==="string"||X===null)&&Y.enum.includes(X));$6("ArrayBuffer",(Y,X)=>X instanceof ArrayBuffer);var AH=$6("Files",(Y,X)=>{if(Y.minItems&&Y.minItems>1&&!Array.isArray(X))return!1;if(!Array.isArray(X))return LW(Y,X);if(Y.minItems&&X.length<Y.minItems)return!1;if(Y.maxItems&&X.length>Y.maxItems)return!1;for(let Z=0;Z<X.length;Z++)if(!LW(Y,X[Z]))return!1;return!0}),qH=$6("ElysiaForm",({compiler:Y,...X},Z)=>{if(!(Z instanceof FormData))return!1;if(Y){if(!(xX in Z))throw new A0("property",X,Z);if(!Y.Check(Z[xX]))throw Y.Error(Z[xX])}return!0}),U8={String:(Y)=>JY.String(Y),Numeric:(Y)=>{let X=JY.Number(Y),Z=cY(X);return I.Transform(I.Union([I.String({format:"numeric",default:0}),I.Number(Y)],Y)).Decode((W)=>{let $=+W;if(isNaN($))return W;if(Y&&!Z.Check($))throw Z.Error($);return $}).Encode((W)=>W)},Integer:(Y)=>{let X=JY.Integer(Y),Z=cY(X);return I.Transform(I.Union([I.String({format:"integer",default:0}),JY.Integer(Y)],Y)).Decode((W)=>{let $=+W;if(!Z.Check($))throw Z.Error($);return $}).Encode((W)=>W)},Date:(Y)=>{let X=JY.Date(Y),Z=cY(X),W=Y?.default?new Date(Y.default):void 0;return I.Transform(I.Union([JY.Date(Y),I.String({format:"date-time",default:W?.toISOString()}),I.String({format:"date",default:W?.toISOString()}),I.Number({default:W?.getTime()})],Y)).Decode(($)=>{if(typeof $==="number"){let J=new Date($);if(!Z.Check(J))throw Z.Error(J);return J}if($ instanceof Date)return $;let Q=new Date(AW($));if(!Q||isNaN(Q.getTime()))throw new A0("property",X,Q);if(!Z.Check(Q))throw Z.Error(Q);return Q}).Encode(($)=>{if($ instanceof Date)return $.toISOString();if(typeof $==="string"){if(isNaN(new Date(AW($)).getTime()))throw new A0("property",X,$);return $}if(!Z.Check($))throw Z.Error($);return $})},BooleanString:(Y)=>{let X=JY.Boolean(Y),Z=cY(X);return I.Transform(I.Union([I.Boolean(Y),I.String({format:"boolean",default:!1})],Y)).Decode((W)=>{if(typeof W==="string")return W==="true";if(W!==void 0&&!Z.Check(W))throw Z.Error(W);return W}).Encode((W)=>W)},ObjectString:(Y,X)=>{let Z=I.Object(Y,X),W=cY(Z);return I.Transform(I.Union([I.String({format:"ObjectString",default:"{}"}),Z],{elysiaMeta:"ObjectString"})).Decode(($)=>{if(typeof $==="string"){if($.charCodeAt(0)!==123)throw new A0("property",Z,$);if(!W.Check($=m1($,Z)))throw W.Error($);return W.Decode($)}return $}).Encode(($)=>{let Q;if(typeof $==="string")$=m1(Q=$,Z);if(!W.Check($))throw W.Error($);return Q??JSON.stringify($)})},ArrayString:(Y=I.String(),X)=>{let Z=I.Array(Y,X),W=cY(Z),$=(Q,J=!1)=>{if(Q.charCodeAt(0)===91){if(!W.Check(Q=m1(Q,Z)))throw W.Error(Q);return W.Decode(Q)}if(J)return Q;throw new A0("property",Z,Q)};return I.Transform(I.Union([I.String({format:"ArrayString",default:X?.default}),Z])).Decode((Q)=>{if(Array.isArray(Q)){let J=[];for(let M=0;M<Q.length;M++){let z=Q[M];if(typeof z==="string"){let U=$(z,!0);if(Array.isArray(U))J=J.concat(U);else J.push(U);continue}J.push(z)}return J}if(typeof Q==="string")return $(Q);return Q}).Encode((Q)=>{let J;if(typeof Q==="string")Q=m1(J=Q,Z);if(!W.Check(Q))throw new A0("property",Z,Q);return J??JSON.stringify(Q)})},ArrayQuery:(Y=I.String(),X)=>{let Z=I.Array(Y,X),W=cY(Z),$=(Q)=>{if(Q.indexOf(",")!==-1)return W.Decode(Q.split(","));return[Q]};return I.Transform(I.Union([I.String({default:X?.default}),Z],{elysiaMeta:"ArrayQuery"})).Decode((Q)=>{if(Array.isArray(Q)){let J=[];for(let M=0;M<Q.length;M++){let z=Q[M];if(typeof z==="string"){let U=$(z);if(Array.isArray(U))J=J.concat(U);else J.push(U);continue}J.push(z)}return J}if(typeof Q==="string")return $(Q);return Q}).Encode((Q)=>{let J;if(typeof Q==="string")Q=m1(J=Q,Z);if(!W.Check(Q))throw new A0("property",Z,Q);return J??JSON.stringify(Q)})},File:$6("File",LW),Files:(Y={})=>I.Transform(AH(Y)).Decode((X)=>{if(Array.isArray(X))return X;return[X]}).Encode((X)=>X),Nullable:(Y,X)=>I.Union([Y,I.Null()],{...X,nullable:!0}),MaybeEmpty:(Y,X)=>I.Union([Y,I.Null(),I.Undefined()],X),Cookie:(Y,{domain:X,expires:Z,httpOnly:W,maxAge:$,path:Q,priority:J,sameSite:M,secure:z,secrets:U,sign:G,...D}={})=>{let S=I.Object(Y,D);return S.config={domain:X,expires:Z,httpOnly:W,maxAge:$,path:Q,priority:J,sameSite:M,secure:z,secrets:U,sign:G},S},UnionEnum:(Y,X={})=>{let Z=Y.every((W)=>typeof W==="string")?{type:"string"}:Y.every((W)=>typeof W==="number")?{type:"number"}:Y.every((W)=>W===null)?{type:"null"}:{};if(Y.some((W)=>typeof W==="object"&&W!==null))throw Error("This type does not support objects or arrays");return{default:Y[0],...X,[O]:"UnionEnum",...Z,enum:Y}},NoValidate:(Y,X=!0)=>{return Y.noValidate=X,Y},Form:(Y,X={})=>{let Z=I.Object(Y,{default:MH({}),...X}),W=cY(Z);return I.Union([Z,qH({compiler:W})])},ArrayBuffer(Y={}){return{default:[1,2,3],...Y,[O]:"ArrayBuffer"}},Uint8Array:(Y)=>{let X=JY.Uint8Array(Y),Z=cY(X);return I.Transform(I.Union([I.ArrayBuffer(),JY.Uint8Array(Y)])).Decode((W)=>{if(W instanceof ArrayBuffer){if(!Z.Check(W=new Uint8Array(W)))throw Z.Error(W);return W}return W}).Encode((W)=>W)}};I.BooleanString=U8.BooleanString;I.ObjectString=U8.ObjectString;I.ArrayString=U8.ArrayString;I.ArrayQuery=U8.ArrayQuery;I.Numeric=U8.Numeric;I.Integer=U8.Integer;I.File=(Y)=>{if(Y?.type)KW();return U8.File({default:"File",...Y,extension:Y?.type,type:"string",format:"binary"})};I.Files=(Y)=>{if(Y?.type)KW();return U8.Files({...Y,elysiaMeta:"Files",default:"Files",extension:Y?.type,type:"array",items:{...Y,default:"Files",type:"string",format:"binary"}})};I.Nullable=U8.Nullable;I.MaybeEmpty=U8.MaybeEmpty;I.Cookie=U8.Cookie;I.Date=U8.Date;I.UnionEnum=U8.UnionEnum;I.NoValidate=U8.NoValidate;I.Form=U8.Form;I.ArrayBuffer=U8.ArrayBuffer;I.Uint8Array=U8.Uint8Array;var LQ=Z6(kN(),1),DH=Z6(zZ(),1);class sY{name;jar;initial;constructor(Y,X,Z={}){this.name=Y,this.jar=X,this.initial=Z}get cookie(){return this.jar[this.name]??this.initial}set cookie(Y){if(!(this.name in this.jar))this.jar[this.name]=this.initial;this.jar[this.name]=Y}get setCookie(){if(!(this.name in this.jar))this.jar[this.name]=this.initial;return this.jar[this.name]}set setCookie(Y){this.cookie=Y}get value(){return this.cookie.value}set value(Y){this.setCookie.value=Y}get expires(){return this.cookie.expires}set expires(Y){this.setCookie.expires=Y}get maxAge(){return this.cookie.maxAge}set maxAge(Y){this.setCookie.maxAge=Y}get domain(){return this.cookie.domain}set domain(Y){this.setCookie.domain=Y}get path(){return this.cookie.path}set path(Y){this.setCookie.path=Y}get secure(){return this.cookie.secure}set secure(Y){this.setCookie.secure=Y}get httpOnly(){return this.cookie.httpOnly}set httpOnly(Y){this.setCookie.httpOnly=Y}get sameSite(){return this.cookie.sameSite}set sameSite(Y){this.setCookie.sameSite=Y}get priority(){return this.cookie.priority}set priority(Y){this.setCookie.priority=Y}get partitioned(){return this.cookie.partitioned}set partitioned(Y){this.setCookie.partitioned=Y}get secrets(){return this.cookie.secrets}set secrets(Y){this.setCookie.secrets=Y}update(Y){return this.setCookie=Object.assign(this.cookie,typeof Y==="function"?Y(this.cookie):Y),this}set(Y){return this.setCookie=Object.assign({...this.initial,value:this.value},typeof Y==="function"?Y(this.cookie):Y),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 t9=(Y,X,Z)=>{if(!Y.cookie)Y.cookie={};return new Proxy(X,{get(W,$){if($ in X)return new sY($,Y.cookie,Object.assign({},Z??{},X[$]));return new sY($,Y.cookie,Object.assign({},Z))}})},OQ=async(Y,X,{secrets:Z,sign:W,...$}={})=>{if(!X)return t9(Y,{},$);let Q=typeof Z==="string";if(W&&W!==!0&&!Array.isArray(W))W=[W];let J={},M=LQ.parse(X);for(let[z,U]of Object.entries(M)){if(U===void 0)continue;let G=DH.default(U);if(G){let D=G.charCodeAt(0),S=G.charCodeAt(G.length-1);if(D===123&&S===125||D===91&&S===93)try{G=JSON.parse(G)}catch{}}if(W===!0||W?.includes(z)){if(!Z)throw Error("No secret is provided to cookie plugin");if(Q){let D=await u9(G,Z);if(D===!1)throw new wW(z);G=D}else{let D=!0;for(let S=0;S<Z.length;S++){let N=await u9(G,Z[S]);if(N!==!1){D=!0,G=N;break}}if(!D)throw new wW(z)}}J[z]={value:G}}return t9(Y,J,$)},SQ=(Y)=>{if(!Y||!V0(Y))return;let X=[];for(let[Z,W]of Object.entries(Y)){if(!Z||!W)continue;let $=W.value;if($===void 0||$===null)continue;X.push(LQ.serialize(Z,typeof $==="object"?JSON.stringify($):$+"",W))}if(X.length===0)return;if(X.length===1)return X[0];return X},d0=(Y,X)=>{if(!H1&&Y instanceof Promise)return Y.then((Q)=>d0(Q,X));let Z=Y.size,W=X&&(X.status===206||X.status===304||X.status===412||X.status===416),$=W?{"transfer-encoding":"chunked"}:{"accept-ranges":"bytes","content-range":Z?`bytes 0-${Z-1}/${Z}`:void 0,"transfer-encoding":"chunked"};if(!X&&!Z)return new Response(Y);if(!X)return new Response(Y,{headers:$});if(X.headers instanceof Headers){for(let Q of Object.keys($))if(Q in X.headers)X.headers.append(Q,$[Q]);if(W)X.headers.delete("content-length"),X.headers.delete("accept-ranges");return new Response(Y,X)}if(V0(X.headers))return new Response(Y,{status:X.status,headers:Object.assign($,X.headers)});return new Response(Y,{status:X.status,headers:$})},PQ=(Y,X)=>{if(!Y)return Y;Y.delete("set-cookie");for(let Z=0;Z<X.length;Z++){let W=X[Z].indexOf("=");Y.append("set-cookie",`${X[Z].slice(0,W)}=${X[Z].slice(W+1)||""}`)}return Y},s9=(Y,X)=>{if(X?.headers){if(Y){if(qW)Object.assign(X.headers,Y.headers.toJSON());else for(let[Z,W]of Y.headers.entries())if(Z in X.headers)X.headers[Z]=W}if(X.status===200)X.status=Y.status;if(X.headers["content-encoding"])delete X.headers["content-encoding"];return X}if(!Y)return{headers:{},status:X?.status??200};if(qW){if(X={headers:Y.headers.toJSON(),status:X?.status??200},X.headers["content-encoding"])delete X.headers["content-encoding"];return X}X={headers:{},status:X?.status??200};for(let[Z,W]of Y.headers.entries()){if(Z==="content-encoding")continue;if(Z in X.headers)X.headers[Z]=W}return X},CW=({mapResponse:Y,mapCompactResponse:X})=>async(Z,W,$)=>{let Q=Z.next?.();if(W)Q6(W);if(Q instanceof Promise)Q=await Q;if(Q?.value instanceof ReadableStream)Z=Q.value;else if(Q&&(typeof Q?.done>"u"||Q?.done)){if(W)return Y(Q.value,W,$);return X(Q.value,$)}let J=Q?.value?.sse??Z?.sse??W?.headers["content-type"]?.startsWith("text/event-stream"),M=J?(U)=>`data: ${U}
|
|
2
|
+
var __create=Object.create;var{getPrototypeOf:__getProtoOf,defineProperty:__defProp,getOwnPropertyNames:__getOwnPropNames}=Object;var __hasOwnProp=Object.prototype.hasOwnProperty;function __accessProp(key){return this[key]}var __toESMCache_node,__toESMCache_esm,__toESM=(mod,isNodeMode,target)=>{var canCache=mod!=null&&typeof mod==="object";if(canCache){var cache=isNodeMode?__toESMCache_node??=new WeakMap:__toESMCache_esm??=new WeakMap,cached=cache.get(mod);if(cached)return cached}target=mod!=null?__create(__getProtoOf(mod)):{};let to=isNodeMode||!mod||!mod.__esModule||!__hasOwnProp.call(mod,"default")?__defProp(target,"default",{value:mod,enumerable:!0}):target;if(mod&&typeof mod==="object"||typeof mod==="function"){for(let key of __getOwnPropNames(mod))if(!__hasOwnProp.call(to,key))__defProp(to,key,{get:__accessProp.bind(mod,key),enumerable:!0})}if(canCache)cache.set(mod,to);return to};var __commonJS=(cb,mod)=>()=>(mod||cb((mod={exports:{}}).exports,mod),mod.exports);var __returnValue=(v)=>v;function __exportSetter(name,newValue){this[name]=__returnValue.bind(null,newValue)}var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0,configurable:!0,set:__exportSetter.bind(all,name)})};var __legacyDecorateClassTS=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __esm=(fn,res,err)=>()=>{if(fn)try{res=fn(fn=0)}catch(e){err=[e]}if(err)throw err[0];return res};var __require=import.meta.require;var require_fast_decode_uri_component=__commonJS(function(exports,module){var UTF8_ACCEPT=12,UTF8_REJECT=0,UTF8_DATA=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,7,7,7,7,7,7,7,7,7,7,7,7,8,7,7,10,9,9,9,11,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,24,36,48,60,72,84,96,0,12,12,12,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,24,24,24,0,0,0,0,0,0,0,0,0,24,24,0,0,0,0,0,0,0,0,0,0,48,48,48,0,0,0,0,0,0,0,0,0,0,48,48,0,0,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,127,63,63,63,0,31,15,15,15,7,7,7];function decodeURIComponent2(uri){var percentPosition=uri.indexOf("%");if(percentPosition===-1)return uri;var length=uri.length,decoded="",last=0,codepoint=0,startOfOctets=percentPosition,state=UTF8_ACCEPT;while(percentPosition>-1&&percentPosition<length){var high=hexCodeToInt(uri[percentPosition+1],4),low=hexCodeToInt(uri[percentPosition+2],0),byte=high|low,type=UTF8_DATA[byte];if(state=UTF8_DATA[256+state+type],codepoint=codepoint<<6|byte&UTF8_DATA[364+type],state===UTF8_ACCEPT)decoded+=uri.slice(last,startOfOctets),decoded+=codepoint<=65535?String.fromCharCode(codepoint):String.fromCharCode(55232+(codepoint>>10),56320+(codepoint&1023)),codepoint=0,last=percentPosition+3,percentPosition=startOfOctets=uri.indexOf("%",last);else if(state===UTF8_REJECT)return null;else{if(percentPosition+=3,percentPosition<length&&uri.charCodeAt(percentPosition)===37)continue;return null}}return decoded+uri.slice(last)}var HEX={"0":0,"1":1,"2":2,"3":3,"4":4,"5":5,"6":6,"7":7,"8":8,"9":9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};function hexCodeToInt(c,shift){var i=HEX[c];return i===void 0?255:i<<shift}module.exports=decodeURIComponent2});var init_ieee754=__esm(()=>{/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */});function utf8Decoder(){if(typeof globalThis.TextDecoder>"u")return;return _utf8Decoder!==null&&_utf8Decoder!==void 0?_utf8Decoder:_utf8Decoder=new globalThis.TextDecoder("utf-8")}function textDecode(bytes,encoding="utf-8"){switch(encoding.toLowerCase()){case"utf-8":case"utf8":{let dec=utf8Decoder();return dec?dec.decode(bytes):decodeUTF8(bytes)}case"utf-16le":return decodeUTF16LE(bytes);case"us-ascii":case"ascii":return decodeASCII(bytes);case"latin1":case"iso-8859-1":return decodeLatin1(bytes);case"windows-1252":return decodeWindows1252(bytes);default:throw RangeError(`Encoding '${encoding}' not supported`)}}function flushChunk(parts,chunk){if(chunk.length===0)return;parts.push(String.fromCharCode.apply(null,chunk)),chunk.length=0}function pushCodeUnit(parts,chunk,codeUnit){if(chunk.push(codeUnit),chunk.length>=CHUNK)flushChunk(parts,chunk)}function pushCodePoint(parts,chunk,cp){if(cp<=65535){pushCodeUnit(parts,chunk,cp);return}cp-=65536,pushCodeUnit(parts,chunk,55296+(cp>>10)),pushCodeUnit(parts,chunk,56320+(cp&1023))}function decodeUTF8(bytes){let parts=[],chunk=[],i=0;if(bytes.length>=3&&bytes[0]===239&&bytes[1]===187&&bytes[2]===191)i=3;while(i<bytes.length){let b1=bytes[i];if(b1<=127){pushCodeUnit(parts,chunk,b1),i++;continue}if(b1<194||b1>244){pushCodeUnit(parts,chunk,REPLACEMENT),i++;continue}if(b1<=223){if(i+1>=bytes.length){pushCodeUnit(parts,chunk,REPLACEMENT),i++;continue}let b2=bytes[i+1];if((b2&192)!==128){pushCodeUnit(parts,chunk,REPLACEMENT),i++;continue}let cp=(b1&31)<<6|b2&63;pushCodeUnit(parts,chunk,cp),i+=2;continue}if(b1<=239){if(i+2>=bytes.length){pushCodeUnit(parts,chunk,REPLACEMENT),i++;continue}let b2=bytes[i+1],b3=bytes[i+2];if(!((b2&192)===128&&(b3&192)===128&&!(b1===224&&b2<160)&&!(b1===237&&b2>=160))){pushCodeUnit(parts,chunk,REPLACEMENT),i++;continue}let cp=(b1&15)<<12|(b2&63)<<6|b3&63;pushCodeUnit(parts,chunk,cp),i+=3;continue}if(i+3>=bytes.length){pushCodeUnit(parts,chunk,REPLACEMENT),i++;continue}let b2=bytes[i+1],b3=bytes[i+2],b4=bytes[i+3];if(!((b2&192)===128&&(b3&192)===128&&(b4&192)===128&&!(b1===240&&b2<144)&&!(b1===244&&b2>143))){pushCodeUnit(parts,chunk,REPLACEMENT),i++;continue}let cp=(b1&7)<<18|(b2&63)<<12|(b3&63)<<6|b4&63;pushCodePoint(parts,chunk,cp),i+=4}return flushChunk(parts,chunk),parts.join("")}function decodeUTF16LE(bytes){let parts=[],chunk=[],len=bytes.length,i=0;while(i+1<len){let u1=bytes[i]|bytes[i+1]<<8;if(i+=2,u1>=55296&&u1<=56319){if(i+1<len){let u2=bytes[i]|bytes[i+1]<<8;if(u2>=56320&&u2<=57343)pushCodeUnit(parts,chunk,u1),pushCodeUnit(parts,chunk,u2),i+=2;else pushCodeUnit(parts,chunk,REPLACEMENT)}else pushCodeUnit(parts,chunk,REPLACEMENT);continue}if(u1>=56320&&u1<=57343){pushCodeUnit(parts,chunk,REPLACEMENT);continue}pushCodeUnit(parts,chunk,u1)}if(i<len)pushCodeUnit(parts,chunk,REPLACEMENT);return flushChunk(parts,chunk),parts.join("")}function decodeASCII(bytes){let parts=[];for(let i=0;i<bytes.length;i+=CHUNK){let end=Math.min(bytes.length,i+CHUNK),codes=Array(end-i);for(let j=i,k=0;j<end;j++,k++)codes[k]=bytes[j]&127;parts.push(String.fromCharCode.apply(null,codes))}return parts.join("")}function decodeLatin1(bytes){let parts=[];for(let i=0;i<bytes.length;i+=CHUNK){let end=Math.min(bytes.length,i+CHUNK),codes=Array(end-i);for(let j=i,k=0;j<end;j++,k++)codes[k]=bytes[j];parts.push(String.fromCharCode.apply(null,codes))}return parts.join("")}function decodeWindows1252(bytes){let parts=[],out="";for(let i=0;i<bytes.length;i++){let b=bytes[i],extra=b>=128&&b<=159?WINDOWS_1252_EXTRA[b]:void 0;if(out+=extra!==null&&extra!==void 0?extra:String.fromCharCode(b),out.length>=CHUNK)parts.push(out),out=""}if(out)parts.push(out);return parts.join("")}var WINDOWS_1252_EXTRA,WINDOWS_1252_REVERSE,_utf8Decoder,CHUNK=32768,REPLACEMENT=65533;var init_lib=__esm(()=>{WINDOWS_1252_EXTRA={128:"\u20AC",130:"\u201A",131:"\u0192",132:"\u201E",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02C6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017D",145:"\u2018",146:"\u2019",147:"\u201C",148:"\u201D",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02DC",153:"\u2122",154:"\u0161",155:"\u203A",156:"\u0153",158:"\u017E",159:"\u0178"},WINDOWS_1252_REVERSE={};for(let[code,char]of Object.entries(WINDOWS_1252_EXTRA))WINDOWS_1252_REVERSE[char]=Number.parseInt(code,10)});function dv(array){return new DataView(array.buffer,array.byteOffset)}class StringType2{constructor(len,encoding){this.len=len,this.encoding=encoding}get(data,offset=0){let bytes=data.subarray(offset,offset+this.len);return textDecode(bytes,this.encoding)}}var UINT8,UINT16_LE,UINT16_BE,UINT32_LE,UINT32_BE,INT32_BE,UINT64_LE;var init_lib2=__esm(()=>{init_ieee754();init_lib();UINT8={len:1,get(array,offset){return dv(array).getUint8(offset)},put(array,offset,value){return dv(array).setUint8(offset,value),offset+1}},UINT16_LE={len:2,get(array,offset){return dv(array).getUint16(offset,!0)},put(array,offset,value){return dv(array).setUint16(offset,value,!0),offset+2}},UINT16_BE={len:2,get(array,offset){return dv(array).getUint16(offset)},put(array,offset,value){return dv(array).setUint16(offset,value),offset+2}},UINT32_LE={len:4,get(array,offset){return dv(array).getUint32(offset,!0)},put(array,offset,value){return dv(array).setUint32(offset,value,!0),offset+4}},UINT32_BE={len:4,get(array,offset){return dv(array).getUint32(offset)},put(array,offset,value){return dv(array).setUint32(offset,value),offset+4}},INT32_BE={len:4,get(array,offset){return dv(array).getInt32(offset)},put(array,offset,value){return dv(array).setInt32(offset,value),offset+4}},UINT64_LE={len:8,get(array,offset){return dv(array).getBigUint64(offset,!0)},put(array,offset,value){return dv(array).setBigUint64(offset,value,!0),offset+8}}});var EndOfStreamError,AbortError;var init_Errors=__esm(()=>{EndOfStreamError=class EndOfStreamError extends Error{constructor(){super("End-Of-Stream");this.name="EndOfStreamError"}};AbortError=class AbortError extends Error{constructor(message="The operation was aborted"){super(message);this.name="AbortError"}}});function throwIfAborted(signal){if(signal?.aborted)throw new AbortError}var init_AbortSignal=__esm(()=>{init_Errors()});function getMaxBufferSize(options){let limit=options?.maxBufferSize??Number.POSITIVE_INFINITY;if(limit!==Number.POSITIVE_INFINITY&&(!Number.isSafeInteger(limit)||limit<=0))throw RangeError("maxBufferSize must be a positive safe integer or Infinity");return limit}var BufferSizeError;var init_BufferSizeError=__esm(()=>{BufferSizeError=class BufferSizeError extends RangeError{constructor(requestedSize,maxBufferSize){super(`Requested buffer size ${requestedSize} exceeds maxBufferSize ${maxBufferSize}`);this.requestedSize=requestedSize,this.maxBufferSize=maxBufferSize,this.name="BufferSizeError"}}});class AbstractStreamReader{constructor(){this.endOfStream=!1,this.interrupted=!1,this.peekQueue=[]}async peek(uint8Array,mayBeLess=!1){let bytesRead=await this.read(uint8Array,mayBeLess);return this.peekQueue.push(uint8Array.subarray(0,bytesRead)),bytesRead}async read(buffer,mayBeLess=!1){if(buffer.length===0)return 0;let bytesRead=this.readFromPeekBuffer(buffer);if(!this.endOfStream)bytesRead+=await this.readRemainderFromStream(buffer.subarray(bytesRead),mayBeLess);if(bytesRead===0&&!mayBeLess)throw new EndOfStreamError;return bytesRead}readFromPeekBuffer(buffer){let remaining=buffer.length,bytesRead=0;while(this.peekQueue.length>0&&remaining>0){let peekData=this.peekQueue.pop();if(!peekData)throw Error("peekData should be defined");let lenCopy=Math.min(peekData.length,remaining);if(buffer.set(peekData.subarray(0,lenCopy),bytesRead),bytesRead+=lenCopy,remaining-=lenCopy,lenCopy<peekData.length)this.peekQueue.push(peekData.subarray(lenCopy))}return bytesRead}async readRemainderFromStream(buffer,mayBeLess){let bytesRead=0;while(bytesRead<buffer.length&&!this.endOfStream){if(this.interrupted)throw new AbortError;let chunkLen=await this.readFromStream(buffer.subarray(bytesRead),mayBeLess);if(chunkLen===0)break;bytesRead+=chunkLen}if(!mayBeLess&&bytesRead<buffer.length)throw new EndOfStreamError;return bytesRead}}var init_AbstractStreamReader=__esm(()=>{init_Errors()});var init_StreamReader=__esm(()=>{init_AbstractStreamReader();init_Errors()});var WebStreamReader;var init_WebStreamReader=__esm(()=>{init_AbstractStreamReader();WebStreamReader=class WebStreamReader extends AbstractStreamReader{constructor(reader){super();this.reader=reader}async abort(){return this.close()}async close(){this.reader.releaseLock()}}});var WebStreamByobReader;var init_WebStreamByobReader=__esm(()=>{init_WebStreamReader();WebStreamByobReader=class WebStreamByobReader extends WebStreamReader{async readFromStream(buffer,mayBeLess){if(buffer.length===0)return 0;let result=await this.reader.read(new Uint8Array(buffer.length),{min:mayBeLess?void 0:buffer.length});if(result.done)this.endOfStream=result.done;if(result.value)return buffer.set(result.value),result.value.length;return 0}}});var WebStreamDefaultReader;var init_WebStreamDefaultReader=__esm(()=>{init_AbstractStreamReader();init_Errors();WebStreamDefaultReader=class WebStreamDefaultReader extends AbstractStreamReader{constructor(reader){super();this.reader=reader,this.buffer=null}writeChunk(target,chunk){let written=Math.min(chunk.length,target.length);if(target.set(chunk.subarray(0,written)),written<chunk.length)this.buffer=chunk.subarray(written);else this.buffer=null;return written}async readFromStream(buffer,mayBeLess){if(buffer.length===0)return 0;let totalBytesRead=0;if(this.buffer)totalBytesRead+=this.writeChunk(buffer,this.buffer);while(totalBytesRead<buffer.length&&!this.endOfStream){let result=await this.reader.read();if(result.done){this.endOfStream=!0;break}if(result.value)totalBytesRead+=this.writeChunk(buffer.subarray(totalBytesRead),result.value)}if(!mayBeLess&&totalBytesRead===0&&this.endOfStream)throw new EndOfStreamError;return totalBytesRead}abort(){return this.interrupted=!0,this.reader.cancel()}async close(){try{await this.abort()}finally{this.reader.releaseLock()}}}});function makeWebStreamReader(stream){try{let reader=stream.getReader({mode:"byob"});if(reader instanceof ReadableStreamDefaultReader)return new WebStreamDefaultReader(reader);return new WebStreamByobReader(reader)}catch(error){if(error instanceof TypeError)return new WebStreamDefaultReader(stream.getReader());throw error}}var init_WebStreamReaderFactory=__esm(()=>{init_WebStreamByobReader();init_WebStreamDefaultReader()});var init_stream=__esm(()=>{init_Errors();init_StreamReader();init_WebStreamByobReader();init_WebStreamDefaultReader();init_WebStreamReaderFactory()});class AbstractTokenizer{constructor(options){if(this.numBuffer=new Uint8Array(8),this.position=0,this.maxBufferSize=getMaxBufferSize(options),throwIfAborted(options?.abortSignal),this.onClose=options?.onClose,options?.abortSignal)this.addAbortListener(options.abortSignal,()=>{this.abort().catch(()=>{})})}addAbortListener(signal,listener){this.abortSignal=signal,this.abortListener=listener,signal.addEventListener("abort",listener,{once:!0})}removeAbortListener(){if(this.abortListener)this.abortSignal?.removeEventListener("abort",this.abortListener);this.abortSignal=void 0,this.abortListener=void 0}async readToken(token,position=this.position){this.validateTokenRead(token.len,position);let uint8Array=new Uint8Array(token.len);if(await this.readBuffer(uint8Array,{position})<token.len)throw new EndOfStreamError;return token.get(uint8Array,0)}async peekToken(token,position=this.position){let peekPosition=position??this.position;this.validateTokenRead(token.len,peekPosition,!0);let uint8Array=new Uint8Array(token.len);if(await this.peekBuffer(uint8Array,{position:peekPosition})<token.len)throw new EndOfStreamError;return token.get(uint8Array,0)}async readNumber(token){if(await this.readBuffer(this.numBuffer,{length:token.len})<token.len)throw new EndOfStreamError;return token.get(this.numBuffer,0)}async peekNumber(token){if(await this.peekBuffer(this.numBuffer,{length:token.len})<token.len)throw new EndOfStreamError;return token.get(this.numBuffer,0)}async ignore(length){if(length<0)throw RangeError("ignore length must be \u2265 0 bytes");if(this.validateLength(length,"ignore length"),this.validateLength(this.position+length,"end position"),this.fileInfo.size!==void 0){let bytesLeft=this.fileInfo.size-this.position;if(length>bytesLeft)return this.position+=bytesLeft,bytesLeft}return this.position+=length,length}async close(){this.removeAbortListener(),await this.abort(),await this.onClose?.()}validateLength(value,name){if(!Number.isSafeInteger(value)||value<0)throw RangeError(`${name} must be a non-negative safe integer`)}validateBufferSize(length){if(this.validateLength(length,"buffer length"),length>this.maxBufferSize)throw new BufferSizeError(length,this.maxBufferSize)}validateTokenRead(length,position,peek=!1){if(this.validateBufferSize(length),this.validateLength(position,"position"),this.validateLength(position+length,"end position"),!this.supportsRandomAccess()&&position<this.position)throw Error("`options.position` must be equal or greater than `tokenizer.position`");if(peek&&!this.supportsRandomAccess())this.validateBufferSize(length+position-this.position);if(this.fileInfo.size!==void 0&&length>this.fileInfo.size-position)throw new EndOfStreamError}normalizeOptions(uint8Array,options){let length=options?.length??uint8Array.length,position=options?.position??this.position;if(this.validateLength(length,"length"),this.validateLength(position,"position"),this.validateLength(position+length,"end position"),length>uint8Array.length)throw RangeError("length must not exceed the target buffer length");if(!this.supportsRandomAccess()&&position<this.position)throw Error("`options.position` must be equal or greater than `tokenizer.position`");return{length,position,mayBeLess:options?.mayBeLess??!1}}abort(){return this.removeAbortListener(),Promise.resolve()}}var init_AbstractTokenizer=__esm(()=>{init_AbortSignal();init_BufferSizeError();init_stream()});var BlobTokenizer;var init_BlobTokenizer=__esm(()=>{init_AbstractTokenizer();init_stream();BlobTokenizer=class BlobTokenizer extends AbstractTokenizer{constructor(blob,options){super(options);this.blob=blob,this.fileInfo={...options?.fileInfo??{},...{size:blob.size,mimeType:blob.type}}}async readBuffer(uint8Array,options){let normOptions=this.normalizeOptions(uint8Array,options),bytesRead=await this.peekBuffer(uint8Array,normOptions);return this.position=normOptions.position+bytesRead,bytesRead}async peekBuffer(buffer,options){let normOptions=this.normalizeOptions(buffer,options),bytes2read=Math.max(0,Math.min(this.blob.size-normOptions.position,normOptions.length));if(!normOptions.mayBeLess&&bytes2read<normOptions.length)throw new EndOfStreamError;for(let offset=0;offset<bytes2read;){let chunkLength=Math.min(this.maxBufferSize,bytes2read-offset),position=normOptions.position+offset,arrayBuffer=await this.blob.slice(position,position+chunkLength).arrayBuffer();buffer.set(new Uint8Array(arrayBuffer),offset),offset+=chunkLength}return bytes2read}close(){return super.close()}supportsRandomAccess(){return!0}setPosition(position){this.position=position}}});var BufferTokenizer;var init_BufferTokenizer=__esm(()=>{init_AbstractTokenizer();init_stream();BufferTokenizer=class BufferTokenizer extends AbstractTokenizer{constructor(uint8Array,options){super(options);this.uint8Array=uint8Array,this.fileInfo={...options?.fileInfo??{},...{size:uint8Array.length}}}async readBuffer(uint8Array,options){let normOptions=this.normalizeOptions(uint8Array,options),bytesRead=await this.peekBuffer(uint8Array,normOptions);return this.position=normOptions.position+bytesRead,bytesRead}async peekBuffer(uint8Array,options){let normOptions=this.normalizeOptions(uint8Array,options),bytes2read=Math.max(0,Math.min(this.uint8Array.length-normOptions.position,normOptions.length));if(!normOptions.mayBeLess&&bytes2read<normOptions.length)throw new EndOfStreamError;return uint8Array.set(this.uint8Array.subarray(normOptions.position,normOptions.position+bytes2read)),bytes2read}close(){return super.close()}supportsRandomAccess(){return!0}setPosition(position){this.position=position}}});var ignoreChunkSize=256000,ReadStreamTokenizer;var init_ReadStreamTokenizer=__esm(()=>{init_AbstractTokenizer();init_stream();ReadStreamTokenizer=class ReadStreamTokenizer extends AbstractTokenizer{constructor(streamReader,options){super(options);this.streamReader=streamReader,this.fileInfo=options?.fileInfo??{}}async readBuffer(uint8Array,options){let normOptions=this.normalizeOptions(uint8Array,options),skipBytes=normOptions.position-this.position;if(skipBytes>0)return await this.ignore(skipBytes),this.readBuffer(uint8Array,options);if(skipBytes<0)throw Error("`options.position` must be equal or greater than `tokenizer.position`");if(normOptions.length===0)return 0;let bytesRead=0;while(bytesRead<normOptions.length){let chunkLength=Math.min(this.maxBufferSize,normOptions.length-bytesRead),count=await this.streamReader.read(uint8Array.subarray(bytesRead,bytesRead+chunkLength),!0);if(bytesRead+=count,this.position+=count,count<chunkLength)break}if(!normOptions.mayBeLess&&bytesRead<normOptions.length)throw new EndOfStreamError;return bytesRead}async peekBuffer(uint8Array,options){let normOptions=this.normalizeOptions(uint8Array,options);if(normOptions.length===0)return 0;let lookaheadSize=normOptions.length+normOptions.position-this.position;this.validateBufferSize(lookaheadSize);let bytesRead=0;if(normOptions.position){let skipBytes=normOptions.position-this.position;if(skipBytes>0){let skipBuffer=new Uint8Array(normOptions.length+skipBytes);bytesRead=await this.peekBuffer(skipBuffer,{mayBeLess:normOptions.mayBeLess});let bytesPeeked=Math.max(0,bytesRead-skipBytes);return uint8Array.set(skipBuffer.subarray(skipBytes,skipBytes+bytesPeeked)),bytesPeeked}if(skipBytes<0)throw Error("Cannot peek from a negative offset in a stream")}if(normOptions.length>0){try{let peekBuffer=new Uint8Array(normOptions.length);bytesRead=await this.streamReader.peek(peekBuffer,!0),uint8Array.set(peekBuffer.subarray(0,bytesRead))}catch(err){if(options?.mayBeLess&&err instanceof EndOfStreamError)return 0;throw err}if(!normOptions.mayBeLess&&bytesRead<normOptions.length)throw new EndOfStreamError}return bytesRead}async ignore(length){if(length<0)throw RangeError("ignore length must be \u2265 0 bytes");this.validateLength(length,"ignore length"),this.validateLength(this.position+length,"end position");let bufSize=Math.min(ignoreChunkSize,this.maxBufferSize,length),buf=new Uint8Array(bufSize),totBytesRead=0;while(totBytesRead<length){let remaining=length-totBytesRead,bytesRead=await this.readBuffer(buf,{length:Math.min(bufSize,remaining)});if(bytesRead<0)return bytesRead;totBytesRead+=bytesRead}return totBytesRead}abort(){return this.removeAbortListener(),this.streamReader.abort()}async close(){return this.removeAbortListener(),this.streamReader.close()}supportsRandomAccess(){return!1}}});function isRandomAccessTokenizer(tokenizer){return tokenizer.supportsRandomAccess()&&"setPosition"in tokenizer&&typeof tokenizer.setPosition==="function"&&typeof tokenizer.fileInfo.size==="number"}var TokenizerBoundaryError;var init_TokenizerBoundaryError=__esm(()=>{TokenizerBoundaryError=class TokenizerBoundaryError extends RangeError{constructor(position,length,size){super(`Range at position ${position} with length ${length} exceeds tokenizer view size ${size}`);this.position=position,this.length=length,this.size=size,this.name="TokenizerBoundaryError"}}});function validateOffset(value,name){if(!Number.isSafeInteger(value)||value<0)throw RangeError(`${name} must be a non-negative safe integer`)}function createTokenizerView(source,length){return isRandomAccessTokenizer(source)?new RandomAccessTokenizerView(source,length):new TokenizerView(source,length)}class TokenizerView{constructor(source,size){if(this.source=source,this.size=size,this.closed=!1,this.closedPosition=0,this.busy=!1,validateOffset(size,"length"),validateOffset(source.position,"source position"),validateOffset(source.position+size,"end position"),source instanceof TokenizerView)source.assertAvailable(),source.translateRange(size,source.position);this.start=source.position,this.fileInfo={size}}get position(){return this.closed?this.closedPosition:this.source.position-this.start}get remaining(){return this.size-this.position}supportsRandomAccess(){return!1}createView(length){return this.assertAvailable(),createTokenizerView(this,length)}async readBuffer(buffer,options){return this.bufferOperation("readBuffer",buffer,options)}async peekBuffer(buffer,options){return this.bufferOperation("peekBuffer",buffer,options)}async bufferOperation(method,buffer,options){this.assertAvailable();let length=options?.length??buffer.length,position=options?.position??this.position,absolutePosition=this.translateRange(length,position);if(length>buffer.length)throw RangeError("length must not exceed the target buffer length");return this.run(()=>this.source[method](buffer,{...options,length,position:absolutePosition}))}async readToken(token,position=this.position){this.assertAvailable();let absolutePosition=this.translateRange(token.len,position);return this.run(()=>this.source.readToken(token,absolutePosition))}async peekToken(token,position=this.position){this.assertAvailable();let absolutePosition=this.translateRange(token.len,position??this.position);return this.run(()=>this.source.peekToken(token,absolutePosition))}async readNumber(token){return this.assertAvailable(),this.translateRange(token.len,this.position),this.run(()=>this.source.readNumber(token))}async peekNumber(token){return this.assertAvailable(),this.translateRange(token.len,this.position),this.run(()=>this.source.peekNumber(token))}async ignore(length){return this.assertAvailable(),this.translateRange(length,this.position),this.run(()=>this.source.ignore(length))}async consumeRemainder(){this.assertAvailable();let length=this.remaining,end=this.translateRange(length,this.position)+length;return this.run(async()=>{if(length===0)return 0;if(isRandomAccessTokenizer(this.source)){if(await this.source.peekBuffer(new Uint8Array(1),{position:end-1})!==1)throw new EndOfStreamError;this.source.setPosition(end)}else if(await this.source.ignore(length)!==length)throw new EndOfStreamError;return length})}async close(){if(this.closed)return;if(this.busy)throw Error("Cannot close a tokenizer view during an active operation");this.closedPosition=this.position,this.closed=!0}async abort(){if(this.closed)return;try{await this.source.abort()}finally{this.closedPosition=this.position,this.closed=!0}}assertAvailable(){if(this.closed)throw Error("Tokenizer view is closed");if(this.busy)throw Error("Tokenizer views require sequential operations");if(this.source instanceof TokenizerView)this.source.assertAvailable()}translateRange(length,position){if(validateOffset(length,"length"),validateOffset(position,"position"),validateOffset(position+length,"end position"),position>this.size||length>this.size-position)throw new TokenizerBoundaryError(position,length,this.size);if(!this.supportsRandomAccess()&&position<this.position)throw Error("`options.position` must be equal or greater than `tokenizer.position`");return this.start+position}async run(operation){this.busy=!0;try{return await operation()}finally{this.busy=!1}}}var RandomAccessTokenizerView;var init_TokenizerView=__esm(()=>{init_stream();init_TokenizerBoundaryError();RandomAccessTokenizerView=class RandomAccessTokenizerView extends TokenizerView{constructor(source,size){super(source,size)}supportsRandomAccess(){return!0}setPosition(position){this.assertAvailable(),this.source.setPosition(this.translateRange(0,position))}createView(length){return this.assertAvailable(),createTokenizerView(this,length)}}});function fromWebStream(webStream,options){getMaxBufferSize(options),throwIfAborted(options?.abortSignal);let webStreamReader=makeWebStreamReader(webStream);return new ReadStreamTokenizer(webStreamReader,options)}function fromBuffer(uint8Array,options){return new BufferTokenizer(uint8Array,options)}function fromBlob(blob,options){return new BlobTokenizer(blob,options)}var init_core=__esm(()=>{init_AbortSignal();init_BlobTokenizer();init_BufferSizeError();init_BufferTokenizer();init_ReadStreamTokenizer();init_stream();init_AbstractTokenizer();init_BufferSizeError();init_stream();init_TokenizerBoundaryError();init_TokenizerView()});class GzipHandler{constructor(tokenizer){this.tokenizer=tokenizer}inflate(){let tokenizer=this.tokenizer;return new ReadableStream({async pull(controller){let buffer=new Uint8Array(1024),size=await tokenizer.readBuffer(buffer,{mayBeLess:!0});if(size===0){controller.close();return}controller.enqueue(buffer.subarray(0,size))}}).pipeThrough(new DecompressionStream("gzip"))}}var require_ms=__commonJS(function(exports,module){var s=1000,m=s*60,h=m*60,d=h*24,w=d*7,y=d*365.25;module.exports=function(val,options){options=options||{};var type=typeof val;if(type==="string"&&val.length>0)return parse(val);else if(type==="number"&&isFinite(val))return options.long?fmtLong(val):fmtShort(val);throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify(val))};function parse(str){if(str=String(str),str.length>100)return;var match=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str);if(!match)return;var n=parseFloat(match[1]),type=(match[2]||"ms").toLowerCase();switch(type){case"years":case"year":case"yrs":case"yr":case"y":return n*y;case"weeks":case"week":case"w":return n*w;case"days":case"day":case"d":return n*d;case"hours":case"hour":case"hrs":case"hr":case"h":return n*h;case"minutes":case"minute":case"mins":case"min":case"m":return n*m;case"seconds":case"second":case"secs":case"sec":case"s":return n*s;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}function fmtShort(ms){var msAbs=Math.abs(ms);if(msAbs>=d)return Math.round(ms/d)+"d";if(msAbs>=h)return Math.round(ms/h)+"h";if(msAbs>=m)return Math.round(ms/m)+"m";if(msAbs>=s)return Math.round(ms/s)+"s";return ms+"ms"}function fmtLong(ms){var msAbs=Math.abs(ms);if(msAbs>=d)return plural(ms,msAbs,d,"day");if(msAbs>=h)return plural(ms,msAbs,h,"hour");if(msAbs>=m)return plural(ms,msAbs,m,"minute");if(msAbs>=s)return plural(ms,msAbs,s,"second");return ms+" ms"}function plural(ms,msAbs,n,name){var isPlural=msAbs>=n*1.5;return Math.round(ms/n)+" "+name+(isPlural?"s":"")}});var require_common=__commonJS(function(exports,module){function setup(env){createDebug.debug=createDebug,createDebug.default=createDebug,createDebug.coerce=coerce,createDebug.disable=disable,createDebug.enable=enable,createDebug.enabled=enabled,createDebug.humanize=require_ms(),createDebug.destroy=destroy,Object.keys(env).forEach((key)=>{createDebug[key]=env[key]}),createDebug.names=[],createDebug.skips=[],createDebug.formatters={};function selectColor(namespace){let hash=0;for(let i=0;i<namespace.length;i++)hash=(hash<<5)-hash+namespace.charCodeAt(i),hash|=0;return createDebug.colors[Math.abs(hash)%createDebug.colors.length]}createDebug.selectColor=selectColor;function createDebug(namespace){let prevTime,enableOverride=null,namespacesCache,enabledCache;function debug(...args){if(!debug.enabled)return;let self=debug,curr=Number(new Date),ms=curr-(prevTime||curr);if(self.diff=ms,self.prev=prevTime,self.curr=curr,prevTime=curr,args[0]=createDebug.coerce(args[0]),typeof args[0]!=="string")args.unshift("%O");let index=0;args[0]=args[0].replace(/%([a-zA-Z%])/g,(match,format)=>{if(match==="%%")return"%";index++;let formatter=createDebug.formatters[format];if(typeof formatter==="function"){let val=args[index];match=formatter.call(self,val),args.splice(index,1),index--}return match}),createDebug.formatArgs.call(self,args),(self.log||createDebug.log).apply(self,args)}if(debug.namespace=namespace,debug.useColors=createDebug.useColors(),debug.color=createDebug.selectColor(namespace),debug.extend=extend,debug.destroy=createDebug.destroy,Object.defineProperty(debug,"enabled",{enumerable:!0,configurable:!1,get:()=>{if(enableOverride!==null)return enableOverride;if(namespacesCache!==createDebug.namespaces)namespacesCache=createDebug.namespaces,enabledCache=createDebug.enabled(namespace);return enabledCache},set:(v)=>{enableOverride=v}}),typeof createDebug.init==="function")createDebug.init(debug);return debug}function extend(namespace,delimiter){let newDebug=createDebug(this.namespace+(typeof delimiter>"u"?":":delimiter)+namespace);return newDebug.log=this.log,newDebug}function enable(namespaces){createDebug.save(namespaces),createDebug.namespaces=namespaces,createDebug.names=[],createDebug.skips=[];let split=(typeof namespaces==="string"?namespaces:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let ns of split)if(ns[0]==="-")createDebug.skips.push(ns.slice(1));else createDebug.names.push(ns)}function matchesTemplate(search,template){let searchIndex=0,templateIndex=0,starIndex=-1,matchIndex=0;while(searchIndex<search.length)if(templateIndex<template.length&&(template[templateIndex]===search[searchIndex]||template[templateIndex]==="*"))if(template[templateIndex]==="*")starIndex=templateIndex,matchIndex=searchIndex,templateIndex++;else searchIndex++,templateIndex++;else if(starIndex!==-1)templateIndex=starIndex+1,matchIndex++,searchIndex=matchIndex;else return!1;while(templateIndex<template.length&&template[templateIndex]==="*")templateIndex++;return templateIndex===template.length}function disable(){let namespaces=[...createDebug.names,...createDebug.skips.map((namespace)=>"-"+namespace)].join(",");return createDebug.enable(""),namespaces}function enabled(name){for(let skip of createDebug.skips)if(matchesTemplate(name,skip))return!1;for(let ns of createDebug.names)if(matchesTemplate(name,ns))return!0;return!1}function coerce(val){if(val instanceof Error)return val.stack||val.message;return val}function destroy(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return createDebug.enable(createDebug.load()),createDebug}module.exports=setup});var require_browser=__commonJS(function(exports,module){exports.formatArgs=formatArgs;exports.save=save;exports.load=load;exports.useColors=useColors;exports.storage=localstorage();exports.destroy=(()=>{let warned=!1;return()=>{if(!warned)warned=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}})();exports.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function useColors(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let m;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(m=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(m[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function formatArgs(args){if(args[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+args[0]+(this.useColors?"%c ":" ")+"+"+module.exports.humanize(this.diff),!this.useColors)return;let c="color: "+this.color;args.splice(1,0,c,"color: inherit");let index=0,lastC=0;args[0].replace(/%[a-zA-Z%]/g,(match)=>{if(match==="%%")return;if(index++,match==="%c")lastC=index}),args.splice(lastC,0,c)}exports.log=console.debug||console.log||(()=>{});function save(namespaces){try{if(namespaces)exports.storage.setItem("debug",namespaces);else exports.storage.removeItem("debug")}catch(error){}}function load(){let r;try{r=exports.storage.getItem("debug")||exports.storage.getItem("DEBUG")}catch(error){}if(!r&&typeof process<"u"&&"env"in process)r=process.env.DEBUG;return r}function localstorage(){try{return localStorage}catch(error){}}module.exports=require_common()(exports);var{formatters}=module.exports;formatters.j=function(v){try{return JSON.stringify(v)}catch(error){return"[UnexpectedJSONParseError]: "+error.message}}});var require_has_flag=__commonJS(function(exports,module){module.exports=(flag,argv=process.argv)=>{let prefix=flag.startsWith("-")?"":flag.length===1?"-":"--",position=argv.indexOf(prefix+flag),terminatorPosition=argv.indexOf("--");return position!==-1&&(terminatorPosition===-1||position<terminatorPosition)}});var require_supports_color=__commonJS(function(exports,module){var os=__require("os"),tty=__require("tty"),hasFlag=require_has_flag(),{env}=process,flagForceColor;if(hasFlag("no-color")||hasFlag("no-colors")||hasFlag("color=false")||hasFlag("color=never"))flagForceColor=0;else if(hasFlag("color")||hasFlag("colors")||hasFlag("color=true")||hasFlag("color=always"))flagForceColor=1;function envForceColor(){if("FORCE_COLOR"in env){if(env.FORCE_COLOR==="true")return 1;if(env.FORCE_COLOR==="false")return 0;return env.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(env.FORCE_COLOR,10),3)}}function translateLevel(level){if(level===0)return!1;return{level,hasBasic:!0,has256:level>=2,has16m:level>=3}}function supportsColor(haveStream,{streamIsTTY,sniffFlags=!0}={}){let noFlagForceColor=envForceColor();if(noFlagForceColor!==void 0)flagForceColor=noFlagForceColor;let forceColor=sniffFlags?flagForceColor:noFlagForceColor;if(forceColor===0)return 0;if(sniffFlags){if(hasFlag("color=16m")||hasFlag("color=full")||hasFlag("color=truecolor"))return 3;if(hasFlag("color=256"))return 2}if(haveStream&&!streamIsTTY&&forceColor===void 0)return 0;let min=forceColor||0;if(env.TERM==="dumb")return min;if(process.platform==="win32"){let osRelease=os.release().split(".");if(Number(osRelease[0])>=10&&Number(osRelease[2])>=10586)return Number(osRelease[2])>=14931?3:2;return 1}if("CI"in env){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE","DRONE"].some((sign)=>(sign in env))||env.CI_NAME==="codeship")return 1;return min}if("TEAMCITY_VERSION"in env)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION)?1:0;if(env.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in env){let version=Number.parseInt((env.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(env.TERM_PROGRAM){case"iTerm.app":return version>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(env.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM))return 1;if("COLORTERM"in env)return 1;return min}function getSupportLevel(stream,options={}){let level=supportsColor(stream,{streamIsTTY:stream&&stream.isTTY,...options});return translateLevel(level)}module.exports={supportsColor:getSupportLevel,stdout:getSupportLevel({isTTY:tty.isatty(1)}),stderr:getSupportLevel({isTTY:tty.isatty(2)})}});var require_node=__commonJS(function(exports,module){var tty=__require("tty"),util=__require("util");exports.init=init;exports.log=log;exports.formatArgs=formatArgs;exports.save=save;exports.load=load;exports.useColors=useColors;exports.destroy=util.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");exports.colors=[6,2,3,4,5,1];try{let supportsColor=require_supports_color();if(supportsColor&&(supportsColor.stderr||supportsColor).level>=2)exports.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]}catch(error){}exports.inspectOpts=Object.keys(process.env).filter((key)=>/^debug_/i.test(key)).reduce((obj,key)=>{let prop=key.substring(6).toLowerCase().replace(/_([a-z])/g,(_,k)=>k.toUpperCase()),val=process.env[key];if(/^(yes|on|true|enabled)$/i.test(val))val=!0;else if(/^(no|off|false|disabled)$/i.test(val))val=!1;else if(val==="null")val=null;else val=Number(val);return obj[prop]=val,obj},{});function useColors(){return"colors"in exports.inspectOpts?Boolean(exports.inspectOpts.colors):tty.isatty(process.stderr.fd)}function formatArgs(args){let{namespace:name,useColors}=this;if(useColors){let c=this.color,colorCode="\x1B[3"+(c<8?c:"8;5;"+c),prefix=` ${colorCode};1m${name} \x1B[0m`;args[0]=prefix+args[0].split(`
|
|
3
|
+
`).join(`
|
|
4
|
+
`+prefix),args.push(colorCode+"m+"+module.exports.humanize(this.diff)+"\x1B[0m")}else args[0]=getDate()+name+" "+args[0]}function getDate(){if(exports.inspectOpts.hideDate)return"";return new Date().toISOString()+" "}function log(...args){return process.stderr.write(util.formatWithOptions(exports.inspectOpts,...args)+`
|
|
5
|
+
`)}function save(namespaces){if(namespaces)process.env.DEBUG=namespaces;else delete process.env.DEBUG}function load(){return process.env.DEBUG}function init(debug){debug.inspectOpts={};let keys=Object.keys(exports.inspectOpts);for(let i=0;i<keys.length;i++)debug.inspectOpts[keys[i]]=exports.inspectOpts[keys[i]]}module.exports=require_common()(exports);var{formatters}=module.exports;formatters.o=function(v){return this.inspectOpts.colors=this.useColors,util.inspect(v,this.inspectOpts).split(`
|
|
6
|
+
`).map((str)=>str.trim()).join(" ")};formatters.O=function(v){return this.inspectOpts.colors=this.useColors,util.inspect(v,this.inspectOpts)}});var require_src=__commonJS(function(exports,module){if(typeof process>"u"||process.type==="renderer"||!1||process.__nwjs)module.exports=require_browser();else module.exports=require_node()});var ZipLimitError;var init_ZipLimitError=__esm(()=>{ZipLimitError=class ZipLimitError extends RangeError{constructor(limit,requestedSize,maxSize){super(`ZIP ${limit} exceeded: ${requestedSize} bytes exceeds limit of ${maxSize} bytes`);this.limit=limit,this.requestedSize=requestedSize,this.maxSize=maxSize,this.name="ZipLimitError"}}});var Signature,DataDescriptor,LocalFileHeaderToken,EndOfCentralDirectoryRecordToken,FileHeader;var init_ZipToken=__esm(()=>{init_lib2();Signature={LocalFileHeader:67324752,DataDescriptor:134695760,CentralFileHeader:33639248,EndOfCentralDirectory:101010256},DataDescriptor={get(array){return{signature:UINT32_LE.get(array,0),compressedSize:UINT32_LE.get(array,8),uncompressedSize:UINT32_LE.get(array,12)}},len:16},LocalFileHeaderToken={get(array){let flags=UINT16_LE.get(array,6);return{signature:UINT32_LE.get(array,0),minVersion:UINT16_LE.get(array,4),dataDescriptor:!!(flags&8),compressedMethod:UINT16_LE.get(array,8),compressedSize:UINT32_LE.get(array,18),uncompressedSize:UINT32_LE.get(array,22),filenameLength:UINT16_LE.get(array,26),extraFieldLength:UINT16_LE.get(array,28),filename:null}},len:30},EndOfCentralDirectoryRecordToken={get(array){return{signature:UINT32_LE.get(array,0),nrOfThisDisk:UINT16_LE.get(array,4),nrOfThisDiskWithTheStart:UINT16_LE.get(array,6),nrOfEntriesOnThisDisk:UINT16_LE.get(array,8),nrOfEntriesOfSize:UINT16_LE.get(array,10),sizeOfCd:UINT32_LE.get(array,12),offsetOfStartOfCd:UINT32_LE.get(array,16),zipFileCommentLength:UINT16_LE.get(array,20)}},len:22},FileHeader={get(array){let flags=UINT16_LE.get(array,8);return{signature:UINT32_LE.get(array,0),minVersion:UINT16_LE.get(array,6),dataDescriptor:!!(flags&8),compressedMethod:UINT16_LE.get(array,10),compressedSize:UINT32_LE.get(array,20),uncompressedSize:UINT32_LE.get(array,24),filenameLength:UINT16_LE.get(array,28),extraFieldLength:UINT16_LE.get(array,30),fileCommentLength:UINT16_LE.get(array,32),relativeOffsetOfLocalHeader:UINT32_LE.get(array,42),filename:null}},len:46}});function signatureToArray(signature){let signatureBytes=new Uint8Array(UINT32_LE.len);return UINT32_LE.put(signatureBytes,0,signature),signatureBytes}class ZipHandler{constructor(tokenizer,options={}){this.tokenizer=tokenizer,this.syncBuffer=new Uint8Array(syncBufferSize),this.limits={maxDataDescriptorScanBytes:options.maxDataDescriptorScanBytes??Number.POSITIVE_INFINITY,maxCompressedSize:options.maxCompressedSize??Number.POSITIVE_INFINITY,maxUncompressedSize:options.maxUncompressedSize??Number.POSITIVE_INFINITY};for(let[name,limit]of Object.entries(this.limits))if(limit!==Number.POSITIVE_INFINITY&&(!Number.isSafeInteger(limit)||limit<=0))throw RangeError(`${name} must be a positive safe integer or Infinity`)}checkLimit(limit,size){if(size>this.limits[limit])throw new ZipLimitError(limit,size,this.limits[limit])}checkEntrySize(header){if(this.checkLimit("maxCompressedSize",header.compressedSize),this.checkLimit("maxUncompressedSize",header.uncompressedSize),header.compressedMethod===0)this.checkLimit("maxUncompressedSize",header.compressedSize)}async isZip(){return await this.peekSignature()===Signature.LocalFileHeader}peekSignature(){return this.tokenizer.peekToken(UINT32_LE)}async findEndOfCentralDirectoryLocator(){let randomReadTokenizer=this.tokenizer,chunkLength=Math.min(16384,randomReadTokenizer.fileInfo.size),buffer=this.syncBuffer.subarray(0,chunkLength);await this.tokenizer.readBuffer(buffer,{position:randomReadTokenizer.fileInfo.size-chunkLength});for(let i=buffer.length-4;i>=0;i--)if(buffer[i]===eocdSignatureBytes[0]&&buffer[i+1]===eocdSignatureBytes[1]&&buffer[i+2]===eocdSignatureBytes[2]&&buffer[i+3]===eocdSignatureBytes[3])return randomReadTokenizer.fileInfo.size-chunkLength+i;return-1}async readCentralDirectory(){if(!this.tokenizer.supportsRandomAccess()){debug("Cannot reading central-directory without random-read support");return}debug("Reading central-directory...");let pos=this.tokenizer.position;try{let offset=await this.findEndOfCentralDirectoryLocator();if(offset>0){debug("Central-directory 32-bit signature found");let eocdHeader=await this.tokenizer.readToken(EndOfCentralDirectoryRecordToken,offset),files=[];this.tokenizer.setPosition(eocdHeader.offsetOfStartOfCd);let directory=createTokenizerView(this.tokenizer,eocdHeader.sizeOfCd);try{for(let n=0;n<eocdHeader.nrOfEntriesOfSize;++n){let entry=await directory.readToken(FileHeader);if(entry.signature!==Signature.CentralFileHeader)throw Error("Expected Central-File-Header signature");entry.filename=await directory.readToken(new StringType2(entry.filenameLength,"utf-8")),await directory.ignore(entry.extraFieldLength),await directory.ignore(entry.fileCommentLength),files.push(entry),debug(`Add central-directory file-entry: n=${n+1}/${files.length}: filename=${files[n].filename}`)}return files}finally{await directory.close()}}}finally{this.tokenizer.setPosition(pos)}}async unzip(fileCb){let entries=await this.readCentralDirectory();if(entries)return this.iterateOverCentralDirectory(entries,fileCb);let stop=!1;do{let zipHeader=await this.readLocalFileHeader();if(!zipHeader)break;let next=fileCb(zipHeader);stop=!!next.stop;let fileData;if(await this.tokenizer.ignore(zipHeader.extraFieldLength),next.handler)this.checkEntrySize(zipHeader);if(zipHeader.dataDescriptor&&zipHeader.compressedSize===0){let chunks=[],totalSize=0,scanLimit=Math.min(this.limits.maxDataDescriptorScanBytes,next.handler?this.limits.maxCompressedSize:Number.POSITIVE_INFINITY,next.handler&&zipHeader.compressedMethod===0?this.limits.maxUncompressedSize:Number.POSITIVE_INFINITY);debug("Compressed-file-size unknown, scanning for next data-descriptor-signature....");while(!0){let peekLength=Math.min(syncBufferSize,scanLimit-totalSize+ddSignatureArray.length),len=await this.tokenizer.peekBuffer(this.syncBuffer.subarray(0,peekLength),{mayBeLess:!0}),nextHeaderIndex=indexOf(this.syncBuffer.subarray(0,len),ddSignatureArray);if(nextHeaderIndex<0&&len<ddSignatureArray.length)throw Error("Expected data-descriptor-signature before end of input");let size=nextHeaderIndex>=0?nextHeaderIndex:len-ddSignatureArray.length+1;if(this.checkLimit("maxDataDescriptorScanBytes",totalSize+size),next.handler){if(this.checkLimit("maxCompressedSize",totalSize+size),zipHeader.compressedMethod===0)this.checkLimit("maxUncompressedSize",totalSize+size);if(size>0){let data=new Uint8Array(size);await this.tokenizer.readBuffer(data),chunks.push(data)}}else await this.tokenizer.ignore(size);if(totalSize+=size,nextHeaderIndex>=0)break}if(debug(`Found data-descriptor-signature at pos=${this.tokenizer.position}`),next.handler)this.checkLimit("maxCompressedSize",totalSize),await this.inflate(zipHeader,mergeArrays(chunks),next.handler)}else if(next.handler)debug(`Reading compressed-file-data: ${zipHeader.compressedSize} bytes`),fileData=new Uint8Array(zipHeader.compressedSize),await this.tokenizer.readBuffer(fileData),await this.inflate(zipHeader,fileData,next.handler);else debug(`Ignoring compressed-file-data: ${zipHeader.compressedSize} bytes`),await this.tokenizer.ignore(zipHeader.compressedSize);if(debug(`Reading data-descriptor at pos=${this.tokenizer.position}`),zipHeader.dataDescriptor){if((await this.tokenizer.readToken(DataDescriptor)).signature!==134695760)throw Error(`Expected data-descriptor-signature at position ${this.tokenizer.position-DataDescriptor.len}`)}}while(!stop)}async iterateOverCentralDirectory(entries,fileCb){for(let fileHeader of entries){let next=fileCb(fileHeader);if(next.handler){this.tokenizer.setPosition(fileHeader.relativeOffsetOfLocalHeader);let zipHeader=await this.readLocalFileHeader();if(zipHeader){await this.tokenizer.ignore(zipHeader.extraFieldLength),this.checkEntrySize(fileHeader),this.checkEntrySize(zipHeader);let fileData=new Uint8Array(fileHeader.compressedSize);await this.tokenizer.readBuffer(fileData),await this.inflate(zipHeader,fileData,next.handler)}}if(next.stop)break}}async inflate(zipHeader,fileData,cb){if(zipHeader.compressedMethod===0)return this.checkLimit("maxUncompressedSize",fileData.length),cb(fileData);if(zipHeader.compressedMethod!==8)throw Error(`Unsupported ZIP compression method: ${zipHeader.compressedMethod}`);debug(`Decompress filename=${zipHeader.filename}, compressed-size=${fileData.length}`);let uncompressedData=await this.decompressDeflateRaw(fileData);return cb(uncompressedData)}async decompressDeflateRaw(data){let input=new ReadableStream({start(controller){controller.enqueue(data),controller.close()}}),ds=new DecompressionStream("deflate-raw"),reader=input.pipeThrough(ds).getReader(),chunks=[],totalSize=0;try{while(!0){let{done,value}=await reader.read();if(done)break;this.checkLimit("maxUncompressedSize",totalSize+value.length),totalSize+=value.length,chunks.push(value)}return this.checkLimit("maxUncompressedSize",totalSize),mergeArrays(chunks)}catch(err){if(await reader.cancel(err).catch(()=>{}),err instanceof ZipLimitError)throw err;if(err instanceof Error&&"code"in err&&err.code==="ERR_TRAILING_JUNK_AFTER_STREAM_END")return mergeArrays(chunks);let message=err instanceof Error?`Failed to deflate ZIP entry: ${err.message}`:"Unknown decompression error in ZIP entry";throw TypeError(message)}finally{reader.releaseLock()}}async readLocalFileHeader(){let signature=await this.tokenizer.peekToken(UINT32_LE);if(signature===Signature.LocalFileHeader){let header=await this.tokenizer.readToken(LocalFileHeaderToken);return header.filename=await this.tokenizer.readToken(new StringType2(header.filenameLength,"utf-8")),header}if(signature===Signature.CentralFileHeader)return!1;if(signature===3759263696)throw Error("Encrypted ZIP");throw Error("Unexpected signature")}}function indexOf(buffer,portion){let bufferLength=buffer.length,portionLength=portion.length;if(portionLength>bufferLength)return-1;for(let i=0;i<=bufferLength-portionLength;i++){let found=!0;for(let j=0;j<portionLength;j++)if(buffer[i+j]!==portion[j]){found=!1;break}if(found)return i}return-1}function mergeArrays(chunks){let totalLength=chunks.reduce((acc,curr)=>acc+curr.length,0),mergedArray=new Uint8Array(totalLength),offset=0;for(let chunk of chunks)mergedArray.set(chunk,offset),offset+=chunk.length;return mergedArray}var import_debug,debug,syncBufferSize=262144,ddSignatureArray,eocdSignatureBytes;var init_ZipHandler=__esm(()=>{init_core();init_lib2();init_ZipLimitError();init_ZipToken();import_debug=__toESM(require_src(),1);debug=import_debug.default("tokenizer:inflate"),ddSignatureArray=signatureToArray(Signature.DataDescriptor),eocdSignatureBytes=signatureToArray(Signature.EndOfCentralDirectory)});var init_lib3=__esm(()=>{init_ZipHandler();init_ZipLimitError()});function isType(value,typeConstructor,typeStringified){if(!value)return!1;if(value.constructor===typeConstructor)return!0;return objectToString.call(value)===typeStringified}function isUint8Array(value){return isType(value,Uint8Array,"[object Uint8Array]")}function isArrayBuffer(value){return isType(value,ArrayBuffer,"[object ArrayBuffer]")}function isUint8ArrayOrArrayBuffer(value){return isUint8Array(value)||isArrayBuffer(value)}function toUint8ArrayIfArrayBuffer(value){return isArrayBuffer(value)?new Uint8Array(value):value}function assertUint8ArrayOrArrayBuffer(value){if(!isUint8ArrayOrArrayBuffer(value))throw TypeError(`Expected \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof value}\``)}function concatUint8Arrays(arrays,totalLength){if(arrays.length===0)return new Uint8Array(0);totalLength??=arrays.reduce((accumulator,currentValue)=>accumulator+currentValue.byteLength,0);let returnValue=new Uint8Array(totalLength),offset=0;for(let array of arrays)assertUint8ArrayOrArrayBuffer(array),array=toUint8ArrayIfArrayBuffer(array),returnValue.set(array,offset),offset+=array.length;return returnValue}function getUintBE(view){let{byteLength}=view;if(byteLength===6)return view.getUint16(0)*4294967296+view.getUint32(2);if(byteLength===5)return view.getUint8(0)*4294967296+view.getUint32(1);if(byteLength===4)return view.getUint32(0);if(byteLength===3)return view.getUint8(0)*65536+view.getUint16(1);if(byteLength===2)return view.getUint16(0);if(byteLength===1)return view.getUint8(0)}var objectToString,cachedDecoders,cachedEncoder,byteToHexLookupTable;var init_uint8array_extras=__esm(()=>{objectToString=Object.prototype.toString;cachedDecoders={utf8:new globalThis.TextDecoder("utf8")},cachedEncoder=new globalThis.TextEncoder,byteToHexLookupTable=Array.from({length:256},(_,index)=>index.toString(16).padStart(2,"0"))});function stringToBytes(string,encoding){if(encoding==="utf-16le"){let bytes=[];for(let index=0;index<string.length;index++){let code=string.charCodeAt(index);bytes.push(code&255,code>>8&255)}return bytes}if(encoding==="utf-16be"){let bytes=[];for(let index=0;index<string.length;index++){let code=string.charCodeAt(index);bytes.push(code>>8&255,code&255)}return bytes}return[...string].map((character)=>character.charCodeAt(0))}function tarHeaderChecksumMatches(arrayBuffer,offset=0){let readSum=Number.parseInt(new StringType2(6).get(arrayBuffer,148),8);if(Number.isNaN(readSum))return!1;let sum=256;for(let index=offset;index<offset+148;index++)sum+=arrayBuffer[index];for(let index=offset+156;index<offset+512;index++)sum+=arrayBuffer[index];return readSum===sum}var uint32SyncSafeToken;var init_tokens=__esm(()=>{init_lib2();uint32SyncSafeToken={get:(buffer,offset)=>buffer[offset+3]&127|(buffer[offset+2]&127)<<7|(buffer[offset+1]&127)<<14|(buffer[offset]&127)<<21,len:4}});var extensions,mimeTypes;var init_supported=__esm(()=>{extensions=["jpg","png","apng","gif","webp","flif","xcf","cr2","cr3","orf","arw","dng","nef","rw2","raf","tif","bmp","icns","jxr","psd","indd","zip","tar","rar","gz","bz2","7z","dmg","mp4","mid","mkv","webm","mov","avi","mpg","mp2","mp3","m4a","oga","ogg","ogv","opus","flac","wav","spx","amr","pdf","epub","elf","macho","exe","swf","rtf","wasm","woff","woff2","eot","ttf","otf","ttc","ico","flv","ps","xz","sqlite","nes","crx","xpi","cab","deb","ar","rpm","Z","lz","cfb","mxf","mts","blend","bpg","docx","pptx","xlsx","3gp","3g2","j2c","jp2","jpm","jpx","mj2","aif","caf","qcp","odt","ods","odp","xml","mobi","heic","cur","ktx","ape","wv","dcm","ics","glb","pcap","dsf","dff","lnk","alias","voc","ac3","m4v","m4p","m4b","f4v","f4p","f4b","f4a","mie","asf","ogm","ogx","mpc","arrow","shp","aac","mp1","it","s3m","xm","skp","avif","eps","lzh","pgp","asar","stl","chm","3mf","zst","jxl","vcf","jls","pst","dwg","parquet","class","arj","cpio","ace","avro","icc","fbx","vsdx","vtt","apk","drc","lz4","potx","xltx","dotx","xltm","ott","ots","otp","odg","otg","xlsm","docm","dotm","potm","pptm","jar","jmp","rm","sav","ppsm","ppsx","tar.gz","reg","dat","key","numbers","pages","iso"],mimeTypes=["image/jpeg","image/png","image/gif","image/webp","image/flif","image/x-xcf","image/x-canon-cr2","image/x-canon-cr3","image/tiff","image/bmp","image/vnd.ms-photo","image/vnd.adobe.photoshop","application/x-indesign","application/epub+zip","application/x-xpinstall","application/vnd.ms-powerpoint.slideshow.macroenabled.12","application/vnd.oasis.opendocument.text","application/vnd.oasis.opendocument.spreadsheet","application/vnd.oasis.opendocument.presentation","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.openxmlformats-officedocument.presentationml.slideshow","application/zip","application/x-tar","application/x-rar-compressed","application/gzip","application/x-bzip2","application/x-7z-compressed","application/x-apple-diskimage","application/vnd.apache.arrow.file","video/mp4","audio/midi","video/matroska","video/webm","video/quicktime","video/vnd.avi","audio/wav","audio/qcelp","audio/x-ms-asf","video/x-ms-asf","application/vnd.ms-asf","video/mpeg","video/3gpp","audio/mpeg","audio/mp4","video/ogg","audio/ogg","audio/ogg; codecs=opus","application/ogg","audio/flac","audio/ape","audio/wavpack","audio/amr","application/pdf","application/x-elf","application/x-mach-binary","application/x-msdownload","application/x-shockwave-flash","application/rtf","application/wasm","font/woff","font/woff2","application/vnd.ms-fontobject","font/ttf","font/otf","font/collection","image/x-icon","video/x-flv","application/postscript","application/eps","application/x-xz","application/x-sqlite3","application/x-nintendo-nes-rom","application/x-google-chrome-extension","application/vnd.ms-cab-compressed","application/x-deb","application/x-unix-archive","application/x-rpm","application/x-compress","application/lzip","application/x-cfb","application/x-mie","application/mxf","video/mp2t","application/x-blender","image/bpg","image/j2c","image/jp2","image/jpx","image/jpm","image/mj2","audio/aiff","audio/x-caf","application/xml","application/x-mobipocket-ebook","image/heif","image/heif-sequence","image/heic","image/heic-sequence","image/icns","image/ktx","application/dicom","audio/x-musepack","text/calendar","text/vcard","text/vtt","model/gltf-binary","application/vnd.tcpdump.pcap","audio/x-dsf","audio/x-dff","application/x-ms-shortcut","application/x-ft-apple.alias","audio/x-voc","audio/vnd.dolby.dd-raw","audio/x-m4a","image/apng","image/x-olympus-orf","image/x-sony-arw","image/x-adobe-dng","image/x-nikon-nef","image/x-panasonic-rw2","image/x-fujifilm-raf","video/x-m4v","video/3gpp2","application/x-esri-shape","audio/aac","audio/x-it","audio/x-s3m","audio/x-xm","video/MP1S","video/MP2P","application/vnd.sketchup.skp","image/avif","application/x-lzh-compressed","application/pgp-encrypted","application/x-asar","model/stl","application/vnd.ms-htmlhelp","model/3mf","image/jxl","application/zstd","image/jls","application/vnd.ms-outlook","image/vnd.dwg","application/vnd.apache.parquet","application/java-vm","application/x-arj","application/x-cpio","application/x-ace-compressed","application/avro","application/vnd.iccprofile","application/x-ft-fbx","application/vnd.visio","application/vnd.android.package-archive","application/x-ft-draco","application/x-lz4","application/vnd.openxmlformats-officedocument.presentationml.template","application/vnd.openxmlformats-officedocument.spreadsheetml.template","application/vnd.openxmlformats-officedocument.wordprocessingml.template","application/vnd.ms-excel.template.macroenabled.12","application/vnd.oasis.opendocument.text-template","application/vnd.oasis.opendocument.spreadsheet-template","application/vnd.oasis.opendocument.presentation-template","application/vnd.oasis.opendocument.graphics","application/vnd.oasis.opendocument.graphics-template","application/vnd.ms-excel.sheet.macroenabled.12","application/vnd.ms-word.document.macroenabled.12","application/vnd.ms-word.template.macroenabled.12","application/vnd.ms-powerpoint.template.macroenabled.12","application/vnd.ms-powerpoint.presentation.macroenabled.12","application/java-archive","application/vnd.rn-realmedia","application/x-spss-sav","application/x-ms-regedit","application/x-ft-windows-registry-hive","application/x-jmp-data","application/vnd.apple.keynote","application/vnd.apple.numbers","application/vnd.apple.pages","application/x-iso9660-image"]});function getSafeBound(value,maximum,reason){if(!Number.isFinite(value)||value<0||value>maximum)throw new ParserHardLimitError(`${reason} has invalid size ${value} (maximum ${maximum} bytes)`);return value}async function safeIgnore(tokenizer,length,{maximumLength=16777216,reason="skip"}={}){let safeLength=getSafeBound(length,maximumLength,reason);await tokenizer.ignore(safeLength)}async function safeReadBuffer(tokenizer,buffer,options,{maximumLength=buffer.length,reason="read"}={}){let length=options?.length??buffer.length,safeLength=getSafeBound(length,maximumLength,reason);return tokenizer.readBuffer(buffer,{...options,length:safeLength})}function checkBytes(buffer,headers,options){options={offset:0,...options};for(let[index,header]of headers.entries())if(options.mask){if(header!==(options.mask[index]&buffer[index+options.offset]))return!1}else if(header!==buffer[index+options.offset])return!1;return!0}function hasUnknownFileSize(tokenizer){let fileSize=tokenizer.fileInfo.size;return!Number.isFinite(fileSize)||fileSize===Number.MAX_SAFE_INTEGER}function hasExceededUnknownSizeScanBudget(tokenizer,startOffset,maximumBytes){return hasUnknownFileSize(tokenizer)&&tokenizer.position-startOffset>maximumBytes}var maximumUntrustedSkipSizeInBytes=16777216,ParserHardLimitError;var init_parser=__esm(()=>{ParserHardLimitError=class ParserHardLimitError extends Error{}});function mergeByteChunks(chunks,totalLength){let merged=new Uint8Array(totalLength),offset=0;for(let chunk of chunks)merged.set(chunk,offset),offset+=chunk.length;return merged}function getMaximumZipBufferedReadLength(tokenizer){let fileSize=tokenizer.fileInfo.size,remainingBytes=Number.isFinite(fileSize)?Math.max(0,fileSize-tokenizer.position):Number.MAX_SAFE_INTEGER;return Math.min(remainingBytes,maximumZipBufferedReadSizeInBytes)}function isRecoverableZipError(error){if(error instanceof EndOfStreamError)return!0;if(error instanceof ParserHardLimitError||error instanceof ZipLimitError)return!0;if(!(error instanceof Error))return!1;if(error instanceof TypeError&&error.message.startsWith("Failed to deflate ZIP entry:"))return!0;if(recoverableZipErrorMessages.has(error.message))return!0;if(recoverableZipErrorCodes.has(error.code))return!0;for(let prefix of recoverableZipErrorMessagePrefixes)if(error.message.startsWith(prefix))return!0;return!1}function canReadZipEntryForDetection(zipHeader,maximumSize=maximumZipEntrySizeInBytes){let sizes=[zipHeader.compressedSize,zipHeader.uncompressedSize];for(let size of sizes)if(!Number.isFinite(size)||size<0||size>maximumSize)return!1;return!0}function createIWorkZipDetectionState(){return{hasDocumentEntry:!1,hasMasterSlideEntry:!1,hasTablesEntry:!1,hasCalculationEngineEntry:!1}}function updateIWorkZipDetectionStateFromFilename(iWorkState,filename){if(filename==="Index/Document.iwa")iWorkState.hasDocumentEntry=!0;if(filename.startsWith("Index/MasterSlide"))iWorkState.hasMasterSlideEntry=!0;if(filename.startsWith("Index/Tables/"))iWorkState.hasTablesEntry=!0;if(filename==="Index/CalculationEngine.iwa")iWorkState.hasCalculationEngineEntry=!0}function getIWorkFileTypeFromZipEntries(iWorkState){if(!iWorkState.hasDocumentEntry)return;if(iWorkState.hasMasterSlideEntry)return{ext:"key",mime:"application/vnd.apple.keynote"};if(iWorkState.hasTablesEntry)return{ext:"numbers",mime:"application/vnd.apple.numbers"};return{ext:"pages",mime:"application/vnd.apple.pages"}}function getFileTypeFromMimeType(mimeType){switch(mimeType=mimeType.toLowerCase(),mimeType){case"application/epub+zip":return{ext:"epub",mime:mimeType};case"application/vnd.oasis.opendocument.text":return{ext:"odt",mime:mimeType};case"application/vnd.oasis.opendocument.text-template":return{ext:"ott",mime:mimeType};case"application/vnd.oasis.opendocument.spreadsheet":return{ext:"ods",mime:mimeType};case"application/vnd.oasis.opendocument.spreadsheet-template":return{ext:"ots",mime:mimeType};case"application/vnd.oasis.opendocument.presentation":return{ext:"odp",mime:mimeType};case"application/vnd.oasis.opendocument.presentation-template":return{ext:"otp",mime:mimeType};case"application/vnd.oasis.opendocument.graphics":return{ext:"odg",mime:mimeType};case"application/vnd.oasis.opendocument.graphics-template":return{ext:"otg",mime:mimeType};case"application/vnd.openxmlformats-officedocument.presentationml.slideshow":return{ext:"ppsx",mime:mimeType};case"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":return{ext:"xlsx",mime:mimeType};case"application/vnd.ms-excel.sheet.macroenabled":return{ext:"xlsm",mime:"application/vnd.ms-excel.sheet.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.spreadsheetml.template":return{ext:"xltx",mime:mimeType};case"application/vnd.ms-excel.template.macroenabled":return{ext:"xltm",mime:"application/vnd.ms-excel.template.macroenabled.12"};case"application/vnd.ms-powerpoint.slideshow.macroenabled":return{ext:"ppsm",mime:"application/vnd.ms-powerpoint.slideshow.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.wordprocessingml.document":return{ext:"docx",mime:mimeType};case"application/vnd.ms-word.document.macroenabled":return{ext:"docm",mime:"application/vnd.ms-word.document.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.wordprocessingml.template":return{ext:"dotx",mime:mimeType};case"application/vnd.ms-word.template.macroenabledtemplate":return{ext:"dotm",mime:"application/vnd.ms-word.template.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.presentationml.template":return{ext:"potx",mime:mimeType};case"application/vnd.ms-powerpoint.template.macroenabled":return{ext:"potm",mime:"application/vnd.ms-powerpoint.template.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.presentationml.presentation":return{ext:"pptx",mime:mimeType};case"application/vnd.ms-powerpoint.presentation.macroenabled":return{ext:"pptm",mime:"application/vnd.ms-powerpoint.presentation.macroenabled.12"};case"application/vnd.ms-visio.drawing":return{ext:"vsdx",mime:"application/vnd.visio"};case"application/vnd.ms-package.3dmanufacturing-3dmodel+xml":return{ext:"3mf",mime:"model/3mf"};default:}}function createOpenXmlZipDetectionState(){return{hasContentTypesEntry:!1,hasParsedContentTypesEntry:!1,isParsingContentTypes:!1,hasUnparseableContentTypes:!1,hasWordDirectory:!1,hasPresentationDirectory:!1,hasSpreadsheetDirectory:!1,hasThreeDimensionalModelEntry:!1}}function updateOpenXmlZipDetectionStateFromFilename(openXmlState,filename){if(filename.startsWith("word/"))openXmlState.hasWordDirectory=!0;if(filename.startsWith("ppt/"))openXmlState.hasPresentationDirectory=!0;if(filename.startsWith("xl/"))openXmlState.hasSpreadsheetDirectory=!0;if(filename.startsWith("3D/")&&filename.endsWith(".model"))openXmlState.hasThreeDimensionalModelEntry=!0}function getOpenXmlFileTypeFromDirectoryNames(openXmlState){if(openXmlState.hasWordDirectory)return{ext:"docx",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"};if(openXmlState.hasPresentationDirectory)return{ext:"pptx",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"};if(openXmlState.hasSpreadsheetDirectory)return{ext:"xlsx",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"};if(openXmlState.hasThreeDimensionalModelEntry)return{ext:"3mf",mime:"model/3mf"}}function getOpenXmlFileTypeFromZipEntries(openXmlState){if(!openXmlState.hasContentTypesEntry||openXmlState.hasUnparseableContentTypes||openXmlState.isParsingContentTypes||openXmlState.hasParsedContentTypesEntry)return;return getOpenXmlFileTypeFromDirectoryNames(openXmlState)}function getOpenXmlMimeTypeFromContentTypesXml(xmlContent){let endPosition=xmlContent.indexOf('.main+xml"');if(endPosition===-1){if(xmlContent.includes('ContentType="application/vnd.ms-package.3dmanufacturing-3dmodel+xml"'))return"application/vnd.ms-package.3dmanufacturing-3dmodel+xml";return}let truncatedContent=xmlContent.slice(0,endPosition),firstQuotePosition=truncatedContent.lastIndexOf('"');return truncatedContent.slice(firstQuotePosition+1)}function findZipDataDescriptorOffset(buffer,bytesConsumed,{allowTruncated=!1}={}){let lastPossibleDescriptorOffset=buffer.length-(allowTruncated?4:zipDataDescriptorLengthInBytes);for(let index=0;index<=lastPossibleDescriptorOffset;index++){if(UINT32_LE.get(buffer,index)!==zipDataDescriptorSignature)continue;if(buffer.length-index<12)return index;if(UINT32_LE.get(buffer,index+8)===bytesConsumed+index)return index}return-1}async function readZipDataDescriptorEntryWithLimit(zipHandler,{shouldBuffer,maximumLength=maximumZipEntrySizeInBytes}={}){let{syncBuffer}=zipHandler,{length:syncBufferLength}=syncBuffer,chunks=[],bytesConsumed=0;for(;;){let length=await zipHandler.tokenizer.peekBuffer(syncBuffer,{mayBeLess:!0}),dataDescriptorOffset=findZipDataDescriptorOffset(syncBuffer.subarray(0,length),bytesConsumed,{allowTruncated:length<syncBufferLength}),retainedLength=dataDescriptorOffset>=0?0:length===syncBufferLength?Math.min(zipDataDescriptorOverlapLengthInBytes,length-1):0,chunkLength=dataDescriptorOffset>=0?dataDescriptorOffset:length-retainedLength;if(chunkLength===0)break;if(bytesConsumed+=chunkLength,bytesConsumed>maximumLength)throw new ParserHardLimitError(`ZIP entry data descriptor not found within ${maximumLength} bytes`);if(shouldBuffer){let data=new Uint8Array(chunkLength);await zipHandler.tokenizer.readBuffer(data),chunks.push(data)}else await zipHandler.tokenizer.ignore(chunkLength);if(dataDescriptorOffset>=0)break}if(!hasUnknownFileSize(zipHandler.tokenizer))zipHandler.knownSizeDescriptorScannedBytes+=bytesConsumed;if(!shouldBuffer)return;return mergeByteChunks(chunks,bytesConsumed)}function getRemainingZipScanBudget(zipHandler,startOffset){if(hasUnknownFileSize(zipHandler.tokenizer))return Math.max(0,maximumUntrustedSkipSizeInBytes-(zipHandler.tokenizer.position-startOffset));return Math.max(0,maximumZipEntrySizeInBytes-zipHandler.knownSizeDescriptorScannedBytes)}async function readZipEntryData(zipHandler,zipHeader,{shouldBuffer,maximumDescriptorLength=maximumZipEntrySizeInBytes}={}){if(zipHeader.dataDescriptor&&zipHeader.compressedSize===0)return readZipDataDescriptorEntryWithLimit(zipHandler,{shouldBuffer,maximumLength:maximumDescriptorLength});if(!shouldBuffer){await safeIgnore(zipHandler.tokenizer,zipHeader.compressedSize,{maximumLength:hasUnknownFileSize(zipHandler.tokenizer)?maximumZipEntrySizeInBytes:zipHandler.tokenizer.fileInfo.size,reason:"ZIP entry compressed data"});return}if(zipHeader.compressedSize>maximumZipTextEntrySizeInBytes)throw new ZipLimitError("maxCompressedSize",zipHeader.compressedSize,maximumZipTextEntrySizeInBytes);let maximumLength=getMaximumZipBufferedReadLength(zipHandler.tokenizer);if(!Number.isFinite(zipHeader.compressedSize)||zipHeader.compressedSize<0||zipHeader.compressedSize>maximumLength)throw Error(`ZIP entry compressed data exceeds ${maximumLength} bytes`);let fileData=new Uint8Array(zipHeader.compressedSize);return await zipHandler.tokenizer.readBuffer(fileData),fileData}async function detectZip(tokenizer){let fileType,openXmlState=createOpenXmlZipDetectionState(),iWorkState=createIWorkZipDetectionState();try{await new DetectionZipHandler(tokenizer,{maxUncompressedSize:maximumZipTextEntrySizeInBytes}).unzip((zipHeader)=>{if(updateOpenXmlZipDetectionStateFromFilename(openXmlState,zipHeader.filename),updateIWorkZipDetectionStateFromFilename(iWorkState,zipHeader.filename),iWorkState.hasDocumentEntry&&(iWorkState.hasMasterSlideEntry||iWorkState.hasTablesEntry))return fileType=getIWorkFileTypeFromZipEntries(iWorkState),{stop:!0};let isOpenXmlContentTypesEntry=zipHeader.filename==="[Content_Types].xml",openXmlFileTypeFromEntries=getOpenXmlFileTypeFromZipEntries(openXmlState);if(!isOpenXmlContentTypesEntry&&openXmlFileTypeFromEntries)return fileType=openXmlFileTypeFromEntries,{stop:!0};switch(zipHeader.filename){case"META-INF/mozilla.rsa":return fileType={ext:"xpi",mime:"application/x-xpinstall"},{stop:!0};case"META-INF/MANIFEST.MF":return fileType={ext:"jar",mime:"application/java-archive"},{stop:!0};case"mimetype":if(!canReadZipEntryForDetection(zipHeader,maximumZipTextEntrySizeInBytes))return{};return{async handler(fileData){let mimeType=new TextDecoder("utf-8").decode(fileData).trim();fileType=getFileTypeFromMimeType(mimeType)},stop:!0};case"[Content_Types].xml":{if(openXmlState.hasContentTypesEntry=!0,!canReadZipEntryForDetection(zipHeader,maximumZipTextEntrySizeInBytes))return openXmlState.hasUnparseableContentTypes=!0,{};return openXmlState.isParsingContentTypes=!0,{async handler(fileData){let xmlContent=new TextDecoder("utf-8").decode(fileData),mimeType=getOpenXmlMimeTypeFromContentTypesXml(xmlContent);if(mimeType)fileType=getFileTypeFromMimeType(mimeType);openXmlState.hasParsedContentTypesEntry=!0,openXmlState.isParsingContentTypes=!1},stop:!0}}default:if(/classes\d*\.dex/v.test(zipHeader.filename))return fileType={ext:"apk",mime:"application/vnd.android.package-archive"},{stop:!0};return{}}})}catch(error){if(!isRecoverableZipError(error))throw error;if(openXmlState.isParsingContentTypes)openXmlState.isParsingContentTypes=!1,openXmlState.hasUnparseableContentTypes=!0;if(!fileType&&(error instanceof EndOfStreamError||error instanceof ParserHardLimitError)&&!openXmlState.hasContentTypesEntry)fileType=getOpenXmlFileTypeFromDirectoryNames(openXmlState)}let iWorkFileType=hasUnknownFileSize(tokenizer)&&iWorkState.hasDocumentEntry&&!iWorkState.hasMasterSlideEntry&&!iWorkState.hasTablesEntry&&!iWorkState.hasCalculationEngineEntry?void 0:getIWorkFileTypeFromZipEntries(iWorkState);return fileType??getOpenXmlFileTypeFromZipEntries(openXmlState)??iWorkFileType??{ext:"zip",mime:"application/zip"}}var maximumZipEntrySizeInBytes=1048576,maximumZipEntryCount=1024,maximumZipBufferedReadSizeInBytes=2147483647,maximumZipTextEntrySizeInBytes,recoverableZipErrorMessages,recoverableZipErrorMessagePrefixes,recoverableZipErrorCodes,zipDataDescriptorSignature=134695760,zipDataDescriptorLengthInBytes=16,zipDataDescriptorOverlapLengthInBytes,DetectionZipHandler;var init_zip=__esm(()=>{init_lib2();init_core();init_lib3();init_parser();maximumZipTextEntrySizeInBytes=maximumZipEntrySizeInBytes,recoverableZipErrorMessages=new Set(["Unexpected signature","Encrypted ZIP","Expected Central-File-Header signature"]),recoverableZipErrorMessagePrefixes=["ZIP entry count exceeds ","Unsupported ZIP compression method:","ZIP entry compressed data exceeds ","ZIP entry decompressed data exceeds ","Expected data-descriptor-signature at position "],recoverableZipErrorCodes=new Set(["Z_BUF_ERROR","Z_DATA_ERROR","ERR_INVALID_STATE"]);zipDataDescriptorOverlapLengthInBytes=zipDataDescriptorLengthInBytes-1;DetectionZipHandler=class DetectionZipHandler extends ZipHandler{async unzip(fileCallback){let shouldStop=!1,zipEntryCount=0,zipScanStart=this.tokenizer.position;this.knownSizeDescriptorScannedBytes=0;do{if(hasExceededUnknownSizeScanBudget(this.tokenizer,zipScanStart,maximumUntrustedSkipSizeInBytes))throw new ParserHardLimitError(`ZIP stream probing exceeds ${maximumUntrustedSkipSizeInBytes} bytes`);let zipHeader=await this.readLocalFileHeader();if(!zipHeader)break;if(zipEntryCount++,zipEntryCount>maximumZipEntryCount)throw Error(`ZIP entry count exceeds ${maximumZipEntryCount}`);let next=fileCallback(zipHeader);shouldStop=Boolean(next.stop),await this.tokenizer.ignore(zipHeader.extraFieldLength);let fileData=await readZipEntryData(this,zipHeader,{shouldBuffer:Boolean(next.handler),maximumDescriptorLength:Math.min(maximumZipEntrySizeInBytes,getRemainingZipScanBudget(this,zipScanStart))});if(next.handler)await this.inflate(zipHeader,fileData,next.handler);if(zipHeader.dataDescriptor){let dataDescriptor=new Uint8Array(zipDataDescriptorLengthInBytes);if(await this.tokenizer.readBuffer(dataDescriptor),UINT32_LE.get(dataDescriptor,0)!==zipDataDescriptorSignature)throw Error(`Expected data-descriptor-signature at position ${this.tokenizer.position-dataDescriptor.length}`)}if(hasExceededUnknownSizeScanBudget(this.tokenizer,zipScanStart,maximumUntrustedSkipSizeInBytes))throw new ParserHardLimitError(`ZIP stream probing exceeds ${maximumUntrustedSkipSizeInBytes} bytes`)}while(!shouldStop)}}});async function detectEbml(tokenizer){async function readField(){let msb=await tokenizer.peekNumber(UINT8),mask=128,ic=0;while(mask!==0&&(msb&mask)===0)++ic,mask>>=1;let id=new Uint8Array(ic+1);return await safeReadBuffer(tokenizer,id,void 0,{maximumLength:id.length,reason:"EBML field"}),id}async function readElement(){let idField=await readField(),lengthField=await readField();lengthField[0]^=128>>lengthField.length-1;let nrLength=Math.min(6,lengthField.length),idView=new DataView(idField.buffer),lengthView=new DataView(lengthField.buffer,lengthField.length-nrLength,nrLength);return{id:getUintBE(idView),len:getUintBE(lengthView)}}async function readChildren(children){let ebmlElementCount=0;while(children>0){if(ebmlElementCount++,ebmlElementCount>maximumEbmlElementCount)return;if(hasExceededUnknownSizeScanBudget(tokenizer,ebmlScanStart,maximumUntrustedSkipSizeInBytes))return;let previousPosition=tokenizer.position,element=await readElement();if(element.id===17026){if(element.len>maximumEbmlDocumentTypeSizeInBytes)return;let documentTypeLength=getSafeBound(element.len,maximumEbmlDocumentTypeSizeInBytes,"EBML DocType");return(await tokenizer.readToken(new StringType2(documentTypeLength))).split("\x00",1)[0]}if(hasUnknownFileSize(tokenizer)&&(!Number.isFinite(element.len)||element.len<0||element.len>maximumEbmlElementPayloadSizeInBytes))return;if(await safeIgnore(tokenizer,element.len,{maximumLength:hasUnknownFileSize(tokenizer)?maximumEbmlElementPayloadSizeInBytes:tokenizer.fileInfo.size,reason:"EBML payload"}),--children,tokenizer.position<=previousPosition)return}}let rootElement=await readElement(),ebmlScanStart=tokenizer.position;switch(await readChildren(rootElement.len)){case"webm":return{ext:"webm",mime:"video/webm"};case"matroska":return{ext:"mkv",mime:"video/matroska"};default:}}var maximumEbmlDocumentTypeSizeInBytes=64,maximumEbmlElementPayloadSizeInBytes=1048576,maximumEbmlElementCount=256;var init_ebml=__esm(()=>{init_lib2();init_uint8array_extras();init_parser()});function isPngAncillaryChunk(type){return(type.codePointAt(0)&32)!==0}async function detectPng(tokenizer){let pngFileType={ext:"png",mime:"image/png"},apngFileType={ext:"apng",mime:"image/apng"};await tokenizer.ignore(8);async function readChunkHeader(){return{length:await tokenizer.readToken(INT32_BE),type:await tokenizer.readToken(new StringType2(4,"latin1"))}}let isUnknownPngStream=hasUnknownFileSize(tokenizer),pngScanStart=tokenizer.position,pngChunkCount=0,hasSeenImageHeader=!1;do{if(pngChunkCount++,pngChunkCount>maximumPngChunkCount)break;if(hasExceededUnknownSizeScanBudget(tokenizer,pngScanStart,maximumPngStreamScanBudgetInBytes))break;let previousPosition=tokenizer.position,chunk=await readChunkHeader();if(chunk.length<0)return;if(chunk.type==="IHDR"){if(chunk.length!==13)return;hasSeenImageHeader=!0}switch(chunk.type){case"IDAT":return pngFileType;case"acTL":return apngFileType;default:if(!hasSeenImageHeader&&chunk.type!=="CgBI")return;if(isUnknownPngStream&&chunk.length>maximumPngChunkSizeInBytes)return hasSeenImageHeader&&isPngAncillaryChunk(chunk.type)?pngFileType:void 0;try{await safeIgnore(tokenizer,chunk.length+4,{maximumLength:isUnknownPngStream?maximumPngChunkSizeInBytes+4:tokenizer.fileInfo.size,reason:"PNG chunk payload"})}catch(error){if(!isUnknownPngStream&&(error instanceof ParserHardLimitError||error instanceof EndOfStreamError))return pngFileType;throw error}}if(tokenizer.position<=previousPosition)break}while(tokenizer.position+8<tokenizer.fileInfo.size);return pngFileType}var maximumPngChunkCount=512,maximumPngStreamScanBudgetInBytes=16777216,maximumPngChunkSizeInBytes=1048576;var init_png=__esm(()=>{init_lib2();init_core();init_parser()});async function detectAsf(tokenizer){let isMalformedAsf=!1;try{async function readHeader(){let guid=new Uint8Array(16);return await safeReadBuffer(tokenizer,guid,void 0,{maximumLength:guid.length,reason:"ASF header GUID"}),{id:guid,size:Number(await tokenizer.readToken(UINT64_LE))}}await safeIgnore(tokenizer,30,{maximumLength:30,reason:"ASF header prelude"});let isUnknownFileSize=hasUnknownFileSize(tokenizer),asfHeaderScanStart=tokenizer.position,asfHeaderObjectCount=0;while(tokenizer.position+24<tokenizer.fileInfo.size){if(asfHeaderObjectCount++,asfHeaderObjectCount>maximumAsfHeaderObjectCount)break;if(hasExceededUnknownSizeScanBudget(tokenizer,asfHeaderScanStart,maximumUntrustedSkipSizeInBytes))break;let previousPosition=tokenizer.position,header=await readHeader(),payload=header.size-24;if(!Number.isFinite(payload)||payload<0){isMalformedAsf=!0;break}if(checkBytes(header.id,[145,7,220,183,183,169,207,17,142,230,0,192,12,32,83,101])){let typeId=new Uint8Array(16);if(payload-=await safeReadBuffer(tokenizer,typeId,void 0,{maximumLength:typeId.length,reason:"ASF stream type GUID"}),checkBytes(typeId,[64,158,105,248,77,91,207,17,168,253,0,128,95,92,68,43]))return{ext:"asf",mime:"audio/x-ms-asf"};if(checkBytes(typeId,[192,239,25,188,77,91,207,17,168,253,0,128,95,92,68,43]))return{ext:"asf",mime:"video/x-ms-asf"};break}if(isUnknownFileSize&&payload>maximumAsfHeaderPayloadSizeInBytes){isMalformedAsf=!0;break}if(await safeIgnore(tokenizer,payload,{maximumLength:isUnknownFileSize?maximumAsfHeaderPayloadSizeInBytes:tokenizer.fileInfo.size,reason:"ASF header payload"}),tokenizer.position<=previousPosition){isMalformedAsf=!0;break}}}catch(error){if(error instanceof EndOfStreamError||error instanceof ParserHardLimitError){if(hasUnknownFileSize(tokenizer))isMalformedAsf=!0}else throw error}if(isMalformedAsf)return;return{ext:"asf",mime:"application/vnd.ms-asf"}}var maximumAsfHeaderObjectCount=512,maximumAsfHeaderPayloadSizeInBytes=1048576;var init_asf=__esm(()=>{init_lib2();init_core();init_parser()});function normalizeSampleSize(sampleSize){if(!Number.isFinite(sampleSize))return reasonableDetectionSizeInBytes;return Math.max(1,Math.trunc(sampleSize))}function normalizeMpegOffsetTolerance(mpegOffsetTolerance){if(!Number.isFinite(mpegOffsetTolerance))return 0;return Math.max(0,Math.min(maximumMpegOffsetTolerance,Math.trunc(mpegOffsetTolerance)))}function getKnownFileSizeOrMaximum(fileSize){if(!Number.isFinite(fileSize))return Number.MAX_SAFE_INTEGER;return Math.max(0,fileSize)}function importAtRuntime(specifier){return import(specifier)}function toDefaultStream(stream){return stream.pipeThrough(new TransformStream)}function readWithSignal(reader,signal){if(signal===void 0)return reader.read();return signal.throwIfAborted(),Promise.race([reader.read(),new Promise((_resolve,reject)=>{signal.addEventListener("abort",()=>{reject(signal.reason),reader.cancel(signal.reason).catch(()=>{})},{once:!0})})])}function createByteLimitedReadableStream(stream,maximumBytes){let reader=stream.getReader(),emittedBytes=0,isSourceDone=!1,isSourceCanceled=!1,cancelSource=async(reason)=>{if(isSourceDone||isSourceCanceled)return;isSourceCanceled=!0,await reader.cancel(reason)};return new ReadableStream({async pull(controller){if(emittedBytes>=maximumBytes){controller.close(),await cancelSource();return}let{done,value}=await reader.read();if(done||!value){isSourceDone=!0,controller.close();return}let remainingBytes=maximumBytes-emittedBytes;if(value.length>remainingBytes){controller.enqueue(value.subarray(0,remainingBytes)),emittedBytes+=remainingBytes,controller.close(),await cancelSource();return}controller.enqueue(value),emittedBytes+=value.length},async cancel(reason){await cancelSource(reason)}})}async function fileTypeFromBlob(blob,options){return new FileTypeParser(options).fromBlob(blob)}class FileTypeParser{buffer;tokenizer;detectionReentryCount;constructor(options){let normalizedMpegOffsetTolerance=normalizeMpegOffsetTolerance(options?.mpegOffsetTolerance),maxBufferSize=options?.maxBufferSize??1/0;if(maxBufferSize!==1/0&&(!Number.isSafeInteger(maxBufferSize)||maxBufferSize<=0))throw RangeError("maxBufferSize must be a positive safe integer or Infinity");this.options={...options,mpegOffsetTolerance:normalizedMpegOffsetTolerance},this.detectors=[...this.options.customDetectors??[],{id:"core",detect:(tokenizer)=>this.detectConfident(tokenizer)},{id:"core.imprecise",detect:(tokenizer)=>this.detectImprecise(tokenizer)}],this.tokenizerOptions={abortSignal:this.options.signal,maxBufferSize},this.gzipProbeDepth=0}getTokenizerOptions(){return{...this.tokenizerOptions}}createTokenizerFromWebStream(stream){return fromWebStream(toDefaultStream(stream),this.getTokenizerOptions())}async parseTokenizer(tokenizer,detectionReentryCount=0){this.detectionReentryCount=detectionReentryCount;let initialPosition=tokenizer.position;for(let detector of this.detectors){let fileType;try{fileType=await detector.detect(tokenizer)}catch(error){if(error instanceof EndOfStreamError)return;if(error instanceof ParserHardLimitError)return;throw error}if(fileType)return fileType;if(initialPosition!==tokenizer.position)return}}async fromTokenizer(tokenizer){try{return await this.parseTokenizer(tokenizer)}finally{await tokenizer.close()}}async fromBuffer(input){if(!(input instanceof Uint8Array||input instanceof ArrayBuffer))throw TypeError(`Expected the \`input\` argument to be of type \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof input}\``);let buffer=input instanceof Uint8Array?input:new Uint8Array(input);if(!(buffer?.length>1))return;return this.fromTokenizer(fromBuffer(buffer,this.getTokenizerOptions()))}async fromBlob(blob){this.options.signal?.throwIfAborted();let tokenizer=fromBlob(blob,this.getTokenizerOptions());return this.fromTokenizer(tokenizer)}async fromStream(stream){this.options.signal?.throwIfAborted();let tokenizer=this.createTokenizerFromWebStream(stream);return this.fromTokenizer(tokenizer)}async fromFile(path){this.options.signal?.throwIfAborted();let{fromFile,NotRegularFileError}=await importAtRuntime("strtok3"),tokenizer;try{tokenizer=await fromFile(path,{...this.getTokenizerOptions(),regularFileOnly:!0})}catch(error){if(error instanceof NotRegularFileError)return;throw error}return this.fromTokenizer(tokenizer)}async toDetectionStream(stream,options){this.options.signal?.throwIfAborted();let sampleSize=normalizeSampleSize(options?.sampleSize??reasonableDetectionSizeInBytes),detectedFileType,hasStreamEnded=!1,reader=stream.getReader(),chunks=[],totalSize=0;try{while(totalSize<sampleSize){let{value,done}=await readWithSignal(reader,this.options.signal);if(done||!value){hasStreamEnded=!0;break}chunks.push(value),totalSize+=value.length}if(!hasStreamEnded&&totalSize===sampleSize){let{value,done}=await readWithSignal(reader,this.options.signal);if(done||!value)hasStreamEnded=!0;else chunks.push(value),totalSize+=value.length}}finally{reader.releaseLock()}if(totalSize>0){let sample=chunks.length===1?chunks[0]:concatUint8Arrays(chunks);try{detectedFileType=await this.fromBuffer(sample.subarray(0,sampleSize))}catch(error){if(!(error instanceof EndOfStreamError))throw error;detectedFileType=void 0}if(!hasStreamEnded&&detectedFileType?.ext==="pages")detectedFileType={ext:"zip",mime:"application/zip"}}let transformStream=new TransformStream({start(controller){for(let chunk of chunks)controller.enqueue(chunk)},transform(chunk,controller){controller.enqueue(chunk)}}),newStream=stream.pipeThrough(transformStream);return newStream.fileType=detectedFileType,newStream}async detectGzip(tokenizer){if(this.gzipProbeDepth>=maximumNestedGzipProbeDepth)return{ext:"gz",mime:"application/gzip"};let gzipHandler=new GzipHandler(tokenizer),limitedInflatedStream=createByteLimitedReadableStream(gzipHandler.inflate(),maximumNestedGzipDetectionSizeInBytes),hasUnknownSize=hasUnknownFileSize(tokenizer),timeout,probeSignal,probeParser,compressedFileType;if(hasUnknownSize){let timeoutController=new AbortController;timeout=setTimeout(()=>{timeoutController.abort(new DOMException(`Operation timed out after ${unknownSizeGzipProbeTimeoutInMilliseconds} ms`,"TimeoutError"))},unknownSizeGzipProbeTimeoutInMilliseconds),probeSignal=this.options.signal===void 0?timeoutController.signal:AbortSignal.any([this.options.signal,timeoutController.signal]),probeParser=new FileTypeParser({...this.options,signal:probeSignal}),probeParser.gzipProbeDepth=this.gzipProbeDepth+1}else this.gzipProbeDepth++;try{compressedFileType=await(probeParser??this).fromStream(limitedInflatedStream)}catch(error){if(error?.name==="AbortError"&&probeSignal?.reason?.name!=="TimeoutError")throw error}finally{if(clearTimeout(timeout),!hasUnknownSize)this.gzipProbeDepth--}if(compressedFileType?.ext==="tar")return{ext:"tar.gz",mime:"application/gzip"};return{ext:"gz",mime:"application/gzip"}}check(header,options){return checkBytes(this.buffer,header,options)}checkString(header,options){return this.check(stringToBytes(header,options?.encoding),options)}async detectConfident(tokenizer){if(this.buffer=new Uint8Array(reasonableDetectionSizeInBytes),tokenizer.fileInfo.size===void 0)tokenizer.fileInfo.size=Number.MAX_SAFE_INTEGER;if(this.tokenizer=tokenizer,hasUnknownFileSize(tokenizer)){if(await tokenizer.peekBuffer(this.buffer,{length:3,mayBeLess:!0}),this.check([31,139,8]))return this.detectGzip(tokenizer)}if(await tokenizer.peekBuffer(this.buffer,{length:32,mayBeLess:!0}),this.check([66,77]))return{ext:"bmp",mime:"image/bmp"};if(this.check([11,119]))return{ext:"ac3",mime:"audio/vnd.dolby.dd-raw"};if(this.check([120,1]))return{ext:"dmg",mime:"application/x-apple-diskimage"};if(this.check([77,90]))return{ext:"exe",mime:"application/x-msdownload"};if(this.check([37,33])){if(await tokenizer.peekBuffer(this.buffer,{length:24,mayBeLess:!0}),this.checkString("PS-Adobe-",{offset:2})&&this.checkString(" EPSF-",{offset:14}))return{ext:"eps",mime:"application/eps"};return{ext:"ps",mime:"application/postscript"}}if(this.check([31,160])||this.check([31,157]))return{ext:"Z",mime:"application/x-compress"};if(this.check([199,113]))return{ext:"cpio",mime:"application/x-cpio"};if(this.check([96,234]))return{ext:"arj",mime:"application/x-arj"};if(this.check([239,187,191])){if(this.detectionReentryCount>=maximumDetectionReentryCount)return;return this.detectionReentryCount++,await this.tokenizer.ignore(3),this.detectConfident(tokenizer)}if(this.check([71,73,70]))return{ext:"gif",mime:"image/gif"};if(this.check([73,73,188]))return{ext:"jxr",mime:"image/vnd.ms-photo"};if(this.check([31,139,8]))return this.detectGzip(tokenizer);if(this.check([66,90,104]))return{ext:"bz2",mime:"application/x-bzip2"};if(this.checkString("ID3")){await safeIgnore(tokenizer,6,{maximumLength:6,reason:"ID3 header prefix"});let id3HeaderLength=await tokenizer.readToken(uint32SyncSafeToken),isUnknownFileSize=hasUnknownFileSize(tokenizer);if(!Number.isFinite(id3HeaderLength)||id3HeaderLength<0||isUnknownFileSize&&(id3HeaderLength>maximumId3HeaderSizeInBytes||tokenizer.position+id3HeaderLength>maximumId3HeaderSizeInBytes))return;if(tokenizer.position+id3HeaderLength>tokenizer.fileInfo.size){if(isUnknownFileSize)return;return{ext:"mp3",mime:"audio/mpeg"}}try{await safeIgnore(tokenizer,id3HeaderLength,{maximumLength:isUnknownFileSize?maximumId3HeaderSizeInBytes:tokenizer.fileInfo.size,reason:"ID3 payload"})}catch(error){if(error instanceof EndOfStreamError)return;throw error}if(this.detectionReentryCount>=maximumDetectionReentryCount)return;return this.detectionReentryCount++,this.parseTokenizer(tokenizer,this.detectionReentryCount)}if(this.checkString("MP+"))return{ext:"mpc",mime:"audio/x-musepack"};if((this.buffer[0]===67||this.buffer[0]===70)&&this.check([87,83],{offset:1}))return{ext:"swf",mime:"application/x-shockwave-flash"};if(this.check([255,216,255])){if(this.check([247],{offset:3}))return{ext:"jls",mime:"image/jls"};return{ext:"jpg",mime:"image/jpeg"}}if(this.check([79,98,106,1]))return{ext:"avro",mime:"application/avro"};if(this.checkString("FLIF"))return{ext:"flif",mime:"image/flif"};if(this.checkString("8BPS"))return{ext:"psd",mime:"image/vnd.adobe.photoshop"};if(this.checkString("MPCK"))return{ext:"mpc",mime:"audio/x-musepack"};if(this.checkString("FORM"))return{ext:"aif",mime:"audio/aiff"};if(this.checkString("caff")&&this.check([0,1],{offset:4})&&this.checkString("desc",{offset:8}))return{ext:"caf",mime:"audio/x-caf"};if(this.checkString("icns",{offset:0}))return{ext:"icns",mime:"image/icns"};if(this.check([80,75,3,4]))return detectZip(tokenizer);if(this.checkString("OggS")){await tokenizer.ignore(28);let type=new Uint8Array(8);if(await tokenizer.readBuffer(type),checkBytes(type,[79,112,117,115,72,101,97,100]))return{ext:"opus",mime:"audio/ogg; codecs=opus"};if(checkBytes(type,[128,116,104,101,111,114,97]))return{ext:"ogv",mime:"video/ogg"};if(checkBytes(type,[1,118,105,100,101,111,0]))return{ext:"ogm",mime:"video/ogg"};if(checkBytes(type,[127,70,76,65,67]))return{ext:"oga",mime:"audio/ogg"};if(checkBytes(type,[83,112,101,101,120,32,32]))return{ext:"spx",mime:"audio/ogg"};if(checkBytes(type,[1,118,111,114,98,105,115]))return{ext:"ogg",mime:"audio/ogg"};return{ext:"ogx",mime:"application/ogg"}}if(this.check([80,75])&&[3,5,7].includes(this.buffer[2])&&[4,6,8].includes(this.buffer[3]))return{ext:"zip",mime:"application/zip"};if(this.checkString("MThd"))return{ext:"mid",mime:"audio/midi"};if(this.checkString("wOFF")&&(this.check([0,1,0,0],{offset:4})||this.checkString("OTTO",{offset:4})))return{ext:"woff",mime:"font/woff"};if(this.checkString("wOF2")&&(this.check([0,1,0,0],{offset:4})||this.checkString("OTTO",{offset:4})))return{ext:"woff2",mime:"font/woff2"};if(this.check([212,195,178,161])||this.check([161,178,195,212]))return{ext:"pcap",mime:"application/vnd.tcpdump.pcap"};if(this.checkString("DSD "))return{ext:"dsf",mime:"audio/x-dsf"};if(this.checkString("LZIP"))return{ext:"lz",mime:"application/lzip"};if(this.checkString("fLaC"))return{ext:"flac",mime:"audio/flac"};if(this.check([66,80,71,251]))return{ext:"bpg",mime:"image/bpg"};if(this.checkString("wvpk"))return{ext:"wv",mime:"audio/wavpack"};if(this.checkString("%PDF"))return{ext:"pdf",mime:"application/pdf"};if(this.check([0,97,115,109]))return{ext:"wasm",mime:"application/wasm"};if(this.check([73,73])){let fileType=await this.readTiffHeader(!1);if(fileType)return fileType}if(this.check([77,77])){let fileType=await this.readTiffHeader(!0);if(fileType)return fileType}if(this.checkString("MAC "))return{ext:"ape",mime:"audio/ape"};if(this.check([26,69,223,163]))return detectEbml(tokenizer);if(this.checkString("SQLi"))return{ext:"sqlite",mime:"application/x-sqlite3"};if(this.check([78,69,83,26]))return{ext:"nes",mime:"application/x-nintendo-nes-rom"};if(this.checkString("Cr24"))return{ext:"crx",mime:"application/x-google-chrome-extension"};if(this.checkString("MSCF")||this.checkString("ISc("))return{ext:"cab",mime:"application/vnd.ms-cab-compressed"};if(this.check([237,171,238,219]))return{ext:"rpm",mime:"application/x-rpm"};if(this.check([197,208,211,198]))return{ext:"eps",mime:"application/eps"};if(this.check([40,181,47,253]))return{ext:"zst",mime:"application/zstd"};if(this.check([127,69,76,70]))return{ext:"elf",mime:"application/x-elf"};if(this.check([33,66,68,78]))return{ext:"pst",mime:"application/vnd.ms-outlook"};if(this.checkString("PAR1")||this.checkString("PARE"))return{ext:"parquet",mime:"application/vnd.apache.parquet"};if(this.checkString("ttcf"))return{ext:"ttc",mime:"font/collection"};if(this.check([254,237,250,206])||this.check([254,237,250,207])||this.check([206,250,237,254])||this.check([207,250,237,254]))return{ext:"macho",mime:"application/x-mach-binary"};if(this.check([4,34,77,24]))return{ext:"lz4",mime:"application/x-lz4"};if(this.checkString("regf"))return{ext:"dat",mime:"application/x-ft-windows-registry-hive"};if(this.checkString("$FL2")||this.checkString("$FL3"))return{ext:"sav",mime:"application/x-spss-sav"};if(this.check([79,84,84,79,0]))return{ext:"otf",mime:"font/otf"};if(this.checkString("#!AMR"))return{ext:"amr",mime:"audio/amr"};if(this.checkString(String.raw`{\rtf`))return{ext:"rtf",mime:"application/rtf"};if(this.check([70,76,86,1]))return{ext:"flv",mime:"video/x-flv"};if(this.checkString("IMPM"))return{ext:"it",mime:"audio/x-it"};if(this.checkString("-lh0-",{offset:2})||this.checkString("-lh1-",{offset:2})||this.checkString("-lh2-",{offset:2})||this.checkString("-lh3-",{offset:2})||this.checkString("-lh4-",{offset:2})||this.checkString("-lh5-",{offset:2})||this.checkString("-lh6-",{offset:2})||this.checkString("-lh7-",{offset:2})||this.checkString("-lzs-",{offset:2})||this.checkString("-lz4-",{offset:2})||this.checkString("-lz5-",{offset:2})||this.checkString("-lhd-",{offset:2}))return{ext:"lzh",mime:"application/x-lzh-compressed"};if(this.check([0,0,1,186])){if(this.check([33],{offset:4,mask:[241]}))return{ext:"mpg",mime:"video/MP1S"};if(this.check([68],{offset:4,mask:[196]}))return{ext:"mpg",mime:"video/MP2P"}}if(this.checkString("ITSF"))return{ext:"chm",mime:"application/vnd.ms-htmlhelp"};if(this.check([202,254,186,190])){let machOArchitectureCount=UINT32_BE.get(this.buffer,4);if(machOArchitectureCount>0&&machOArchitectureCount<=30)return{ext:"macho",mime:"application/x-mach-binary"};if(UINT16_BE.get(this.buffer,6)>30)return{ext:"class",mime:"application/java-vm"}}if(this.checkString(".RMF"))return{ext:"rm",mime:"application/vnd.rn-realmedia"};if(this.checkString("DRACO"))return{ext:"drc",mime:"application/x-ft-draco"};if(this.check([253,55,122,88,90,0]))return{ext:"xz",mime:"application/x-xz"};if(this.checkString("<?xml "))return{ext:"xml",mime:"application/xml"};if(this.check([55,122,188,175,39,28]))return{ext:"7z",mime:"application/x-7z-compressed"};if(this.check([82,97,114,33,26,7])&&(this.buffer[6]===0||this.buffer[6]===1))return{ext:"rar",mime:"application/x-rar-compressed"};if(this.checkString("solid "))return{ext:"stl",mime:"model/stl"};if(this.checkString("AC")){let version=new StringType2(4,"latin1").get(this.buffer,2);if(/^\d+$/v.test(version)&&version>=1000&&version<=1050)return{ext:"dwg",mime:"image/vnd.dwg"}}if(this.checkString("070707"))return{ext:"cpio",mime:"application/x-cpio"};if(this.checkString("BLENDER"))return{ext:"blend",mime:"application/x-blender"};if(this.checkString("!<arch>")){if(await tokenizer.ignore(8),await tokenizer.readToken(new StringType2(13,"ascii"))==="debian-binary")return{ext:"deb",mime:"application/x-deb"};return{ext:"ar",mime:"application/x-unix-archive"}}if(this.checkString("WEBVTT")&&[`
|
|
7
|
+
`,"\r","\t"," ","\x00"].some((char7)=>this.checkString(char7,{offset:6})))return{ext:"vtt",mime:"text/vtt"};if(this.check([137,80,78,71,13,10,26,10]))return detectPng(tokenizer);if(this.check([65,82,82,79,87,49,0,0]))return{ext:"arrow",mime:"application/vnd.apache.arrow.file"};if(this.check([103,108,84,70,2,0,0,0]))return{ext:"glb",mime:"model/gltf-binary"};if(this.check([102,114,101,101],{offset:4})||this.check([109,100,97,116],{offset:4})||this.check([109,111,111,118],{offset:4})||this.check([119,105,100,101],{offset:4}))return{ext:"mov",mime:"video/quicktime"};if(this.check([73,73,82,79,8,0,0,0,24]))return{ext:"orf",mime:"image/x-olympus-orf"};if(this.checkString("gimp xcf "))return{ext:"xcf",mime:"image/x-xcf"};if(this.checkString("ftyp",{offset:4})&&(this.buffer[8]&96)!==0){let brandMajor=new StringType2(4,"latin1").get(this.buffer,8).replace("\x00"," ").trim();switch(brandMajor){case"avif":case"avis":return{ext:"avif",mime:"image/avif"};case"mif1":return{ext:"heic",mime:"image/heif"};case"msf1":return{ext:"heic",mime:"image/heif-sequence"};case"heic":case"heix":return{ext:"heic",mime:"image/heic"};case"hevc":case"hevx":return{ext:"heic",mime:"image/heic-sequence"};case"qt":return{ext:"mov",mime:"video/quicktime"};case"M4V":case"M4VH":case"M4VP":return{ext:"m4v",mime:"video/x-m4v"};case"M4P":return{ext:"m4p",mime:"video/mp4"};case"M4B":return{ext:"m4b",mime:"audio/mp4"};case"M4A":return{ext:"m4a",mime:"audio/x-m4a"};case"F4V":return{ext:"f4v",mime:"video/mp4"};case"F4P":return{ext:"f4p",mime:"video/mp4"};case"F4A":return{ext:"f4a",mime:"audio/mp4"};case"F4B":return{ext:"f4b",mime:"audio/mp4"};case"crx":return{ext:"cr3",mime:"image/x-canon-cr3"};default:if(brandMajor.startsWith("3g")){if(brandMajor.startsWith("3g2"))return{ext:"3g2",mime:"video/3gpp2"};return{ext:"3gp",mime:"video/3gpp"}}return{ext:"mp4",mime:"video/mp4"}}}if(this.checkString(`REGEDIT4\r
|
|
8
|
+
`))return{ext:"reg",mime:"application/x-ms-regedit"};if(this.check([82,73,70,70])){if(this.checkString("WEBP",{offset:8}))return{ext:"webp",mime:"image/webp"};if(this.check([65,86,73],{offset:8}))return{ext:"avi",mime:"video/vnd.avi"};if(this.check([87,65,86,69],{offset:8}))return{ext:"wav",mime:"audio/wav"};if(this.check([81,76,67,77],{offset:8}))return{ext:"qcp",mime:"audio/qcelp"}}if(this.check([73,73,85,0,24,0,0,0,136,231,116,216]))return{ext:"rw2",mime:"image/x-panasonic-rw2"};if(this.check([48,38,178,117,142,102,207,17,166,217]))return detectAsf(tokenizer);if(this.check([171,75,84,88,32,49,49,187,13,10,26,10]))return{ext:"ktx",mime:"image/ktx"};if((this.check([126,16,4])||this.check([126,24,4]))&&this.check([48,77,73,69],{offset:4}))return{ext:"mie",mime:"application/x-mie"};if(this.check([39,10,0,0,0,0,0,0,0,0,0,0],{offset:2}))return{ext:"shp",mime:"application/x-esri-shape"};if(this.check([255,79,255,81]))return{ext:"j2c",mime:"image/j2c"};if(this.check([0,0,0,12,106,80,32,32,13,10,135,10]))switch(await tokenizer.ignore(20),await tokenizer.readToken(new StringType2(4,"ascii"))){case"jp2 ":return{ext:"jp2",mime:"image/jp2"};case"jpx ":return{ext:"jpx",mime:"image/jpx"};case"jpm ":return{ext:"jpm",mime:"image/jpm"};case"mjp2":return{ext:"mj2",mime:"image/mj2"};default:return}if(this.check([255,10])||this.check([0,0,0,12,74,88,76,32,13,10,135,10]))return{ext:"jxl",mime:"image/jxl"};if(this.check([254,255])){if(this.checkString("<?xml ",{offset:2,encoding:"utf-16be"}))return{ext:"xml",mime:"application/xml"};return}if(this.check([208,207,17,224,161,177,26,225]))return{ext:"cfb",mime:"application/x-cfb"};if(this.checkString("FRM8")&&this.checkString("DSD ",{offset:12}))return{ext:"dff",mime:"audio/x-dff"};if(await tokenizer.peekBuffer(this.buffer,{length:Math.min(256,tokenizer.fileInfo.size),mayBeLess:!0}),this.check([97,99,115,112],{offset:36}))return{ext:"icc",mime:"application/vnd.iccprofile"};if(this.checkString("**ACE",{offset:7})&&this.checkString("**",{offset:12}))return{ext:"ace",mime:"application/x-ace-compressed"};if(this.checkString("BEGIN:")){if(this.checkString("VCARD",{offset:6}))return{ext:"vcf",mime:"text/vcard"};if(this.checkString("VCALENDAR",{offset:6}))return{ext:"ics",mime:"text/calendar"}}if(this.checkString("FUJIFILMCCD-RAW"))return{ext:"raf",mime:"image/x-fujifilm-raf"};if(this.checkString("Extended Module:"))return{ext:"xm",mime:"audio/x-xm"};if(this.checkString("Creative Voice File"))return{ext:"voc",mime:"audio/x-voc"};if(this.check([4,0,0,0])&&this.buffer.length>=16){let jsonSize=new DataView(this.buffer.buffer).getUint32(12,!0);if(jsonSize>12&&this.buffer.length>=jsonSize+16)try{let header=new TextDecoder().decode(this.buffer.subarray(16,jsonSize+16));if(JSON.parse(header).files)return{ext:"asar",mime:"application/x-asar"}}catch{}}if(this.check([6,14,43,52,2,5,1,1,13,1,2,1,1,2]))return{ext:"mxf",mime:"application/mxf"};if(this.checkString("SCRM",{offset:44}))return{ext:"s3m",mime:"audio/x-s3m"};if(this.check([71])&&this.check([71],{offset:188}))return{ext:"mts",mime:"video/mp2t"};if(this.check([71],{offset:4})&&this.check([71],{offset:196}))return{ext:"mts",mime:"video/mp2t"};if(this.check([66,79,79,75,77,79,66,73],{offset:60}))return{ext:"mobi",mime:"application/x-mobipocket-ebook"};if(this.check([68,73,67,77],{offset:128}))return{ext:"dcm",mime:"application/dicom"};if(this.check([76,0,0,0,1,20,2,0,0,0,0,0,192,0,0,0,0,0,0,70]))return{ext:"lnk",mime:"application/x-ms-shortcut"};if(this.check([98,111,111,107,0,0,0,0,109,97,114,107,0,0,0,0]))return{ext:"alias",mime:"application/x-ft-apple.alias"};if(this.checkString("Kaydara FBX Binary \x00"))return{ext:"fbx",mime:"application/x-ft-fbx"};if(this.check([76,80],{offset:34})&&(this.check([0,0,1],{offset:8})||this.check([1,0,2],{offset:8})||this.check([2,0,2],{offset:8})))return{ext:"eot",mime:"application/vnd.ms-fontobject"};if(this.check([6,6,237,245,216,29,70,229,189,49,239,231,254,116,183,29]))return{ext:"indd",mime:"application/x-indesign"};if(this.check([255,255,0,0,7,0,0,0,4,0,0,0,1,0,1,0])||this.check([0,0,255,255,0,0,0,7,0,0,0,4,0,1,0,1]))return{ext:"jmp",mime:"application/x-jmp-data"};if(await tokenizer.peekBuffer(this.buffer,{length:Math.min(512,tokenizer.fileInfo.size),mayBeLess:!0}),this.checkString("ustar",{offset:257})&&(this.checkString("\x00",{offset:262})||this.checkString(" ",{offset:262}))||this.check([0,0,0,0,0,0],{offset:257})&&tarHeaderChecksumMatches(this.buffer))return{ext:"tar",mime:"application/x-tar"};if(this.check([255,254])){if(this.checkString("<?xml ",{offset:2,encoding:"utf-16le"}))return{ext:"xml",mime:"application/xml"};if(this.check([255,14],{offset:2})&&this.checkString("SketchUp Model",{offset:4,encoding:"utf-16le"}))return{ext:"skp",mime:"application/vnd.sketchup.skp"};if(this.checkString(`Windows Registry Editor Version 5.00\r
|
|
9
|
+
`,{offset:2,encoding:"utf-16le"}))return{ext:"reg",mime:"application/x-ms-regedit"};return}if(this.checkString("-----BEGIN PGP MESSAGE-----"))return{ext:"pgp",mime:"application/pgp-encrypted"};let isoStandardIdentifierOffset=32769,isoStandardIdentifierLength=5;if(tokenizer.supportsRandomAccess()&&tokenizer.fileInfo.size>=isoStandardIdentifierOffset+isoStandardIdentifierLength){let isoStandardIdentifier=new Uint8Array(isoStandardIdentifierLength);if(await tokenizer.peekBuffer(isoStandardIdentifier,{position:isoStandardIdentifierOffset,length:isoStandardIdentifierLength,mayBeLess:!0}),checkBytes(isoStandardIdentifier,stringToBytes("CD001")))return{ext:"iso",mime:"application/x-iso9660-image"}}}async detectImprecise(tokenizer){this.buffer=new Uint8Array(reasonableDetectionSizeInBytes);let fileSize=getKnownFileSizeOrMaximum(tokenizer.fileInfo.size);if(await tokenizer.peekBuffer(this.buffer,{length:Math.min(8,fileSize),mayBeLess:!0}),this.check([0,0,1,186])||this.check([0,0,1,179]))return{ext:"mpg",mime:"video/mpeg"};if(this.check([0,1,0,0,0]))return{ext:"ttf",mime:"font/ttf"};if(this.check([0,0,1,0]))return{ext:"ico",mime:"image/x-icon"};if(this.check([0,0,2,0]))return{ext:"cur",mime:"image/x-icon"};if(await tokenizer.peekBuffer(this.buffer,{length:Math.min(4+this.options.mpegOffsetTolerance,fileSize),mayBeLess:!0}),this.buffer.length>=4+this.options.mpegOffsetTolerance)for(let depth=0;depth<=this.options.mpegOffsetTolerance;++depth){let type=this.scanMpeg(depth);if(type)return type}}async readTiffTag(isBigEndian){let tagId=await this.tokenizer.readToken(isBigEndian?UINT16_BE:UINT16_LE);switch(await this.tokenizer.ignore(10),tagId){case 50341:return{ext:"arw",mime:"image/x-sony-arw"};case 50706:return{ext:"dng",mime:"image/x-adobe-dng"};default:}}async readTiffIFD(isBigEndian){let numberOfTags=await this.tokenizer.readToken(isBigEndian?UINT16_BE:UINT16_LE);if(numberOfTags>maximumTiffTagCount)return;if(hasUnknownFileSize(this.tokenizer)&&2+numberOfTags*12>maximumTiffIfdOffsetInBytes)return;for(let n=0;n<numberOfTags;++n){let fileType=await this.readTiffTag(isBigEndian);if(fileType)return fileType}}async readTiffHeader(isBigEndian){let tiffFileType={ext:"tif",mime:"image/tiff"},version=(isBigEndian?UINT16_BE:UINT16_LE).get(this.buffer,2),ifdOffset=(isBigEndian?UINT32_BE:UINT32_LE).get(this.buffer,4);if(version===42){if(ifdOffset>=6){if(this.checkString("CR",{offset:8}))return{ext:"cr2",mime:"image/x-canon-cr2"};if(ifdOffset>=8){let someId1=(isBigEndian?UINT16_BE:UINT16_LE).get(this.buffer,8),someId2=(isBigEndian?UINT16_BE:UINT16_LE).get(this.buffer,10);if(someId1===28&&someId2===254||someId1===31&&someId2===11)return{ext:"nef",mime:"image/x-nikon-nef"}}}if(hasUnknownFileSize(this.tokenizer)&&ifdOffset>maximumTiffStreamIfdOffsetInBytes)return tiffFileType;let maximumTiffOffset=hasUnknownFileSize(this.tokenizer)?maximumTiffIfdOffsetInBytes:this.tokenizer.fileInfo.size;try{await safeIgnore(this.tokenizer,ifdOffset,{maximumLength:maximumTiffOffset,reason:"TIFF IFD offset"})}catch(error){if(error instanceof EndOfStreamError)return;throw error}let fileType;try{fileType=await this.readTiffIFD(isBigEndian)}catch(error){if(error instanceof EndOfStreamError)return;throw error}return fileType??tiffFileType}if(version===43)return tiffFileType}scanMpeg(offset){if(this.check([255,224],{offset,mask:[255,224]})){if(this.check([16],{offset:offset+1,mask:[22]}))return{ext:"aac",mime:"audio/aac"};if(this.check([255,254],{offset}))return;if(this.check([8],{offset:offset+1,mask:[24]}))return;if(this.check([240],{offset:offset+2,mask:[240]}))return;if(this.check([12],{offset:offset+2,mask:[12]}))return;if(this.check([2],{offset:offset+1,mask:[6]}))return{ext:"mp3",mime:"audio/mpeg"};if(this.check([4],{offset:offset+1,mask:[6]}))return{ext:"mp2",mime:"audio/mpeg"};if(this.check([6],{offset:offset+1,mask:[6]}))return{ext:"mp1",mime:"audio/mpeg"}}}}var reasonableDetectionSizeInBytes=4100,maximumMpegOffsetTolerance,maximumNestedGzipDetectionSizeInBytes,maximumNestedGzipProbeDepth=1,unknownSizeGzipProbeTimeoutInMilliseconds=100,maximumId3HeaderSizeInBytes,maximumTiffTagCount=512,maximumDetectionReentryCount=256,maximumTiffStreamIfdOffsetInBytes=1048576,maximumTiffIfdOffsetInBytes,supportedExtensions,supportedMimeTypes;var init_source=__esm(()=>{init_lib2();init_core();init_lib3();init_uint8array_extras();init_tokens();init_supported();init_parser();init_zip();init_ebml();init_png();init_asf();maximumMpegOffsetTolerance=reasonableDetectionSizeInBytes-4,maximumNestedGzipDetectionSizeInBytes=maximumUntrustedSkipSizeInBytes,maximumId3HeaderSizeInBytes=maximumUntrustedSkipSizeInBytes,maximumTiffIfdOffsetInBytes=maximumUntrustedSkipSizeInBytes;supportedExtensions=new Set(extensions),supportedMimeTypes=new Set(mimeTypes)});var require_dist=__commonJS(function(exports){Object.defineProperty(exports,"__esModule",{value:!0});exports.parseCookie=parseCookie;exports.parse=parseCookie;exports.stringifyCookie=stringifyCookie;exports.stringifySetCookie=stringifySetCookie;exports.serialize=stringifySetCookie;exports.parseSetCookie=parseSetCookie;exports.stringifySetCookie=stringifySetCookie;exports.serialize=stringifySetCookie;var cookieNameRegExp=/^[\u0021-\u003A\u003C\u003E-\u007E]+$/,cookieValueRegExp=/^[\u0021-\u003A\u003C-\u007E]*$/,domainValueRegExp=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,pathValueRegExp=/^[\u0020-\u003A\u003D-\u007E]*$/,maxAgeRegExp=/^-?\d+$/,__toString=Object.prototype.toString,NullObject=(()=>{let C=function(){};return C.prototype=Object.create(null),C})();function parseCookie(str,options){let obj=new NullObject,len=str.length;if(len<2)return obj;let dec=options?.decode||decode,index=0;do{let eqIdx=eqIndex(str,index,len);if(eqIdx===-1)break;let endIdx=endIndex(str,index,len);if(eqIdx>endIdx){index=str.lastIndexOf(";",eqIdx-1)+1;continue}let key=valueSlice(str,index,eqIdx);if(obj[key]===void 0)obj[key]=dec(valueSlice(str,eqIdx+1,endIdx));index=endIdx+1}while(index<len);return obj}function stringifyCookie(cookie,options){let enc=options?.encode||encodeURIComponent,cookieStrings=[];for(let name of Object.keys(cookie)){let val=cookie[name];if(val===void 0)continue;if(!cookieNameRegExp.test(name))throw TypeError(`cookie name is invalid: ${name}`);let value=enc(val);if(!cookieValueRegExp.test(value))throw TypeError(`cookie val is invalid: ${val}`);cookieStrings.push(`${name}=${value}`)}return cookieStrings.join("; ")}function stringifySetCookie(_name,_val,_opts){let cookie=typeof _name==="object"?_name:{..._opts,name:_name,value:String(_val)},enc=(typeof _val==="object"?_val:_opts)?.encode||encodeURIComponent;if(!cookieNameRegExp.test(cookie.name))throw TypeError(`argument name is invalid: ${cookie.name}`);let value=cookie.value?enc(cookie.value):"";if(!cookieValueRegExp.test(value))throw TypeError(`argument val is invalid: ${cookie.value}`);let str=cookie.name+"="+value;if(cookie.maxAge!==void 0){if(!Number.isInteger(cookie.maxAge))throw TypeError(`option maxAge is invalid: ${cookie.maxAge}`);str+="; Max-Age="+cookie.maxAge}if(cookie.domain){if(!domainValueRegExp.test(cookie.domain))throw TypeError(`option domain is invalid: ${cookie.domain}`);str+="; Domain="+cookie.domain}if(cookie.path){if(!pathValueRegExp.test(cookie.path))throw TypeError(`option path is invalid: ${cookie.path}`);str+="; Path="+cookie.path}if(cookie.expires){if(!isDate(cookie.expires)||!Number.isFinite(cookie.expires.valueOf()))throw TypeError(`option expires is invalid: ${cookie.expires}`);str+="; Expires="+cookie.expires.toUTCString()}if(cookie.httpOnly)str+="; HttpOnly";if(cookie.secure)str+="; Secure";if(cookie.partitioned)str+="; Partitioned";if(cookie.priority)switch(typeof cookie.priority==="string"?cookie.priority.toLowerCase():void 0){case"low":str+="; Priority=Low";break;case"medium":str+="; Priority=Medium";break;case"high":str+="; Priority=High";break;default:throw TypeError(`option priority is invalid: ${cookie.priority}`)}if(cookie.sameSite)switch(typeof cookie.sameSite==="string"?cookie.sameSite.toLowerCase():cookie.sameSite){case!0:case"strict":str+="; SameSite=Strict";break;case"lax":str+="; SameSite=Lax";break;case"none":str+="; SameSite=None";break;default:throw TypeError(`option sameSite is invalid: ${cookie.sameSite}`)}return str}function parseSetCookie(str,options){let dec=options?.decode||decode,len=str.length,endIdx=endIndex(str,0,len),eqIdx=eqIndex(str,0,endIdx),setCookie=eqIdx===-1?{name:"",value:dec(valueSlice(str,0,endIdx))}:{name:valueSlice(str,0,eqIdx),value:dec(valueSlice(str,eqIdx+1,endIdx))},index=endIdx+1;while(index<len){let endIdx=endIndex(str,index,len),eqIdx=eqIndex(str,index,endIdx),attr=eqIdx===-1?valueSlice(str,index,endIdx):valueSlice(str,index,eqIdx),val=eqIdx===-1?void 0:valueSlice(str,eqIdx+1,endIdx);switch(attr.toLowerCase()){case"httponly":setCookie.httpOnly=!0;break;case"secure":setCookie.secure=!0;break;case"partitioned":setCookie.partitioned=!0;break;case"domain":setCookie.domain=val;break;case"path":setCookie.path=val;break;case"max-age":if(val&&maxAgeRegExp.test(val))setCookie.maxAge=Number(val);break;case"expires":if(!val)break;let date=new Date(val);if(Number.isFinite(date.valueOf()))setCookie.expires=date;break;case"priority":if(!val)break;let priority=val.toLowerCase();if(priority==="low"||priority==="medium"||priority==="high")setCookie.priority=priority;break;case"samesite":if(!val)break;let sameSite=val.toLowerCase();if(sameSite==="lax"||sameSite==="strict"||sameSite==="none")setCookie.sameSite=sameSite;break}index=endIdx+1}return setCookie}function endIndex(str,min,len){let index=str.indexOf(";",min);return index===-1?len:index}function eqIndex(str,min,max){let index=str.indexOf("=",min);return index<max?index:-1}function valueSlice(str,min,max){let start=min,end=max;do{let code=str.charCodeAt(start);if(code!==32&&code!==9)break}while(++start<end);while(end>start){let code=str.charCodeAt(end-1);if(code!==32&&code!==9)break;end--}return str.slice(start,end)}function decode(str){if(str.indexOf("%")===-1)return str;try{return decodeURIComponent(str)}catch(e){return str}}function isDate(val){return __toString.call(val)==="[object Date]"}});var exports_type3={};__export(exports_type3,{Any:()=>Any,Argument:()=>Argument,Array:()=>Array2,AsyncIterator:()=>AsyncIterator,Awaited:()=>Awaited,BigInt:()=>BigInt2,Boolean:()=>Boolean2,Capitalize:()=>Capitalize,Composite:()=>Composite,Const:()=>Const,Constructor:()=>Constructor,ConstructorParameters:()=>ConstructorParameters,Date:()=>Date2,Enum:()=>Enum,Exclude:()=>Exclude,Extends:()=>Extends,Extract:()=>Extract,Function:()=>Function2,Index:()=>Index,InstanceType:()=>InstanceType,Instantiate:()=>Instantiate,Integer:()=>Integer,Intersect:()=>Intersect,Iterator:()=>Iterator,KeyOf:()=>KeyOf,Literal:()=>Literal,Lowercase:()=>Lowercase,Mapped:()=>Mapped,Module:()=>Module,Never:()=>Never,Not:()=>Not2,Null:()=>Null,Number:()=>Number2,Object:()=>Object2,Omit:()=>Omit,Optional:()=>Optional,Parameters:()=>Parameters,Partial:()=>Partial,Pick:()=>Pick,Promise:()=>Promise2,Readonly:()=>Readonly,ReadonlyOptional:()=>ReadonlyOptional,Record:()=>Record,Recursive:()=>Recursive,Ref:()=>Ref,RegExp:()=>RegExp2,Required:()=>Required,Rest:()=>Rest,ReturnType:()=>ReturnType,String:()=>String2,Symbol:()=>Symbol2,TemplateLiteral:()=>TemplateLiteral,Transform:()=>Transform,Tuple:()=>Tuple,Uint8Array:()=>Uint8Array2,Uncapitalize:()=>Uncapitalize,Undefined:()=>Undefined,Union:()=>Union,Unknown:()=>Unknown,Unsafe:()=>Unsafe,Uppercase:()=>Uppercase,Void:()=>Void});import{OTLPTraceExporter}from"@opentelemetry/exporter-trace-otlp-http";import{resourceFromAttributes}from"@opentelemetry/resources";import{NodeSDK}from"@opentelemetry/sdk-node";import{ConsoleSpanExporter,TraceIdRatioBasedSampler}from"@opentelemetry/sdk-trace-base";import{ATTR_SERVICE_NAME}from"@opentelemetry/semantic-conventions";class ArgusSDK{static instance;sdk=null;constructor(){}static isInitialized(){return ArgusSDK.instance!==void 0}static initialize(config){if(ArgusSDK.instance){console.error("[Argus] SDK already initialized. Ignoring duplicate call.");return}if(ArgusSDK.instance=new ArgusSDK,!config.enabled)return;let exporter=ArgusSDK.createExporter(config);ArgusSDK.instance.sdk=new NodeSDK({resource:resourceFromAttributes({[ATTR_SERVICE_NAME]:config.serviceName}),traceExporter:exporter,...config.samplingRate!==void 0&&{sampler:new TraceIdRatioBasedSampler(config.samplingRate)}}),ArgusSDK.instance.sdk.start()}static createExporter(config){switch(config.exporter){case"otlp-http":return new OTLPTraceExporter({url:config.endpoint??"http://localhost:4318/v1/traces"});case"console":default:return new ConsoleSpanExporter}}static async shutdown(){if(ArgusSDK.instance?.sdk)await ArgusSDK.instance.sdk.shutdown();ArgusSDK.instance=void 0}}import{SpanStatusCode,trace}from"@opentelemetry/api";function Traced(name,options){return function(target,propertyKey,descriptor){let original=descriptor.value,spanName=name??`${target.constructor.name}.${String(propertyKey)}`;return descriptor.value=async function(...args){return trace.getTracer("@elysiumjs/argus").startActiveSpan(spanName,options??{},async(span)=>{try{let result=await original.apply(this,args);return span.setStatus({code:SpanStatusCode.OK}),result}catch(error){throw span.setStatus({code:SpanStatusCode.ERROR,message:error instanceof Error?error.message:"Unknown error"}),span.recordException(error),error}finally{span.end()}})},descriptor}}import{trace as trace2}from"@opentelemetry/api";function withTraceContext(ctx={}){let span=trace2.getActiveSpan();if(!span)return ctx;let spanCtx=span.spanContext();return{...ctx,traceId:spanCtx.traceId,spanId:spanCtx.spanId}}import{SpanStatusCode as SpanStatusCode2,trace as trace3}from"@opentelemetry/api";var Y=(v,b)=>{let A=b?.length?{}:null;if(A)for(let Q of b)A[Q.part.charCodeAt(0)]=Q;return{part:v,store:null,inert:A,params:null,wildcardStore:null}},k=(v,b)=>({...v,part:b}),T=(v)=>({name:v,store:null,inert:null});class _{config;root={};history=[];deferred=[];constructor(v={}){if(this.config=v,v.lazy)this.find=this.lazyFind;if(v.onParam&&!Array.isArray(v.onParam))this.config.onParam=[this.config.onParam]}static regex={static:/:.+?(?=\/|$)/,params:/:.+?(?=\/|$)/g,optionalParams:/(\/:\w+\?)/g};lazyFind=(v,b)=>{if(!this.config.lazy)return this.find;return this.build(),this.find(v,b)};build(){if(!this.config.lazy)return;for(let[v,b,A]of this.deferred)this.add(v,b,A,{lazy:!1,ignoreHistory:!0});this.deferred=[],this.find=(v,b)=>{let A=this.root[v];if(!A)return null;return $(b,b.length,A,0,this.config.onParam)}}add(v,b,A,{ignoreError:Q=!1,ignoreHistory:O=!1,lazy:V=this.config.lazy}={}){if(V)return this.find=this.lazyFind,this.deferred.push([v,b,A]),A;if(typeof b!=="string")throw TypeError("Route path must be a string");if(b==="")b="/";else if(b[0]!=="/")b=`/${b}`;let X=b[b.length-1]==="*",J=b.match(_.regex.optionalParams);if(J){let F=b.replaceAll("?","");this.add(v,F,A,{ignoreError:Q,ignoreHistory:O,lazy:V});for(let B=0;B<J.length;B++){let D=b.replace(J[B],"");this.add(v,D,A,{ignoreError:!0,ignoreHistory:O,lazy:V})}return A}if(J)b=b.replaceAll("?","");if(this.history.find(([F,B,D])=>F===v&&B===b))return A;if(X||J&&b.charCodeAt(b.length-1)===63)b=b.slice(0,-1);if(!O)this.history.push([v,b,A]);let K=b.split(_.regex.static),G=b.match(_.regex.params)||[];if(K[K.length-1]==="")K.pop();let q;if(!this.root[v])q=this.root[v]=Y("/");else q=this.root[v];let U=0;for(let F=0;F<K.length;++F){let B=K[F];if(F>0){let D=G[U++].slice(1);if(q.params===null)q.params=T(D);else if(q.params.name!==D)if(Q)return A;else throw Error(`Cannot create route "${b}" with parameter "${D}" because a route already exists with a different parameter name ("${q.params.name}") in the same location`);let S=q.params;if(S.inert===null){q=S.inert=Y(B);continue}q=S.inert}for(let D=0;;){if(D===B.length){if(D<q.part.length){let S=k(q,q.part.slice(D));Object.assign(q,Y(B,[S]))}break}if(D===q.part.length){if(q.inert===null)q.inert={};let S=q.inert[B.charCodeAt(D)];if(S){q=S,B=B.slice(D),D=0;continue}let Z=Y(B.slice(D));q.inert[B.charCodeAt(D)]=Z,q=Z;break}if(B[D]!==q.part[D]){let S=k(q,q.part.slice(D)),Z=Y(B.slice(D));Object.assign(q,Y(q.part.slice(0,D),[S,Z])),q=Z;break}++D}}if(U<G.length){let B=G[U].slice(1);if(q.params===null)q.params=T(B);else if(q.params.name!==B)if(Q)return A;else throw Error(`Cannot create route "${b}" with parameter "${B}" because a route already exists with a different parameter name ("${q.params.name}") in the same location`);if(q.params.store===null)q.params.store=A;return q.params.store}if(X){if(q.wildcardStore===null)q.wildcardStore=A;return q.wildcardStore}if(q.store===null)q.store=A;return q.store}find(v,b){let A=this.root[v];if(!A)return null;return $(b,b.length,A,0,this.config.onParam)}}var $=(v,b,A,Q,O)=>{let V=A.part,X=V.length,J=Q+X;if(X>1){if(J>b)return null;if(X<15){for(let K=1,G=Q+1;K<X;++K,++G)if(V.charCodeAt(K)!==v.charCodeAt(G))return null}else if(v.slice(Q,J)!==V)return null}if(J===b){if(A.store!==null)return{store:A.store,params:{}};if(A.wildcardStore!==null)return{store:A.wildcardStore,params:{"*":""}};return null}if(A.inert!==null){let K=A.inert[v.charCodeAt(J)];if(K!==void 0){let G=$(v,b,K,J,O);if(G!==null)return G}}if(A.params!==null){let{store:K,name:G,inert:q}=A.params,U=v.indexOf("/",J);if(U!==J){if(U===-1||U>=b){if(K!==null){let F={};if(F[G]=v.substring(J,b),O)for(let B=0;B<O.length;B++){let D=O[B](F[G],G);if(D!==void 0)F[G]=D}return{store:K,params:F}}}else if(q!==null){let F=$(v,b,q,U,O);if(F!==null){if(F.params[G]=v.substring(J,U),O)for(let B=0;B<O.length;B++){let D=O[B](F.params[G],G);if(D!==void 0)F.params[G]=D}return F}}}}if(A.wildcardStore!==null)return{store:A.wildcardStore,params:{"*":v.substring(J,b)}};return null};function IsAsyncIterator(value){return IsObject(value)&&!IsArray(value)&&!IsUint8Array(value)&&Symbol.asyncIterator in value}function IsArray(value){return Array.isArray(value)}function IsBigInt(value){return typeof value==="bigint"}function IsBoolean(value){return typeof value==="boolean"}function IsDate(value){return value instanceof globalThis.Date}function IsFunction(value){return typeof value==="function"}function IsIterator(value){return IsObject(value)&&!IsArray(value)&&!IsUint8Array(value)&&Symbol.iterator in value}function IsNull(value){return value===null}function IsNumber(value){return typeof value==="number"}function IsObject(value){return typeof value==="object"&&value!==null}function IsRegExp(value){return value instanceof globalThis.RegExp}function IsString(value){return typeof value==="string"}function IsSymbol(value){return typeof value==="symbol"}function IsUint8Array(value){return value instanceof globalThis.Uint8Array}function IsUndefined(value){return value===void 0}function ArrayType(value){return value.map((value)=>Visit(value))}function DateType(value){return new Date(value.getTime())}function Uint8ArrayType(value){return new Uint8Array(value)}function RegExpType(value){return new RegExp(value.source,value.flags)}function ObjectType(value){let result={};for(let key of Object.getOwnPropertyNames(value))result[key]=Visit(value[key]);for(let key of Object.getOwnPropertySymbols(value))result[key]=Visit(value[key]);return result}function Visit(value){return IsArray(value)?ArrayType(value):IsDate(value)?DateType(value):IsUint8Array(value)?Uint8ArrayType(value):IsRegExp(value)?RegExpType(value):IsObject(value)?ObjectType(value):value}function Clone(value){return Visit(value)}function CloneType(schema,options){return options===void 0?Clone(schema):Clone({...options,...schema})}function IsAsyncIterator2(value){return IsObject2(value)&&globalThis.Symbol.asyncIterator in value}function IsIterator2(value){return IsObject2(value)&&globalThis.Symbol.iterator in value}function IsPromise(value){return value instanceof globalThis.Promise}function IsDate2(value){return value instanceof Date&&globalThis.Number.isFinite(value.getTime())}function IsMap(value){return value instanceof globalThis.Map}function IsSet(value){return value instanceof globalThis.Set}function IsTypedArray(value){return globalThis.ArrayBuffer.isView(value)}function IsUint8Array2(value){return value instanceof globalThis.Uint8Array}function HasPropertyKey(value,key){return key in value}function IsObject2(value){return value!==null&&typeof value==="object"}function IsArray2(value){return globalThis.Array.isArray(value)&&!globalThis.ArrayBuffer.isView(value)}function IsUndefined2(value){return value===void 0}function IsNull2(value){return value===null}function IsBoolean2(value){return typeof value==="boolean"}function IsNumber2(value){return typeof value==="number"}function IsInteger(value){return globalThis.Number.isInteger(value)}function IsBigInt2(value){return typeof value==="bigint"}function IsString2(value){return typeof value==="string"}function IsFunction2(value){return typeof value==="function"}function IsSymbol2(value){return typeof value==="symbol"}function IsValueType(value){return IsBigInt2(value)||IsBoolean2(value)||IsNull2(value)||IsNumber2(value)||IsString2(value)||IsSymbol2(value)||IsUndefined2(value)}var TypeSystemPolicy;(function(TypeSystemPolicy){TypeSystemPolicy.InstanceMode="default",TypeSystemPolicy.ExactOptionalPropertyTypes=!1,TypeSystemPolicy.AllowArrayObject=!1,TypeSystemPolicy.AllowNaN=!1,TypeSystemPolicy.AllowNullVoid=!1;function IsExactOptionalProperty(value,key){return TypeSystemPolicy.ExactOptionalPropertyTypes?key in value:value[key]!==void 0}TypeSystemPolicy.IsExactOptionalProperty=IsExactOptionalProperty;function IsObjectLike(value){let isObject=IsObject2(value);return TypeSystemPolicy.AllowArrayObject?isObject:isObject&&!IsArray2(value)}TypeSystemPolicy.IsObjectLike=IsObjectLike;function IsRecordLike(value){return IsObjectLike(value)&&!(value instanceof Date)&&!(value instanceof Uint8Array)}TypeSystemPolicy.IsRecordLike=IsRecordLike;function IsNumberLike(value){return TypeSystemPolicy.AllowNaN?IsNumber2(value):Number.isFinite(value)}TypeSystemPolicy.IsNumberLike=IsNumberLike;function IsVoidLike(value){let isUndefined=IsUndefined2(value);return TypeSystemPolicy.AllowNullVoid?isUndefined||value===null:isUndefined}TypeSystemPolicy.IsVoidLike=IsVoidLike})(TypeSystemPolicy||(TypeSystemPolicy={}));function ImmutableArray(value){return globalThis.Object.freeze(value).map((value)=>Immutable(value))}function ImmutableDate(value){return value}function ImmutableUint8Array(value){return value}function ImmutableRegExp(value){return value}function ImmutableObject(value){let result={};for(let key of Object.getOwnPropertyNames(value))result[key]=Immutable(value[key]);for(let key of Object.getOwnPropertySymbols(value))result[key]=Immutable(value[key]);return globalThis.Object.freeze(result)}function Immutable(value){return IsArray(value)?ImmutableArray(value):IsDate(value)?ImmutableDate(value):IsUint8Array(value)?ImmutableUint8Array(value):IsRegExp(value)?ImmutableRegExp(value):IsObject(value)?ImmutableObject(value):value}function CreateType(schema,options){let result=options!==void 0?{...options,...schema}:schema;switch(TypeSystemPolicy.InstanceMode){case"freeze":return Immutable(result);case"clone":return Clone(result);default:return result}}class TypeBoxError extends Error{constructor(message){super(message)}}var TransformKind=Symbol.for("TypeBox.Transform"),ReadonlyKind=Symbol.for("TypeBox.Readonly"),OptionalKind=Symbol.for("TypeBox.Optional"),Hint=Symbol.for("TypeBox.Hint"),Kind=Symbol.for("TypeBox.Kind");function IsReadonly(value){return IsObject(value)&&value[ReadonlyKind]==="Readonly"}function IsOptional(value){return IsObject(value)&&value[OptionalKind]==="Optional"}function IsAny(value){return IsKindOf(value,"Any")}function IsArgument(value){return IsKindOf(value,"Argument")}function IsArray3(value){return IsKindOf(value,"Array")}function IsAsyncIterator3(value){return IsKindOf(value,"AsyncIterator")}function IsBigInt3(value){return IsKindOf(value,"BigInt")}function IsBoolean3(value){return IsKindOf(value,"Boolean")}function IsComputed(value){return IsKindOf(value,"Computed")}function IsConstructor(value){return IsKindOf(value,"Constructor")}function IsDate3(value){return IsKindOf(value,"Date")}function IsFunction3(value){return IsKindOf(value,"Function")}function IsInteger2(value){return IsKindOf(value,"Integer")}function IsIntersect(value){return IsKindOf(value,"Intersect")}function IsIterator3(value){return IsKindOf(value,"Iterator")}function IsKindOf(value,kind){return IsObject(value)&&Kind in value&&value[Kind]===kind}function IsLiteralValue(value){return IsBoolean(value)||IsNumber(value)||IsString(value)}function IsLiteral(value){return IsKindOf(value,"Literal")}function IsMappedKey(value){return IsKindOf(value,"MappedKey")}function IsMappedResult(value){return IsKindOf(value,"MappedResult")}function IsNever(value){return IsKindOf(value,"Never")}function IsNot(value){return IsKindOf(value,"Not")}function IsNull3(value){return IsKindOf(value,"Null")}function IsNumber3(value){return IsKindOf(value,"Number")}function IsObject3(value){return IsKindOf(value,"Object")}function IsPromise2(value){return IsKindOf(value,"Promise")}function IsRecord(value){return IsKindOf(value,"Record")}function IsRef(value){return IsKindOf(value,"Ref")}function IsRegExp2(value){return IsKindOf(value,"RegExp")}function IsString3(value){return IsKindOf(value,"String")}function IsSymbol3(value){return IsKindOf(value,"Symbol")}function IsTemplateLiteral(value){return IsKindOf(value,"TemplateLiteral")}function IsThis(value){return IsKindOf(value,"This")}function IsTransform(value){return IsObject(value)&&TransformKind in value}function IsTuple(value){return IsKindOf(value,"Tuple")}function IsUndefined3(value){return IsKindOf(value,"Undefined")}function IsUnion(value){return IsKindOf(value,"Union")}function IsUint8Array3(value){return IsKindOf(value,"Uint8Array")}function IsUnknown(value){return IsKindOf(value,"Unknown")}function IsUnsafe(value){return IsKindOf(value,"Unsafe")}function IsVoid(value){return IsKindOf(value,"Void")}function IsKind(value){return IsObject(value)&&Kind in value&&IsString(value[Kind])}function IsSchema(value){return IsAny(value)||IsArgument(value)||IsArray3(value)||IsBoolean3(value)||IsBigInt3(value)||IsAsyncIterator3(value)||IsComputed(value)||IsConstructor(value)||IsDate3(value)||IsFunction3(value)||IsInteger2(value)||IsIntersect(value)||IsIterator3(value)||IsLiteral(value)||IsMappedKey(value)||IsMappedResult(value)||IsNever(value)||IsNot(value)||IsNull3(value)||IsNumber3(value)||IsObject3(value)||IsPromise2(value)||IsRecord(value)||IsRef(value)||IsRegExp2(value)||IsString3(value)||IsSymbol3(value)||IsTemplateLiteral(value)||IsThis(value)||IsTuple(value)||IsUndefined3(value)||IsUnion(value)||IsUint8Array3(value)||IsUnknown(value)||IsUnsafe(value)||IsVoid(value)||IsKind(value)}var KnownTypes=["Argument","Any","Array","AsyncIterator","BigInt","Boolean","Computed","Constructor","Date","Enum","Function","Integer","Intersect","Iterator","Literal","MappedKey","MappedResult","Not","Null","Number","Object","Promise","Record","Ref","RegExp","String","Symbol","TemplateLiteral","This","Tuple","Undefined","Union","Uint8Array","Unknown","Void"];function IsPattern(value){try{return new RegExp(value),!0}catch{return!1}}function IsControlCharacterFree(value){if(!IsString(value))return!1;for(let i=0;i<value.length;i++){let code=value.charCodeAt(i);if(code>=7&&code<=13||code===27||code===127)return!1}return!0}function IsAdditionalProperties(value){return IsOptionalBoolean(value)||IsSchema2(value)}function IsOptionalBigInt(value){return IsUndefined(value)||IsBigInt(value)}function IsOptionalNumber(value){return IsUndefined(value)||IsNumber(value)}function IsOptionalBoolean(value){return IsUndefined(value)||IsBoolean(value)}function IsOptionalString(value){return IsUndefined(value)||IsString(value)}function IsOptionalPattern(value){return IsUndefined(value)||IsString(value)&&IsControlCharacterFree(value)&&IsPattern(value)}function IsOptionalFormat(value){return IsUndefined(value)||IsString(value)&&IsControlCharacterFree(value)}function IsOptionalSchema(value){return IsUndefined(value)||IsSchema2(value)}function IsOptional2(value){return IsObject(value)&&value[OptionalKind]==="Optional"}function IsAny2(value){return IsKindOf2(value,"Any")&&IsOptionalString(value.$id)}function IsArgument2(value){return IsKindOf2(value,"Argument")&&IsNumber(value.index)}function IsArray4(value){return IsKindOf2(value,"Array")&&value.type==="array"&&IsOptionalString(value.$id)&&IsSchema2(value.items)&&IsOptionalNumber(value.minItems)&&IsOptionalNumber(value.maxItems)&&IsOptionalBoolean(value.uniqueItems)&&IsOptionalSchema(value.contains)&&IsOptionalNumber(value.minContains)&&IsOptionalNumber(value.maxContains)}function IsAsyncIterator4(value){return IsKindOf2(value,"AsyncIterator")&&value.type==="AsyncIterator"&&IsOptionalString(value.$id)&&IsSchema2(value.items)}function IsBigInt4(value){return IsKindOf2(value,"BigInt")&&value.type==="bigint"&&IsOptionalString(value.$id)&&IsOptionalBigInt(value.exclusiveMaximum)&&IsOptionalBigInt(value.exclusiveMinimum)&&IsOptionalBigInt(value.maximum)&&IsOptionalBigInt(value.minimum)&&IsOptionalBigInt(value.multipleOf)}function IsBoolean4(value){return IsKindOf2(value,"Boolean")&&value.type==="boolean"&&IsOptionalString(value.$id)}function IsComputed2(value){return IsKindOf2(value,"Computed")&&IsString(value.target)&&IsArray(value.parameters)&&value.parameters.every((schema)=>IsSchema2(schema))}function IsConstructor2(value){return IsKindOf2(value,"Constructor")&&value.type==="Constructor"&&IsOptionalString(value.$id)&&IsArray(value.parameters)&&value.parameters.every((schema)=>IsSchema2(schema))&&IsSchema2(value.returns)}function IsDate4(value){return IsKindOf2(value,"Date")&&value.type==="Date"&&IsOptionalString(value.$id)&&IsOptionalNumber(value.exclusiveMaximumTimestamp)&&IsOptionalNumber(value.exclusiveMinimumTimestamp)&&IsOptionalNumber(value.maximumTimestamp)&&IsOptionalNumber(value.minimumTimestamp)&&IsOptionalNumber(value.multipleOfTimestamp)}function IsFunction4(value){return IsKindOf2(value,"Function")&&value.type==="Function"&&IsOptionalString(value.$id)&&IsArray(value.parameters)&&value.parameters.every((schema)=>IsSchema2(schema))&&IsSchema2(value.returns)}function IsInteger3(value){return IsKindOf2(value,"Integer")&&value.type==="integer"&&IsOptionalString(value.$id)&&IsOptionalNumber(value.exclusiveMaximum)&&IsOptionalNumber(value.exclusiveMinimum)&&IsOptionalNumber(value.maximum)&&IsOptionalNumber(value.minimum)&&IsOptionalNumber(value.multipleOf)}function IsProperties(value){return IsObject(value)&&Object.entries(value).every(([key,schema])=>IsControlCharacterFree(key)&&IsSchema2(schema))}function IsIntersect2(value){return IsKindOf2(value,"Intersect")&&(IsString(value.type)&&value.type!=="object"?!1:!0)&&IsArray(value.allOf)&&value.allOf.every((schema)=>IsSchema2(schema)&&!IsTransform2(schema))&&IsOptionalString(value.type)&&(IsOptionalBoolean(value.unevaluatedProperties)||IsOptionalSchema(value.unevaluatedProperties))&&IsOptionalString(value.$id)}function IsIterator4(value){return IsKindOf2(value,"Iterator")&&value.type==="Iterator"&&IsOptionalString(value.$id)&&IsSchema2(value.items)}function IsKindOf2(value,kind){return IsObject(value)&&Kind in value&&value[Kind]===kind}function IsLiteralString(value){return IsLiteral2(value)&&IsString(value.const)}function IsLiteralNumber(value){return IsLiteral2(value)&&IsNumber(value.const)}function IsLiteralBoolean(value){return IsLiteral2(value)&&IsBoolean(value.const)}function IsLiteral2(value){return IsKindOf2(value,"Literal")&&IsOptionalString(value.$id)&&IsLiteralValue2(value.const)}function IsLiteralValue2(value){return IsBoolean(value)||IsNumber(value)||IsString(value)}function IsMappedKey2(value){return IsKindOf2(value,"MappedKey")&&IsArray(value.keys)&&value.keys.every((key)=>IsNumber(key)||IsString(key))}function IsMappedResult2(value){return IsKindOf2(value,"MappedResult")&&IsProperties(value.properties)}function IsNever2(value){return IsKindOf2(value,"Never")&&IsObject(value.not)&&Object.getOwnPropertyNames(value.not).length===0}function IsNot2(value){return IsKindOf2(value,"Not")&&IsSchema2(value.not)}function IsNull4(value){return IsKindOf2(value,"Null")&&value.type==="null"&&IsOptionalString(value.$id)}function IsNumber4(value){return IsKindOf2(value,"Number")&&value.type==="number"&&IsOptionalString(value.$id)&&IsOptionalNumber(value.exclusiveMaximum)&&IsOptionalNumber(value.exclusiveMinimum)&&IsOptionalNumber(value.maximum)&&IsOptionalNumber(value.minimum)&&IsOptionalNumber(value.multipleOf)}function IsObject4(value){return IsKindOf2(value,"Object")&&value.type==="object"&&IsOptionalString(value.$id)&&IsProperties(value.properties)&&IsAdditionalProperties(value.additionalProperties)&&IsOptionalNumber(value.minProperties)&&IsOptionalNumber(value.maxProperties)}function IsPromise3(value){return IsKindOf2(value,"Promise")&&value.type==="Promise"&&IsOptionalString(value.$id)&&IsSchema2(value.item)}function IsRecord2(value){return IsKindOf2(value,"Record")&&value.type==="object"&&IsOptionalString(value.$id)&&IsAdditionalProperties(value.additionalProperties)&&IsObject(value.patternProperties)&&((schema)=>{let keys=Object.getOwnPropertyNames(schema.patternProperties);return keys.length===1&&IsPattern(keys[0])&&IsObject(schema.patternProperties)&&IsSchema2(schema.patternProperties[keys[0]])})(value)}function IsRef2(value){return IsKindOf2(value,"Ref")&&IsOptionalString(value.$id)&&IsString(value.$ref)}function IsRegExp3(value){return IsKindOf2(value,"RegExp")&&IsOptionalString(value.$id)&&IsString(value.source)&&IsString(value.flags)&&IsOptionalNumber(value.maxLength)&&IsOptionalNumber(value.minLength)}function IsString4(value){return IsKindOf2(value,"String")&&value.type==="string"&&IsOptionalString(value.$id)&&IsOptionalNumber(value.minLength)&&IsOptionalNumber(value.maxLength)&&IsOptionalPattern(value.pattern)&&IsOptionalFormat(value.format)}function IsSymbol4(value){return IsKindOf2(value,"Symbol")&&value.type==="symbol"&&IsOptionalString(value.$id)}function IsTemplateLiteral2(value){return IsKindOf2(value,"TemplateLiteral")&&value.type==="string"&&IsString(value.pattern)&&value.pattern[0]==="^"&&value.pattern[value.pattern.length-1]==="$"}function IsThis2(value){return IsKindOf2(value,"This")&&IsOptionalString(value.$id)&&IsString(value.$ref)}function IsTransform2(value){return IsObject(value)&&TransformKind in value}function IsTuple2(value){return IsKindOf2(value,"Tuple")&&value.type==="array"&&IsOptionalString(value.$id)&&IsNumber(value.minItems)&&IsNumber(value.maxItems)&&value.minItems===value.maxItems&&(IsUndefined(value.items)&&IsUndefined(value.additionalItems)&&value.minItems===0||IsArray(value.items)&&value.items.every((schema)=>IsSchema2(schema)))}function IsUndefined4(value){return IsKindOf2(value,"Undefined")&&value.type==="undefined"&&IsOptionalString(value.$id)}function IsUnion2(value){return IsKindOf2(value,"Union")&&IsOptionalString(value.$id)&&IsObject(value)&&IsArray(value.anyOf)&&value.anyOf.every((schema)=>IsSchema2(schema))}function IsUint8Array4(value){return IsKindOf2(value,"Uint8Array")&&value.type==="Uint8Array"&&IsOptionalString(value.$id)&&IsOptionalNumber(value.minByteLength)&&IsOptionalNumber(value.maxByteLength)}function IsUnknown2(value){return IsKindOf2(value,"Unknown")&&IsOptionalString(value.$id)}function IsUnsafe2(value){return IsKindOf2(value,"Unsafe")}function IsVoid2(value){return IsKindOf2(value,"Void")&&value.type==="void"&&IsOptionalString(value.$id)}function IsKind2(value){return IsObject(value)&&Kind in value&&IsString(value[Kind])&&!KnownTypes.includes(value[Kind])}function IsSchema2(value){return IsObject(value)&&(IsAny2(value)||IsArgument2(value)||IsArray4(value)||IsBoolean4(value)||IsBigInt4(value)||IsAsyncIterator4(value)||IsComputed2(value)||IsConstructor2(value)||IsDate4(value)||IsFunction4(value)||IsInteger3(value)||IsIntersect2(value)||IsIterator4(value)||IsLiteral2(value)||IsMappedKey2(value)||IsMappedResult2(value)||IsNever2(value)||IsNot2(value)||IsNull4(value)||IsNumber4(value)||IsObject4(value)||IsPromise3(value)||IsRecord2(value)||IsRef2(value)||IsRegExp3(value)||IsString4(value)||IsSymbol4(value)||IsTemplateLiteral2(value)||IsThis2(value)||IsTuple2(value)||IsUndefined4(value)||IsUnion2(value)||IsUint8Array4(value)||IsUnknown2(value)||IsUnsafe2(value)||IsVoid2(value)||IsKind2(value))}var PatternBoolean="(true|false)",PatternNumber="(0|[1-9][0-9]*)",PatternString="(.*)";var PatternNumberExact="^(0|[1-9][0-9]*)$",PatternStringExact="^(.*)$",PatternNeverExact="^(?!.*)$";var map=new Map;function Has(format){return map.has(format)}function Set2(format,func){map.set(format,func)}function Get(format){return map.get(format)}var map2=new Map;function Has2(kind){return map2.has(kind)}function Set3(kind,func){map2.set(kind,func)}function Get2(kind){return map2.get(kind)}function SetIncludes(T,S){return T.includes(S)}function SetDistinct(T){return[...new Set(T)]}function SetIntersect(T,S){return T.filter((L)=>S.includes(L))}function SetIntersectManyResolve(T,Init){return T.reduce((Acc,L)=>SetIntersect(Acc,L),Init)}function SetIntersectMany(T){return T.length===1?T[0]:T.length>1?SetIntersectManyResolve(T.slice(1),T[0]):[]}function SetUnionMany(T){let Acc=[];for(let L of T)Acc.push(...L);return Acc}function Any(options){return CreateType({[Kind]:"Any"},options)}function Array2(items,options){return CreateType({[Kind]:"Array",type:"array",items},options)}function Argument(index){return CreateType({[Kind]:"Argument",index})}function AsyncIterator(items,options){return CreateType({[Kind]:"AsyncIterator",type:"AsyncIterator",items},options)}function Computed(target,parameters,options){return CreateType({[Kind]:"Computed",target,parameters},options)}function DiscardKey(value,key){let{[key]:_,...rest}=value;return rest}function Discard(value,keys){return keys.reduce((acc,key)=>DiscardKey(acc,key),value)}function Never(options){return CreateType({[Kind]:"Never",not:{}},options)}function MappedResult(properties){return CreateType({[Kind]:"MappedResult",properties})}function Constructor(parameters,returns,options){return CreateType({[Kind]:"Constructor",type:"Constructor",parameters,returns},options)}function Function2(parameters,returns,options){return CreateType({[Kind]:"Function",type:"Function",parameters,returns},options)}function UnionCreate(T,options){return CreateType({[Kind]:"Union",anyOf:T},options)}function IsUnionOptional(types){return types.some((type)=>IsOptional(type))}function RemoveOptionalFromRest(types){return types.map((left)=>IsOptional(left)?RemoveOptionalFromType(left):left)}function RemoveOptionalFromType(T){return Discard(T,[OptionalKind])}function ResolveUnion(types,options){return IsUnionOptional(types)?Optional(UnionCreate(RemoveOptionalFromRest(types),options)):UnionCreate(RemoveOptionalFromRest(types),options)}function UnionEvaluated(T,options){return T.length===1?CreateType(T[0],options):T.length===0?Never(options):ResolveUnion(T,options)}function Union(types,options){return types.length===0?Never(options):types.length===1?CreateType(types[0],options):UnionCreate(types,options)}class TemplateLiteralParserError extends TypeBoxError{}function Unescape(pattern){return pattern.replace(/\\\$/g,"$").replace(/\\\*/g,"*").replace(/\\\^/g,"^").replace(/\\\|/g,"|").replace(/\\\(/g,"(").replace(/\\\)/g,")")}function IsNonEscaped(pattern,index,char){return pattern[index]===char&&pattern.charCodeAt(index-1)!==92}function IsOpenParen(pattern,index){return IsNonEscaped(pattern,index,"(")}function IsCloseParen(pattern,index){return IsNonEscaped(pattern,index,")")}function IsSeparator(pattern,index){return IsNonEscaped(pattern,index,"|")}function IsGroup(pattern){if(!(IsOpenParen(pattern,0)&&IsCloseParen(pattern,pattern.length-1)))return!1;let count=0;for(let index=0;index<pattern.length;index++){if(IsOpenParen(pattern,index))count+=1;if(IsCloseParen(pattern,index))count-=1;if(count===0&&index!==pattern.length-1)return!1}return!0}function InGroup(pattern){return pattern.slice(1,pattern.length-1)}function IsPrecedenceOr(pattern){let count=0;for(let index=0;index<pattern.length;index++){if(IsOpenParen(pattern,index))count+=1;if(IsCloseParen(pattern,index))count-=1;if(IsSeparator(pattern,index)&&count===0)return!0}return!1}function IsPrecedenceAnd(pattern){for(let index=0;index<pattern.length;index++)if(IsOpenParen(pattern,index))return!0;return!1}function Or(pattern){let[count,start]=[0,0],expressions=[];for(let index=0;index<pattern.length;index++){if(IsOpenParen(pattern,index))count+=1;if(IsCloseParen(pattern,index))count-=1;if(IsSeparator(pattern,index)&&count===0){let range=pattern.slice(start,index);if(range.length>0)expressions.push(TemplateLiteralParse(range));start=index+1}}let range=pattern.slice(start);if(range.length>0)expressions.push(TemplateLiteralParse(range));if(expressions.length===0)return{type:"const",const:""};if(expressions.length===1)return expressions[0];return{type:"or",expr:expressions}}function And(pattern){function Group(value,index){if(!IsOpenParen(value,index))throw new TemplateLiteralParserError("TemplateLiteralParser: Index must point to open parens");let count=0;for(let scan=index;scan<value.length;scan++){if(IsOpenParen(value,scan))count+=1;if(IsCloseParen(value,scan))count-=1;if(count===0)return[index,scan]}throw new TemplateLiteralParserError("TemplateLiteralParser: Unclosed group parens in expression")}function Range(pattern,index){for(let scan=index;scan<pattern.length;scan++)if(IsOpenParen(pattern,scan))return[index,scan];return[index,pattern.length]}let expressions=[];for(let index=0;index<pattern.length;index++)if(IsOpenParen(pattern,index)){let[start,end]=Group(pattern,index),range=pattern.slice(start,end+1);expressions.push(TemplateLiteralParse(range)),index=end}else{let[start,end]=Range(pattern,index),range=pattern.slice(start,end);if(range.length>0)expressions.push(TemplateLiteralParse(range));index=end-1}return expressions.length===0?{type:"const",const:""}:expressions.length===1?expressions[0]:{type:"and",expr:expressions}}function TemplateLiteralParse(pattern){return IsGroup(pattern)?TemplateLiteralParse(InGroup(pattern)):IsPrecedenceOr(pattern)?Or(pattern):IsPrecedenceAnd(pattern)?And(pattern):{type:"const",const:Unescape(pattern)}}function TemplateLiteralParseExact(pattern){return TemplateLiteralParse(pattern.slice(1,pattern.length-1))}class TemplateLiteralFiniteError extends TypeBoxError{}function IsNumberExpression(expression){return expression.type==="or"&&expression.expr.length===2&&expression.expr[0].type==="const"&&expression.expr[0].const==="0"&&expression.expr[1].type==="const"&&expression.expr[1].const==="[1-9][0-9]*"}function IsBooleanExpression(expression){return expression.type==="or"&&expression.expr.length===2&&expression.expr[0].type==="const"&&expression.expr[0].const==="true"&&expression.expr[1].type==="const"&&expression.expr[1].const==="false"}function IsStringExpression(expression){return expression.type==="const"&&expression.const===".*"}function IsTemplateLiteralExpressionFinite(expression){return IsNumberExpression(expression)||IsStringExpression(expression)?!1:IsBooleanExpression(expression)?!0:expression.type==="and"?expression.expr.every((expr)=>IsTemplateLiteralExpressionFinite(expr)):expression.type==="or"?expression.expr.every((expr)=>IsTemplateLiteralExpressionFinite(expr)):expression.type==="const"?!0:(()=>{throw new TemplateLiteralFiniteError("Unknown expression type")})()}function IsTemplateLiteralFinite(schema){let expression=TemplateLiteralParseExact(schema.pattern);return IsTemplateLiteralExpressionFinite(expression)}class TemplateLiteralGenerateError extends TypeBoxError{}function*GenerateReduce(buffer){if(buffer.length===1)return yield*buffer[0];for(let left of buffer[0])for(let right of GenerateReduce(buffer.slice(1)))yield`${left}${right}`}function*GenerateAnd(expression){return yield*GenerateReduce(expression.expr.map((expr)=>[...TemplateLiteralExpressionGenerate(expr)]))}function*GenerateOr(expression){for(let expr of expression.expr)yield*TemplateLiteralExpressionGenerate(expr)}function*GenerateConst(expression){return yield expression.const}function*TemplateLiteralExpressionGenerate(expression){return expression.type==="and"?yield*GenerateAnd(expression):expression.type==="or"?yield*GenerateOr(expression):expression.type==="const"?yield*GenerateConst(expression):(()=>{throw new TemplateLiteralGenerateError("Unknown expression")})()}function TemplateLiteralGenerate(schema){let expression=TemplateLiteralParseExact(schema.pattern);return IsTemplateLiteralExpressionFinite(expression)?[...TemplateLiteralExpressionGenerate(expression)]:[]}function Literal(value,options){return CreateType({[Kind]:"Literal",const:value,type:typeof value},options)}function Boolean2(options){return CreateType({[Kind]:"Boolean",type:"boolean"},options)}function BigInt2(options){return CreateType({[Kind]:"BigInt",type:"bigint"},options)}function Number2(options){return CreateType({[Kind]:"Number",type:"number"},options)}function String2(options){return CreateType({[Kind]:"String",type:"string"},options)}function*FromUnion(syntax){let trim=syntax.trim().replace(/"|'/g,"");return trim==="boolean"?yield Boolean2():trim==="number"?yield Number2():trim==="bigint"?yield BigInt2():trim==="string"?yield String2():yield(()=>{let literals=trim.split("|").map((literal)=>Literal(literal.trim()));return literals.length===0?Never():literals.length===1?literals[0]:UnionEvaluated(literals)})()}function*FromTerminal(syntax){if(syntax[1]!=="{"){let L=Literal("$"),R=FromSyntax(syntax.slice(1));return yield*[L,...R]}for(let i=2;i<syntax.length;i++)if(syntax[i]==="}"){let L=FromUnion(syntax.slice(2,i)),R=FromSyntax(syntax.slice(i+1));return yield*[...L,...R]}yield Literal(syntax)}function*FromSyntax(syntax){for(let i=0;i<syntax.length;i++)if(syntax[i]==="$"){let L=Literal(syntax.slice(0,i)),R=FromTerminal(syntax.slice(i));return yield*[L,...R]}yield Literal(syntax)}function TemplateLiteralSyntax(syntax){return[...FromSyntax(syntax)]}class TemplateLiteralPatternError extends TypeBoxError{}function Escape(value){return value.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Visit2(schema,acc){return IsTemplateLiteral(schema)?schema.pattern.slice(1,schema.pattern.length-1):IsUnion(schema)?`(${schema.anyOf.map((schema)=>Visit2(schema,acc)).join("|")})`:IsNumber3(schema)?`${acc}${PatternNumber}`:IsInteger2(schema)?`${acc}${PatternNumber}`:IsBigInt3(schema)?`${acc}${PatternNumber}`:IsString3(schema)?`${acc}${PatternString}`:IsLiteral(schema)?`${acc}${Escape(schema.const.toString())}`:IsBoolean3(schema)?`${acc}${PatternBoolean}`:(()=>{throw new TemplateLiteralPatternError(`Unexpected Kind '${schema[Kind]}'`)})()}function TemplateLiteralPattern(kinds){return`^${kinds.map((schema)=>Visit2(schema,"")).join("")}$`}function TemplateLiteralToUnion(schema){let L=TemplateLiteralGenerate(schema).map((S)=>Literal(S));return UnionEvaluated(L)}function TemplateLiteral(unresolved,options){let pattern=IsString(unresolved)?TemplateLiteralPattern(TemplateLiteralSyntax(unresolved)):TemplateLiteralPattern(unresolved);return CreateType({[Kind]:"TemplateLiteral",type:"string",pattern},options)}function FromTemplateLiteral(templateLiteral){return TemplateLiteralGenerate(templateLiteral).map((key)=>key.toString())}function FromUnion2(types){let result=[];for(let type of types)result.push(...IndexPropertyKeys(type));return result}function FromLiteral(literalValue){return[literalValue.toString()]}function IndexPropertyKeys(type){return[...new Set(IsTemplateLiteral(type)?FromTemplateLiteral(type):IsUnion(type)?FromUnion2(type.anyOf):IsLiteral(type)?FromLiteral(type.const):IsNumber3(type)?["[number]"]:IsInteger2(type)?["[number]"]:[])]}function FromProperties(type,properties,options){let result={};for(let K2 of Object.getOwnPropertyNames(properties))result[K2]=Index(type,IndexPropertyKeys(properties[K2]),options);return result}function FromMappedResult(type,mappedResult,options){return FromProperties(type,mappedResult.properties,options)}function IndexFromMappedResult(type,mappedResult,options){let properties=FromMappedResult(type,mappedResult,options);return MappedResult(properties)}function FromRest(types,key){return types.map((type)=>IndexFromPropertyKey(type,key))}function FromIntersectRest(types){return types.filter((type)=>!IsNever(type))}function FromIntersect(types,key){return IntersectEvaluated(FromIntersectRest(FromRest(types,key)))}function FromUnionRest(types){return types.some((L)=>IsNever(L))?[]:types}function FromUnion3(types,key){return UnionEvaluated(FromUnionRest(FromRest(types,key)))}function FromTuple(types,key){return key in types?types[key]:key==="[number]"?UnionEvaluated(types):Never()}function FromArray(type,key){return key==="[number]"?type:Never()}function FromProperty(properties,propertyKey){return propertyKey in properties?properties[propertyKey]:Never()}function IndexFromPropertyKey(type,propertyKey){return IsIntersect(type)?FromIntersect(type.allOf,propertyKey):IsUnion(type)?FromUnion3(type.anyOf,propertyKey):IsTuple(type)?FromTuple(type.items??[],propertyKey):IsArray3(type)?FromArray(type.items,propertyKey):IsObject3(type)?FromProperty(type.properties,propertyKey):Never()}function IndexFromPropertyKeys(type,propertyKeys){return propertyKeys.map((propertyKey)=>IndexFromPropertyKey(type,propertyKey))}function FromSchema(type,propertyKeys){return UnionEvaluated(IndexFromPropertyKeys(type,propertyKeys))}function Index(type,key,options){if(IsRef(type)||IsRef(key)){if(!IsSchema(type)||!IsSchema(key))throw new TypeBoxError("Index types using Ref parameters require both Type and Key to be of TSchema");return Computed("Index",[type,key])}if(IsMappedResult(key))return IndexFromMappedResult(type,key,options);if(IsMappedKey(key))return IndexFromMappedKey(type,key,options);return CreateType(IsSchema(key)?FromSchema(type,IndexPropertyKeys(key)):FromSchema(type,key),options)}function MappedIndexPropertyKey(type,key,options){return{[key]:Index(type,[key],Clone(options))}}function MappedIndexPropertyKeys(type,propertyKeys,options){return propertyKeys.reduce((result,left)=>({...result,...MappedIndexPropertyKey(type,left,options)}),{})}function MappedIndexProperties(type,mappedKey,options){return MappedIndexPropertyKeys(type,mappedKey.keys,options)}function IndexFromMappedKey(type,mappedKey,options){let properties=MappedIndexProperties(type,mappedKey,options);return MappedResult(properties)}function Iterator(items,options){return CreateType({[Kind]:"Iterator",type:"Iterator",items},options)}function RequiredArray(properties){return globalThis.Object.keys(properties).filter((key)=>!IsOptional(properties[key]))}function _Object_(properties,options){let required=RequiredArray(properties),schema=required.length>0?{[Kind]:"Object",type:"object",required,properties}:{[Kind]:"Object",type:"object",properties};return CreateType(schema,options)}var Object2=_Object_;function Promise2(item,options){return CreateType({[Kind]:"Promise",type:"Promise",item},options)}function RemoveReadonly(schema){return CreateType(Discard(schema,[ReadonlyKind]))}function AddReadonly(schema){return CreateType({...schema,[ReadonlyKind]:"Readonly"})}function ReadonlyWithFlag(schema,F){return F===!1?RemoveReadonly(schema):AddReadonly(schema)}function Readonly(schema,enable){let F=enable??!0;return IsMappedResult(schema)?ReadonlyFromMappedResult(schema,F):ReadonlyWithFlag(schema,F)}function FromProperties2(K,F){let Acc={};for(let K2 of globalThis.Object.getOwnPropertyNames(K))Acc[K2]=Readonly(K[K2],F);return Acc}function FromMappedResult2(R,F){return FromProperties2(R.properties,F)}function ReadonlyFromMappedResult(R,F){let P=FromMappedResult2(R,F);return MappedResult(P)}function Tuple(types,options){return CreateType(types.length>0?{[Kind]:"Tuple",type:"array",items:types,additionalItems:!1,minItems:types.length,maxItems:types.length}:{[Kind]:"Tuple",type:"array",minItems:types.length,maxItems:types.length},options)}function FromMappedResult3(K,P){return K in P?FromSchemaType(K,P[K]):MappedResult(P)}function MappedKeyToKnownMappedResultProperties(K){return{[K]:Literal(K)}}function MappedKeyToUnknownMappedResultProperties(P){let Acc={};for(let L of P)Acc[L]=Literal(L);return Acc}function MappedKeyToMappedResultProperties(K,P){return SetIncludes(P,K)?MappedKeyToKnownMappedResultProperties(K):MappedKeyToUnknownMappedResultProperties(P)}function FromMappedKey(K,P){let R=MappedKeyToMappedResultProperties(K,P);return FromMappedResult3(K,R)}function FromRest2(K,T){return T.map((L)=>FromSchemaType(K,L))}function FromProperties3(K,T){let Acc={};for(let K2 of globalThis.Object.getOwnPropertyNames(T))Acc[K2]=FromSchemaType(K,T[K2]);return Acc}function FromSchemaType(K,T){let options={...T};return IsOptional(T)?Optional(FromSchemaType(K,Discard(T,[OptionalKind]))):IsReadonly(T)?Readonly(FromSchemaType(K,Discard(T,[ReadonlyKind]))):IsMappedResult(T)?FromMappedResult3(K,T.properties):IsMappedKey(T)?FromMappedKey(K,T.keys):IsConstructor(T)?Constructor(FromRest2(K,T.parameters),FromSchemaType(K,T.returns),options):IsFunction3(T)?Function2(FromRest2(K,T.parameters),FromSchemaType(K,T.returns),options):IsAsyncIterator3(T)?AsyncIterator(FromSchemaType(K,T.items),options):IsIterator3(T)?Iterator(FromSchemaType(K,T.items),options):IsIntersect(T)?Intersect(FromRest2(K,T.allOf),options):IsUnion(T)?Union(FromRest2(K,T.anyOf),options):IsTuple(T)?Tuple(FromRest2(K,T.items??[]),options):IsObject3(T)?Object2(FromProperties3(K,T.properties),options):IsArray3(T)?Array2(FromSchemaType(K,T.items),options):IsPromise2(T)?Promise2(FromSchemaType(K,T.item),options):T}function MappedFunctionReturnType(K,T){let Acc={};for(let L of K)Acc[L]=FromSchemaType(L,T);return Acc}function Mapped(key,map,options){let K=IsSchema(key)?IndexPropertyKeys(key):key,RT=map({[Kind]:"MappedKey",keys:K}),R=MappedFunctionReturnType(K,RT);return Object2(R,options)}function RemoveOptional(schema){return CreateType(Discard(schema,[OptionalKind]))}function AddOptional(schema){return CreateType({...schema,[OptionalKind]:"Optional"})}function OptionalWithFlag(schema,F){return F===!1?RemoveOptional(schema):AddOptional(schema)}function Optional(schema,enable){let F=enable??!0;return IsMappedResult(schema)?OptionalFromMappedResult(schema,F):OptionalWithFlag(schema,F)}function FromProperties4(P,F){let Acc={};for(let K2 of globalThis.Object.getOwnPropertyNames(P))Acc[K2]=Optional(P[K2],F);return Acc}function FromMappedResult4(R,F){return FromProperties4(R.properties,F)}function OptionalFromMappedResult(R,F){let P=FromMappedResult4(R,F);return MappedResult(P)}function IntersectCreate(T,options={}){let allObjects=T.every((schema)=>IsObject3(schema)),clonedUnevaluatedProperties=IsSchema(options.unevaluatedProperties)?{unevaluatedProperties:options.unevaluatedProperties}:{};return CreateType(options.unevaluatedProperties===!1||IsSchema(options.unevaluatedProperties)||allObjects?{...clonedUnevaluatedProperties,[Kind]:"Intersect",type:"object",allOf:T}:{...clonedUnevaluatedProperties,[Kind]:"Intersect",allOf:T},options)}function IsIntersectOptional(types){return types.every((left)=>IsOptional(left))}function RemoveOptionalFromType2(type){return Discard(type,[OptionalKind])}function RemoveOptionalFromRest2(types){return types.map((left)=>IsOptional(left)?RemoveOptionalFromType2(left):left)}function ResolveIntersect(types,options){return IsIntersectOptional(types)?Optional(IntersectCreate(RemoveOptionalFromRest2(types),options)):IntersectCreate(RemoveOptionalFromRest2(types),options)}function IntersectEvaluated(types,options={}){if(types.length===1)return CreateType(types[0],options);if(types.length===0)return Never(options);if(types.some((schema)=>IsTransform(schema)))throw Error("Cannot intersect transform types");return ResolveIntersect(types,options)}function Intersect(types,options){if(types.length===1)return CreateType(types[0],options);if(types.length===0)return Never(options);if(types.some((schema)=>IsTransform(schema)))throw Error("Cannot intersect transform types");return IntersectCreate(types,options)}function Ref(...args){let[$ref,options]=typeof args[0]==="string"?[args[0],args[1]]:[args[0].$id,args[1]];if(typeof $ref!=="string")throw new TypeBoxError("Ref: $ref must be a string");return CreateType({[Kind]:"Ref",$ref},options)}function FromComputed(target,parameters){return Computed("Awaited",[Computed(target,parameters)])}function FromRef($ref){return Computed("Awaited",[Ref($ref)])}function FromIntersect2(types){return Intersect(FromRest3(types))}function FromUnion4(types){return Union(FromRest3(types))}function FromPromise(type){return Awaited(type)}function FromRest3(types){return types.map((type)=>Awaited(type))}function Awaited(type,options){return CreateType(IsComputed(type)?FromComputed(type.target,type.parameters):IsIntersect(type)?FromIntersect2(type.allOf):IsUnion(type)?FromUnion4(type.anyOf):IsPromise2(type)?FromPromise(type.item):IsRef(type)?FromRef(type.$ref):type,options)}function FromRest4(types){let result=[];for(let L of types)result.push(KeyOfPropertyKeys(L));return result}function FromIntersect3(types){let propertyKeysArray=FromRest4(types);return SetUnionMany(propertyKeysArray)}function FromUnion5(types){let propertyKeysArray=FromRest4(types);return SetIntersectMany(propertyKeysArray)}function FromTuple2(types){return types.map((_,indexer)=>indexer.toString())}function FromArray2(_){return["[number]"]}function FromProperties5(T){return globalThis.Object.getOwnPropertyNames(T)}function FromPatternProperties(patternProperties){if(!includePatternProperties)return[];return globalThis.Object.getOwnPropertyNames(patternProperties).map((key)=>key[0]==="^"&&key[key.length-1]==="$"?key.slice(1,key.length-1):key)}function KeyOfPropertyKeys(type){return IsIntersect(type)?FromIntersect3(type.allOf):IsUnion(type)?FromUnion5(type.anyOf):IsTuple(type)?FromTuple2(type.items??[]):IsArray3(type)?FromArray2(type.items):IsObject3(type)?FromProperties5(type.properties):IsRecord(type)?FromPatternProperties(type.patternProperties):[]}var includePatternProperties=!1;function KeyOfPattern(schema){includePatternProperties=!0;let keys=KeyOfPropertyKeys(schema);return includePatternProperties=!1,`^(${keys.map((key)=>`(${key})`).join("|")})$`}function FromComputed2(target,parameters){return Computed("KeyOf",[Computed(target,parameters)])}function FromRef2($ref){return Computed("KeyOf",[Ref($ref)])}function KeyOfFromType(type,options){let propertyKeys=KeyOfPropertyKeys(type),propertyKeyTypes=KeyOfPropertyKeysToRest(propertyKeys),result=UnionEvaluated(propertyKeyTypes);return CreateType(result,options)}function KeyOfPropertyKeysToRest(propertyKeys){return propertyKeys.map((L)=>L==="[number]"?Number2():Literal(L))}function KeyOf(type,options){return IsComputed(type)?FromComputed2(type.target,type.parameters):IsRef(type)?FromRef2(type.$ref):IsMappedResult(type)?KeyOfFromMappedResult(type,options):KeyOfFromType(type,options)}function FromProperties6(properties,options){let result={};for(let K2 of globalThis.Object.getOwnPropertyNames(properties))result[K2]=KeyOf(properties[K2],Clone(options));return result}function FromMappedResult5(mappedResult,options){return FromProperties6(mappedResult.properties,options)}function KeyOfFromMappedResult(mappedResult,options){let properties=FromMappedResult5(mappedResult,options);return MappedResult(properties)}function KeyOfPropertyEntries(schema){let keys=KeyOfPropertyKeys(schema),schemas=IndexFromPropertyKeys(schema,keys);return keys.map((_,index)=>[keys[index],schemas[index]])}function CompositeKeys(T){let Acc=[];for(let L of T)Acc.push(...KeyOfPropertyKeys(L));return SetDistinct(Acc)}function FilterNever(T){return T.filter((L)=>!IsNever(L))}function CompositeProperty(T,K){let Acc=[];for(let L of T)Acc.push(...IndexFromPropertyKeys(L,[K]));return FilterNever(Acc)}function CompositeProperties(T,K){let Acc={};for(let L of K)Acc[L]=IntersectEvaluated(CompositeProperty(T,L));return Acc}function Composite(T,options){let K=CompositeKeys(T),P=CompositeProperties(T,K);return Object2(P,options)}function Date2(options){return CreateType({[Kind]:"Date",type:"Date"},options)}function Null(options){return CreateType({[Kind]:"Null",type:"null"},options)}function Symbol2(options){return CreateType({[Kind]:"Symbol",type:"symbol"},options)}function Undefined(options){return CreateType({[Kind]:"Undefined",type:"undefined"},options)}function Uint8Array2(options){return CreateType({[Kind]:"Uint8Array",type:"Uint8Array"},options)}function Unknown(options){return CreateType({[Kind]:"Unknown"},options)}function FromArray3(T){return T.map((L)=>FromValue(L,!1))}function FromProperties7(value){let Acc={};for(let K of globalThis.Object.getOwnPropertyNames(value))Acc[K]=Readonly(FromValue(value[K],!1));return Acc}function ConditionalReadonly(T,root){return root===!0?T:Readonly(T)}function FromValue(value,root){return IsAsyncIterator(value)?ConditionalReadonly(Any(),root):IsIterator(value)?ConditionalReadonly(Any(),root):IsArray(value)?Readonly(Tuple(FromArray3(value))):IsUint8Array(value)?Uint8Array2():IsDate(value)?Date2():IsObject(value)?ConditionalReadonly(Object2(FromProperties7(value)),root):IsFunction(value)?ConditionalReadonly(Function2([],Unknown()),root):IsUndefined(value)?Undefined():IsNull(value)?Null():IsSymbol(value)?Symbol2():IsBigInt(value)?BigInt2():IsNumber(value)?Literal(value):IsBoolean(value)?Literal(value):IsString(value)?Literal(value):Object2({})}function Const(T,options){return CreateType(FromValue(T,!0),options)}function ConstructorParameters(schema,options){return IsConstructor(schema)?Tuple(schema.parameters,options):Never(options)}function Enum(item,options){if(IsUndefined(item))throw Error("Enum undefined or empty");let values1=globalThis.Object.getOwnPropertyNames(item).filter((key)=>isNaN(key)).map((key)=>item[key]),anyOf=[...new Set(values1)].map((value)=>Literal(value));return Union(anyOf,{...options,[Hint]:"Enum"})}class ExtendsResolverError extends TypeBoxError{}var ExtendsResult;(function(ExtendsResult){ExtendsResult[ExtendsResult.Union=0]="Union",ExtendsResult[ExtendsResult.True=1]="True",ExtendsResult[ExtendsResult.False=2]="False"})(ExtendsResult||(ExtendsResult={}));function IntoBooleanResult(result){return result===ExtendsResult.False?result:ExtendsResult.True}function Throw(message){throw new ExtendsResolverError(message)}function IsStructuralRight(right){return IsNever2(right)||IsIntersect2(right)||IsUnion2(right)||IsUnknown2(right)||IsAny2(right)}function StructuralRight(left,right){return IsNever2(right)?FromNeverRight(left,right):IsIntersect2(right)?FromIntersectRight(left,right):IsUnion2(right)?FromUnionRight(left,right):IsUnknown2(right)?FromUnknownRight(left,right):IsAny2(right)?FromAnyRight(left,right):Throw("StructuralRight")}function FromAnyRight(left,right){return ExtendsResult.True}function FromAny(left,right){return IsIntersect2(right)?FromIntersectRight(left,right):IsUnion2(right)&&right.anyOf.some((schema)=>IsAny2(schema)||IsUnknown2(schema))?ExtendsResult.True:IsUnion2(right)?ExtendsResult.Union:IsUnknown2(right)?ExtendsResult.True:IsAny2(right)?ExtendsResult.True:ExtendsResult.Union}function FromArrayRight(left,right){return IsUnknown2(left)?ExtendsResult.False:IsAny2(left)?ExtendsResult.Union:IsNever2(left)?ExtendsResult.True:ExtendsResult.False}function FromArray4(left,right){return IsObject4(right)&&IsObjectArrayLike(right)?ExtendsResult.True:IsStructuralRight(right)?StructuralRight(left,right):!IsArray4(right)?ExtendsResult.False:IntoBooleanResult(Visit3(left.items,right.items))}function FromAsyncIterator(left,right){return IsStructuralRight(right)?StructuralRight(left,right):!IsAsyncIterator4(right)?ExtendsResult.False:IntoBooleanResult(Visit3(left.items,right.items))}function FromBigInt(left,right){return IsStructuralRight(right)?StructuralRight(left,right):IsObject4(right)?FromObjectRight(left,right):IsRecord2(right)?FromRecordRight(left,right):IsBigInt4(right)?ExtendsResult.True:ExtendsResult.False}function FromBooleanRight(left,right){return IsLiteralBoolean(left)?ExtendsResult.True:IsBoolean4(left)?ExtendsResult.True:ExtendsResult.False}function FromBoolean(left,right){return IsStructuralRight(right)?StructuralRight(left,right):IsObject4(right)?FromObjectRight(left,right):IsRecord2(right)?FromRecordRight(left,right):IsBoolean4(right)?ExtendsResult.True:ExtendsResult.False}function FromConstructor(left,right){return IsStructuralRight(right)?StructuralRight(left,right):IsObject4(right)?FromObjectRight(left,right):!IsConstructor2(right)?ExtendsResult.False:left.parameters.length>right.parameters.length?ExtendsResult.False:!left.parameters.every((schema,index)=>IntoBooleanResult(Visit3(right.parameters[index],schema))===ExtendsResult.True)?ExtendsResult.False:IntoBooleanResult(Visit3(left.returns,right.returns))}function FromDate(left,right){return IsStructuralRight(right)?StructuralRight(left,right):IsObject4(right)?FromObjectRight(left,right):IsRecord2(right)?FromRecordRight(left,right):IsDate4(right)?ExtendsResult.True:ExtendsResult.False}function FromFunction(left,right){return IsStructuralRight(right)?StructuralRight(left,right):IsObject4(right)?FromObjectRight(left,right):!IsFunction4(right)?ExtendsResult.False:left.parameters.length>right.parameters.length?ExtendsResult.False:!left.parameters.every((schema,index)=>IntoBooleanResult(Visit3(right.parameters[index],schema))===ExtendsResult.True)?ExtendsResult.False:IntoBooleanResult(Visit3(left.returns,right.returns))}function FromIntegerRight(left,right){return IsLiteral2(left)&&IsNumber(left.const)?ExtendsResult.True:IsNumber4(left)||IsInteger3(left)?ExtendsResult.True:ExtendsResult.False}function FromInteger(left,right){return IsInteger3(right)||IsNumber4(right)?ExtendsResult.True:IsStructuralRight(right)?StructuralRight(left,right):IsObject4(right)?FromObjectRight(left,right):IsRecord2(right)?FromRecordRight(left,right):ExtendsResult.False}function FromIntersectRight(left,right){return right.allOf.every((schema)=>Visit3(left,schema)===ExtendsResult.True)?ExtendsResult.True:ExtendsResult.False}function FromIntersect4(left,right){return left.allOf.some((schema)=>Visit3(schema,right)===ExtendsResult.True)?ExtendsResult.True:ExtendsResult.False}function FromIterator(left,right){return IsStructuralRight(right)?StructuralRight(left,right):!IsIterator4(right)?ExtendsResult.False:IntoBooleanResult(Visit3(left.items,right.items))}function FromLiteral2(left,right){return IsLiteral2(right)&&right.const===left.const?ExtendsResult.True:IsStructuralRight(right)?StructuralRight(left,right):IsObject4(right)?FromObjectRight(left,right):IsRecord2(right)?FromRecordRight(left,right):IsString4(right)?FromStringRight(left,right):IsNumber4(right)?FromNumberRight(left,right):IsInteger3(right)?FromIntegerRight(left,right):IsBoolean4(right)?FromBooleanRight(left,right):ExtendsResult.False}function FromNeverRight(left,right){return ExtendsResult.False}function FromNever(left,right){return ExtendsResult.True}function UnwrapTNot(schema){let[current,depth]=[schema,0];while(!0){if(!IsNot2(current))break;current=current.not,depth+=1}return depth%2===0?current:Unknown()}function FromNot(left,right){return IsNot2(left)?Visit3(UnwrapTNot(left),right):IsNot2(right)?Visit3(left,UnwrapTNot(right)):Throw("Invalid fallthrough for Not")}function FromNull(left,right){return IsStructuralRight(right)?StructuralRight(left,right):IsObject4(right)?FromObjectRight(left,right):IsRecord2(right)?FromRecordRight(left,right):IsNull4(right)?ExtendsResult.True:ExtendsResult.False}function FromNumberRight(left,right){return IsLiteralNumber(left)?ExtendsResult.True:IsNumber4(left)||IsInteger3(left)?ExtendsResult.True:ExtendsResult.False}function FromNumber(left,right){return IsStructuralRight(right)?StructuralRight(left,right):IsObject4(right)?FromObjectRight(left,right):IsRecord2(right)?FromRecordRight(left,right):IsInteger3(right)||IsNumber4(right)?ExtendsResult.True:ExtendsResult.False}function IsObjectPropertyCount(schema,count){return Object.getOwnPropertyNames(schema.properties).length===count}function IsObjectStringLike(schema){return IsObjectArrayLike(schema)}function IsObjectSymbolLike(schema){return IsObjectPropertyCount(schema,0)||IsObjectPropertyCount(schema,1)&&"description"in schema.properties&&IsUnion2(schema.properties.description)&&schema.properties.description.anyOf.length===2&&(IsString4(schema.properties.description.anyOf[0])&&IsUndefined4(schema.properties.description.anyOf[1])||IsString4(schema.properties.description.anyOf[1])&&IsUndefined4(schema.properties.description.anyOf[0]))}function IsObjectNumberLike(schema){return IsObjectPropertyCount(schema,0)}function IsObjectBooleanLike(schema){return IsObjectPropertyCount(schema,0)}function IsObjectBigIntLike(schema){return IsObjectPropertyCount(schema,0)}function IsObjectDateLike(schema){return IsObjectPropertyCount(schema,0)}function IsObjectUint8ArrayLike(schema){return IsObjectArrayLike(schema)}function IsObjectFunctionLike(schema){let length=Number2();return IsObjectPropertyCount(schema,0)||IsObjectPropertyCount(schema,1)&&"length"in schema.properties&&IntoBooleanResult(Visit3(schema.properties.length,length))===ExtendsResult.True}function IsObjectConstructorLike(schema){return IsObjectPropertyCount(schema,0)}function IsObjectArrayLike(schema){let length=Number2();return IsObjectPropertyCount(schema,0)||IsObjectPropertyCount(schema,1)&&"length"in schema.properties&&IntoBooleanResult(Visit3(schema.properties.length,length))===ExtendsResult.True}function IsObjectPromiseLike(schema){let then=Function2([Any()],Any());return IsObjectPropertyCount(schema,0)||IsObjectPropertyCount(schema,1)&&"then"in schema.properties&&IntoBooleanResult(Visit3(schema.properties.then,then))===ExtendsResult.True}function Property(left,right){return Visit3(left,right)===ExtendsResult.False?ExtendsResult.False:IsOptional2(left)&&!IsOptional2(right)?ExtendsResult.False:ExtendsResult.True}function FromObjectRight(left,right){return IsUnknown2(left)?ExtendsResult.False:IsAny2(left)?ExtendsResult.Union:IsNever2(left)||IsLiteralString(left)&&IsObjectStringLike(right)||IsLiteralNumber(left)&&IsObjectNumberLike(right)||IsLiteralBoolean(left)&&IsObjectBooleanLike(right)||IsSymbol4(left)&&IsObjectSymbolLike(right)||IsBigInt4(left)&&IsObjectBigIntLike(right)||IsString4(left)&&IsObjectStringLike(right)||IsSymbol4(left)&&IsObjectSymbolLike(right)||IsNumber4(left)&&IsObjectNumberLike(right)||IsInteger3(left)&&IsObjectNumberLike(right)||IsBoolean4(left)&&IsObjectBooleanLike(right)||IsUint8Array4(left)&&IsObjectUint8ArrayLike(right)||IsDate4(left)&&IsObjectDateLike(right)||IsConstructor2(left)&&IsObjectConstructorLike(right)||IsFunction4(left)&&IsObjectFunctionLike(right)?ExtendsResult.True:IsRecord2(left)&&IsString4(RecordKey(left))?(()=>right[Hint]==="Record"?ExtendsResult.True:ExtendsResult.False)():IsRecord2(left)&&IsNumber4(RecordKey(left))?(()=>IsObjectPropertyCount(right,0)?ExtendsResult.True:ExtendsResult.False)():ExtendsResult.False}function FromObject(left,right){return IsStructuralRight(right)?StructuralRight(left,right):IsRecord2(right)?FromRecordRight(left,right):!IsObject4(right)?ExtendsResult.False:(()=>{for(let key of Object.getOwnPropertyNames(right.properties)){if(!(key in left.properties)&&!IsOptional2(right.properties[key]))return ExtendsResult.False;if(IsOptional2(right.properties[key]))return ExtendsResult.True;if(Property(left.properties[key],right.properties[key])===ExtendsResult.False)return ExtendsResult.False}return ExtendsResult.True})()}function FromPromise2(left,right){return IsStructuralRight(right)?StructuralRight(left,right):IsObject4(right)&&IsObjectPromiseLike(right)?ExtendsResult.True:!IsPromise3(right)?ExtendsResult.False:IntoBooleanResult(Visit3(left.item,right.item))}function RecordKey(schema){return PatternNumberExact in schema.patternProperties?Number2():(PatternStringExact in schema.patternProperties)?String2():Throw("Unknown record key pattern")}function RecordValue(schema){return PatternNumberExact in schema.patternProperties?schema.patternProperties[PatternNumberExact]:(PatternStringExact in schema.patternProperties)?schema.patternProperties[PatternStringExact]:Throw("Unable to get record value schema")}function FromRecordRight(left,right){let[Key,Value]=[RecordKey(right),RecordValue(right)];return IsLiteralString(left)&&IsNumber4(Key)&&IntoBooleanResult(Visit3(left,Value))===ExtendsResult.True?ExtendsResult.True:IsUint8Array4(left)&&IsNumber4(Key)?Visit3(left,Value):IsString4(left)&&IsNumber4(Key)?Visit3(left,Value):IsArray4(left)&&IsNumber4(Key)?Visit3(left,Value):IsObject4(left)?(()=>{for(let key of Object.getOwnPropertyNames(left.properties))if(Property(Value,left.properties[key])===ExtendsResult.False)return ExtendsResult.False;return ExtendsResult.True})():ExtendsResult.False}function FromRecord(left,right){return IsStructuralRight(right)?StructuralRight(left,right):IsObject4(right)?FromObjectRight(left,right):!IsRecord2(right)?ExtendsResult.False:Visit3(RecordValue(left),RecordValue(right))}function FromRegExp(left,right){let L=IsRegExp3(left)?String2():left,R=IsRegExp3(right)?String2():right;return Visit3(L,R)}function FromStringRight(left,right){return IsLiteral2(left)&&IsString(left.const)?ExtendsResult.True:IsString4(left)?ExtendsResult.True:ExtendsResult.False}function FromString(left,right){return IsStructuralRight(right)?StructuralRight(left,right):IsObject4(right)?FromObjectRight(left,right):IsRecord2(right)?FromRecordRight(left,right):IsString4(right)?ExtendsResult.True:ExtendsResult.False}function FromSymbol(left,right){return IsStructuralRight(right)?StructuralRight(left,right):IsObject4(right)?FromObjectRight(left,right):IsRecord2(right)?FromRecordRight(left,right):IsSymbol4(right)?ExtendsResult.True:ExtendsResult.False}function FromTemplateLiteral2(left,right){return IsTemplateLiteral2(left)?Visit3(TemplateLiteralToUnion(left),right):IsTemplateLiteral2(right)?Visit3(left,TemplateLiteralToUnion(right)):Throw("Invalid fallthrough for TemplateLiteral")}function IsArrayOfTuple(left,right){return IsArray4(right)&&left.items!==void 0&&left.items.every((schema)=>Visit3(schema,right.items)===ExtendsResult.True)}function FromTupleRight(left,right){return IsNever2(left)?ExtendsResult.True:IsUnknown2(left)?ExtendsResult.False:IsAny2(left)?ExtendsResult.Union:ExtendsResult.False}function FromTuple3(left,right){return IsStructuralRight(right)?StructuralRight(left,right):IsObject4(right)&&IsObjectArrayLike(right)?ExtendsResult.True:IsArray4(right)&&IsArrayOfTuple(left,right)?ExtendsResult.True:!IsTuple2(right)?ExtendsResult.False:IsUndefined(left.items)&&!IsUndefined(right.items)||!IsUndefined(left.items)&&IsUndefined(right.items)?ExtendsResult.False:IsUndefined(left.items)&&!IsUndefined(right.items)?ExtendsResult.True:left.items.every((schema,index)=>Visit3(schema,right.items[index])===ExtendsResult.True)?ExtendsResult.True:ExtendsResult.False}function FromUint8Array(left,right){return IsStructuralRight(right)?StructuralRight(left,right):IsObject4(right)?FromObjectRight(left,right):IsRecord2(right)?FromRecordRight(left,right):IsUint8Array4(right)?ExtendsResult.True:ExtendsResult.False}function FromUndefined(left,right){return IsStructuralRight(right)?StructuralRight(left,right):IsObject4(right)?FromObjectRight(left,right):IsRecord2(right)?FromRecordRight(left,right):IsVoid2(right)?FromVoidRight(left,right):IsUndefined4(right)?ExtendsResult.True:ExtendsResult.False}function FromUnionRight(left,right){return right.anyOf.some((schema)=>Visit3(left,schema)===ExtendsResult.True)?ExtendsResult.True:ExtendsResult.False}function FromUnion6(left,right){return left.anyOf.every((schema)=>Visit3(schema,right)===ExtendsResult.True)?ExtendsResult.True:ExtendsResult.False}function FromUnknownRight(left,right){return ExtendsResult.True}function FromUnknown(left,right){return IsNever2(right)?FromNeverRight(left,right):IsIntersect2(right)?FromIntersectRight(left,right):IsUnion2(right)?FromUnionRight(left,right):IsAny2(right)?FromAnyRight(left,right):IsString4(right)?FromStringRight(left,right):IsNumber4(right)?FromNumberRight(left,right):IsInteger3(right)?FromIntegerRight(left,right):IsBoolean4(right)?FromBooleanRight(left,right):IsArray4(right)?FromArrayRight(left,right):IsTuple2(right)?FromTupleRight(left,right):IsObject4(right)?FromObjectRight(left,right):IsUnknown2(right)?ExtendsResult.True:ExtendsResult.False}function FromVoidRight(left,right){return IsUndefined4(left)?ExtendsResult.True:IsUndefined4(left)?ExtendsResult.True:ExtendsResult.False}function FromVoid(left,right){return IsIntersect2(right)?FromIntersectRight(left,right):IsUnion2(right)?FromUnionRight(left,right):IsUnknown2(right)?FromUnknownRight(left,right):IsAny2(right)?FromAnyRight(left,right):IsObject4(right)?FromObjectRight(left,right):IsVoid2(right)?ExtendsResult.True:ExtendsResult.False}function Visit3(left,right){return IsTemplateLiteral2(left)||IsTemplateLiteral2(right)?FromTemplateLiteral2(left,right):IsRegExp3(left)||IsRegExp3(right)?FromRegExp(left,right):IsNot2(left)||IsNot2(right)?FromNot(left,right):IsAny2(left)?FromAny(left,right):IsArray4(left)?FromArray4(left,right):IsBigInt4(left)?FromBigInt(left,right):IsBoolean4(left)?FromBoolean(left,right):IsAsyncIterator4(left)?FromAsyncIterator(left,right):IsConstructor2(left)?FromConstructor(left,right):IsDate4(left)?FromDate(left,right):IsFunction4(left)?FromFunction(left,right):IsInteger3(left)?FromInteger(left,right):IsIntersect2(left)?FromIntersect4(left,right):IsIterator4(left)?FromIterator(left,right):IsLiteral2(left)?FromLiteral2(left,right):IsNever2(left)?FromNever(left,right):IsNull4(left)?FromNull(left,right):IsNumber4(left)?FromNumber(left,right):IsObject4(left)?FromObject(left,right):IsRecord2(left)?FromRecord(left,right):IsString4(left)?FromString(left,right):IsSymbol4(left)?FromSymbol(left,right):IsTuple2(left)?FromTuple3(left,right):IsPromise3(left)?FromPromise2(left,right):IsUint8Array4(left)?FromUint8Array(left,right):IsUndefined4(left)?FromUndefined(left,right):IsUnion2(left)?FromUnion6(left,right):IsUnknown2(left)?FromUnknown(left,right):IsVoid2(left)?FromVoid(left,right):Throw(`Unknown left type operand '${left[Kind]}'`)}function ExtendsCheck(left,right){return Visit3(left,right)}function FromProperties8(P,Right,True,False,options){let Acc={};for(let K2 of globalThis.Object.getOwnPropertyNames(P))Acc[K2]=Extends(P[K2],Right,True,False,Clone(options));return Acc}function FromMappedResult6(Left,Right,True,False,options){return FromProperties8(Left.properties,Right,True,False,options)}function ExtendsFromMappedResult(Left,Right,True,False,options){let P=FromMappedResult6(Left,Right,True,False,options);return MappedResult(P)}function ExtendsResolve(left,right,trueType,falseType){let R=ExtendsCheck(left,right);return R===ExtendsResult.Union?Union([trueType,falseType]):R===ExtendsResult.True?trueType:falseType}function Extends(L,R,T,F,options){return IsMappedResult(L)?ExtendsFromMappedResult(L,R,T,F,options):IsMappedKey(L)?CreateType(ExtendsFromMappedKey(L,R,T,F,options)):CreateType(ExtendsResolve(L,R,T,F),options)}function FromPropertyKey(K,U,L,R,options){return{[K]:Extends(Literal(K),U,L,R,Clone(options))}}function FromPropertyKeys(K,U,L,R,options){return K.reduce((Acc,LK)=>({...Acc,...FromPropertyKey(LK,U,L,R,options)}),{})}function FromMappedKey2(K,U,L,R,options){return FromPropertyKeys(K.keys,U,L,R,options)}function ExtendsFromMappedKey(T,U,L,R,options){let P=FromMappedKey2(T,U,L,R,options);return MappedResult(P)}function Intersect2(schema){return schema.allOf.every((schema)=>ExtendsUndefinedCheck(schema))}function Union2(schema){return schema.anyOf.some((schema)=>ExtendsUndefinedCheck(schema))}function Not(schema){return!ExtendsUndefinedCheck(schema.not)}function ExtendsUndefinedCheck(schema){return schema[Kind]==="Intersect"?Intersect2(schema):schema[Kind]==="Union"?Union2(schema):schema[Kind]==="Not"?Not(schema):schema[Kind]==="Undefined"?!0:!1}function ExcludeFromTemplateLiteral(L,R){return Exclude(TemplateLiteralToUnion(L),R)}function ExcludeRest(L,R){let excluded=L.filter((inner)=>ExtendsCheck(inner,R)===ExtendsResult.False);return excluded.length===1?excluded[0]:Union(excluded)}function Exclude(L,R,options={}){if(IsTemplateLiteral(L))return CreateType(ExcludeFromTemplateLiteral(L,R),options);if(IsMappedResult(L))return CreateType(ExcludeFromMappedResult(L,R),options);return CreateType(IsUnion(L)?ExcludeRest(L.anyOf,R):ExtendsCheck(L,R)!==ExtendsResult.False?Never():L,options)}function FromProperties9(P,U){let Acc={};for(let K2 of globalThis.Object.getOwnPropertyNames(P))Acc[K2]=Exclude(P[K2],U);return Acc}function FromMappedResult7(R,T){return FromProperties9(R.properties,T)}function ExcludeFromMappedResult(R,T){let P=FromMappedResult7(R,T);return MappedResult(P)}function ExtractFromTemplateLiteral(L,R){return Extract(TemplateLiteralToUnion(L),R)}function ExtractRest(L,R){let extracted=L.filter((inner)=>ExtendsCheck(inner,R)!==ExtendsResult.False);return extracted.length===1?extracted[0]:Union(extracted)}function Extract(L,R,options){if(IsTemplateLiteral(L))return CreateType(ExtractFromTemplateLiteral(L,R),options);if(IsMappedResult(L))return CreateType(ExtractFromMappedResult(L,R),options);return CreateType(IsUnion(L)?ExtractRest(L.anyOf,R):ExtendsCheck(L,R)!==ExtendsResult.False?L:Never(),options)}function FromProperties10(P,T){let Acc={};for(let K2 of globalThis.Object.getOwnPropertyNames(P))Acc[K2]=Extract(P[K2],T);return Acc}function FromMappedResult8(R,T){return FromProperties10(R.properties,T)}function ExtractFromMappedResult(R,T){let P=FromMappedResult8(R,T);return MappedResult(P)}function InstanceType(schema,options){return IsConstructor(schema)?CreateType(schema.returns,options):Never(options)}function ReadonlyOptional(schema){return Readonly(Optional(schema))}function RecordCreateFromPattern(pattern,T,options){return CreateType({[Kind]:"Record",type:"object",patternProperties:{[pattern]:T}},options)}function RecordCreateFromKeys(K,T,options){let result={};for(let K2 of K)result[K2]=T;return Object2(result,{...options,[Hint]:"Record"})}function FromTemplateLiteralKey(K,T,options){return IsTemplateLiteralFinite(K)?RecordCreateFromKeys(IndexPropertyKeys(K),T,options):RecordCreateFromPattern(K.pattern,T,options)}function FromUnionKey(key,type,options){return RecordCreateFromKeys(IndexPropertyKeys(Union(key)),type,options)}function FromLiteralKey(key,type,options){return RecordCreateFromKeys([key.toString()],type,options)}function FromRegExpKey(key,type,options){return RecordCreateFromPattern(key.source,type,options)}function FromStringKey(key,type,options){let pattern=IsUndefined(key.pattern)?PatternStringExact:key.pattern;return RecordCreateFromPattern(pattern,type,options)}function FromAnyKey(_,type,options){return RecordCreateFromPattern(PatternStringExact,type,options)}function FromNeverKey(_key,type,options){return RecordCreateFromPattern(PatternNeverExact,type,options)}function FromBooleanKey(_key,type,options){return Object2({true:type,false:type},options)}function FromIntegerKey(_key,type,options){return RecordCreateFromPattern(PatternNumberExact,type,options)}function FromNumberKey(_,type,options){return RecordCreateFromPattern(PatternNumberExact,type,options)}function Record(key,type,options={}){return IsUnion(key)?FromUnionKey(key.anyOf,type,options):IsTemplateLiteral(key)?FromTemplateLiteralKey(key,type,options):IsLiteral(key)?FromLiteralKey(key.const,type,options):IsBoolean3(key)?FromBooleanKey(key,type,options):IsInteger2(key)?FromIntegerKey(key,type,options):IsNumber3(key)?FromNumberKey(key,type,options):IsRegExp2(key)?FromRegExpKey(key,type,options):IsString3(key)?FromStringKey(key,type,options):IsAny(key)?FromAnyKey(key,type,options):IsNever(key)?FromNeverKey(key,type,options):Never(options)}function RecordPattern(record){return globalThis.Object.getOwnPropertyNames(record.patternProperties)[0]}function RecordKey2(type){let pattern=RecordPattern(type);return pattern===PatternStringExact?String2():pattern===PatternNumberExact?Number2():String2({pattern})}function RecordValue2(type){return type.patternProperties[RecordPattern(type)]}function FromConstructor2(args,type){return type.parameters=FromTypes(args,type.parameters),type.returns=FromType(args,type.returns),type}function FromFunction2(args,type){return type.parameters=FromTypes(args,type.parameters),type.returns=FromType(args,type.returns),type}function FromIntersect5(args,type){return type.allOf=FromTypes(args,type.allOf),type}function FromUnion7(args,type){return type.anyOf=FromTypes(args,type.anyOf),type}function FromTuple4(args,type){if(IsUndefined(type.items))return type;return type.items=FromTypes(args,type.items),type}function FromArray5(args,type){return type.items=FromType(args,type.items),type}function FromAsyncIterator2(args,type){return type.items=FromType(args,type.items),type}function FromIterator2(args,type){return type.items=FromType(args,type.items),type}function FromPromise3(args,type){return type.item=FromType(args,type.item),type}function FromObject2(args,type){let mappedProperties=FromProperties11(args,type.properties);return{...type,...Object2(mappedProperties)}}function FromRecord2(args,type){let mappedKey=FromType(args,RecordKey2(type)),mappedValue=FromType(args,RecordValue2(type)),result=Record(mappedKey,mappedValue);return{...type,...result}}function FromArgument(args,argument){return argument.index in args?args[argument.index]:Unknown()}function FromProperty2(args,type){let isReadonly=IsReadonly(type),isOptional=IsOptional(type),mapped=FromType(args,type);return isReadonly&&isOptional?ReadonlyOptional(mapped):isReadonly&&!isOptional?Readonly(mapped):!isReadonly&&isOptional?Optional(mapped):mapped}function FromProperties11(args,properties){return globalThis.Object.getOwnPropertyNames(properties).reduce((result,key)=>({...result,[key]:FromProperty2(args,properties[key])}),{})}function FromTypes(args,types){return types.map((type)=>FromType(args,type))}function FromType(args,type){return IsConstructor(type)?FromConstructor2(args,type):IsFunction3(type)?FromFunction2(args,type):IsIntersect(type)?FromIntersect5(args,type):IsUnion(type)?FromUnion7(args,type):IsTuple(type)?FromTuple4(args,type):IsArray3(type)?FromArray5(args,type):IsAsyncIterator3(type)?FromAsyncIterator2(args,type):IsIterator3(type)?FromIterator2(args,type):IsPromise2(type)?FromPromise3(args,type):IsObject3(type)?FromObject2(args,type):IsRecord(type)?FromRecord2(args,type):IsArgument(type)?FromArgument(args,type):type}function Instantiate(type,args){return FromType(args,CloneType(type))}function Integer(options){return CreateType({[Kind]:"Integer",type:"integer"},options)}function MappedIntrinsicPropertyKey(K,M,options){return{[K]:Intrinsic(Literal(K),M,Clone(options))}}function MappedIntrinsicPropertyKeys(K,M,options){return K.reduce((Acc,L)=>({...Acc,...MappedIntrinsicPropertyKey(L,M,options)}),{})}function MappedIntrinsicProperties(T,M,options){return MappedIntrinsicPropertyKeys(T.keys,M,options)}function IntrinsicFromMappedKey(T,M,options){let P=MappedIntrinsicProperties(T,M,options);return MappedResult(P)}function ApplyUncapitalize(value){let[first,rest]=[value.slice(0,1),value.slice(1)];return[first.toLowerCase(),rest].join("")}function ApplyCapitalize(value){let[first,rest]=[value.slice(0,1),value.slice(1)];return[first.toUpperCase(),rest].join("")}function ApplyUppercase(value){return value.toUpperCase()}function ApplyLowercase(value){return value.toLowerCase()}function FromTemplateLiteral3(schema,mode,options){let expression=TemplateLiteralParseExact(schema.pattern);if(!IsTemplateLiteralExpressionFinite(expression))return{...schema,pattern:FromLiteralValue(schema.pattern,mode)};let literals=[...TemplateLiteralExpressionGenerate(expression)].map((value)=>Literal(value)),mapped=FromRest5(literals,mode),union=Union(mapped);return TemplateLiteral([union],options)}function FromLiteralValue(value,mode){return typeof value==="string"?mode==="Uncapitalize"?ApplyUncapitalize(value):mode==="Capitalize"?ApplyCapitalize(value):mode==="Uppercase"?ApplyUppercase(value):mode==="Lowercase"?ApplyLowercase(value):value:value.toString()}function FromRest5(T,M){return T.map((L)=>Intrinsic(L,M))}function Intrinsic(schema,mode,options={}){return IsMappedKey(schema)?IntrinsicFromMappedKey(schema,mode,options):IsTemplateLiteral(schema)?FromTemplateLiteral3(schema,mode,options):IsUnion(schema)?Union(FromRest5(schema.anyOf,mode),options):IsLiteral(schema)?Literal(FromLiteralValue(schema.const,mode),options):CreateType(schema,options)}function Capitalize(T,options={}){return Intrinsic(T,"Capitalize",options)}function Lowercase(T,options={}){return Intrinsic(T,"Lowercase",options)}function Uncapitalize(T,options={}){return Intrinsic(T,"Uncapitalize",options)}function Uppercase(T,options={}){return Intrinsic(T,"Uppercase",options)}function FromProperties12(properties,propertyKeys,options){let result={};for(let K2 of globalThis.Object.getOwnPropertyNames(properties))result[K2]=Omit(properties[K2],propertyKeys,Clone(options));return result}function FromMappedResult9(mappedResult,propertyKeys,options){return FromProperties12(mappedResult.properties,propertyKeys,options)}function OmitFromMappedResult(mappedResult,propertyKeys,options){let properties=FromMappedResult9(mappedResult,propertyKeys,options);return MappedResult(properties)}function FromIntersect6(types,propertyKeys){return types.map((type)=>OmitResolve(type,propertyKeys))}function FromUnion8(types,propertyKeys){return types.map((type)=>OmitResolve(type,propertyKeys))}function FromProperty3(properties,key){let{[key]:_,...R}=properties;return R}function FromProperties13(properties,propertyKeys){return propertyKeys.reduce((T,K2)=>FromProperty3(T,K2),properties)}function FromObject3(type,propertyKeys,properties){let options=Discard(type,[TransformKind,"$id","required","properties"]),mappedProperties=FromProperties13(properties,propertyKeys);return Object2(mappedProperties,options)}function UnionFromPropertyKeys(propertyKeys){let result=propertyKeys.reduce((result,key)=>IsLiteralValue(key)?[...result,Literal(key)]:result,[]);return Union(result)}function OmitResolve(type,propertyKeys){return IsIntersect(type)?Intersect(FromIntersect6(type.allOf,propertyKeys)):IsUnion(type)?Union(FromUnion8(type.anyOf,propertyKeys)):IsObject3(type)?FromObject3(type,propertyKeys,type.properties):Object2({})}function Omit(type,key,options){let typeKey=IsArray(key)?UnionFromPropertyKeys(key):key,propertyKeys=IsSchema(key)?IndexPropertyKeys(key):key,isTypeRef=IsRef(type),isKeyRef=IsRef(key);return IsMappedResult(type)?OmitFromMappedResult(type,propertyKeys,options):IsMappedKey(key)?OmitFromMappedKey(type,key,options):isTypeRef&&isKeyRef?Computed("Omit",[type,typeKey],options):!isTypeRef&&isKeyRef?Computed("Omit",[type,typeKey],options):isTypeRef&&!isKeyRef?Computed("Omit",[type,typeKey],options):CreateType({...OmitResolve(type,propertyKeys),...options})}function FromPropertyKey2(type,key,options){return{[key]:Omit(type,[key],Clone(options))}}function FromPropertyKeys2(type,propertyKeys,options){return propertyKeys.reduce((Acc,LK)=>({...Acc,...FromPropertyKey2(type,LK,options)}),{})}function FromMappedKey3(type,mappedKey,options){return FromPropertyKeys2(type,mappedKey.keys,options)}function OmitFromMappedKey(type,mappedKey,options){let properties=FromMappedKey3(type,mappedKey,options);return MappedResult(properties)}function FromProperties14(properties,propertyKeys,options){let result={};for(let K2 of globalThis.Object.getOwnPropertyNames(properties))result[K2]=Pick(properties[K2],propertyKeys,Clone(options));return result}function FromMappedResult10(mappedResult,propertyKeys,options){return FromProperties14(mappedResult.properties,propertyKeys,options)}function PickFromMappedResult(mappedResult,propertyKeys,options){let properties=FromMappedResult10(mappedResult,propertyKeys,options);return MappedResult(properties)}function FromIntersect7(types,propertyKeys){return types.map((type)=>PickResolve(type,propertyKeys))}function FromUnion9(types,propertyKeys){return types.map((type)=>PickResolve(type,propertyKeys))}function FromProperties15(properties,propertyKeys){let result={};for(let K2 of propertyKeys)if(K2 in properties)result[K2]=properties[K2];return result}function FromObject4(Type,keys,properties){let options=Discard(Type,[TransformKind,"$id","required","properties"]),mappedProperties=FromProperties15(properties,keys);return Object2(mappedProperties,options)}function UnionFromPropertyKeys2(propertyKeys){let result=propertyKeys.reduce((result,key)=>IsLiteralValue(key)?[...result,Literal(key)]:result,[]);return Union(result)}function PickResolve(type,propertyKeys){return IsIntersect(type)?Intersect(FromIntersect7(type.allOf,propertyKeys)):IsUnion(type)?Union(FromUnion9(type.anyOf,propertyKeys)):IsObject3(type)?FromObject4(type,propertyKeys,type.properties):Object2({})}function Pick(type,key,options){let typeKey=IsArray(key)?UnionFromPropertyKeys2(key):key,propertyKeys=IsSchema(key)?IndexPropertyKeys(key):key,isTypeRef=IsRef(type),isKeyRef=IsRef(key);return IsMappedResult(type)?PickFromMappedResult(type,propertyKeys,options):IsMappedKey(key)?PickFromMappedKey(type,key,options):isTypeRef&&isKeyRef?Computed("Pick",[type,typeKey],options):!isTypeRef&&isKeyRef?Computed("Pick",[type,typeKey],options):isTypeRef&&!isKeyRef?Computed("Pick",[type,typeKey],options):CreateType({...PickResolve(type,propertyKeys),...options})}function FromPropertyKey3(type,key,options){return{[key]:Pick(type,[key],Clone(options))}}function FromPropertyKeys3(type,propertyKeys,options){return propertyKeys.reduce((result,leftKey)=>({...result,...FromPropertyKey3(type,leftKey,options)}),{})}function FromMappedKey4(type,mappedKey,options){return FromPropertyKeys3(type,mappedKey.keys,options)}function PickFromMappedKey(type,mappedKey,options){let properties=FromMappedKey4(type,mappedKey,options);return MappedResult(properties)}function FromComputed3(target,parameters){return Computed("Partial",[Computed(target,parameters)])}function FromRef3($ref){return Computed("Partial",[Ref($ref)])}function FromProperties16(properties){let partialProperties={};for(let K of globalThis.Object.getOwnPropertyNames(properties))partialProperties[K]=Optional(properties[K]);return partialProperties}function FromObject5(type,properties){let options=Discard(type,[TransformKind,"$id","required","properties"]),mappedProperties=FromProperties16(properties);return Object2(mappedProperties,options)}function FromRest6(types){return types.map((type)=>PartialResolve(type))}function PartialResolve(type){return IsComputed(type)?FromComputed3(type.target,type.parameters):IsRef(type)?FromRef3(type.$ref):IsIntersect(type)?Intersect(FromRest6(type.allOf)):IsUnion(type)?Union(FromRest6(type.anyOf)):IsObject3(type)?FromObject5(type,type.properties):IsBigInt3(type)?type:IsBoolean3(type)?type:IsInteger2(type)?type:IsLiteral(type)?type:IsNull3(type)?type:IsNumber3(type)?type:IsString3(type)?type:IsSymbol3(type)?type:IsUndefined3(type)?type:Object2({})}function Partial(type,options){if(IsMappedResult(type))return PartialFromMappedResult(type,options);else return CreateType({...PartialResolve(type),...options})}function FromProperties17(K,options){let Acc={};for(let K2 of globalThis.Object.getOwnPropertyNames(K))Acc[K2]=Partial(K[K2],Clone(options));return Acc}function FromMappedResult11(R,options){return FromProperties17(R.properties,options)}function PartialFromMappedResult(R,options){let P=FromMappedResult11(R,options);return MappedResult(P)}function FromComputed4(target,parameters){return Computed("Required",[Computed(target,parameters)])}function FromRef4($ref){return Computed("Required",[Ref($ref)])}function FromProperties18(properties){let requiredProperties={};for(let K of globalThis.Object.getOwnPropertyNames(properties))requiredProperties[K]=Discard(properties[K],[OptionalKind]);return requiredProperties}function FromObject6(type,properties){let options=Discard(type,[TransformKind,"$id","required","properties"]),mappedProperties=FromProperties18(properties);return Object2(mappedProperties,options)}function FromRest7(types){return types.map((type)=>RequiredResolve(type))}function RequiredResolve(type){return IsComputed(type)?FromComputed4(type.target,type.parameters):IsRef(type)?FromRef4(type.$ref):IsIntersect(type)?Intersect(FromRest7(type.allOf)):IsUnion(type)?Union(FromRest7(type.anyOf)):IsObject3(type)?FromObject6(type,type.properties):IsBigInt3(type)?type:IsBoolean3(type)?type:IsInteger2(type)?type:IsLiteral(type)?type:IsNull3(type)?type:IsNumber3(type)?type:IsString3(type)?type:IsSymbol3(type)?type:IsUndefined3(type)?type:Object2({})}function Required(type,options){if(IsMappedResult(type))return RequiredFromMappedResult(type,options);else return CreateType({...RequiredResolve(type),...options})}function FromProperties19(P,options){let Acc={};for(let K2 of globalThis.Object.getOwnPropertyNames(P))Acc[K2]=Required(P[K2],options);return Acc}function FromMappedResult12(R,options){return FromProperties19(R.properties,options)}function RequiredFromMappedResult(R,options){let P=FromMappedResult12(R,options);return MappedResult(P)}function DereferenceParameters(moduleProperties,types){return types.map((type)=>IsRef(type)?Dereference(moduleProperties,type.$ref):FromType2(moduleProperties,type))}function Dereference(moduleProperties,ref){return ref in moduleProperties?IsRef(moduleProperties[ref])?Dereference(moduleProperties,moduleProperties[ref].$ref):FromType2(moduleProperties,moduleProperties[ref]):Never()}function FromAwaited(parameters){return Awaited(parameters[0])}function FromIndex(parameters){return Index(parameters[0],parameters[1])}function FromKeyOf(parameters){return KeyOf(parameters[0])}function FromPartial(parameters){return Partial(parameters[0])}function FromOmit(parameters){return Omit(parameters[0],parameters[1])}function FromPick(parameters){return Pick(parameters[0],parameters[1])}function FromRequired(parameters){return Required(parameters[0])}function FromComputed5(moduleProperties,target,parameters){let dereferenced=DereferenceParameters(moduleProperties,parameters);return target==="Awaited"?FromAwaited(dereferenced):target==="Index"?FromIndex(dereferenced):target==="KeyOf"?FromKeyOf(dereferenced):target==="Partial"?FromPartial(dereferenced):target==="Omit"?FromOmit(dereferenced):target==="Pick"?FromPick(dereferenced):target==="Required"?FromRequired(dereferenced):Never()}function FromArray6(moduleProperties,type){return Array2(FromType2(moduleProperties,type))}function FromAsyncIterator3(moduleProperties,type){return AsyncIterator(FromType2(moduleProperties,type))}function FromConstructor3(moduleProperties,parameters,instanceType){return Constructor(FromTypes2(moduleProperties,parameters),FromType2(moduleProperties,instanceType))}function FromFunction3(moduleProperties,parameters,returnType){return Function2(FromTypes2(moduleProperties,parameters),FromType2(moduleProperties,returnType))}function FromIntersect8(moduleProperties,types){return Intersect(FromTypes2(moduleProperties,types))}function FromIterator3(moduleProperties,type){return Iterator(FromType2(moduleProperties,type))}function FromObject7(moduleProperties,properties){return Object2(globalThis.Object.keys(properties).reduce((result,key)=>({...result,[key]:FromType2(moduleProperties,properties[key])}),{}))}function FromRecord3(moduleProperties,type){let[value,pattern]=[FromType2(moduleProperties,RecordValue2(type)),RecordPattern(type)],result=CloneType(type);return result.patternProperties[pattern]=value,result}function FromTransform(moduleProperties,transform){return IsRef(transform)?{...Dereference(moduleProperties,transform.$ref),[TransformKind]:transform[TransformKind]}:transform}function FromTuple5(moduleProperties,types){return Tuple(FromTypes2(moduleProperties,types))}function FromUnion10(moduleProperties,types){return Union(FromTypes2(moduleProperties,types))}function FromTypes2(moduleProperties,types){return types.map((type)=>FromType2(moduleProperties,type))}function FromType2(moduleProperties,type){return IsOptional(type)?CreateType(FromType2(moduleProperties,Discard(type,[OptionalKind])),type):IsReadonly(type)?CreateType(FromType2(moduleProperties,Discard(type,[ReadonlyKind])),type):IsTransform(type)?CreateType(FromTransform(moduleProperties,type),type):IsArray3(type)?CreateType(FromArray6(moduleProperties,type.items),type):IsAsyncIterator3(type)?CreateType(FromAsyncIterator3(moduleProperties,type.items),type):IsComputed(type)?CreateType(FromComputed5(moduleProperties,type.target,type.parameters)):IsConstructor(type)?CreateType(FromConstructor3(moduleProperties,type.parameters,type.returns),type):IsFunction3(type)?CreateType(FromFunction3(moduleProperties,type.parameters,type.returns),type):IsIntersect(type)?CreateType(FromIntersect8(moduleProperties,type.allOf),type):IsIterator3(type)?CreateType(FromIterator3(moduleProperties,type.items),type):IsObject3(type)?CreateType(FromObject7(moduleProperties,type.properties),type):IsRecord(type)?CreateType(FromRecord3(moduleProperties,type)):IsTuple(type)?CreateType(FromTuple5(moduleProperties,type.items||[]),type):IsUnion(type)?CreateType(FromUnion10(moduleProperties,type.anyOf),type):type}function ComputeType(moduleProperties,key){return key in moduleProperties?FromType2(moduleProperties,moduleProperties[key]):Never()}function ComputeModuleProperties(moduleProperties){return globalThis.Object.getOwnPropertyNames(moduleProperties).reduce((result,key)=>({...result,[key]:ComputeType(moduleProperties,key)}),{})}class TModule{constructor($defs){let computed=ComputeModuleProperties($defs),identified=this.WithIdentifiers(computed);this.$defs=identified}Import(key,options){let $defs={...this.$defs,[key]:CreateType(this.$defs[key],options)};return CreateType({[Kind]:"Import",$defs,$ref:key})}WithIdentifiers($defs){return globalThis.Object.getOwnPropertyNames($defs).reduce((result,key)=>({...result,[key]:{...$defs[key],$id:key}}),{})}}function Module(properties){return new TModule(properties)}function Not2(type,options){return CreateType({[Kind]:"Not",not:type},options)}function Parameters(schema,options){return IsFunction3(schema)?Tuple(schema.parameters,options):Never()}var Ordinal=0;function Recursive(callback,options={}){if(IsUndefined(options.$id))options.$id=`T${Ordinal++}`;let thisType=CloneType(callback({[Kind]:"This",$ref:`${options.$id}`}));return thisType.$id=options.$id,CreateType({[Hint]:"Recursive",...thisType},options)}function RegExp2(unresolved,options){let expr=IsString(unresolved)?new globalThis.RegExp(unresolved):unresolved;return CreateType({[Kind]:"RegExp",type:"RegExp",source:expr.source,flags:expr.flags},options)}function RestResolve(T){return IsIntersect(T)?T.allOf:IsUnion(T)?T.anyOf:IsTuple(T)?T.items??[]:[]}function Rest(T){return RestResolve(T)}function ReturnType(schema,options){return IsFunction3(schema)?CreateType(schema.returns,options):Never(options)}class TransformDecodeBuilder{constructor(schema){this.schema=schema}Decode(decode){return new TransformEncodeBuilder(this.schema,decode)}}class TransformEncodeBuilder{constructor(schema,decode){this.schema=schema,this.decode=decode}EncodeTransform(encode,schema){let Codec={Encode:(value)=>schema[TransformKind].Encode(encode(value)),Decode:(value)=>this.decode(schema[TransformKind].Decode(value))};return{...schema,[TransformKind]:Codec}}EncodeSchema(encode,schema){let Codec={Decode:this.decode,Encode:encode};return{...schema,[TransformKind]:Codec}}Encode(encode){return IsTransform(this.schema)?this.EncodeTransform(encode,this.schema):this.EncodeSchema(encode,this.schema)}}function Transform(schema){return new TransformDecodeBuilder(schema)}function Unsafe(options={}){return CreateType({[Kind]:options[Kind]??"Unsafe"},options)}function Void(options){return CreateType({[Kind]:"Void",type:"void"},options)}var Type=exports_type3;var import_fast_decode_uri_component4=__toESM(require_fast_decode_uri_component(),1);function Evaluate(...args){return new globalThis.Function(...args)}function DefaultErrorFunction(error){switch(error.errorType){case ValueErrorType.ArrayContains:return"Expected array to contain at least one matching value";case ValueErrorType.ArrayMaxContains:return`Expected array to contain no more than ${error.schema.maxContains} matching values`;case ValueErrorType.ArrayMinContains:return`Expected array to contain at least ${error.schema.minContains} matching values`;case ValueErrorType.ArrayMaxItems:return`Expected array length to be less or equal to ${error.schema.maxItems}`;case ValueErrorType.ArrayMinItems:return`Expected array length to be greater or equal to ${error.schema.minItems}`;case ValueErrorType.ArrayUniqueItems:return"Expected array elements to be unique";case ValueErrorType.Array:return"Expected array";case ValueErrorType.AsyncIterator:return"Expected AsyncIterator";case ValueErrorType.BigIntExclusiveMaximum:return`Expected bigint to be less than ${error.schema.exclusiveMaximum}`;case ValueErrorType.BigIntExclusiveMinimum:return`Expected bigint to be greater than ${error.schema.exclusiveMinimum}`;case ValueErrorType.BigIntMaximum:return`Expected bigint to be less or equal to ${error.schema.maximum}`;case ValueErrorType.BigIntMinimum:return`Expected bigint to be greater or equal to ${error.schema.minimum}`;case ValueErrorType.BigIntMultipleOf:return`Expected bigint to be a multiple of ${error.schema.multipleOf}`;case ValueErrorType.BigInt:return"Expected bigint";case ValueErrorType.Boolean:return"Expected boolean";case ValueErrorType.DateExclusiveMinimumTimestamp:return`Expected Date timestamp to be greater than ${error.schema.exclusiveMinimumTimestamp}`;case ValueErrorType.DateExclusiveMaximumTimestamp:return`Expected Date timestamp to be less than ${error.schema.exclusiveMaximumTimestamp}`;case ValueErrorType.DateMinimumTimestamp:return`Expected Date timestamp to be greater or equal to ${error.schema.minimumTimestamp}`;case ValueErrorType.DateMaximumTimestamp:return`Expected Date timestamp to be less or equal to ${error.schema.maximumTimestamp}`;case ValueErrorType.DateMultipleOfTimestamp:return`Expected Date timestamp to be a multiple of ${error.schema.multipleOfTimestamp}`;case ValueErrorType.Date:return"Expected Date";case ValueErrorType.Function:return"Expected function";case ValueErrorType.IntegerExclusiveMaximum:return`Expected integer to be less than ${error.schema.exclusiveMaximum}`;case ValueErrorType.IntegerExclusiveMinimum:return`Expected integer to be greater than ${error.schema.exclusiveMinimum}`;case ValueErrorType.IntegerMaximum:return`Expected integer to be less or equal to ${error.schema.maximum}`;case ValueErrorType.IntegerMinimum:return`Expected integer to be greater or equal to ${error.schema.minimum}`;case ValueErrorType.IntegerMultipleOf:return`Expected integer to be a multiple of ${error.schema.multipleOf}`;case ValueErrorType.Integer:return"Expected integer";case ValueErrorType.IntersectUnevaluatedProperties:return"Unexpected property";case ValueErrorType.Intersect:return"Expected all values to match";case ValueErrorType.Iterator:return"Expected Iterator";case ValueErrorType.Literal:return`Expected ${typeof error.schema.const==="string"?`'${error.schema.const}'`:error.schema.const}`;case ValueErrorType.Never:return"Never";case ValueErrorType.Not:return"Value should not match";case ValueErrorType.Null:return"Expected null";case ValueErrorType.NumberExclusiveMaximum:return`Expected number to be less than ${error.schema.exclusiveMaximum}`;case ValueErrorType.NumberExclusiveMinimum:return`Expected number to be greater than ${error.schema.exclusiveMinimum}`;case ValueErrorType.NumberMaximum:return`Expected number to be less or equal to ${error.schema.maximum}`;case ValueErrorType.NumberMinimum:return`Expected number to be greater or equal to ${error.schema.minimum}`;case ValueErrorType.NumberMultipleOf:return`Expected number to be a multiple of ${error.schema.multipleOf}`;case ValueErrorType.Number:return"Expected number";case ValueErrorType.Object:return"Expected object";case ValueErrorType.ObjectAdditionalProperties:return"Unexpected property";case ValueErrorType.ObjectMaxProperties:return`Expected object to have no more than ${error.schema.maxProperties} properties`;case ValueErrorType.ObjectMinProperties:return`Expected object to have at least ${error.schema.minProperties} properties`;case ValueErrorType.ObjectRequiredProperty:return"Expected required property";case ValueErrorType.Promise:return"Expected Promise";case ValueErrorType.RegExp:return"Expected string to match regular expression";case ValueErrorType.StringFormatUnknown:return`Unknown format '${error.schema.format}'`;case ValueErrorType.StringFormat:return`Expected string to match '${error.schema.format}' format`;case ValueErrorType.StringMaxLength:return`Expected string length less or equal to ${error.schema.maxLength}`;case ValueErrorType.StringMinLength:return`Expected string length greater or equal to ${error.schema.minLength}`;case ValueErrorType.StringPattern:return`Expected string to match '${error.schema.pattern}'`;case ValueErrorType.String:return"Expected string";case ValueErrorType.Symbol:return"Expected symbol";case ValueErrorType.TupleLength:return`Expected tuple to have ${error.schema.maxItems||0} elements`;case ValueErrorType.Tuple:return"Expected tuple";case ValueErrorType.Uint8ArrayMaxByteLength:return`Expected byte length less or equal to ${error.schema.maxByteLength}`;case ValueErrorType.Uint8ArrayMinByteLength:return`Expected byte length greater or equal to ${error.schema.minByteLength}`;case ValueErrorType.Uint8Array:return"Expected Uint8Array";case ValueErrorType.Undefined:return"Expected undefined";case ValueErrorType.Union:return"Expected union value";case ValueErrorType.Void:return"Expected void";case ValueErrorType.Kind:return`Expected kind '${error.schema[Kind]}'`;default:return"Unknown error type"}}var errorFunction=DefaultErrorFunction;function GetErrorFunction(){return errorFunction}class TypeDereferenceError extends TypeBoxError{constructor(schema){super(`Unable to dereference schema with $id '${schema.$ref}'`);this.schema=schema}}function Resolve(schema,references){let target=references.find((target)=>target.$id===schema.$ref);if(target===void 0)throw new TypeDereferenceError(schema);return Deref(target,references)}function Pushref(schema,references){if(!IsString2(schema.$id)||references.some((target)=>target.$id===schema.$id))return references;return references.push(schema),references}function Deref(schema,references){return schema[Kind]==="This"||schema[Kind]==="Ref"?Resolve(schema,references):schema}class ValueHashError extends TypeBoxError{constructor(value){super("Unable to hash value");this.value=value}}var ByteMarker;(function(ByteMarker){ByteMarker[ByteMarker.Undefined=0]="Undefined",ByteMarker[ByteMarker.Null=1]="Null",ByteMarker[ByteMarker.Boolean=2]="Boolean",ByteMarker[ByteMarker.Number=3]="Number",ByteMarker[ByteMarker.String=4]="String",ByteMarker[ByteMarker.Object=5]="Object",ByteMarker[ByteMarker.Array=6]="Array",ByteMarker[ByteMarker.Date=7]="Date",ByteMarker[ByteMarker.Uint8Array=8]="Uint8Array",ByteMarker[ByteMarker.Symbol=9]="Symbol",ByteMarker[ByteMarker.BigInt=10]="BigInt"})(ByteMarker||(ByteMarker={}));var Accumulator=BigInt("14695981039346656037"),[Prime,Size]=[BigInt("1099511628211"),BigInt("18446744073709551616")],Bytes=Array.from({length:256}).map((_,i)=>BigInt(i)),F64=new Float64Array(1),F64In=new DataView(F64.buffer),F64Out=new Uint8Array(F64.buffer);function*NumberToBytes(value){let byteCount=value===0?1:Math.ceil(Math.floor(Math.log2(value)+1)/8);for(let i=0;i<byteCount;i++)yield value>>8*(byteCount-1-i)&255}function ArrayType2(value){FNV1A64(ByteMarker.Array);for(let item of value)Visit4(item)}function BooleanType(value){FNV1A64(ByteMarker.Boolean),FNV1A64(value?1:0)}function BigIntType(value){FNV1A64(ByteMarker.BigInt),F64In.setBigInt64(0,value);for(let byte of F64Out)FNV1A64(byte)}function DateType2(value){FNV1A64(ByteMarker.Date),Visit4(value.getTime())}function NullType(value){FNV1A64(ByteMarker.Null)}function NumberType(value){FNV1A64(ByteMarker.Number),F64In.setFloat64(0,value);for(let byte of F64Out)FNV1A64(byte)}function ObjectType2(value){FNV1A64(ByteMarker.Object);for(let key of globalThis.Object.getOwnPropertyNames(value).sort())Visit4(key),Visit4(value[key])}function StringType(value){FNV1A64(ByteMarker.String);for(let i=0;i<value.length;i++)for(let byte of NumberToBytes(value.charCodeAt(i)))FNV1A64(byte)}function SymbolType(value){FNV1A64(ByteMarker.Symbol),Visit4(value.description)}function Uint8ArrayType2(value){FNV1A64(ByteMarker.Uint8Array);for(let i=0;i<value.length;i++)FNV1A64(value[i])}function UndefinedType(value){return FNV1A64(ByteMarker.Undefined)}function Visit4(value){if(IsArray2(value))return ArrayType2(value);if(IsBoolean2(value))return BooleanType(value);if(IsBigInt2(value))return BigIntType(value);if(IsDate2(value))return DateType2(value);if(IsNull2(value))return NullType(value);if(IsNumber2(value))return NumberType(value);if(IsObject2(value))return ObjectType2(value);if(IsString2(value))return StringType(value);if(IsSymbol2(value))return SymbolType(value);if(IsUint8Array2(value))return Uint8ArrayType2(value);if(IsUndefined2(value))return UndefinedType(value);throw new ValueHashError(value)}function FNV1A64(byte){Accumulator=Accumulator^Bytes[byte],Accumulator=Accumulator*Prime%Size}function Hash(value){return Accumulator=BigInt("14695981039346656037"),Visit4(value),Accumulator}class ValueCheckUnknownTypeError extends TypeBoxError{constructor(schema){super("Unknown type");this.schema=schema}}function IsAnyOrUnknown(schema){return schema[Kind]==="Any"||schema[Kind]==="Unknown"}function IsDefined(value){return value!==void 0}function FromAny2(schema,references,value){return!0}function FromArgument2(schema,references,value){return!0}function FromArray7(schema,references,value){if(!IsArray2(value))return!1;if(IsDefined(schema.minItems)&&!(value.length>=schema.minItems))return!1;if(IsDefined(schema.maxItems)&&!(value.length<=schema.maxItems))return!1;for(let element of value)if(!Visit5(schema.items,references,element))return!1;if(schema.uniqueItems===!0&&!function(){let set=new Set;for(let element of value){let hashed=Hash(element);if(set.has(hashed))return!1;else set.add(hashed)}return!0}())return!1;if(!(IsDefined(schema.contains)||IsNumber2(schema.minContains)||IsNumber2(schema.maxContains)))return!0;let containsSchema=IsDefined(schema.contains)?schema.contains:Never(),containsCount=value.reduce((acc,value)=>Visit5(containsSchema,references,value)?acc+1:acc,0);if(containsCount===0)return!1;if(IsNumber2(schema.minContains)&&containsCount<schema.minContains)return!1;if(IsNumber2(schema.maxContains)&&containsCount>schema.maxContains)return!1;return!0}function FromAsyncIterator4(schema,references,value){return IsAsyncIterator2(value)}function FromBigInt2(schema,references,value){if(!IsBigInt2(value))return!1;if(IsDefined(schema.exclusiveMaximum)&&!(value<schema.exclusiveMaximum))return!1;if(IsDefined(schema.exclusiveMinimum)&&!(value>schema.exclusiveMinimum))return!1;if(IsDefined(schema.maximum)&&!(value<=schema.maximum))return!1;if(IsDefined(schema.minimum)&&!(value>=schema.minimum))return!1;if(IsDefined(schema.multipleOf)&&value%schema.multipleOf!==BigInt(0))return!1;return!0}function FromBoolean2(schema,references,value){return IsBoolean2(value)}function FromConstructor4(schema,references,value){return Visit5(schema.returns,references,value.prototype)}function FromDate2(schema,references,value){if(!IsDate2(value))return!1;if(IsDefined(schema.exclusiveMaximumTimestamp)&&!(value.getTime()<schema.exclusiveMaximumTimestamp))return!1;if(IsDefined(schema.exclusiveMinimumTimestamp)&&!(value.getTime()>schema.exclusiveMinimumTimestamp))return!1;if(IsDefined(schema.maximumTimestamp)&&!(value.getTime()<=schema.maximumTimestamp))return!1;if(IsDefined(schema.minimumTimestamp)&&!(value.getTime()>=schema.minimumTimestamp))return!1;if(IsDefined(schema.multipleOfTimestamp)&&value.getTime()%schema.multipleOfTimestamp!==0)return!1;return!0}function FromFunction4(schema,references,value){return IsFunction2(value)}function FromImport(schema,references,value){let definitions=globalThis.Object.values(schema.$defs),target=schema.$defs[schema.$ref];return Visit5(target,[...references,...definitions],value)}function FromInteger2(schema,references,value){if(!IsInteger(value))return!1;if(IsDefined(schema.exclusiveMaximum)&&!(value<schema.exclusiveMaximum))return!1;if(IsDefined(schema.exclusiveMinimum)&&!(value>schema.exclusiveMinimum))return!1;if(IsDefined(schema.maximum)&&!(value<=schema.maximum))return!1;if(IsDefined(schema.minimum)&&!(value>=schema.minimum))return!1;if(IsDefined(schema.multipleOf)&&value%schema.multipleOf!==0)return!1;return!0}function FromIntersect9(schema,references,value){let check1=schema.allOf.every((schema)=>Visit5(schema,references,value));if(schema.unevaluatedProperties===!1){let keyPattern=new RegExp(KeyOfPattern(schema)),check2=Object.getOwnPropertyNames(value).every((key)=>keyPattern.test(key));return check1&&check2}else if(IsSchema(schema.unevaluatedProperties)){let keyCheck=new RegExp(KeyOfPattern(schema)),check2=Object.getOwnPropertyNames(value).every((key)=>keyCheck.test(key)||Visit5(schema.unevaluatedProperties,references,value[key]));return check1&&check2}else return check1}function FromIterator4(schema,references,value){return IsIterator2(value)}function FromLiteral3(schema,references,value){return value===schema.const}function FromNever2(schema,references,value){return!1}function FromNot2(schema,references,value){return!Visit5(schema.not,references,value)}function FromNull2(schema,references,value){return IsNull2(value)}function FromNumber2(schema,references,value){if(!TypeSystemPolicy.IsNumberLike(value))return!1;if(IsDefined(schema.exclusiveMaximum)&&!(value<schema.exclusiveMaximum))return!1;if(IsDefined(schema.exclusiveMinimum)&&!(value>schema.exclusiveMinimum))return!1;if(IsDefined(schema.minimum)&&!(value>=schema.minimum))return!1;if(IsDefined(schema.maximum)&&!(value<=schema.maximum))return!1;if(IsDefined(schema.multipleOf)&&value%schema.multipleOf!==0)return!1;return!0}function FromObject8(schema,references,value){if(!TypeSystemPolicy.IsObjectLike(value))return!1;if(IsDefined(schema.minProperties)&&!(Object.getOwnPropertyNames(value).length>=schema.minProperties))return!1;if(IsDefined(schema.maxProperties)&&!(Object.getOwnPropertyNames(value).length<=schema.maxProperties))return!1;let knownKeys=Object.getOwnPropertyNames(schema.properties);for(let knownKey of knownKeys){let property=schema.properties[knownKey];if(schema.required&&schema.required.includes(knownKey)){if(!Visit5(property,references,value[knownKey]))return!1;if((ExtendsUndefinedCheck(property)||IsAnyOrUnknown(property))&&!(knownKey in value))return!1}else if(TypeSystemPolicy.IsExactOptionalProperty(value,knownKey)&&!Visit5(property,references,value[knownKey]))return!1}if(schema.additionalProperties===!1){let valueKeys=Object.getOwnPropertyNames(value);if(schema.required&&schema.required.length===knownKeys.length&&valueKeys.length===knownKeys.length)return!0;else return valueKeys.every((valueKey)=>knownKeys.includes(valueKey))}else if(typeof schema.additionalProperties==="object")return Object.getOwnPropertyNames(value).every((key)=>knownKeys.includes(key)||Visit5(schema.additionalProperties,references,value[key]));else return!0}function FromPromise4(schema,references,value){return IsPromise(value)}function FromRecord4(schema,references,value){if(!TypeSystemPolicy.IsRecordLike(value))return!1;if(IsDefined(schema.minProperties)&&!(Object.getOwnPropertyNames(value).length>=schema.minProperties))return!1;if(IsDefined(schema.maxProperties)&&!(Object.getOwnPropertyNames(value).length<=schema.maxProperties))return!1;let[patternKey,patternSchema]=Object.entries(schema.patternProperties)[0],regex=new RegExp(patternKey),check1=Object.entries(value).every(([key,value])=>regex.test(key)?Visit5(patternSchema,references,value):!0),check2=typeof schema.additionalProperties==="object"?Object.entries(value).every(([key,value])=>!regex.test(key)?Visit5(schema.additionalProperties,references,value):!0):!0,check3=schema.additionalProperties===!1?Object.getOwnPropertyNames(value).every((key)=>regex.test(key)):!0;return check1&&check2&&check3}function FromRef5(schema,references,value){return Visit5(Deref(schema,references),references,value)}function FromRegExp2(schema,references,value){let regex=new RegExp(schema.source,schema.flags);if(IsDefined(schema.minLength)){if(!(value.length>=schema.minLength))return!1}if(IsDefined(schema.maxLength)){if(!(value.length<=schema.maxLength))return!1}return regex.test(value)}function FromString2(schema,references,value){if(!IsString2(value))return!1;if(IsDefined(schema.minLength)){if(!(value.length>=schema.minLength))return!1}if(IsDefined(schema.maxLength)){if(!(value.length<=schema.maxLength))return!1}if(IsDefined(schema.pattern)){if(!new RegExp(schema.pattern).test(value))return!1}if(IsDefined(schema.format)){if(!Has(schema.format))return!1;return Get(schema.format)(value)}return!0}function FromSymbol2(schema,references,value){return IsSymbol2(value)}function FromTemplateLiteral4(schema,references,value){return IsString2(value)&&new RegExp(schema.pattern).test(value)}function FromThis(schema,references,value){return Visit5(Deref(schema,references),references,value)}function FromTuple6(schema,references,value){if(!IsArray2(value))return!1;if(schema.items===void 0&&value.length!==0)return!1;if(value.length!==schema.maxItems)return!1;if(!schema.items)return!0;for(let i=0;i<schema.items.length;i++)if(!Visit5(schema.items[i],references,value[i]))return!1;return!0}function FromUndefined2(schema,references,value){return IsUndefined2(value)}function FromUnion11(schema,references,value){return schema.anyOf.some((inner)=>Visit5(inner,references,value))}function FromUint8Array2(schema,references,value){if(!IsUint8Array2(value))return!1;if(IsDefined(schema.maxByteLength)&&!(value.length<=schema.maxByteLength))return!1;if(IsDefined(schema.minByteLength)&&!(value.length>=schema.minByteLength))return!1;return!0}function FromUnknown2(schema,references,value){return!0}function FromVoid2(schema,references,value){return TypeSystemPolicy.IsVoidLike(value)}function FromKind(schema,references,value){if(!Has2(schema[Kind]))return!1;return Get2(schema[Kind])(schema,value)}function Visit5(schema,references,value){let references_=IsDefined(schema.$id)?Pushref(schema,references):references,schema_=schema;switch(schema_[Kind]){case"Any":return FromAny2(schema_,references_,value);case"Argument":return FromArgument2(schema_,references_,value);case"Array":return FromArray7(schema_,references_,value);case"AsyncIterator":return FromAsyncIterator4(schema_,references_,value);case"BigInt":return FromBigInt2(schema_,references_,value);case"Boolean":return FromBoolean2(schema_,references_,value);case"Constructor":return FromConstructor4(schema_,references_,value);case"Date":return FromDate2(schema_,references_,value);case"Function":return FromFunction4(schema_,references_,value);case"Import":return FromImport(schema_,references_,value);case"Integer":return FromInteger2(schema_,references_,value);case"Intersect":return FromIntersect9(schema_,references_,value);case"Iterator":return FromIterator4(schema_,references_,value);case"Literal":return FromLiteral3(schema_,references_,value);case"Never":return FromNever2(schema_,references_,value);case"Not":return FromNot2(schema_,references_,value);case"Null":return FromNull2(schema_,references_,value);case"Number":return FromNumber2(schema_,references_,value);case"Object":return FromObject8(schema_,references_,value);case"Promise":return FromPromise4(schema_,references_,value);case"Record":return FromRecord4(schema_,references_,value);case"Ref":return FromRef5(schema_,references_,value);case"RegExp":return FromRegExp2(schema_,references_,value);case"String":return FromString2(schema_,references_,value);case"Symbol":return FromSymbol2(schema_,references_,value);case"TemplateLiteral":return FromTemplateLiteral4(schema_,references_,value);case"This":return FromThis(schema_,references_,value);case"Tuple":return FromTuple6(schema_,references_,value);case"Undefined":return FromUndefined2(schema_,references_,value);case"Union":return FromUnion11(schema_,references_,value);case"Uint8Array":return FromUint8Array2(schema_,references_,value);case"Unknown":return FromUnknown2(schema_,references_,value);case"Void":return FromVoid2(schema_,references_,value);default:if(!Has2(schema_[Kind]))throw new ValueCheckUnknownTypeError(schema_);return FromKind(schema_,references_,value)}}function Check(...args){return args.length===3?Visit5(args[0],args[1],args[2]):Visit5(args[0],[],args[1])}var ValueErrorType;(function(ValueErrorType){ValueErrorType[ValueErrorType.ArrayContains=0]="ArrayContains",ValueErrorType[ValueErrorType.ArrayMaxContains=1]="ArrayMaxContains",ValueErrorType[ValueErrorType.ArrayMaxItems=2]="ArrayMaxItems",ValueErrorType[ValueErrorType.ArrayMinContains=3]="ArrayMinContains",ValueErrorType[ValueErrorType.ArrayMinItems=4]="ArrayMinItems",ValueErrorType[ValueErrorType.ArrayUniqueItems=5]="ArrayUniqueItems",ValueErrorType[ValueErrorType.Array=6]="Array",ValueErrorType[ValueErrorType.AsyncIterator=7]="AsyncIterator",ValueErrorType[ValueErrorType.BigIntExclusiveMaximum=8]="BigIntExclusiveMaximum",ValueErrorType[ValueErrorType.BigIntExclusiveMinimum=9]="BigIntExclusiveMinimum",ValueErrorType[ValueErrorType.BigIntMaximum=10]="BigIntMaximum",ValueErrorType[ValueErrorType.BigIntMinimum=11]="BigIntMinimum",ValueErrorType[ValueErrorType.BigIntMultipleOf=12]="BigIntMultipleOf",ValueErrorType[ValueErrorType.BigInt=13]="BigInt",ValueErrorType[ValueErrorType.Boolean=14]="Boolean",ValueErrorType[ValueErrorType.DateExclusiveMaximumTimestamp=15]="DateExclusiveMaximumTimestamp",ValueErrorType[ValueErrorType.DateExclusiveMinimumTimestamp=16]="DateExclusiveMinimumTimestamp",ValueErrorType[ValueErrorType.DateMaximumTimestamp=17]="DateMaximumTimestamp",ValueErrorType[ValueErrorType.DateMinimumTimestamp=18]="DateMinimumTimestamp",ValueErrorType[ValueErrorType.DateMultipleOfTimestamp=19]="DateMultipleOfTimestamp",ValueErrorType[ValueErrorType.Date=20]="Date",ValueErrorType[ValueErrorType.Function=21]="Function",ValueErrorType[ValueErrorType.IntegerExclusiveMaximum=22]="IntegerExclusiveMaximum",ValueErrorType[ValueErrorType.IntegerExclusiveMinimum=23]="IntegerExclusiveMinimum",ValueErrorType[ValueErrorType.IntegerMaximum=24]="IntegerMaximum",ValueErrorType[ValueErrorType.IntegerMinimum=25]="IntegerMinimum",ValueErrorType[ValueErrorType.IntegerMultipleOf=26]="IntegerMultipleOf",ValueErrorType[ValueErrorType.Integer=27]="Integer",ValueErrorType[ValueErrorType.IntersectUnevaluatedProperties=28]="IntersectUnevaluatedProperties",ValueErrorType[ValueErrorType.Intersect=29]="Intersect",ValueErrorType[ValueErrorType.Iterator=30]="Iterator",ValueErrorType[ValueErrorType.Kind=31]="Kind",ValueErrorType[ValueErrorType.Literal=32]="Literal",ValueErrorType[ValueErrorType.Never=33]="Never",ValueErrorType[ValueErrorType.Not=34]="Not",ValueErrorType[ValueErrorType.Null=35]="Null",ValueErrorType[ValueErrorType.NumberExclusiveMaximum=36]="NumberExclusiveMaximum",ValueErrorType[ValueErrorType.NumberExclusiveMinimum=37]="NumberExclusiveMinimum",ValueErrorType[ValueErrorType.NumberMaximum=38]="NumberMaximum",ValueErrorType[ValueErrorType.NumberMinimum=39]="NumberMinimum",ValueErrorType[ValueErrorType.NumberMultipleOf=40]="NumberMultipleOf",ValueErrorType[ValueErrorType.Number=41]="Number",ValueErrorType[ValueErrorType.ObjectAdditionalProperties=42]="ObjectAdditionalProperties",ValueErrorType[ValueErrorType.ObjectMaxProperties=43]="ObjectMaxProperties",ValueErrorType[ValueErrorType.ObjectMinProperties=44]="ObjectMinProperties",ValueErrorType[ValueErrorType.ObjectRequiredProperty=45]="ObjectRequiredProperty",ValueErrorType[ValueErrorType.Object=46]="Object",ValueErrorType[ValueErrorType.Promise=47]="Promise",ValueErrorType[ValueErrorType.RegExp=48]="RegExp",ValueErrorType[ValueErrorType.StringFormatUnknown=49]="StringFormatUnknown",ValueErrorType[ValueErrorType.StringFormat=50]="StringFormat",ValueErrorType[ValueErrorType.StringMaxLength=51]="StringMaxLength",ValueErrorType[ValueErrorType.StringMinLength=52]="StringMinLength",ValueErrorType[ValueErrorType.StringPattern=53]="StringPattern",ValueErrorType[ValueErrorType.String=54]="String",ValueErrorType[ValueErrorType.Symbol=55]="Symbol",ValueErrorType[ValueErrorType.TupleLength=56]="TupleLength",ValueErrorType[ValueErrorType.Tuple=57]="Tuple",ValueErrorType[ValueErrorType.Uint8ArrayMaxByteLength=58]="Uint8ArrayMaxByteLength",ValueErrorType[ValueErrorType.Uint8ArrayMinByteLength=59]="Uint8ArrayMinByteLength",ValueErrorType[ValueErrorType.Uint8Array=60]="Uint8Array",ValueErrorType[ValueErrorType.Undefined=61]="Undefined",ValueErrorType[ValueErrorType.Union=62]="Union",ValueErrorType[ValueErrorType.Void=63]="Void"})(ValueErrorType||(ValueErrorType={}));class ValueErrorsUnknownTypeError extends TypeBoxError{constructor(schema){super("Unknown type");this.schema=schema}}function EscapeKey(key){return key.replace(/~/g,"~0").replace(/\//g,"~1")}function IsDefined2(value){return value!==void 0}class ValueErrorIterator{constructor(iterator){this.iterator=iterator}[Symbol.iterator](){return this.iterator}First(){let next=this.iterator.next();return next.done?void 0:next.value}}function Create(errorType,schema,path,value,errors=[]){return{type:errorType,schema,path,value,message:GetErrorFunction()({errorType,path,schema,value,errors}),errors}}function*FromAny3(schema,references,path,value){}function*FromArgument3(schema,references,path,value){}function*FromArray8(schema,references,path,value){if(!IsArray2(value))return yield Create(ValueErrorType.Array,schema,path,value);if(IsDefined2(schema.minItems)&&!(value.length>=schema.minItems))yield Create(ValueErrorType.ArrayMinItems,schema,path,value);if(IsDefined2(schema.maxItems)&&!(value.length<=schema.maxItems))yield Create(ValueErrorType.ArrayMaxItems,schema,path,value);for(let i=0;i<value.length;i++)yield*Visit6(schema.items,references,`${path}/${i}`,value[i]);if(schema.uniqueItems===!0&&!function(){let set=new Set;for(let element of value){let hashed=Hash(element);if(set.has(hashed))return!1;else set.add(hashed)}return!0}())yield Create(ValueErrorType.ArrayUniqueItems,schema,path,value);if(!(IsDefined2(schema.contains)||IsDefined2(schema.minContains)||IsDefined2(schema.maxContains)))return;let containsSchema=IsDefined2(schema.contains)?schema.contains:Never(),containsCount=value.reduce((acc,value,index)=>Visit6(containsSchema,references,`${path}${index}`,value).next().done===!0?acc+1:acc,0);if(containsCount===0)yield Create(ValueErrorType.ArrayContains,schema,path,value);if(IsNumber2(schema.minContains)&&containsCount<schema.minContains)yield Create(ValueErrorType.ArrayMinContains,schema,path,value);if(IsNumber2(schema.maxContains)&&containsCount>schema.maxContains)yield Create(ValueErrorType.ArrayMaxContains,schema,path,value)}function*FromAsyncIterator5(schema,references,path,value){if(!IsAsyncIterator2(value))yield Create(ValueErrorType.AsyncIterator,schema,path,value)}function*FromBigInt3(schema,references,path,value){if(!IsBigInt2(value))return yield Create(ValueErrorType.BigInt,schema,path,value);if(IsDefined2(schema.exclusiveMaximum)&&!(value<schema.exclusiveMaximum))yield Create(ValueErrorType.BigIntExclusiveMaximum,schema,path,value);if(IsDefined2(schema.exclusiveMinimum)&&!(value>schema.exclusiveMinimum))yield Create(ValueErrorType.BigIntExclusiveMinimum,schema,path,value);if(IsDefined2(schema.maximum)&&!(value<=schema.maximum))yield Create(ValueErrorType.BigIntMaximum,schema,path,value);if(IsDefined2(schema.minimum)&&!(value>=schema.minimum))yield Create(ValueErrorType.BigIntMinimum,schema,path,value);if(IsDefined2(schema.multipleOf)&&value%schema.multipleOf!==BigInt(0))yield Create(ValueErrorType.BigIntMultipleOf,schema,path,value)}function*FromBoolean3(schema,references,path,value){if(!IsBoolean2(value))yield Create(ValueErrorType.Boolean,schema,path,value)}function*FromConstructor5(schema,references,path,value){yield*Visit6(schema.returns,references,path,value.prototype)}function*FromDate3(schema,references,path,value){if(!IsDate2(value))return yield Create(ValueErrorType.Date,schema,path,value);if(IsDefined2(schema.exclusiveMaximumTimestamp)&&!(value.getTime()<schema.exclusiveMaximumTimestamp))yield Create(ValueErrorType.DateExclusiveMaximumTimestamp,schema,path,value);if(IsDefined2(schema.exclusiveMinimumTimestamp)&&!(value.getTime()>schema.exclusiveMinimumTimestamp))yield Create(ValueErrorType.DateExclusiveMinimumTimestamp,schema,path,value);if(IsDefined2(schema.maximumTimestamp)&&!(value.getTime()<=schema.maximumTimestamp))yield Create(ValueErrorType.DateMaximumTimestamp,schema,path,value);if(IsDefined2(schema.minimumTimestamp)&&!(value.getTime()>=schema.minimumTimestamp))yield Create(ValueErrorType.DateMinimumTimestamp,schema,path,value);if(IsDefined2(schema.multipleOfTimestamp)&&value.getTime()%schema.multipleOfTimestamp!==0)yield Create(ValueErrorType.DateMultipleOfTimestamp,schema,path,value)}function*FromFunction5(schema,references,path,value){if(!IsFunction2(value))yield Create(ValueErrorType.Function,schema,path,value)}function*FromImport2(schema,references,path,value){let definitions=globalThis.Object.values(schema.$defs),target=schema.$defs[schema.$ref];yield*Visit6(target,[...references,...definitions],path,value)}function*FromInteger3(schema,references,path,value){if(!IsInteger(value))return yield Create(ValueErrorType.Integer,schema,path,value);if(IsDefined2(schema.exclusiveMaximum)&&!(value<schema.exclusiveMaximum))yield Create(ValueErrorType.IntegerExclusiveMaximum,schema,path,value);if(IsDefined2(schema.exclusiveMinimum)&&!(value>schema.exclusiveMinimum))yield Create(ValueErrorType.IntegerExclusiveMinimum,schema,path,value);if(IsDefined2(schema.maximum)&&!(value<=schema.maximum))yield Create(ValueErrorType.IntegerMaximum,schema,path,value);if(IsDefined2(schema.minimum)&&!(value>=schema.minimum))yield Create(ValueErrorType.IntegerMinimum,schema,path,value);if(IsDefined2(schema.multipleOf)&&value%schema.multipleOf!==0)yield Create(ValueErrorType.IntegerMultipleOf,schema,path,value)}function*FromIntersect10(schema,references,path,value){let hasError=!1;for(let inner of schema.allOf)for(let error of Visit6(inner,references,path,value))hasError=!0,yield error;if(hasError)return yield Create(ValueErrorType.Intersect,schema,path,value);if(schema.unevaluatedProperties===!1){let keyCheck=new RegExp(KeyOfPattern(schema));for(let valueKey of Object.getOwnPropertyNames(value))if(!keyCheck.test(valueKey))yield Create(ValueErrorType.IntersectUnevaluatedProperties,schema,`${path}/${valueKey}`,value)}if(typeof schema.unevaluatedProperties==="object"){let keyCheck=new RegExp(KeyOfPattern(schema));for(let valueKey of Object.getOwnPropertyNames(value))if(!keyCheck.test(valueKey)){let next=Visit6(schema.unevaluatedProperties,references,`${path}/${valueKey}`,value[valueKey]).next();if(!next.done)yield next.value}}}function*FromIterator5(schema,references,path,value){if(!IsIterator2(value))yield Create(ValueErrorType.Iterator,schema,path,value)}function*FromLiteral4(schema,references,path,value){if(value!==schema.const)yield Create(ValueErrorType.Literal,schema,path,value)}function*FromNever3(schema,references,path,value){yield Create(ValueErrorType.Never,schema,path,value)}function*FromNot3(schema,references,path,value){if(Visit6(schema.not,references,path,value).next().done===!0)yield Create(ValueErrorType.Not,schema,path,value)}function*FromNull3(schema,references,path,value){if(!IsNull2(value))yield Create(ValueErrorType.Null,schema,path,value)}function*FromNumber3(schema,references,path,value){if(!TypeSystemPolicy.IsNumberLike(value))return yield Create(ValueErrorType.Number,schema,path,value);if(IsDefined2(schema.exclusiveMaximum)&&!(value<schema.exclusiveMaximum))yield Create(ValueErrorType.NumberExclusiveMaximum,schema,path,value);if(IsDefined2(schema.exclusiveMinimum)&&!(value>schema.exclusiveMinimum))yield Create(ValueErrorType.NumberExclusiveMinimum,schema,path,value);if(IsDefined2(schema.maximum)&&!(value<=schema.maximum))yield Create(ValueErrorType.NumberMaximum,schema,path,value);if(IsDefined2(schema.minimum)&&!(value>=schema.minimum))yield Create(ValueErrorType.NumberMinimum,schema,path,value);if(IsDefined2(schema.multipleOf)&&value%schema.multipleOf!==0)yield Create(ValueErrorType.NumberMultipleOf,schema,path,value)}function*FromObject9(schema,references,path,value){if(!TypeSystemPolicy.IsObjectLike(value))return yield Create(ValueErrorType.Object,schema,path,value);if(IsDefined2(schema.minProperties)&&!(Object.getOwnPropertyNames(value).length>=schema.minProperties))yield Create(ValueErrorType.ObjectMinProperties,schema,path,value);if(IsDefined2(schema.maxProperties)&&!(Object.getOwnPropertyNames(value).length<=schema.maxProperties))yield Create(ValueErrorType.ObjectMaxProperties,schema,path,value);let requiredKeys=Array.isArray(schema.required)?schema.required:[],knownKeys=Object.getOwnPropertyNames(schema.properties),unknownKeys=Object.getOwnPropertyNames(value);for(let requiredKey of requiredKeys){if(unknownKeys.includes(requiredKey))continue;yield Create(ValueErrorType.ObjectRequiredProperty,schema.properties[requiredKey],`${path}/${EscapeKey(requiredKey)}`,void 0)}if(schema.additionalProperties===!1){for(let valueKey of unknownKeys)if(!knownKeys.includes(valueKey))yield Create(ValueErrorType.ObjectAdditionalProperties,schema,`${path}/${EscapeKey(valueKey)}`,value[valueKey])}if(typeof schema.additionalProperties==="object")for(let valueKey of unknownKeys){if(knownKeys.includes(valueKey))continue;yield*Visit6(schema.additionalProperties,references,`${path}/${EscapeKey(valueKey)}`,value[valueKey])}for(let knownKey of knownKeys){let property=schema.properties[knownKey];if(schema.required&&schema.required.includes(knownKey)){if(yield*Visit6(property,references,`${path}/${EscapeKey(knownKey)}`,value[knownKey]),ExtendsUndefinedCheck(schema)&&!(knownKey in value))yield Create(ValueErrorType.ObjectRequiredProperty,property,`${path}/${EscapeKey(knownKey)}`,void 0)}else if(TypeSystemPolicy.IsExactOptionalProperty(value,knownKey))yield*Visit6(property,references,`${path}/${EscapeKey(knownKey)}`,value[knownKey])}}function*FromPromise5(schema,references,path,value){if(!IsPromise(value))yield Create(ValueErrorType.Promise,schema,path,value)}function*FromRecord5(schema,references,path,value){if(!TypeSystemPolicy.IsRecordLike(value))return yield Create(ValueErrorType.Object,schema,path,value);if(IsDefined2(schema.minProperties)&&!(Object.getOwnPropertyNames(value).length>=schema.minProperties))yield Create(ValueErrorType.ObjectMinProperties,schema,path,value);if(IsDefined2(schema.maxProperties)&&!(Object.getOwnPropertyNames(value).length<=schema.maxProperties))yield Create(ValueErrorType.ObjectMaxProperties,schema,path,value);let[patternKey,patternSchema]=Object.entries(schema.patternProperties)[0],regex=new RegExp(patternKey);for(let[propertyKey,propertyValue]of Object.entries(value))if(regex.test(propertyKey))yield*Visit6(patternSchema,references,`${path}/${EscapeKey(propertyKey)}`,propertyValue);if(typeof schema.additionalProperties==="object"){for(let[propertyKey,propertyValue]of Object.entries(value))if(!regex.test(propertyKey))yield*Visit6(schema.additionalProperties,references,`${path}/${EscapeKey(propertyKey)}`,propertyValue)}if(schema.additionalProperties===!1)for(let[propertyKey,propertyValue]of Object.entries(value)){if(regex.test(propertyKey))continue;return yield Create(ValueErrorType.ObjectAdditionalProperties,schema,`${path}/${EscapeKey(propertyKey)}`,propertyValue)}}function*FromRef6(schema,references,path,value){yield*Visit6(Deref(schema,references),references,path,value)}function*FromRegExp3(schema,references,path,value){if(!IsString2(value))return yield Create(ValueErrorType.String,schema,path,value);if(IsDefined2(schema.minLength)&&!(value.length>=schema.minLength))yield Create(ValueErrorType.StringMinLength,schema,path,value);if(IsDefined2(schema.maxLength)&&!(value.length<=schema.maxLength))yield Create(ValueErrorType.StringMaxLength,schema,path,value);if(!new RegExp(schema.source,schema.flags).test(value))return yield Create(ValueErrorType.RegExp,schema,path,value)}function*FromString3(schema,references,path,value){if(!IsString2(value))return yield Create(ValueErrorType.String,schema,path,value);if(IsDefined2(schema.minLength)&&!(value.length>=schema.minLength))yield Create(ValueErrorType.StringMinLength,schema,path,value);if(IsDefined2(schema.maxLength)&&!(value.length<=schema.maxLength))yield Create(ValueErrorType.StringMaxLength,schema,path,value);if(IsString2(schema.pattern)){if(!new RegExp(schema.pattern).test(value))yield Create(ValueErrorType.StringPattern,schema,path,value)}if(IsString2(schema.format)){if(!Has(schema.format))yield Create(ValueErrorType.StringFormatUnknown,schema,path,value);else if(!Get(schema.format)(value))yield Create(ValueErrorType.StringFormat,schema,path,value)}}function*FromSymbol3(schema,references,path,value){if(!IsSymbol2(value))yield Create(ValueErrorType.Symbol,schema,path,value)}function*FromTemplateLiteral5(schema,references,path,value){if(!IsString2(value))return yield Create(ValueErrorType.String,schema,path,value);if(!new RegExp(schema.pattern).test(value))yield Create(ValueErrorType.StringPattern,schema,path,value)}function*FromThis2(schema,references,path,value){yield*Visit6(Deref(schema,references),references,path,value)}function*FromTuple7(schema,references,path,value){if(!IsArray2(value))return yield Create(ValueErrorType.Tuple,schema,path,value);if(schema.items===void 0&&value.length!==0)return yield Create(ValueErrorType.TupleLength,schema,path,value);if(value.length!==schema.maxItems)return yield Create(ValueErrorType.TupleLength,schema,path,value);if(!schema.items)return;for(let i=0;i<schema.items.length;i++)yield*Visit6(schema.items[i],references,`${path}/${i}`,value[i])}function*FromUndefined3(schema,references,path,value){if(!IsUndefined2(value))yield Create(ValueErrorType.Undefined,schema,path,value)}function*FromUnion12(schema,references,path,value){if(Check(schema,references,value))return;let errors=schema.anyOf.map((variant)=>new ValueErrorIterator(Visit6(variant,references,path,value)));yield Create(ValueErrorType.Union,schema,path,value,errors)}function*FromUint8Array3(schema,references,path,value){if(!IsUint8Array2(value))return yield Create(ValueErrorType.Uint8Array,schema,path,value);if(IsDefined2(schema.maxByteLength)&&!(value.length<=schema.maxByteLength))yield Create(ValueErrorType.Uint8ArrayMaxByteLength,schema,path,value);if(IsDefined2(schema.minByteLength)&&!(value.length>=schema.minByteLength))yield Create(ValueErrorType.Uint8ArrayMinByteLength,schema,path,value)}function*FromUnknown3(schema,references,path,value){}function*FromVoid3(schema,references,path,value){if(!TypeSystemPolicy.IsVoidLike(value))yield Create(ValueErrorType.Void,schema,path,value)}function*FromKind2(schema,references,path,value){if(!Get2(schema[Kind])(schema,value))yield Create(ValueErrorType.Kind,schema,path,value)}function*Visit6(schema,references,path,value){let references_=IsDefined2(schema.$id)?[...references,schema]:references,schema_=schema;switch(schema_[Kind]){case"Any":return yield*FromAny3(schema_,references_,path,value);case"Argument":return yield*FromArgument3(schema_,references_,path,value);case"Array":return yield*FromArray8(schema_,references_,path,value);case"AsyncIterator":return yield*FromAsyncIterator5(schema_,references_,path,value);case"BigInt":return yield*FromBigInt3(schema_,references_,path,value);case"Boolean":return yield*FromBoolean3(schema_,references_,path,value);case"Constructor":return yield*FromConstructor5(schema_,references_,path,value);case"Date":return yield*FromDate3(schema_,references_,path,value);case"Function":return yield*FromFunction5(schema_,references_,path,value);case"Import":return yield*FromImport2(schema_,references_,path,value);case"Integer":return yield*FromInteger3(schema_,references_,path,value);case"Intersect":return yield*FromIntersect10(schema_,references_,path,value);case"Iterator":return yield*FromIterator5(schema_,references_,path,value);case"Literal":return yield*FromLiteral4(schema_,references_,path,value);case"Never":return yield*FromNever3(schema_,references_,path,value);case"Not":return yield*FromNot3(schema_,references_,path,value);case"Null":return yield*FromNull3(schema_,references_,path,value);case"Number":return yield*FromNumber3(schema_,references_,path,value);case"Object":return yield*FromObject9(schema_,references_,path,value);case"Promise":return yield*FromPromise5(schema_,references_,path,value);case"Record":return yield*FromRecord5(schema_,references_,path,value);case"Ref":return yield*FromRef6(schema_,references_,path,value);case"RegExp":return yield*FromRegExp3(schema_,references_,path,value);case"String":return yield*FromString3(schema_,references_,path,value);case"Symbol":return yield*FromSymbol3(schema_,references_,path,value);case"TemplateLiteral":return yield*FromTemplateLiteral5(schema_,references_,path,value);case"This":return yield*FromThis2(schema_,references_,path,value);case"Tuple":return yield*FromTuple7(schema_,references_,path,value);case"Undefined":return yield*FromUndefined3(schema_,references_,path,value);case"Union":return yield*FromUnion12(schema_,references_,path,value);case"Uint8Array":return yield*FromUint8Array3(schema_,references_,path,value);case"Unknown":return yield*FromUnknown3(schema_,references_,path,value);case"Void":return yield*FromVoid3(schema_,references_,path,value);default:if(!Has2(schema_[Kind]))throw new ValueErrorsUnknownTypeError(schema);return yield*FromKind2(schema_,references_,path,value)}}function Errors(...args){let iterator=args.length===3?Visit6(args[0],args[1],"",args[2]):Visit6(args[0],[],"",args[1]);return new ValueErrorIterator(iterator)}function FromObject10(value){let Acc={};for(let key of Object.getOwnPropertyNames(value))Acc[key]=Clone2(value[key]);for(let key of Object.getOwnPropertySymbols(value))Acc[key]=Clone2(value[key]);return Acc}function FromArray9(value){return value.map((element)=>Clone2(element))}function FromTypedArray(value){return value.slice()}function FromMap(value){return new Map(Clone2([...value.entries()]))}function FromSet(value){return new Set(Clone2([...value.entries()]))}function FromDate4(value){return new Date(value.toISOString())}function FromValue2(value){return value}function Clone2(value){if(IsArray2(value))return FromArray9(value);if(IsDate2(value))return FromDate4(value);if(IsTypedArray(value))return FromTypedArray(value);if(IsMap(value))return FromMap(value);if(IsSet(value))return FromSet(value);if(IsObject2(value))return FromObject10(value);if(IsValueType(value))return FromValue2(value);throw Error("ValueClone: Unable to clone value")}class ValueCreateError extends TypeBoxError{constructor(schema,message){super(message);this.schema=schema}}function FromDefault(value){return IsFunction2(value)?value():Clone2(value)}function FromAny4(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else return{}}function FromArgument4(schema,references){return{}}function FromArray10(schema,references){if(schema.uniqueItems===!0&&!HasPropertyKey(schema,"default"))throw new ValueCreateError(schema,"Array with the uniqueItems constraint requires a default value");else if("contains"in schema&&!HasPropertyKey(schema,"default"))throw new ValueCreateError(schema,"Array with the contains constraint requires a default value");else if("default"in schema)return FromDefault(schema.default);else if(schema.minItems!==void 0)return Array.from({length:schema.minItems}).map((item)=>Visit7(schema.items,references));else return[]}function FromAsyncIterator6(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else return async function*(){}()}function FromBigInt4(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else return BigInt(0)}function FromBoolean4(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else return!1}function FromConstructor6(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else{let value=Visit7(schema.returns,references);if(typeof value==="object"&&!Array.isArray(value))return class{constructor(){for(let[key,val]of Object.entries(value)){let self=this;self[key]=val}}};else return class{}}}function FromDate5(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else if(schema.minimumTimestamp!==void 0)return new Date(schema.minimumTimestamp);else return new Date}function FromFunction6(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else return()=>Visit7(schema.returns,references)}function FromImport3(schema,references){let definitions=globalThis.Object.values(schema.$defs),target=schema.$defs[schema.$ref];return Visit7(target,[...references,...definitions])}function FromInteger4(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else if(schema.minimum!==void 0)return schema.minimum;else return 0}function FromIntersect11(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else{let value=schema.allOf.reduce((acc,schema)=>{let next=Visit7(schema,references);return typeof next==="object"?{...acc,...next}:next},{});if(!Check(schema,references,value))throw new ValueCreateError(schema,"Intersect produced invalid value. Consider using a default value.");return value}}function FromIterator6(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else return function*(){}()}function FromLiteral5(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else return schema.const}function FromNever4(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else throw new ValueCreateError(schema,"Never types cannot be created. Consider using a default value.")}function FromNot4(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else throw new ValueCreateError(schema,"Not types must have a default value")}function FromNull4(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else return null}function FromNumber4(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else if(schema.minimum!==void 0)return schema.minimum;else return 0}function FromObject11(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else{let required=new Set(schema.required),Acc={};for(let[key,subschema]of Object.entries(schema.properties)){if(!required.has(key))continue;Acc[key]=Visit7(subschema,references)}return Acc}}function FromPromise6(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else return Promise.resolve(Visit7(schema.item,references))}function FromRecord6(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else return{}}function FromRef7(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else return Visit7(Deref(schema,references),references)}function FromRegExp4(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else throw new ValueCreateError(schema,"RegExp types cannot be created. Consider using a default value.")}function FromString4(schema,references){if(schema.pattern!==void 0)if(!HasPropertyKey(schema,"default"))throw new ValueCreateError(schema,"String types with patterns must specify a default value");else return FromDefault(schema.default);else if(schema.format!==void 0)if(!HasPropertyKey(schema,"default"))throw new ValueCreateError(schema,"String types with formats must specify a default value");else return FromDefault(schema.default);else if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else if(schema.minLength!==void 0)return Array.from({length:schema.minLength}).map(()=>" ").join("");else return""}function FromSymbol4(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else if("value"in schema)return Symbol.for(schema.value);else return Symbol()}function FromTemplateLiteral6(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);if(!IsTemplateLiteralFinite(schema))throw new ValueCreateError(schema,"Can only create template literals that produce a finite variants. Consider using a default value.");return TemplateLiteralGenerate(schema)[0]}function FromThis3(schema,references){if(recursiveDepth++>recursiveMaxDepth)throw new ValueCreateError(schema,"Cannot create recursive type as it appears possibly infinite. Consider using a default.");if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else return Visit7(Deref(schema,references),references)}function FromTuple8(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);if(schema.items===void 0)return[];else return Array.from({length:schema.minItems}).map((_,index)=>Visit7(schema.items[index],references))}function FromUndefined4(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else return}function FromUnion13(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else if(schema.anyOf.length===0)throw Error("ValueCreate.Union: Cannot create Union with zero variants");else return Visit7(schema.anyOf[0],references)}function FromUint8Array4(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else if(schema.minByteLength!==void 0)return new Uint8Array(schema.minByteLength);else return new Uint8Array(0)}function FromUnknown4(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else return{}}function FromVoid4(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else return}function FromKind3(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else throw Error("User defined types must specify a default value")}function Visit7(schema,references){let references_=Pushref(schema,references),schema_=schema;switch(schema_[Kind]){case"Any":return FromAny4(schema_,references_);case"Argument":return FromArgument4(schema_,references_);case"Array":return FromArray10(schema_,references_);case"AsyncIterator":return FromAsyncIterator6(schema_,references_);case"BigInt":return FromBigInt4(schema_,references_);case"Boolean":return FromBoolean4(schema_,references_);case"Constructor":return FromConstructor6(schema_,references_);case"Date":return FromDate5(schema_,references_);case"Function":return FromFunction6(schema_,references_);case"Import":return FromImport3(schema_,references_);case"Integer":return FromInteger4(schema_,references_);case"Intersect":return FromIntersect11(schema_,references_);case"Iterator":return FromIterator6(schema_,references_);case"Literal":return FromLiteral5(schema_,references_);case"Never":return FromNever4(schema_,references_);case"Not":return FromNot4(schema_,references_);case"Null":return FromNull4(schema_,references_);case"Number":return FromNumber4(schema_,references_);case"Object":return FromObject11(schema_,references_);case"Promise":return FromPromise6(schema_,references_);case"Record":return FromRecord6(schema_,references_);case"Ref":return FromRef7(schema_,references_);case"RegExp":return FromRegExp4(schema_,references_);case"String":return FromString4(schema_,references_);case"Symbol":return FromSymbol4(schema_,references_);case"TemplateLiteral":return FromTemplateLiteral6(schema_,references_);case"This":return FromThis3(schema_,references_);case"Tuple":return FromTuple8(schema_,references_);case"Undefined":return FromUndefined4(schema_,references_);case"Union":return FromUnion13(schema_,references_);case"Uint8Array":return FromUint8Array4(schema_,references_);case"Unknown":return FromUnknown4(schema_,references_);case"Void":return FromVoid4(schema_,references_);default:if(!Has2(schema_[Kind]))throw new ValueCreateError(schema_,"Unknown type");return FromKind3(schema_,references_)}}var recursiveMaxDepth=512,recursiveDepth=0;function Create2(...args){return recursiveDepth=0,args.length===2?Visit7(args[0],args[1]):Visit7(args[0],[])}function IsCheckable(schema){return IsKind(schema)&&schema[Kind]!=="Unsafe"}function FromArray11(schema,references,value){if(!IsArray2(value))return value;return value.map((value)=>Visit8(schema.items,references,value))}function FromImport4(schema,references,value){let definitions=globalThis.Object.values(schema.$defs),target=schema.$defs[schema.$ref];return Visit8(target,[...references,...definitions],value)}function FromIntersect12(schema,references,value){let unevaluatedProperties=schema.unevaluatedProperties,composite=schema.allOf.map((schema)=>Visit8(schema,references,Clone2(value))).reduce((acc,value)=>IsObject2(value)?{...acc,...value}:value,{});if(!IsObject2(value)||!IsObject2(composite)||!IsKind(unevaluatedProperties))return composite;let knownkeys=KeyOfPropertyKeys(schema);for(let key of Object.getOwnPropertyNames(value)){if(knownkeys.includes(key))continue;if(Check(unevaluatedProperties,references,value[key]))composite[key]=Visit8(unevaluatedProperties,references,value[key])}return composite}function FromObject12(schema,references,value){if(!IsObject2(value)||IsArray2(value))return value;let additionalProperties=schema.additionalProperties;for(let key of Object.getOwnPropertyNames(value)){if(HasPropertyKey(schema.properties,key)){value[key]=Visit8(schema.properties[key],references,value[key]);continue}if(IsKind(additionalProperties)&&Check(additionalProperties,references,value[key])){value[key]=Visit8(additionalProperties,references,value[key]);continue}delete value[key]}return value}function FromRecord7(schema,references,value){if(!IsObject2(value))return value;let additionalProperties=schema.additionalProperties,propertyKeys=Object.getOwnPropertyNames(value),[propertyKey,propertySchema]=Object.entries(schema.patternProperties)[0],propertyKeyTest=new RegExp(propertyKey);for(let key of propertyKeys){if(propertyKeyTest.test(key)){value[key]=Visit8(propertySchema,references,value[key]);continue}if(IsKind(additionalProperties)&&Check(additionalProperties,references,value[key])){value[key]=Visit8(additionalProperties,references,value[key]);continue}delete value[key]}return value}function FromRef8(schema,references,value){return Visit8(Deref(schema,references),references,value)}function FromThis4(schema,references,value){return Visit8(Deref(schema,references),references,value)}function FromTuple9(schema,references,value){if(!IsArray2(value))return value;if(IsUndefined2(schema.items))return[];let length=Math.min(value.length,schema.items.length);for(let i=0;i<length;i++)value[i]=Visit8(schema.items[i],references,value[i]);return value.length>length?value.slice(0,length):value}function FromUnion14(schema,references,value){for(let inner of schema.anyOf)if(IsCheckable(inner)&&Check(inner,references,value))return Visit8(inner,references,value);return value}function Visit8(schema,references,value){let references_=IsString2(schema.$id)?Pushref(schema,references):references,schema_=schema;switch(schema_[Kind]){case"Array":return FromArray11(schema_,references_,value);case"Import":return FromImport4(schema_,references_,value);case"Intersect":return FromIntersect12(schema_,references_,value);case"Object":return FromObject12(schema_,references_,value);case"Record":return FromRecord7(schema_,references_,value);case"Ref":return FromRef8(schema_,references_,value);case"This":return FromThis4(schema_,references_,value);case"Tuple":return FromTuple9(schema_,references_,value);case"Union":return FromUnion14(schema_,references_,value);default:return value}}function Clean(...args){return args.length===3?Visit8(args[0],args[1],args[2]):Visit8(args[0],[],args[1])}class TransformDecodeCheckError extends TypeBoxError{constructor(schema,value,error){super("Unable to decode value as it does not match the expected schema");this.schema=schema,this.value=value,this.error=error}}class TransformDecodeError extends TypeBoxError{constructor(schema,path,value,error){super(error instanceof Error?error.message:"Unknown error");this.schema=schema,this.path=path,this.value=value,this.error=error}}function Default(schema,path,value){try{return IsTransform(schema)?schema[TransformKind].Decode(value):value}catch(error){throw new TransformDecodeError(schema,path,value,error)}}function FromArray12(schema,references,path,value){return IsArray2(value)?Default(schema,path,value.map((value,index)=>Visit9(schema.items,references,`${path}/${index}`,value))):Default(schema,path,value)}function FromIntersect13(schema,references,path,value){if(!IsObject2(value)||IsValueType(value))return Default(schema,path,value);let knownEntries=KeyOfPropertyEntries(schema),knownKeys=knownEntries.map((entry)=>entry[0]),knownProperties={...value};for(let[knownKey,knownSchema]of knownEntries)if(knownKey in knownProperties)knownProperties[knownKey]=Visit9(knownSchema,references,`${path}/${knownKey}`,knownProperties[knownKey]);if(!IsTransform(schema.unevaluatedProperties))return Default(schema,path,knownProperties);let unknownKeys=Object.getOwnPropertyNames(knownProperties),unevaluatedProperties=schema.unevaluatedProperties,unknownProperties={...knownProperties};for(let key of unknownKeys)if(!knownKeys.includes(key))unknownProperties[key]=Default(unevaluatedProperties,`${path}/${key}`,unknownProperties[key]);return Default(schema,path,unknownProperties)}function FromImport5(schema,references,path,value){let additional=globalThis.Object.values(schema.$defs),target=schema.$defs[schema.$ref],result=Visit9(target,[...references,...additional],path,value);return Default(schema,path,result)}function FromNot5(schema,references,path,value){return Default(schema,path,Visit9(schema.not,references,path,value))}function FromObject13(schema,references,path,value){if(!IsObject2(value))return Default(schema,path,value);let knownKeys=KeyOfPropertyKeys(schema),knownProperties={...value};for(let key of knownKeys){if(!HasPropertyKey(knownProperties,key))continue;if(IsUndefined2(knownProperties[key])&&(!IsUndefined3(schema.properties[key])||TypeSystemPolicy.IsExactOptionalProperty(knownProperties,key)))continue;knownProperties[key]=Visit9(schema.properties[key],references,`${path}/${key}`,knownProperties[key])}if(!IsSchema(schema.additionalProperties))return Default(schema,path,knownProperties);let unknownKeys=Object.getOwnPropertyNames(knownProperties),additionalProperties=schema.additionalProperties,unknownProperties={...knownProperties};for(let key of unknownKeys)if(!knownKeys.includes(key))unknownProperties[key]=Default(additionalProperties,`${path}/${key}`,unknownProperties[key]);return Default(schema,path,unknownProperties)}function FromRecord8(schema,references,path,value){if(!IsObject2(value))return Default(schema,path,value);let pattern=Object.getOwnPropertyNames(schema.patternProperties)[0],knownKeys=new RegExp(pattern),knownProperties={...value};for(let key of Object.getOwnPropertyNames(value))if(knownKeys.test(key))knownProperties[key]=Visit9(schema.patternProperties[pattern],references,`${path}/${key}`,knownProperties[key]);if(!IsSchema(schema.additionalProperties))return Default(schema,path,knownProperties);let unknownKeys=Object.getOwnPropertyNames(knownProperties),additionalProperties=schema.additionalProperties,unknownProperties={...knownProperties};for(let key of unknownKeys)if(!knownKeys.test(key))unknownProperties[key]=Default(additionalProperties,`${path}/${key}`,unknownProperties[key]);return Default(schema,path,unknownProperties)}function FromRef9(schema,references,path,value){let target=Deref(schema,references);return Default(schema,path,Visit9(target,references,path,value))}function FromThis5(schema,references,path,value){let target=Deref(schema,references);return Default(schema,path,Visit9(target,references,path,value))}function FromTuple10(schema,references,path,value){return IsArray2(value)&&IsArray2(schema.items)?Default(schema,path,schema.items.map((schema,index)=>Visit9(schema,references,`${path}/${index}`,value[index]))):Default(schema,path,value)}function FromUnion15(schema,references,path,value){for(let subschema of schema.anyOf){if(!Check(subschema,references,value))continue;let decoded=Visit9(subschema,references,path,value);return Default(schema,path,decoded)}return Default(schema,path,value)}function Visit9(schema,references,path,value){let references_=Pushref(schema,references),schema_=schema;switch(schema[Kind]){case"Array":return FromArray12(schema_,references_,path,value);case"Import":return FromImport5(schema_,references_,path,value);case"Intersect":return FromIntersect13(schema_,references_,path,value);case"Not":return FromNot5(schema_,references_,path,value);case"Object":return FromObject13(schema_,references_,path,value);case"Record":return FromRecord8(schema_,references_,path,value);case"Ref":return FromRef9(schema_,references_,path,value);case"Symbol":return Default(schema_,path,value);case"This":return FromThis5(schema_,references_,path,value);case"Tuple":return FromTuple10(schema_,references_,path,value);case"Union":return FromUnion15(schema_,references_,path,value);default:return Default(schema_,path,value)}}function TransformDecode(schema,references,value){return Visit9(schema,references,"",value)}class TransformEncodeCheckError extends TypeBoxError{constructor(schema,value,error){super("The encoded value does not match the expected schema");this.schema=schema,this.value=value,this.error=error}}class TransformEncodeError extends TypeBoxError{constructor(schema,path,value,error){super(`${error instanceof Error?error.message:"Unknown error"}`);this.schema=schema,this.path=path,this.value=value,this.error=error}}function Default2(schema,path,value){try{return IsTransform(schema)?schema[TransformKind].Encode(value):value}catch(error){throw new TransformEncodeError(schema,path,value,error)}}function FromArray13(schema,references,path,value){let defaulted=Default2(schema,path,value);return IsArray2(defaulted)?defaulted.map((value,index)=>Visit10(schema.items,references,`${path}/${index}`,value)):defaulted}function FromImport6(schema,references,path,value){let additional=globalThis.Object.values(schema.$defs),target=schema.$defs[schema.$ref],result=Default2(schema,path,value);return Visit10(target,[...references,...additional],path,result)}function FromIntersect14(schema,references,path,value){let defaulted=Default2(schema,path,value);if(!IsObject2(value)||IsValueType(value))return defaulted;let knownEntries=KeyOfPropertyEntries(schema),knownKeys=knownEntries.map((entry)=>entry[0]),knownProperties={...defaulted};for(let[knownKey,knownSchema]of knownEntries)if(knownKey in knownProperties)knownProperties[knownKey]=Visit10(knownSchema,references,`${path}/${knownKey}`,knownProperties[knownKey]);if(!IsTransform(schema.unevaluatedProperties))return knownProperties;let unknownKeys=Object.getOwnPropertyNames(knownProperties),unevaluatedProperties=schema.unevaluatedProperties,properties={...knownProperties};for(let key of unknownKeys)if(!knownKeys.includes(key))properties[key]=Default2(unevaluatedProperties,`${path}/${key}`,properties[key]);return properties}function FromNot6(schema,references,path,value){return Default2(schema.not,path,Default2(schema,path,value))}function FromObject14(schema,references,path,value){let defaulted=Default2(schema,path,value);if(!IsObject2(defaulted))return defaulted;let knownKeys=KeyOfPropertyKeys(schema),knownProperties={...defaulted};for(let key of knownKeys){if(!HasPropertyKey(knownProperties,key))continue;if(IsUndefined2(knownProperties[key])&&(!IsUndefined3(schema.properties[key])||TypeSystemPolicy.IsExactOptionalProperty(knownProperties,key)))continue;knownProperties[key]=Visit10(schema.properties[key],references,`${path}/${key}`,knownProperties[key])}if(!IsSchema(schema.additionalProperties))return knownProperties;let unknownKeys=Object.getOwnPropertyNames(knownProperties),additionalProperties=schema.additionalProperties,properties={...knownProperties};for(let key of unknownKeys)if(!knownKeys.includes(key))properties[key]=Default2(additionalProperties,`${path}/${key}`,properties[key]);return properties}function FromRecord9(schema,references,path,value){let defaulted=Default2(schema,path,value);if(!IsObject2(value))return defaulted;let pattern=Object.getOwnPropertyNames(schema.patternProperties)[0],knownKeys=new RegExp(pattern),knownProperties={...defaulted};for(let key of Object.getOwnPropertyNames(value))if(knownKeys.test(key))knownProperties[key]=Visit10(schema.patternProperties[pattern],references,`${path}/${key}`,knownProperties[key]);if(!IsSchema(schema.additionalProperties))return knownProperties;let unknownKeys=Object.getOwnPropertyNames(knownProperties),additionalProperties=schema.additionalProperties,properties={...knownProperties};for(let key of unknownKeys)if(!knownKeys.test(key))properties[key]=Default2(additionalProperties,`${path}/${key}`,properties[key]);return properties}function FromRef10(schema,references,path,value){let target=Deref(schema,references),resolved=Visit10(target,references,path,value);return Default2(schema,path,resolved)}function FromThis6(schema,references,path,value){let target=Deref(schema,references),resolved=Visit10(target,references,path,value);return Default2(schema,path,resolved)}function FromTuple11(schema,references,path,value){let value1=Default2(schema,path,value);return IsArray2(schema.items)?schema.items.map((schema,index)=>Visit10(schema,references,`${path}/${index}`,value1[index])):[]}function FromUnion16(schema,references,path,value){for(let subschema of schema.anyOf){if(!Check(subschema,references,value))continue;let value1=Visit10(subschema,references,path,value);return Default2(schema,path,value1)}for(let subschema of schema.anyOf){let value1=Visit10(subschema,references,path,value);if(!Check(schema,references,value1))continue;return Default2(schema,path,value1)}return Default2(schema,path,value)}function Visit10(schema,references,path,value){let references_=Pushref(schema,references),schema_=schema;switch(schema[Kind]){case"Array":return FromArray13(schema_,references_,path,value);case"Import":return FromImport6(schema_,references_,path,value);case"Intersect":return FromIntersect14(schema_,references_,path,value);case"Not":return FromNot6(schema_,references_,path,value);case"Object":return FromObject14(schema_,references_,path,value);case"Record":return FromRecord9(schema_,references_,path,value);case"Ref":return FromRef10(schema_,references_,path,value);case"This":return FromThis6(schema_,references_,path,value);case"Tuple":return FromTuple11(schema_,references_,path,value);case"Union":return FromUnion16(schema_,references_,path,value);default:return Default2(schema_,path,value)}}function TransformEncode(schema,references,value){return Visit10(schema,references,"",value)}function FromArray14(schema,references){return IsTransform(schema)||Visit11(schema.items,references)}function FromAsyncIterator7(schema,references){return IsTransform(schema)||Visit11(schema.items,references)}function FromConstructor7(schema,references){return IsTransform(schema)||Visit11(schema.returns,references)||schema.parameters.some((schema)=>Visit11(schema,references))}function FromFunction7(schema,references){return IsTransform(schema)||Visit11(schema.returns,references)||schema.parameters.some((schema)=>Visit11(schema,references))}function FromIntersect15(schema,references){return IsTransform(schema)||IsTransform(schema.unevaluatedProperties)||schema.allOf.some((schema)=>Visit11(schema,references))}function FromImport7(schema,references){let additional=globalThis.Object.getOwnPropertyNames(schema.$defs).reduce((result,key)=>[...result,schema.$defs[key]],[]),target=schema.$defs[schema.$ref];return IsTransform(schema)||Visit11(target,[...additional,...references])}function FromIterator7(schema,references){return IsTransform(schema)||Visit11(schema.items,references)}function FromNot7(schema,references){return IsTransform(schema)||Visit11(schema.not,references)}function FromObject15(schema,references){return IsTransform(schema)||Object.values(schema.properties).some((schema)=>Visit11(schema,references))||IsSchema(schema.additionalProperties)&&Visit11(schema.additionalProperties,references)}function FromPromise7(schema,references){return IsTransform(schema)||Visit11(schema.item,references)}function FromRecord10(schema,references){let pattern=Object.getOwnPropertyNames(schema.patternProperties)[0],property=schema.patternProperties[pattern];return IsTransform(schema)||Visit11(property,references)||IsSchema(schema.additionalProperties)&&IsTransform(schema.additionalProperties)}function FromRef11(schema,references){if(IsTransform(schema))return!0;return Visit11(Deref(schema,references),references)}function FromThis7(schema,references){if(IsTransform(schema))return!0;return Visit11(Deref(schema,references),references)}function FromTuple12(schema,references){return IsTransform(schema)||!IsUndefined2(schema.items)&&schema.items.some((schema)=>Visit11(schema,references))}function FromUnion17(schema,references){return IsTransform(schema)||schema.anyOf.some((schema)=>Visit11(schema,references))}function Visit11(schema,references){let references_=Pushref(schema,references),schema_=schema;if(schema.$id&&visited.has(schema.$id))return!1;if(schema.$id)visited.add(schema.$id);switch(schema[Kind]){case"Array":return FromArray14(schema_,references_);case"AsyncIterator":return FromAsyncIterator7(schema_,references_);case"Constructor":return FromConstructor7(schema_,references_);case"Function":return FromFunction7(schema_,references_);case"Import":return FromImport7(schema_,references_);case"Intersect":return FromIntersect15(schema_,references_);case"Iterator":return FromIterator7(schema_,references_);case"Not":return FromNot7(schema_,references_);case"Object":return FromObject15(schema_,references_);case"Promise":return FromPromise7(schema_,references_);case"Record":return FromRecord10(schema_,references_);case"Ref":return FromRef11(schema_,references_);case"This":return FromThis7(schema_,references_);case"Tuple":return FromTuple12(schema_,references_);case"Union":return FromUnion17(schema_,references_);default:return IsTransform(schema)}}var visited=new Set;function HasTransform(schema,references){return visited.clear(),Visit11(schema,references)}function Decode(...args){let[schema,references,value]=args.length===3?[args[0],args[1],args[2]]:[args[0],[],args[1]];if(!Check(schema,references,value))throw new TransformDecodeCheckError(schema,value,Errors(schema,references,value).First());return HasTransform(schema,references)?TransformDecode(schema,references,value):value}function ValueOrDefault(schema,value){let defaultValue=HasPropertyKey(schema,"default")?schema.default:void 0,clone=IsFunction2(defaultValue)?defaultValue():Clone2(defaultValue);return IsUndefined2(value)?clone:IsObject2(value)&&IsObject2(clone)?Object.assign(clone,value):value}function HasDefaultProperty(schema){return IsKind(schema)&&"default"in schema}function FromArray15(schema,references,value){if(IsArray2(value)){for(let i=0;i<value.length;i++)value[i]=Visit12(schema.items,references,value[i]);return value}let defaulted=ValueOrDefault(schema,value);if(!IsArray2(defaulted))return defaulted;for(let i=0;i<defaulted.length;i++)defaulted[i]=Visit12(schema.items,references,defaulted[i]);return defaulted}function FromDate6(schema,references,value){return IsDate2(value)?value:ValueOrDefault(schema,value)}function FromImport8(schema,references,value){let definitions=globalThis.Object.values(schema.$defs),target=schema.$defs[schema.$ref];return Visit12(target,[...references,...definitions],value)}function FromIntersect16(schema,references,value){let defaulted=ValueOrDefault(schema,value);return schema.allOf.reduce((acc,schema)=>{let next=Visit12(schema,references,defaulted);return IsObject2(next)?{...acc,...next}:next},{})}function FromObject16(schema,references,value){let defaulted=ValueOrDefault(schema,value);if(!IsObject2(defaulted))return defaulted;let knownPropertyKeys=Object.getOwnPropertyNames(schema.properties);for(let key of knownPropertyKeys){let propertyValue=Visit12(schema.properties[key],references,defaulted[key]);if(IsUndefined2(propertyValue))continue;defaulted[key]=Visit12(schema.properties[key],references,defaulted[key])}if(!HasDefaultProperty(schema.additionalProperties))return defaulted;for(let key of Object.getOwnPropertyNames(defaulted)){if(knownPropertyKeys.includes(key))continue;defaulted[key]=Visit12(schema.additionalProperties,references,defaulted[key])}return defaulted}function FromRecord11(schema,references,value){let defaulted=ValueOrDefault(schema,value);if(!IsObject2(defaulted))return defaulted;let additionalPropertiesSchema=schema.additionalProperties,[propertyKeyPattern,propertySchema]=Object.entries(schema.patternProperties)[0],knownPropertyKey=new RegExp(propertyKeyPattern);for(let key of Object.getOwnPropertyNames(defaulted)){if(!(knownPropertyKey.test(key)&&HasDefaultProperty(propertySchema)))continue;defaulted[key]=Visit12(propertySchema,references,defaulted[key])}if(!HasDefaultProperty(additionalPropertiesSchema))return defaulted;for(let key of Object.getOwnPropertyNames(defaulted)){if(knownPropertyKey.test(key))continue;defaulted[key]=Visit12(additionalPropertiesSchema,references,defaulted[key])}return defaulted}function FromRef12(schema,references,value){return Visit12(Deref(schema,references),references,ValueOrDefault(schema,value))}function FromThis8(schema,references,value){return Visit12(Deref(schema,references),references,value)}function FromTuple13(schema,references,value){let defaulted=ValueOrDefault(schema,value);if(!IsArray2(defaulted)||IsUndefined2(schema.items))return defaulted;let[items,max]=[schema.items,Math.max(schema.items.length,defaulted.length)];for(let i=0;i<max;i++)if(i<items.length)defaulted[i]=Visit12(items[i],references,defaulted[i]);return defaulted}function FromUnion18(schema,references,value){let defaulted=ValueOrDefault(schema,value);for(let inner of schema.anyOf){let result=Visit12(inner,references,Clone2(defaulted));if(Check(inner,references,result))return result}return defaulted}function Visit12(schema,references,value){let references_=Pushref(schema,references),schema_=schema;switch(schema_[Kind]){case"Array":return FromArray15(schema_,references_,value);case"Date":return FromDate6(schema_,references_,value);case"Import":return FromImport8(schema_,references_,value);case"Intersect":return FromIntersect16(schema_,references_,value);case"Object":return FromObject16(schema_,references_,value);case"Record":return FromRecord11(schema_,references_,value);case"Ref":return FromRef12(schema_,references_,value);case"This":return FromThis8(schema_,references_,value);case"Tuple":return FromTuple13(schema_,references_,value);case"Union":return FromUnion18(schema_,references_,value);default:return ValueOrDefault(schema_,value)}}function Default3(...args){return args.length===3?Visit12(args[0],args[1],args[2]):Visit12(args[0],[],args[1])}function Encode(...args){let[schema,references,value]=args.length===3?[args[0],args[1],args[2]]:[args[0],[],args[1]],encoded=HasTransform(schema,references)?TransformEncode(schema,references,value):value;if(!Check(schema,references,encoded))throw new TransformEncodeCheckError(schema,encoded,Errors(schema,references,encoded).First());return encoded}class TypeCheck{constructor(schema,references,checkFunc,code){this.schema=schema,this.references=references,this.checkFunc=checkFunc,this.code=code,this.hasTransform=HasTransform(schema,references)}Code(){return this.code}Schema(){return this.schema}References(){return this.references}Errors(value){return Errors(this.schema,this.references,value)}Check(value){return this.checkFunc(value)}Decode(value){if(!this.checkFunc(value))throw new TransformDecodeCheckError(this.schema,value,this.Errors(value).First());return this.hasTransform?TransformDecode(this.schema,this.references,value):value}Encode(value){let encoded=this.hasTransform?TransformEncode(this.schema,this.references,value):value;if(!this.checkFunc(encoded))throw new TransformEncodeCheckError(this.schema,value,this.Errors(value).First());return encoded}}var Character;(function(Character){function DollarSign(code){return code===36}Character.DollarSign=DollarSign;function IsUnderscore(code){return code===95}Character.IsUnderscore=IsUnderscore;function IsAlpha(code){return code>=65&&code<=90||code>=97&&code<=122}Character.IsAlpha=IsAlpha;function IsNumeric(code){return code>=48&&code<=57}Character.IsNumeric=IsNumeric})(Character||(Character={}));var Identifier;(function(Identifier){function Encode($id){let buffer=[];for(let i=0;i<$id.length;i++){let code=$id.charCodeAt(i);if(Character.IsNumeric(code)||Character.IsAlpha(code))buffer.push($id.charAt(i));else buffer.push(`_${code}_`)}return buffer.join("").replace(/__/g,"_")}Identifier.Encode=Encode})(Identifier||(Identifier={}));function StringConstant(value){if(!IsString2(value))throw Error("ConstantString: Not a String");return`'${JSON.stringify(value).slice(1,-1).replace(/'/g,"\\'")}'`}function MemberExpression(value,key){return`${value}[${StringConstant(key)}]`}class TypeCompilerUnknownTypeError extends TypeBoxError{constructor(schema){super("Unknown type");this.schema=schema}}class TypeCompilerTypeGuardError extends TypeBoxError{constructor(schema){super("Preflight validation check failed to guard for the given schema");this.schema=schema}}var Policy;(function(Policy){function IsExactOptionalProperty(value,key,expression){return TypeSystemPolicy.ExactOptionalPropertyTypes?`(${StringConstant(key)} in ${value} ? ${expression} : true)`:`(${MemberExpression(value,key)} !== undefined ? ${expression} : true)`}Policy.IsExactOptionalProperty=IsExactOptionalProperty;function IsObjectLike(value){return!TypeSystemPolicy.AllowArrayObject?`(typeof ${value} === 'object' && ${value} !== null && !Array.isArray(${value}))`:`(typeof ${value} === 'object' && ${value} !== null)`}Policy.IsObjectLike=IsObjectLike;function IsRecordLike(value){return!TypeSystemPolicy.AllowArrayObject?`(typeof ${value} === 'object' && ${value} !== null && !Array.isArray(${value}) && !(${value} instanceof Date) && !(${value} instanceof Uint8Array))`:`(typeof ${value} === 'object' && ${value} !== null && !(${value} instanceof Date) && !(${value} instanceof Uint8Array))`}Policy.IsRecordLike=IsRecordLike;function IsNumberLike(value){return TypeSystemPolicy.AllowNaN?`typeof ${value} === 'number'`:`Number.isFinite(${value})`}Policy.IsNumberLike=IsNumberLike;function IsVoidLike(value){return TypeSystemPolicy.AllowNullVoid?`(${value} === undefined || ${value} === null)`:`${value} === undefined`}Policy.IsVoidLike=IsVoidLike})(Policy||(Policy={}));var TypeCompiler;(function(TypeCompiler){function IsAnyOrUnknown(schema){return schema[Kind]==="Any"||schema[Kind]==="Unknown"}function*FromAny(schema,references,value){yield"true"}function*FromArgument(schema,references,value){yield"true"}function*FromArray(schema,references,value){yield`Array.isArray(${value})`;let[parameter,accumulator]=[CreateParameter("value","any"),CreateParameter("acc","number")];if(IsNumber2(schema.maxItems))yield`${value}.length <= ${schema.maxItems}`;if(IsNumber2(schema.minItems))yield`${value}.length >= ${schema.minItems}`;let elementExpression=CreateExpression(schema.items,references,"value");if(yield`((array) => { for(const ${parameter} of array) if(!(${elementExpression})) { return false }; return true; })(${value})`,IsSchema2(schema.contains)||IsNumber2(schema.minContains)||IsNumber2(schema.maxContains)){let containsSchema=IsSchema2(schema.contains)?schema.contains:Never(),checkExpression=CreateExpression(containsSchema,references,"value"),checkMinContains=IsNumber2(schema.minContains)?[`(count >= ${schema.minContains})`]:[],checkMaxContains=IsNumber2(schema.maxContains)?[`(count <= ${schema.maxContains})`]:[],checkCount=`const count = value.reduce((${accumulator}, ${parameter}) => ${checkExpression} ? acc + 1 : acc, 0)`,check=["(count > 0)",...checkMinContains,...checkMaxContains].join(" && ");yield`((${parameter}) => { ${checkCount}; return ${check}})(${value})`}if(schema.uniqueItems===!0)yield`((${parameter}) => { const set = new Set(); for(const element of value) { const hashed = hash(element); if(set.has(hashed)) { return false } else { set.add(hashed) } } return true } )(${value})`}function*FromAsyncIterator(schema,references,value){yield`(typeof value === 'object' && Symbol.asyncIterator in ${value})`}function*FromBigInt(schema,references,value){if(yield`(typeof ${value} === 'bigint')`,IsBigInt2(schema.exclusiveMaximum))yield`${value} < BigInt(${schema.exclusiveMaximum})`;if(IsBigInt2(schema.exclusiveMinimum))yield`${value} > BigInt(${schema.exclusiveMinimum})`;if(IsBigInt2(schema.maximum))yield`${value} <= BigInt(${schema.maximum})`;if(IsBigInt2(schema.minimum))yield`${value} >= BigInt(${schema.minimum})`;if(IsBigInt2(schema.multipleOf))yield`(${value} % BigInt(${schema.multipleOf})) === 0`}function*FromBoolean(schema,references,value){yield`(typeof ${value} === 'boolean')`}function*FromConstructor(schema,references,value){yield*Visit(schema.returns,references,`${value}.prototype`)}function*FromDate(schema,references,value){if(yield`(${value} instanceof Date) && Number.isFinite(${value}.getTime())`,IsNumber2(schema.exclusiveMaximumTimestamp))yield`${value}.getTime() < ${schema.exclusiveMaximumTimestamp}`;if(IsNumber2(schema.exclusiveMinimumTimestamp))yield`${value}.getTime() > ${schema.exclusiveMinimumTimestamp}`;if(IsNumber2(schema.maximumTimestamp))yield`${value}.getTime() <= ${schema.maximumTimestamp}`;if(IsNumber2(schema.minimumTimestamp))yield`${value}.getTime() >= ${schema.minimumTimestamp}`;if(IsNumber2(schema.multipleOfTimestamp))yield`(${value}.getTime() % ${schema.multipleOfTimestamp}) === 0`}function*FromFunction(schema,references,value){yield`(typeof ${value} === 'function')`}function*FromImport(schema,references,value){let members=globalThis.Object.getOwnPropertyNames(schema.$defs).reduce((result,key)=>[...result,schema.$defs[key]],[]);yield*Visit(Ref(schema.$ref),[...references,...members],value)}function*FromInteger(schema,references,value){if(yield`Number.isInteger(${value})`,IsNumber2(schema.exclusiveMaximum))yield`${value} < ${schema.exclusiveMaximum}`;if(IsNumber2(schema.exclusiveMinimum))yield`${value} > ${schema.exclusiveMinimum}`;if(IsNumber2(schema.maximum))yield`${value} <= ${schema.maximum}`;if(IsNumber2(schema.minimum))yield`${value} >= ${schema.minimum}`;if(IsNumber2(schema.multipleOf))yield`(${value} % ${schema.multipleOf}) === 0`}function*FromIntersect(schema,references,value){let check1=schema.allOf.map((schema)=>CreateExpression(schema,references,value)).join(" && ");if(schema.unevaluatedProperties===!1){let keyCheck=CreateVariable(`${new RegExp(KeyOfPattern(schema))};`),check2=`Object.getOwnPropertyNames(${value}).every(key => ${keyCheck}.test(key))`;yield`(${check1} && ${check2})`}else if(IsSchema2(schema.unevaluatedProperties)){let keyCheck=CreateVariable(`${new RegExp(KeyOfPattern(schema))};`),check2=`Object.getOwnPropertyNames(${value}).every(key => ${keyCheck}.test(key) || ${CreateExpression(schema.unevaluatedProperties,references,`${value}[key]`)})`;yield`(${check1} && ${check2})`}else yield`(${check1})`}function*FromIterator(schema,references,value){yield`(typeof value === 'object' && Symbol.iterator in ${value})`}function*FromLiteral(schema,references,value){if(typeof schema.const==="number"||typeof schema.const==="boolean")yield`(${value} === ${schema.const})`;else if(typeof schema.const==="string")yield`(${value} === ${StringConstant(schema.const)})`;else throw Error("Invalid Literal Value")}function*FromNever(schema,references,value){yield"false"}function*FromNot(schema,references,value){yield`(!${CreateExpression(schema.not,references,value)})`}function*FromNull(schema,references,value){yield`(${value} === null)`}function*FromNumber(schema,references,value){if(yield Policy.IsNumberLike(value),IsNumber2(schema.exclusiveMaximum))yield`${value} < ${schema.exclusiveMaximum}`;if(IsNumber2(schema.exclusiveMinimum))yield`${value} > ${schema.exclusiveMinimum}`;if(IsNumber2(schema.maximum))yield`${value} <= ${schema.maximum}`;if(IsNumber2(schema.minimum))yield`${value} >= ${schema.minimum}`;if(IsNumber2(schema.multipleOf))yield`(${value} % ${schema.multipleOf}) === 0`}function*FromObject(schema,references,value){if(yield Policy.IsObjectLike(value),IsNumber2(schema.minProperties))yield`Object.getOwnPropertyNames(${value}).length >= ${schema.minProperties}`;if(IsNumber2(schema.maxProperties))yield`Object.getOwnPropertyNames(${value}).length <= ${schema.maxProperties}`;let knownKeys=Object.getOwnPropertyNames(schema.properties);for(let knownKey of knownKeys){let memberExpression=MemberExpression(value,knownKey),property=schema.properties[knownKey];if(schema.required&&schema.required.includes(knownKey)){if(yield*Visit(property,references,memberExpression),ExtendsUndefinedCheck(property)||IsAnyOrUnknown(property))yield`(${StringConstant(knownKey)} in ${value})`}else{let expression=CreateExpression(property,references,memberExpression);yield Policy.IsExactOptionalProperty(value,knownKey,expression)}}if(schema.additionalProperties===!1)if(schema.required&&schema.required.length===knownKeys.length)yield`Object.getOwnPropertyNames(${value}).length === ${knownKeys.length}`;else{let keys=`[${knownKeys.map((key)=>`${StringConstant(key)}`).join(", ")}]`;yield`Object.getOwnPropertyNames(${value}).every(key => ${keys}.includes(key))`}if(typeof schema.additionalProperties==="object"){let expression=CreateExpression(schema.additionalProperties,references,`${value}[key]`),keys=`[${knownKeys.map((key)=>`${StringConstant(key)}`).join(", ")}]`;yield`(Object.getOwnPropertyNames(${value}).every(key => ${keys}.includes(key) || ${expression}))`}}function*FromPromise(schema,references,value){yield`${value} instanceof Promise`}function*FromRecord(schema,references,value){if(yield Policy.IsRecordLike(value),IsNumber2(schema.minProperties))yield`Object.getOwnPropertyNames(${value}).length >= ${schema.minProperties}`;if(IsNumber2(schema.maxProperties))yield`Object.getOwnPropertyNames(${value}).length <= ${schema.maxProperties}`;let[patternKey,patternSchema]=Object.entries(schema.patternProperties)[0],variable=CreateVariable(`${new RegExp(patternKey)}`),check1=CreateExpression(patternSchema,references,"value"),check2=IsSchema2(schema.additionalProperties)?CreateExpression(schema.additionalProperties,references,value):schema.additionalProperties===!1?"false":"true",expression=`(${variable}.test(key) ? ${check1} : ${check2})`;yield`(Object.entries(${value}).every(([key, value]) => ${expression}))`}function*FromRef(schema,references,value){let target=Deref(schema,references);if(state.functions.has(schema.$ref))return yield`${CreateFunctionName(schema.$ref)}(${value})`;yield*Visit(target,references,value)}function*FromRegExp(schema,references,value){let variable=CreateVariable(`${new RegExp(schema.source,schema.flags)};`);if(yield`(typeof ${value} === 'string')`,IsNumber2(schema.maxLength))yield`${value}.length <= ${schema.maxLength}`;if(IsNumber2(schema.minLength))yield`${value}.length >= ${schema.minLength}`;yield`${variable}.test(${value})`}function*FromString(schema,references,value){if(yield`(typeof ${value} === 'string')`,IsNumber2(schema.maxLength))yield`${value}.length <= ${schema.maxLength}`;if(IsNumber2(schema.minLength))yield`${value}.length >= ${schema.minLength}`;if(schema.pattern!==void 0)yield`${CreateVariable(`${new RegExp(schema.pattern)};`)}.test(${value})`;if(schema.format!==void 0)yield`format(${StringConstant(schema.format)}, ${value})`}function*FromSymbol(schema,references,value){yield`(typeof ${value} === 'symbol')`}function*FromTemplateLiteral(schema,references,value){yield`(typeof ${value} === 'string')`,yield`${CreateVariable(`${new RegExp(schema.pattern)};`)}.test(${value})`}function*FromThis(schema,references,value){yield`${CreateFunctionName(schema.$ref)}(${value})`}function*FromTuple(schema,references,value){if(yield`Array.isArray(${value})`,schema.items===void 0)return yield`${value}.length === 0`;yield`(${value}.length === ${schema.maxItems})`;for(let i=0;i<schema.items.length;i++)yield`${CreateExpression(schema.items[i],references,`${value}[${i}]`)}`}function*FromUndefined(schema,references,value){yield`${value} === undefined`}function*FromUnion(schema,references,value){yield`(${schema.anyOf.map((schema)=>CreateExpression(schema,references,value)).join(" || ")})`}function*FromUint8Array(schema,references,value){if(yield`${value} instanceof Uint8Array`,IsNumber2(schema.maxByteLength))yield`(${value}.length <= ${schema.maxByteLength})`;if(IsNumber2(schema.minByteLength))yield`(${value}.length >= ${schema.minByteLength})`}function*FromUnknown(schema,references,value){yield"true"}function*FromVoid(schema,references,value){yield Policy.IsVoidLike(value)}function*FromKind(schema,references,value){let instance=state.instances.size;state.instances.set(instance,schema),yield`kind(${StringConstant(schema[Kind])}, ${instance}, ${value})`}function*Visit(schema,references,value,useHoisting=!0){let references_=IsString2(schema.$id)?[...references,schema]:references,schema_=schema;if(useHoisting&&IsString2(schema.$id)){let functionName=CreateFunctionName(schema.$id);if(state.functions.has(functionName))return yield`${functionName}(${value})`;else{state.functions.set(functionName,"<deferred>");let functionCode=CreateFunction(functionName,schema,references,"value",!1);return state.functions.set(functionName,functionCode),yield`${functionName}(${value})`}}switch(schema_[Kind]){case"Any":return yield*FromAny(schema_,references_,value);case"Argument":return yield*FromArgument(schema_,references_,value);case"Array":return yield*FromArray(schema_,references_,value);case"AsyncIterator":return yield*FromAsyncIterator(schema_,references_,value);case"BigInt":return yield*FromBigInt(schema_,references_,value);case"Boolean":return yield*FromBoolean(schema_,references_,value);case"Constructor":return yield*FromConstructor(schema_,references_,value);case"Date":return yield*FromDate(schema_,references_,value);case"Function":return yield*FromFunction(schema_,references_,value);case"Import":return yield*FromImport(schema_,references_,value);case"Integer":return yield*FromInteger(schema_,references_,value);case"Intersect":return yield*FromIntersect(schema_,references_,value);case"Iterator":return yield*FromIterator(schema_,references_,value);case"Literal":return yield*FromLiteral(schema_,references_,value);case"Never":return yield*FromNever(schema_,references_,value);case"Not":return yield*FromNot(schema_,references_,value);case"Null":return yield*FromNull(schema_,references_,value);case"Number":return yield*FromNumber(schema_,references_,value);case"Object":return yield*FromObject(schema_,references_,value);case"Promise":return yield*FromPromise(schema_,references_,value);case"Record":return yield*FromRecord(schema_,references_,value);case"Ref":return yield*FromRef(schema_,references_,value);case"RegExp":return yield*FromRegExp(schema_,references_,value);case"String":return yield*FromString(schema_,references_,value);case"Symbol":return yield*FromSymbol(schema_,references_,value);case"TemplateLiteral":return yield*FromTemplateLiteral(schema_,references_,value);case"This":return yield*FromThis(schema_,references_,value);case"Tuple":return yield*FromTuple(schema_,references_,value);case"Undefined":return yield*FromUndefined(schema_,references_,value);case"Union":return yield*FromUnion(schema_,references_,value);case"Uint8Array":return yield*FromUint8Array(schema_,references_,value);case"Unknown":return yield*FromUnknown(schema_,references_,value);case"Void":return yield*FromVoid(schema_,references_,value);default:if(!Has2(schema_[Kind]))throw new TypeCompilerUnknownTypeError(schema);return yield*FromKind(schema_,references_,value)}}let state={language:"javascript",functions:new Map,variables:new Map,instances:new Map};function CreateExpression(schema,references,value,useHoisting=!0){return`(${[...Visit(schema,references,value,useHoisting)].join(" && ")})`}function CreateFunctionName($id){return`check_${Identifier.Encode($id)}`}function CreateVariable(expression){let variableName=`local_${state.variables.size}`;return state.variables.set(variableName,`const ${variableName} = ${expression}`),variableName}function CreateFunction(name,schema,references,value,useHoisting=!0){let[newline,pad]=[`
|
|
10
|
+
`,(length)=>"".padStart(length," ")],parameter=CreateParameter("value","any"),returns=CreateReturns("boolean"),expression=[...Visit(schema,references,value,useHoisting)].map((expression)=>`${pad(4)}${expression}`).join(` &&${newline}`);return`function ${name}(${parameter})${returns} {${newline}${pad(2)}return (${newline}${expression}${newline}${pad(2)})
|
|
11
|
+
}`}function CreateParameter(name,type){let annotation=state.language==="typescript"?`: ${type}`:"";return`${name}${annotation}`}function CreateReturns(type){return state.language==="typescript"?`: ${type}`:""}function Build(schema,references,options){let functionCode=CreateFunction("check",schema,references,"value"),parameter=CreateParameter("value","any"),returns=CreateReturns("boolean"),functions=[...state.functions.values()],variables=[...state.variables.values()],checkFunction=IsString2(schema.$id)?`return function check(${parameter})${returns} {
|
|
12
|
+
return ${CreateFunctionName(schema.$id)}(value)
|
|
13
|
+
}`:`return ${functionCode}`;return[...variables,...functions,checkFunction].join(`
|
|
14
|
+
`)}function Code(...args){let defaults={language:"javascript"},[schema,references,options]=args.length===2&&IsArray2(args[1])?[args[0],args[1],defaults]:args.length===2&&!IsArray2(args[1])?[args[0],[],args[1]]:args.length===3?[args[0],args[1],args[2]]:args.length===1?[args[0],[],defaults]:[null,[],defaults];if(state.language=options.language,state.variables.clear(),state.functions.clear(),state.instances.clear(),!IsSchema2(schema))throw new TypeCompilerTypeGuardError(schema);for(let schema of references)if(!IsSchema2(schema))throw new TypeCompilerTypeGuardError(schema);return Build(schema,references,options)}TypeCompiler.Code=Code;function Compile(schema,references=[]){let generatedCode=Code(schema,references,{language:"javascript"}),compiledFunction=Evaluate("kind","format","hash",generatedCode),instances=new Map(state.instances);function typeRegistryFunction(kind,instance,value){if(!Has2(kind)||!instances.has(instance))return!1;let checkFunc=Get2(kind),schema=instances.get(instance);return checkFunc(schema,value)}function formatRegistryFunction(format,value){if(!Has(format))return!1;return Get(format)(value)}function hashFunction(value){return Hash(value)}let checkFunction=compiledFunction(typeRegistryFunction,formatRegistryFunction,hashFunction);return new TypeCheck(schema,references,checkFunction,generatedCode)}TypeCompiler.Compile=Compile})(TypeCompiler||(TypeCompiler={}));var isBun=typeof Bun<"u";function isCloudflareWorker(){try{if(typeof caches<"u"&&typeof caches.default<"u"||typeof WebSocketPair<"u")return!0}catch{return!1}return!1}var mime={aac:"audio/aac",abw:"application/x-abiword",ai:"application/postscript",arc:"application/octet-stream",avi:"video/x-msvideo",azw:"application/vnd.amazon.ebook",bin:"application/octet-stream",bz:"application/x-bzip",bz2:"application/x-bzip2",csh:"application/x-csh",css:"text/css",csv:"text/csv",doc:"application/msword",dll:"application/octet-stream",eot:"application/vnd.ms-fontobject",epub:"application/epub+zip",gif:"image/gif",htm:"text/html",html:"text/html",ico:"image/x-icon",ics:"text/calendar",jar:"application/java-archive",jpeg:"image/jpeg",jpg:"image/jpeg",js:"application/javascript",json:"application/json",mid:"audio/midi",midi:"audio/midi",mp2:"audio/mpeg",mp3:"audio/mpeg",mp4:"video/mp4",mpa:"video/mpeg",mpe:"video/mpeg",mpeg:"video/mpeg",mpkg:"application/vnd.apple.installer+xml",odp:"application/vnd.oasis.opendocument.presentation",ods:"application/vnd.oasis.opendocument.spreadsheet",odt:"application/vnd.oasis.opendocument.text",oga:"audio/ogg",ogv:"video/ogg",ogx:"application/ogg",otf:"font/otf",png:"image/png",pdf:"application/pdf",ppt:"application/vnd.ms-powerpoint",rar:"application/x-rar-compressed",rtf:"application/rtf",sh:"application/x-sh",svg:"image/svg+xml",swf:"application/x-shockwave-flash",tar:"application/x-tar",tif:"image/tiff",tiff:"image/tiff",ts:"application/typescript",ttf:"font/ttf",txt:"text/plain",vsd:"application/vnd.visio",wav:"audio/x-wav",weba:"audio/webm",webm:"video/webm",webp:"image/webp",woff:"font/woff",woff2:"font/woff2",xhtml:"application/xhtml+xml",xls:"application/vnd.ms-excel",xlsx:"application/vnd.ms-excel",xlsx_OLD:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",xml:"application/xml",xul:"application/vnd.mozilla.xul+xml",zip:"application/zip","3gp":"video/3gpp","3gp_DOES_NOT_CONTAIN_VIDEO":"audio/3gpp","3gp2":"video/3gpp2","3gp2_DOES_NOT_CONTAIN_VIDEO":"audio/3gpp2","7z":"application/x-7z-compressed"},getFileExtension=(path)=>{let index=path.lastIndexOf(".");return index===-1?"":path.slice(index+1)};var createReadStream,stat;class ElysiaFile{constructor(path){if(this.path=path,isBun)this.value=Bun.file(path);else{if(!createReadStream||!stat){if(typeof window<"u"){console.warn("Browser environment does not support file");return}let warnMissing=(name)=>console.warn(Error(`[elysia] \`file\` require \`fs${name?"."+name:""}\` ${name?.includes(".")?"module ":""}which is not available in this environment`));if(typeof process>"u"||typeof process.getBuiltinModule!="function"){warnMissing();return}let fs=process.getBuiltinModule("fs");if(!fs){warnMissing();return}if(typeof fs.createReadStream!="function"){warnMissing();return}if(typeof fs.promises?.stat!="function"){warnMissing();return}createReadStream=fs.createReadStream,stat=fs.promises.stat}this.value=createReadStream(path),this.stats=stat(path)}}get type(){return mime[getFileExtension(this.path)]||"application/octet-stream"}get length(){return isBun?this.value.size:this.stats?.then((x)=>x.size)??0}}var replaceUrlPath=(url,pathname)=>{let pathStartIndex=url.indexOf("/",11),queryIndex=url.indexOf("?",pathStartIndex);return queryIndex===-1?`${url.slice(0,pathStartIndex)}${pathname.charCodeAt(0)===47?"":"/"}${pathname}`:`${url.slice(0,pathStartIndex)}${pathname.charCodeAt(0)===47?"":"/"}${pathname}${url.slice(queryIndex)}`},isClass=(v)=>typeof v=="function"&&/^\s*class\s+/.test(v.toString())||v.toString&&v.toString().startsWith("[object ")&&v.toString()!=="[object Object]"||isNotEmpty(Object.getPrototypeOf(v)),isObject=(item)=>item&&typeof item=="object"&&!Array.isArray(item),mergeDeep=(target,source,options)=>{let skipKeys=options?.skipKeys,override=options?.override??!0,mergeArray=options?.mergeArray??!1,seen=options?.seen??new WeakSet;if(!isObject(target)||!isObject(source)||seen.has(source))return target;seen.add(source);for(let[key,value]of Object.entries(source))if(!(skipKeys?.includes(key)||["__proto__","constructor","prototype"].includes(key))){if(mergeArray&&Array.isArray(value)){target[key]=Array.isArray(target[key])?[...target[key],...value]:target[key]=value;continue}if(!isObject(value)||!(key in target)||isClass(value)){if((override||!(key in target))&&!Object.isFrozen(target))try{target[key]=value}catch{}continue}if(!Object.isFrozen(target[key]))try{target[key]=mergeDeep(target[key],value,{skipKeys,override,mergeArray,seen})}catch{}}return seen.delete(source),target},mergeCookie=(a,b)=>{let v=mergeDeep(Object.assign({},a),b,{skipKeys:["properties"],mergeArray:!1});return v.properties&&delete v.properties,v},mergeObjectArray=(a,b)=>{if(!b)return a;let array=[],checksums=[];if(a){Array.isArray(a)||(a=[a]);for(let item of a)array.push(item),item.checksum&&checksums.push(item.checksum)}if(b){Array.isArray(b)||(b=[b]);for(let item of b)checksums.includes(item.checksum)||array.push(item)}return array},primitiveHooks=["start","request","parse","transform","resolve","beforeHandle","afterHandle","mapResponse","afterResponse","trace","error","stop","body","headers","params","query","response","type","detail"],primitiveHookMap=primitiveHooks.reduce((acc,x)=>(acc[x]=!0,acc),{}),isRecordNumber=(x)=>typeof x=="object"&&Object.keys(x).every((x2)=>!isNaN(+x2)),mergeResponse=(a,b)=>isRecordNumber(a)&&isRecordNumber(b)?Object.assign({},a,b):a&&!isRecordNumber(a)&&isRecordNumber(b)?Object.assign({200:a},b):b??a,mergeSchemaValidator=(a,b)=>!a&&!b?{body:void 0,headers:void 0,params:void 0,query:void 0,cookie:void 0,response:void 0}:{body:b?.body??a?.body,headers:b?.headers??a?.headers,params:b?.params??a?.params,query:b?.query??a?.query,cookie:b?.cookie??a?.cookie,response:mergeResponse(a?.response,b?.response)},mergeHook=(a,b)=>{if(!b)return a??{};if(!a)return b??{};if(!Object.values(b).find((x)=>x!=null))return{...a};let hook={...a,...b,body:b.body??a.body,headers:b.headers??a.headers,params:b.params??a.params,query:b.query??a.query,cookie:b.cookie??a.cookie,response:mergeResponse(a.response,b.response),type:a.type||b.type,detail:mergeDeep(b.detail??{},a.detail??{}),parse:mergeObjectArray(a.parse,b.parse),transform:mergeObjectArray(a.transform,b.transform),beforeHandle:mergeObjectArray(mergeObjectArray(fnToContainer(a.resolve,"resolve"),a.beforeHandle),mergeObjectArray(fnToContainer(b.resolve,"resolve"),b.beforeHandle)),afterHandle:mergeObjectArray(a.afterHandle,b.afterHandle),mapResponse:mergeObjectArray(a.mapResponse,b.mapResponse),afterResponse:mergeObjectArray(a.afterResponse,b.afterResponse),trace:mergeObjectArray(a.trace,b.trace),error:mergeObjectArray(a.error,b.error),standaloneSchema:a.standaloneSchema||b.standaloneSchema?a.standaloneSchema&&!b.standaloneSchema?a.standaloneSchema:b.standaloneSchema&&!a.standaloneSchema?b.standaloneSchema:[...a.standaloneSchema??[],...b.standaloneSchema??[]]:void 0};return hook.resolve&&delete hook.resolve,hook},lifeCycleToArray=(a)=>{a.parse&&!Array.isArray(a.parse)&&(a.parse=[a.parse]),a.transform&&!Array.isArray(a.transform)&&(a.transform=[a.transform]),a.afterHandle&&!Array.isArray(a.afterHandle)&&(a.afterHandle=[a.afterHandle]),a.mapResponse&&!Array.isArray(a.mapResponse)&&(a.mapResponse=[a.mapResponse]),a.afterResponse&&!Array.isArray(a.afterResponse)&&(a.afterResponse=[a.afterResponse]),a.trace&&!Array.isArray(a.trace)&&(a.trace=[a.trace]),a.error&&!Array.isArray(a.error)&&(a.error=[a.error]);let beforeHandle=[];return a.resolve&&(beforeHandle=fnToContainer(Array.isArray(a.resolve)?a.resolve:[a.resolve],"resolve"),delete a.resolve),a.beforeHandle&&(beforeHandle.length?beforeHandle=beforeHandle.concat(Array.isArray(a.beforeHandle)?a.beforeHandle:[a.beforeHandle]):beforeHandle=Array.isArray(a.beforeHandle)?a.beforeHandle:[a.beforeHandle]),beforeHandle.length&&(a.beforeHandle=beforeHandle),a},hasHeaderShorthand=isBun?"toJSON"in new Headers:!1,hasSetImmediate=typeof setImmediate=="function",checksum=(s)=>{let h=9;for(let i=0;i<s.length;)h=Math.imul(h^s.charCodeAt(i++),387420489);return h=h^h>>>9},injectChecksum=(checksum2,x)=>{if(!x)return;if(!Array.isArray(x)){let fn=x;return checksum2&&!fn.checksum&&(fn.checksum=checksum2),fn.scope==="scoped"&&(fn.scope="local"),fn}let fns=[...x];for(let fn of fns)checksum2&&!fn.checksum&&(fn.checksum=checksum2),fn.scope==="scoped"&&(fn.scope="local");return fns},mergeLifeCycle=(a,b,checksum2)=>({start:mergeObjectArray(a.start,injectChecksum(checksum2,b?.start)),request:mergeObjectArray(a.request,injectChecksum(checksum2,b?.request)),parse:mergeObjectArray(a.parse,injectChecksum(checksum2,b?.parse)),transform:mergeObjectArray(a.transform,injectChecksum(checksum2,b?.transform)),beforeHandle:mergeObjectArray(mergeObjectArray(fnToContainer(a.resolve,"resolve"),a.beforeHandle),injectChecksum(checksum2,mergeObjectArray(fnToContainer(b?.resolve,"resolve"),b?.beforeHandle))),afterHandle:mergeObjectArray(a.afterHandle,injectChecksum(checksum2,b?.afterHandle)),mapResponse:mergeObjectArray(a.mapResponse,injectChecksum(checksum2,b?.mapResponse)),afterResponse:mergeObjectArray(a.afterResponse,injectChecksum(checksum2,b?.afterResponse)),trace:mergeObjectArray(a.trace,injectChecksum(checksum2,b?.trace)),error:mergeObjectArray(a.error,injectChecksum(checksum2,b?.error)),stop:mergeObjectArray(a.stop,injectChecksum(checksum2,b?.stop))}),asHookType=(fn,inject,{skipIfHasType=!1})=>{if(!fn)return fn;if(!Array.isArray(fn))return skipIfHasType?fn.scope??=inject:fn.scope=inject,fn;for(let x of fn)skipIfHasType?x.scope??=inject:x.scope=inject;return fn},filterGlobal=(fn)=>{if(!fn)return fn;if(!Array.isArray(fn))switch(fn.scope){case"global":case"scoped":return{...fn};default:return{fn}}let array=[];for(let x of fn)switch(x.scope){case"global":case"scoped":array.push({...x});break}return array},filterGlobalHook=(hook)=>({...hook,type:hook?.type,detail:hook?.detail,parse:filterGlobal(hook?.parse),transform:filterGlobal(hook?.transform),beforeHandle:filterGlobal(hook?.beforeHandle),afterHandle:filterGlobal(hook?.afterHandle),mapResponse:filterGlobal(hook?.mapResponse),afterResponse:filterGlobal(hook?.afterResponse),error:filterGlobal(hook?.error),trace:filterGlobal(hook?.trace)}),StatusMap={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,"Enhance Your Calm":420,"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},InvertedStatusMap=Object.fromEntries(Object.entries(StatusMap).map(([k,v])=>[v,k]));function removeTrailingEquals(digest){let trimmedDigest=digest;for(;trimmedDigest.endsWith("=");)trimmedDigest=trimmedDigest.slice(0,-1);return trimmedDigest}var encoder=new TextEncoder,signCookie=async(val,secret)=>{if(typeof val=="object"?val=JSON.stringify(val):typeof val!="string"&&(val=val+""),secret==null)throw TypeError("Secret key must be provided");let secretKey=await crypto.subtle.importKey("raw",encoder.encode(secret),{name:"HMAC",hash:"SHA-256"},!1,["sign"]),hmacBuffer=await crypto.subtle.sign("HMAC",secretKey,encoder.encode(val));return val+"."+removeTrailingEquals(Buffer.from(hmacBuffer).toString("base64"))},constantTimeEqual=typeof crypto?.timingSafeEqual=="function"?(a,b)=>{let ab=Buffer.from(a,"utf8"),bb=Buffer.from(b,"utf8");return ab.length!==bb.length?!1:crypto.timingSafeEqual(ab,bb)}:(a,b)=>a===b,unsignCookie=async(input,secret)=>{if(typeof input!="string")throw TypeError("Signed cookie string must be provided.");let dot=input.lastIndexOf(".");if(dot===-1)return secret===null?input:!1;let tentativeValue=input.slice(0,dot),expectedInput=await signCookie(tentativeValue,secret);return constantTimeEqual(expectedInput,input)?tentativeValue:!1},insertStandaloneValidator=(hook,name,value)=>{if(!hook.standaloneValidator?.length||!Array.isArray(hook.standaloneValidator)){hook.standaloneValidator=[{[name]:value}];return}let last=hook.standaloneValidator[hook.standaloneValidator.length-1];name in last?hook.standaloneValidator.push({[name]:value}):last[name]=value},parseNumericString=(message)=>{if(typeof message=="number")return message;if(message.length<16){if(message.trim().length===0)return null;let length=Number(message);return Number.isNaN(length)?null:length}if(message.length===16){if(message.trim().length===0)return null;let number=Number(message);return Number.isNaN(number)||number.toString()!==message?null:number}return null},isNumericString=(message)=>parseNumericString(message)!==null;class PromiseGroup{constructor(onError=console.error,onFinally=()=>{}){this.onError=onError,this.onFinally=onFinally,this.root=null,this.promises=[]}get size(){return this.promises.length}add(promise){return this.promises.push(promise),this.root||=this.drain(),this.promises.length===1&&this.then(this.onFinally),promise}async drain(){for(;this.promises.length>0;){try{await this.promises[0]}catch(error){this.onError(error)}this.promises.shift()}this.root=null}then(onfulfilled,onrejected){return(this.root??Promise.resolve()).then(onfulfilled,onrejected)}}var fnToContainer=(fn,subType)=>{if(!fn)return fn;if(!Array.isArray(fn)){if(typeof fn=="function"||typeof fn=="string")return subType?{fn,subType}:{fn};if("fn"in fn)return fn}let fns=[];for(let x of fn)typeof x=="function"||typeof x=="string"?fns.push(subType?{fn:x,subType}:{fn:x}):("fn"in x)&&fns.push(x);return fns},localHookToLifeCycleStore=(a)=>(a.start&&(a.start=fnToContainer(a.start)),a.request&&(a.request=fnToContainer(a.request)),a.parse&&(a.parse=fnToContainer(a.parse)),a.transform&&(a.transform=fnToContainer(a.transform)),a.beforeHandle&&(a.beforeHandle=fnToContainer(a.beforeHandle)),a.afterHandle&&(a.afterHandle=fnToContainer(a.afterHandle)),a.mapResponse&&(a.mapResponse=fnToContainer(a.mapResponse)),a.afterResponse&&(a.afterResponse=fnToContainer(a.afterResponse)),a.trace&&(a.trace=fnToContainer(a.trace)),a.error&&(a.error=fnToContainer(a.error)),a.stop&&(a.stop=fnToContainer(a.stop)),a),lifeCycleToFn=(a)=>{let lifecycle=Object.create(null);return a.start?.map&&(lifecycle.start=a.start.map((x)=>x.fn)),a.request?.map&&(lifecycle.request=a.request.map((x)=>x.fn)),a.parse?.map&&(lifecycle.parse=a.parse.map((x)=>x.fn)),a.transform?.map&&(lifecycle.transform=a.transform.map((x)=>x.fn)),a.beforeHandle?.map&&(lifecycle.beforeHandle=a.beforeHandle.map((x)=>x.fn)),a.afterHandle?.map&&(lifecycle.afterHandle=a.afterHandle.map((x)=>x.fn)),a.mapResponse?.map&&(lifecycle.mapResponse=a.mapResponse.map((x)=>x.fn)),a.afterResponse?.map&&(lifecycle.afterResponse=a.afterResponse.map((x)=>x.fn)),a.error?.map&&(lifecycle.error=a.error.map((x)=>x.fn)),a.stop?.map&&(lifecycle.stop=a.stop.map((x)=>x.fn)),a.trace?.map?lifecycle.trace=a.trace.map((x)=>x.fn):lifecycle.trace=[],lifecycle},cloneInference=(inference)=>({body:inference.body,cookie:inference.cookie,headers:inference.headers,query:inference.query,set:inference.set,server:inference.server,path:inference.path,route:inference.route,url:inference.url}),redirect=(url,status=302)=>Response.redirect(url,status),ELYSIA_FORM_DATA=Symbol("ElysiaFormData"),ELYSIA_REQUEST_ID=Symbol("ElysiaRequestId"),form=(items)=>{let formData=new FormData;if(formData[ELYSIA_FORM_DATA]={},items)for(let[key,value]of Object.entries(items)){if(Array.isArray(value)){formData[ELYSIA_FORM_DATA][key]=[];for(let v of value)value instanceof File?formData.append(key,value,value.name):value instanceof ElysiaFile?formData.append(key,value.value,value.value?.name):formData.append(key,value),formData[ELYSIA_FORM_DATA][key].push(value);continue}value instanceof File?formData.append(key,value,value.name):value instanceof ElysiaFile?formData.append(key,value.value,value.value?.name):formData.append(key,value),formData[ELYSIA_FORM_DATA][key]=value}return formData},randomId=typeof crypto>"u"||isCloudflareWorker()?()=>{let result="",characters="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";for(let i=0;i<16;i++)result+=characters.charAt(Math.floor(Math.random()*62));return result}:()=>{let uuid=crypto.randomUUID();return uuid.slice(0,8)+uuid.slice(24,32)},deduplicateChecksum=(array)=>{if(!array.length)return[];let hashes=[];for(let i=0;i<array.length;i++){let item=array[i];item.checksum&&(hashes.includes(item.checksum)&&(array.splice(i,1),i--),hashes.push(item.checksum))}return array},promoteEvent=(events,as="scoped")=>{if(events){if(as==="scoped"){for(let event of events)"scope"in event&&event.scope==="local"&&(event.scope="scoped");return}for(let event of events)"scope"in event&&(event.scope="global")}},getLoosePath=(path)=>path.charCodeAt(path.length-1)===47?path.slice(0,path.length-1):path+"/",isNotEmpty=(obj)=>{if(!obj)return!1;for(let _ in obj)return!0;return!1},encodePath=(path,{dynamic=!1}={})=>{let encoded=encodeURIComponent(path).replace(/%2F/g,"/");return dynamic&&(encoded=encoded.replace(/%3A/g,":").replace(/%3F/g,"?")),encoded},supportPerMethodInlineHandler=!!(typeof Bun>"u"||Bun.semver?.satisfies?.(Bun.version,">=1.2.14"));async function getResponseLength(response){if(response.bodyUsed||!response.body)return 0;let length=0,reader=response.body.getReader();for(;;){let{done,value}=await reader.read();if(done)break;length+=value.byteLength}return length}var emptySchema={headers:!0,cookie:!0,query:!0,params:!0,body:!0,response:!0};var env=typeof Bun<"u"?Bun.env:typeof process<"u"?process?.env:void 0,ERROR_CODE=Symbol("ElysiaErrorCode"),isProduction=(env?.NODE_ENV??env?.ENV)==="production",emptyHttpStatus={101:void 0,204:void 0,205:void 0,304:void 0,307:void 0,308:void 0};class ElysiaCustomStatusResponse{constructor(code,response){let res=response??(code in InvertedStatusMap?InvertedStatusMap[code]:code);this.code=StatusMap[code]??code,code in emptyHttpStatus?this.response=void 0:this.response=res}}var status=(code,response)=>new ElysiaCustomStatusResponse(code,response);class NotFoundError extends Error{constructor(message){super(message??"NOT_FOUND");this.code="NOT_FOUND",this.status=404}}class ParseError extends Error{constructor(cause){super("Bad Request",{cause});this.code="PARSE",this.status=400}}class InvalidCookieSignature extends Error{constructor(key,message){super(message??`"${key}" has invalid cookie signature`);this.key=key,this.code="INVALID_COOKIE_SIGNATURE",this.status=400}}var mapValueError=(error)=>{if(!error)return error;let{message,path,value,type}=error;Array.isArray(path)&&(path=path[0]);let property=typeof path=="string"?path.slice(1).replaceAll("/","."):"unknown",isRoot=path==="";switch(type){case 42:return{...error,summary:isRoot?"Value should not be provided":`Property '${property}' should not be provided`};case 45:return{...error,summary:isRoot?"Value is missing":`Property '${property}' is missing`};case 50:let quoteIndex=message.indexOf("'"),format=message.slice(quoteIndex+1,message.indexOf("'",quoteIndex+1));return{...error,summary:isRoot?"Value should be an email":`Property '${property}' should be ${format}`};case 54:return{...error,summary:`${message.slice(0,9).trim()} property '${property}' to be ${message.slice(8).trim()} but found: ${value}`};case 62:let union=error.schema.anyOf.map((x)=>`'${x?.format??x.type}'`).join(", ");return{...error,summary:isRoot?`Value should be one of ${union}`:`Property '${property}' should be one of: ${union}`};default:return{summary:message,...error}}},MAX_ERRORS=64,takeErrors=(iterator,limit=MAX_ERRORS)=>{let errors=[];for(let error of iterator){if(!error)continue;let mapped=mapValueError(error);if(mapped&&errors.push(mapped),errors.length>=limit)break}return errors};class InvalidFileType extends Error{constructor(property,expected,message=`"${property}" has invalid file type`){super(message);this.property=property,this.expected=expected,this.message=message,this.code="INVALID_FILE_TYPE",this.status=422,Object.setPrototypeOf(this,InvalidFileType.prototype)}toResponse(headers){return isProduction?new Response(JSON.stringify({type:"validation",on:"body"}),{status:422,headers:{...headers,"content-type":"application/json"}}):new Response(JSON.stringify({type:"validation",on:"body",summary:"Invalid file type",message:this.message,property:this.property,expected:this.expected}),{status:422,headers:{...headers,"content-type":"application/json"}})}}class ValidationError extends Error{constructor(type,validator,value,allowUnsafeValidationDetails=!1,errors){let message="",error,expected,customError;if(validator?.provider==="standard"||"~standard"in validator||validator.schema&&"~standard"in validator.schema){let standard=("~standard"in validator?validator:validator.schema)["~standard"];error=(errors??standard.validate(value).issues)?.[0],isProduction&&!allowUnsafeValidationDetails?message=JSON.stringify({type:"validation",on:type,found:value}):message=JSON.stringify({type:"validation",on:type,property:error.path?.[0]||"root",message:error?.message,summary:error?.problem,expected,found:value,errors},null,2),customError=error?.message}else{value&&typeof value=="object"&&value instanceof ElysiaCustomStatusResponse&&(value=value.response),error=errors?.First()??("Errors"in validator?validator.Errors(value).First():Errors(validator,value).First());let accessor=error?.path||"root",schema=validator?.schema??validator;if(!isProduction&&!allowUnsafeValidationDetails)try{expected=Create2(schema)}catch(error2){expected={type:"Could not create expected value",message:error2?.message,error:error2}}customError=error?.schema?.message||error?.schema?.error!==void 0?typeof error.schema.error=="function"?error.schema.error(isProduction&&!allowUnsafeValidationDetails?{type:"validation",on:type,found:value}:{type:"validation",on:type,value,property:accessor,message:error?.message,summary:mapValueError(error)?.summary,found:value,expected,errors:"Errors"in validator?takeErrors(validator.Errors(value)):takeErrors(Errors(validator,value))},validator):error.schema.error:void 0,customError!==void 0?message=typeof customError=="object"?JSON.stringify(customError):customError+"":isProduction&&!allowUnsafeValidationDetails?message=JSON.stringify({type:"validation",on:type,found:value}):message=JSON.stringify({type:"validation",on:type,property:accessor,message:error?.message,summary:mapValueError(error)?.summary,expected,found:value,errors:"Errors"in validator?takeErrors(validator.Errors(value)):takeErrors(Errors(validator,value))},null,2)}super(message);this.type=type,this.validator=validator,this.value=value,this.allowUnsafeValidationDetails=allowUnsafeValidationDetails,this.code="VALIDATION",this.status=422,this.valueError=error,this.expected=expected,this.customError=customError,Object.setPrototypeOf(this,ValidationError.prototype)}get messageValue(){return this.valueError}get all(){return this.validator?.provider==="standard"||"~standard"in this.validator||"schema"in this.validator&&this.validator.schema&&"~standard"in this.validator.schema?("~standard"in this.validator?this.validator:this.validator.schema)["~standard"].validate(this.value).issues?.slice(0,MAX_ERRORS).map((issue)=>({summary:issue.message,path:issue.path?.join(".")||"root",message:issue.message,value:this.value}))||[]:("Errors"in this.validator)?takeErrors(this.validator.Errors(this.value)):takeErrors(Errors(this.validator,this.value))}static simplifyModel(validator){let model="schema"in validator?validator.schema:validator;try{return Create2(model)}catch{return model}}get model(){return"~standard"in this.validator?this.validator:ValidationError.simplifyModel(this.validator)}toResponse(headers){return new Response(this.message,{status:400,headers:{...headers,"content-type":"application/json"}})}detail(message,allowUnsafeValidatorDetails=this.allowUnsafeValidationDetails){if(!this.customError)return this.message;let value=this.value,expected=this.expected,errors=this.all;return isProduction&&!allowUnsafeValidatorDetails?{type:"validation",on:this.type,found:value,message}:{type:"validation",on:this.type,property:this.valueError?.path||"root",message,summary:mapValueError(this.valueError)?.summary,found:value,expected,errors}}}var tryParse=(v,schema)=>{try{return JSON.parse(v)}catch{throw new ValidationError("property",schema,v)}};function createType(kind,func){return Has2(kind)||Set3(kind,func),(options={})=>Unsafe({...options,[Kind]:kind})}var compile=(schema)=>{try{let compiler=TypeCompiler.Compile(schema);return compiler.Create=()=>Create2(schema),compiler.Error=(v)=>new ValidationError("property",schema,v,compiler.Errors(v)),compiler}catch{return{Check:(v)=>Check(schema,v),CheckThrow:(v)=>{if(!Check(schema,v))throw new ValidationError("property",schema,v,Errors(schema,v))},Decode:(v)=>Decode(schema,v),Create:()=>Create2(schema),Error:(v)=>new ValidationError("property",schema,v,Errors(schema,v))}}},parseFileUnit=(size)=>{if(typeof size=="string")switch(size.slice(-1)){case"k":return+size.slice(0,size.length-1)*1024;case"m":return+size.slice(0,size.length-1)*1048576;default:return+size}return size},checkFileExtension=(type,extension)=>type.startsWith(extension)?!0:extension.charCodeAt(extension.length-1)===42&&extension.charCodeAt(extension.length-2)===47&&type.startsWith(extension.slice(0,-1)),_fileTypeFromBlobWarn=!1,warnIfFileTypeIsNotInstalled=()=>{_fileTypeFromBlobWarn||(console.warn("[Elysia] Attempt to validate file type without 'file-type'. This may lead to security risks. We recommend installing 'file-type' to properly validate file extension."),_fileTypeFromBlobWarn=!0)},loadFileType=async()=>Promise.resolve().then(() => (init_source(),{})).then((x)=>(_fileTypeFromBlob=fileTypeFromBlob,_fileTypeFromBlob)).catch(warnIfFileTypeIsNotInstalled),_fileTypeFromBlob,fileTypeFromBlob2=(file)=>_fileTypeFromBlob?_fileTypeFromBlob(file):loadFileType().then((mod)=>{if(mod)return mod(file)}),fileType=async(file,extension,name=file?.name??"")=>{if(Array.isArray(file))return await Promise.all(file.map((f)=>fileType(f,extension,name))),!0;if(!file)return!1;let result=await fileTypeFromBlob2(file);if(!result)throw new InvalidFileType(name,extension);if(typeof extension=="string"&&!checkFileExtension(result.mime,extension))throw new InvalidFileType(name,extension);for(let i=0;i<extension.length;i++)if(checkFileExtension(result.mime,extension[i]))return!0;throw new InvalidFileType(name,extension)},validateFile=(options,value)=>{if(value instanceof ElysiaFile)return!0;if(!(value instanceof Blob)||options.minSize&&value.size<parseFileUnit(options.minSize)||options.maxSize&&value.size>parseFileUnit(options.maxSize))return!1;if(options.extension){if(typeof options.extension=="string")return checkFileExtension(value.type,options.extension);for(let i=0;i<options.extension.length;i++)if(checkFileExtension(value.type,options.extension[i]))return!0;return!1}return!0};var fullFormats={date,time:getTime(!0),"date-time":getDateTime(!0),"iso-time":getTime(!1),"iso-date-time":getDateTime(!1),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:[^\s:@]+(?::[^\s@]*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte,int32:{type:"number",validate:validateInt32},int64:{type:"number",validate:validateInt64},float:{type:"number",validate:validateNumber},double:{type:"number",validate:validateNumber},password:!0,binary:!0};function isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}var DATE=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,DAYS=[0,31,28,31,30,31,30,31,31,30,31,30,31];function date(str){let matches=DATE.exec(str);if(!matches)return!1;let year=+matches[1],month=+matches[2],day=+matches[3];return month>=1&&month<=12&&day>=1&&day<=(month===2&&isLeapYear(year)?29:DAYS[month])}var TIME=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function getTime(strictTimeZone){return function(str){let matches=TIME.exec(str);if(!matches)return!1;let hr=+matches[1],min=+matches[2],sec=+matches[3],tz=matches[4],tzSign=matches[5]==="-"?-1:1,tzH=+(matches[6]||0),tzM=+(matches[7]||0);if(tzH>23||tzM>59||strictTimeZone&&!tz)return!1;if(hr<=23&&min<=59&&sec<60)return!0;let utcMin=min-tzM*tzSign,utcHr=hr-tzH*tzSign-(utcMin<0?1:0);return(utcHr===23||utcHr===-1)&&(utcMin===59||utcMin===-1)&&sec<61}}var parseDateTimeEmptySpace=(str)=>str.charCodeAt(str.length-6)===32?str.slice(0,-6)+"+"+str.slice(-5):str,DATE_TIME_SEPARATOR=/t|\s/i;function getDateTime(strictTimeZone){let time=getTime(strictTimeZone);return function(str){let dateTime=str.split(DATE_TIME_SEPARATOR);return dateTime.length===2&&date(dateTime[0])&&time(dateTime[1])}}var NOT_URI_FRAGMENT=/\/|:/,URI=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function uri(str){return NOT_URI_FRAGMENT.test(str)&&URI.test(str)}var BYTE=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function byte(str){return BYTE.lastIndex=0,BYTE.test(str)}var MIN_INT32=-2147483648,MAX_INT32=2147483647;function validateInt32(value){return Number.isInteger(value)&&value<=MAX_INT32&&value>=MIN_INT32}function validateInt64(value){return Number.isInteger(value)}function validateNumber(){return!0}var Z_ANCHOR=/[^\\]\\Z/;function regex(str){if(Z_ANCHOR.test(str))return!1;try{return new RegExp(str),!0}catch{return!1}}var isISO8601=/(\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))/,isFormalDate=/(?: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\([^)]+\)/,isShortenDate=/^(?:(?:(?:(?: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)?)?$/,_validateDate=fullFormats.date,_validateDateTime=fullFormats["date-time"];Has("date")||Set2("date",(value)=>{let temp=parseDateTimeEmptySpace(value).replace(/"/g,"");if(isISO8601.test(temp)||isFormalDate.test(temp)||isShortenDate.test(temp)||_validateDate(temp)){let date2=new Date(temp);if(!Number.isNaN(date2.getTime()))return!0}return!1}),Has("date-time")||Set2("date-time",(value)=>{let temp=value.replace(/"/g,"");if(isISO8601.test(temp)||isFormalDate.test(temp)||isShortenDate.test(temp)||_validateDateTime(temp)){let date2=new Date(temp);if(!Number.isNaN(date2.getTime()))return!0}return!1}),Object.entries(fullFormats).forEach((formatEntry)=>{let[formatName,formatValue]=formatEntry;Has(formatName)||(formatValue instanceof RegExp?Set2(formatName,(value)=>formatValue.test(value)):typeof formatValue=="function"&&Set2(formatName,formatValue))}),Has("numeric")||Set2("numeric",(value)=>!!value&&!isNaN(+value)),Has("integer")||Set2("integer",(value)=>!!value&&Number.isInteger(+value)),Has("boolean")||Set2("boolean",(value)=>value==="true"||value==="false"),Has("ObjectString")||Set2("ObjectString",(value)=>{let start=value.charCodeAt(0);if((start===9||start===10||start===32)&&(start=value.trimStart().charCodeAt(0)),start!==123&&start!==91)return!1;try{return JSON.parse(value),!0}catch{return!1}}),Has("ArrayString")||Set2("ArrayString",(value)=>{let start=value.charCodeAt(0);if((start===9||start===10||start===32)&&(start=value.trimStart().charCodeAt(0)),start!==123&&start!==91)return!1;try{return JSON.parse(value),!0}catch{return!1}});var t=Object.assign({},Type);createType("UnionEnum",(schema,value)=>(typeof value=="number"||typeof value=="string"||value===null)&&schema.enum.includes(value)),createType("ArrayBuffer",(schema,value)=>value instanceof ArrayBuffer);var internalFiles=createType("Files",(options,value)=>{if(options.minItems&&options.minItems>1&&!Array.isArray(value))return!1;if(!Array.isArray(value))return validateFile(options,value);if(options.minItems&&value.length<options.minItems||options.maxItems&&value.length>options.maxItems)return!1;for(let i=0;i<value.length;i++)if(!validateFile(options,value[i]))return!1;return!0}),internalFormData=createType("ElysiaForm",({compiler,...schema},value)=>{if(!(value instanceof FormData))return!1;if(compiler){if(!(ELYSIA_FORM_DATA in value))throw new ValidationError("property",schema,value);if(!compiler.Check(value[ELYSIA_FORM_DATA]))throw compiler.Error(value[ELYSIA_FORM_DATA])}return!0}),ElysiaType={String:(property)=>Type.String(property),Numeric:(property)=>{let schema=Type.Number(property),compiler=compile(schema);return t.Transform(t.Union([t.String({format:"numeric",default:0}),t.Number(property)],property)).Decode((value)=>{let number=+value;if(isNaN(number))return value;if(property&&!compiler.Check(number))throw compiler.Error(number);return number}).Encode((value)=>value)},NumericEnum(item,property){let schema=Type.Enum(item,property),compiler=compile(schema);return t.Transform(t.Union([t.String({format:"numeric"}),t.Number()],property)).Decode((value)=>{let number=+value;if(isNaN(number)||!compiler.Check(number))throw compiler.Error(number);return number}).Encode((value)=>value)},Integer:(property)=>{let schema=Type.Integer(property),compiler=compile(schema);return t.Transform(t.Union([t.String({format:"integer",default:0}),Type.Integer(property)],property)).Decode((value)=>{let number=+value;if(!compiler.Check(number))throw compiler.Error(number);return number}).Encode((value)=>value)},Date:(property)=>{let schema=Type.Date(property),compiler=compile(schema),_default=property?.default?new Date(property.default):void 0;return t.Transform(t.Union([Type.Date(property),t.String({format:"date-time",default:_default?.toISOString()}),t.String({format:"date",default:_default?.toISOString()}),t.Number({default:_default?.getTime()})],property)).Decode((value)=>{if(typeof value=="number"){let date2=new Date(value);if(!compiler.Check(date2))throw compiler.Error(date2);return date2}if(value instanceof Date)return value;let date=new Date(parseDateTimeEmptySpace(value));if(!date||isNaN(date.getTime()))throw new ValidationError("property",schema,date);if(!compiler.Check(date))throw compiler.Error(date);return date}).Encode((value)=>{if(value instanceof Date)return value.toISOString();if(typeof value=="string"){let parsed=new Date(parseDateTimeEmptySpace(value));if(isNaN(parsed.getTime()))throw new ValidationError("property",schema,value);return parsed.toISOString()}if(!compiler.Check(value))throw compiler.Error(value);return value})},BooleanString:(property)=>{let schema=Type.Boolean(property),compiler=compile(schema);return t.Transform(t.Union([t.Boolean(property),t.String({format:"boolean",default:!1})],property)).Decode((value)=>{if(typeof value=="string")return value==="true";if(value!==void 0&&!compiler.Check(value))throw compiler.Error(value);return value}).Encode((value)=>value)},ObjectString:(properties,options)=>{let schema=t.Object(properties,options),compiler=compile(schema);return t.Transform(t.Union([t.String({format:"ObjectString",default:options?.default}),schema],{elysiaMeta:"ObjectString"})).Decode((value)=>{if(typeof value=="string"){if(value.charCodeAt(0)!==123)throw new ValidationError("property",schema,value);if(!compiler.Check(value=tryParse(value,schema)))throw compiler.Error(value);return compiler.Decode(value)}return value}).Encode((value)=>{let original;if(typeof value=="string"&&(value=tryParse(original=value,schema)),!compiler.Check(value))throw compiler.Error(value);return original??JSON.stringify(value)})},ArrayString:(children=t.String(),options)=>{let schema=t.Array(children,options),compiler=compile(schema),decode=(value,isProperty=!1)=>{if(value.charCodeAt(0)===91){if(!compiler.Check(value=tryParse(value,schema)))throw compiler.Error(value);return compiler.Decode(value)}if(isProperty)return value;throw new ValidationError("property",schema,value)};return t.Transform(t.Union([t.String({format:"ArrayString",default:options?.default}),schema],{elysiaMeta:"ArrayString"})).Decode((value)=>{if(Array.isArray(value)){let values=[];for(let i=0;i<value.length;i++){let v=value[i];if(typeof v=="string"){let t2=decode(v,!0);Array.isArray(t2)?values=values.concat(t2):values.push(t2);continue}values.push(v)}return values}return typeof value=="string"?decode(value):value}).Encode((value)=>{let original;if(typeof value=="string"&&(value=tryParse(original=value,schema)),!compiler.Check(value))throw new ValidationError("property",schema,value);return original??JSON.stringify(value)})},ArrayQuery:(children=t.String(),options)=>{let schema=t.Array(children,options),compiler=compile(schema),decode=(value)=>value.indexOf(",")!==-1?compiler.Decode(value.split(",")):compiler.Decode([value]);return t.Transform(t.Union([t.String({default:options?.default}),schema],{elysiaMeta:"ArrayQuery"})).Decode((value)=>{if(Array.isArray(value)){let values=[];for(let i=0;i<value.length;i++){let v=value[i];if(typeof v=="string"){let t2=decode(v);Array.isArray(t2)?values=values.concat(t2):values.push(t2);continue}values.push(v)}return values}return typeof value=="string"?decode(value):value}).Encode((value)=>{let original;if(typeof value=="string"&&(value=tryParse(original=value,schema)),!compiler.Check(value))throw new ValidationError("property",schema,value);return original??JSON.stringify(value)})},File:createType("File",validateFile),Files:(options={})=>t.Transform(internalFiles(options)).Decode((value)=>Array.isArray(value)?value:[value]).Encode((value)=>value),Nullable:(schema,options)=>t.Union([schema,t.Null()],{...options,nullable:!0}),MaybeEmpty:(schema,options)=>t.Union([schema,t.Null(),t.Undefined()],options),Cookie:(properties,{domain,expires,httpOnly,maxAge,path,priority,sameSite,secure,secrets,sign,...options}={})=>{let v=t.Object(properties,options);return v.config={domain,expires,httpOnly,maxAge,path,priority,sameSite,secure,secrets,sign},v},UnionEnum:(values,options={})=>{let type=values.every((value)=>typeof value=="string")?{type:"string"}:values.every((value)=>typeof value=="number")?{type:"number"}:values.every((value)=>value===null)?{type:"null"}:{};if(values.some((x)=>typeof x=="object"&&x!==null))throw Error("This type does not support objects or arrays");return{default:values[0],...options,[Kind]:"UnionEnum",...type,enum:values}},NoValidate:(v,enabled=!0)=>(v.noValidate=enabled,v),Form:(v,options={})=>{let schema=t.Object(v,{default:form({}),...options}),compiler=compile(schema);return t.Union([schema,internalFormData({compiler})])},ArrayBuffer(options={}){return{default:[1,2,3],...options,[Kind]:"ArrayBuffer"}},Uint8Array:(options)=>{let schema=Type.Uint8Array(options),compiler=compile(schema);return t.Transform(t.Union([t.ArrayBuffer(),Type.Uint8Array(options)])).Decode((value)=>{if(value instanceof ArrayBuffer){if(!compiler.Check(value=new Uint8Array(value)))throw compiler.Error(value);return value}return value}).Encode((value)=>value)}};t.BooleanString=ElysiaType.BooleanString,t.ObjectString=ElysiaType.ObjectString,t.ArrayString=ElysiaType.ArrayString,t.ArrayQuery=ElysiaType.ArrayQuery,t.Numeric=ElysiaType.Numeric,t.NumericEnum=ElysiaType.NumericEnum,t.Integer=ElysiaType.Integer,t.File=(arg)=>(arg?.type&&loadFileType(),ElysiaType.File({default:"File",...arg,extension:arg?.type,type:"string",format:"binary"})),t.Files=(arg)=>(arg?.type&&loadFileType(),ElysiaType.Files({...arg,elysiaMeta:"Files",default:"Files",extension:arg?.type,type:"array",items:{...arg,default:"Files",type:"string",format:"binary"}})),t.Nullable=ElysiaType.Nullable,t.MaybeEmpty=ElysiaType.MaybeEmpty,t.Cookie=ElysiaType.Cookie,t.Date=ElysiaType.Date,t.UnionEnum=ElysiaType.UnionEnum,t.NoValidate=ElysiaType.NoValidate,t.Form=ElysiaType.Form,t.ArrayBuffer=ElysiaType.ArrayBuffer,t.Uint8Array=ElysiaType.Uint8Array;var separateFunction=(code)=>{code.startsWith("async")&&(code=code.slice(5)),code=code.trimStart();let index=-1;if(code.charCodeAt(0)===40&&(index=code.indexOf("=>",code.indexOf(")")),index!==-1)){let bracketEndIndex=index;for(;bracketEndIndex>0&&code.charCodeAt(--bracketEndIndex)!==41;);let body=code.slice(index+2);return body.charCodeAt(0)===32&&(body=body.trimStart()),[code.slice(1,bracketEndIndex),body,{isArrowReturn:body.charCodeAt(0)!==123}]}if(/^(\w+)=>/g.test(code)&&(index=code.indexOf("=>"),index!==-1)){let body=code.slice(index+2);return body.charCodeAt(0)===32&&(body=body.trimStart()),[code.slice(0,index),body,{isArrowReturn:body.charCodeAt(0)!==123}]}if(code.startsWith("function")){index=code.indexOf("(");let end=code.indexOf(")");return[code.slice(index+1,end),code.slice(end+2),{isArrowReturn:!1}]}let start=code.indexOf("(");if(start!==-1){let sep=code.indexOf(`
|
|
15
|
+
`,2),parameter=code.slice(0,sep),end=parameter.lastIndexOf(")")+1,body=code.slice(sep+1);return[parameter.slice(start,end),"{"+body,{isArrowReturn:!1}]}let x=code.split(`
|
|
16
|
+
`,2);return[x[0],x[1],{isArrowReturn:!1}]},bracketPairRange=(parameter)=>{let start=parameter.indexOf("{");if(start===-1)return[-1,0];let end=start+1,deep=1;for(;end<parameter.length;end++){let char=parameter.charCodeAt(end);if(char===123?deep++:char===125&&deep--,deep===0)break}return deep!==0?[0,parameter.length]:[start,end+1]},bracketPairRangeReverse=(parameter)=>{let end=parameter.lastIndexOf("}");if(end===-1)return[-1,0];let start=end-1,deep=1;for(;start>=0;start--){let char=parameter.charCodeAt(start);if(char===125?deep++:char===123&&deep--,deep===0)break}return deep!==0?[-1,0]:[start,end+1]},removeColonAlias=(parameter)=>{for(;;){let start=parameter.indexOf(":");if(start===-1)break;let end=parameter.indexOf(",",start);end===-1&&(end=parameter.indexOf("}",start)-1),end===-2&&(end=parameter.length),parameter=parameter.slice(0,start)+parameter.slice(end)}return parameter},retrieveRootparameters=(parameter)=>{let hasParenthesis=!1;parameter.charCodeAt(0)===40&&(parameter=parameter.slice(1,-1)),parameter.charCodeAt(0)===123&&(hasParenthesis=!0,parameter=parameter.slice(1,-1)),parameter=parameter.replace(/( |\t|\n)/g,"").trim();let parameters=[];for(;;){let[start,end]=bracketPairRange(parameter);if(start===-1)break;parameters.push(parameter.slice(0,start-1)),parameter.charCodeAt(end)===44&&end++,parameter=parameter.slice(end)}parameter=removeColonAlias(parameter),parameter&&(parameters=parameters.concat(parameter.split(",")));let parameterMap=Object.create(null);for(let p of parameters){if(p.indexOf(",")===-1){parameterMap[p]=!0;continue}for(let q of p.split(","))parameterMap[q.trim()]=!0}return{hasParenthesis,parameters:parameterMap}},findParameterReference=(parameter,inference)=>{let{parameters,hasParenthesis}=retrieveRootparameters(parameter);return parameters.query&&(inference.query=!0),parameters.headers&&(inference.headers=!0),parameters.body&&(inference.body=!0),parameters.cookie&&(inference.cookie=!0),parameters.set&&(inference.set=!0),parameters.server&&(inference.server=!0),parameters.route&&(inference.route=!0),parameters.url&&(inference.url=!0),parameters.path&&(inference.path=!0),hasParenthesis?`{ ${Object.keys(parameters).join(", ")} }`:Object.keys(parameters).join(", ")},findEndIndex=(type,content,index)=>{let regex=new RegExp(`${type.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}[\\n\\t,; ]`);index!==void 0&&(regex.lastIndex=index);let match=regex.exec(content);return match?match.index:-1};var findAlias=(type,body,depth=0)=>{if(depth>5)return[];let aliases=[],content=body;for(;;){let index=findEndIndex(" = "+type,content);if(index===-1&&(index=findEndIndex("="+type,content)),index===-1){let lastIndex=content.indexOf(" = "+type);if(lastIndex===-1&&(lastIndex=content.indexOf("="+type)),lastIndex+3+type.length!==content.length)break;index=lastIndex}let part=content.slice(0,index),lastPart=part.lastIndexOf(" "),variable=part.slice(lastPart!==-1?lastPart+1:-1);if(variable==="}"){let[start,end]=bracketPairRangeReverse(part);aliases.push(removeColonAlias(content.slice(start,end))),content=content.slice(index+3+type.length);continue}for(;variable.charCodeAt(0)===44;)variable=variable.slice(1);for(;variable.charCodeAt(0)===9;)variable=variable.slice(1);variable.includes("(")||aliases.push(variable),content=content.slice(index+3+type.length)}for(let alias of aliases){if(alias.charCodeAt(0)===123)continue;let deepAlias=findAlias(alias,body);deepAlias.length>0&&aliases.push(...deepAlias)}return aliases},extractMainParameter=(parameter)=>{if(!parameter)return;if(parameter.charCodeAt(0)!==123)return parameter;if(parameter=parameter.slice(2,-2),!parameter.includes(","))return parameter.indexOf("...")!==-1?parameter.slice(parameter.indexOf("...")+3):void 0;let spreadIndex=parameter.indexOf("...");if(spreadIndex!==-1)return parameter.slice(spreadIndex+3).trimEnd()},inferBodyReference=(code,aliases,inference)=>{let access=(type,alias)=>new RegExp(`${alias}\\.(${type})|${alias}\\["${type}"\\]|${alias}\\['${type}'\\]`).test(code);for(let alias of aliases)if(alias){if(alias.charCodeAt(0)===123){let parameters=retrieveRootparameters(alias).parameters;parameters.query&&(inference.query=!0),parameters.headers&&(inference.headers=!0),parameters.body&&(inference.body=!0),parameters.cookie&&(inference.cookie=!0),parameters.set&&(inference.set=!0),parameters.server&&(inference.server=!0),parameters.url&&(inference.url=!0),parameters.route&&(inference.route=!0),parameters.path&&(inference.path=!0);continue}if(!inference.query&&(access("query",alias)||code.includes("return "+alias)||code.includes("return "+alias+".query"))&&(inference.query=!0),!inference.headers&&access("headers",alias)&&(inference.headers=!0),!inference.body&&access("body",alias)&&(inference.body=!0),!inference.cookie&&access("cookie",alias)&&(inference.cookie=!0),!inference.set&&access("set",alias)&&(inference.set=!0),!inference.server&&access("server",alias)&&(inference.server=!0),!inference.route&&access("route",alias)&&(inference.route=!0),!inference.url&&access("url",alias)&&(inference.url=!0),!inference.path&&access("path",alias)&&(inference.path=!0),inference.query&&inference.headers&&inference.body&&inference.cookie&&inference.set&&inference.server&&inference.route&&inference.url&&inference.path)break}return aliases};var isContextPassToFunction=(context,body,inference)=>{try{let captureFunction=new RegExp(`\\w\\((?:.*?)?${context}(?:.*?)?\\)`,"gs"),exactParameter=new RegExp(`${context}(,|\\))`,"gs"),length=body.length,fn;for(fn=captureFunction.exec(body)+"";captureFunction.lastIndex!==0&&captureFunction.lastIndex<length+(fn?fn.length:0);){if(fn&&exactParameter.test(fn))return inference.query=!0,inference.headers=!0,inference.body=!0,inference.cookie=!0,inference.set=!0,inference.server=!0,inference.url=!0,inference.route=!0,inference.path=!0,!0;fn=captureFunction.exec(body)+""}let nextChar=body.charCodeAt(captureFunction.lastIndex);return nextChar===41||nextChar===44?(inference.query=!0,inference.headers=!0,inference.body=!0,inference.cookie=!0,inference.set=!0,inference.server=!0,inference.url=!0,inference.route=!0,inference.path=!0,!0):!1}catch{return console.log("[Sucrose] warning: unexpected isContextPassToFunction error, you may continue development as usual but please report the following to maintainers:"),console.log("--- body ---"),console.log(body),console.log("--- context ---"),console.log(context),!0}},pendingGC,caches2={},clearSucroseCache=(delay)=>{delay===null||isCloudflareWorker()||(delay===void 0&&(delay=295000),pendingGC&&clearTimeout(pendingGC),pendingGC=setTimeout(()=>{caches2={},pendingGC=void 0,isBun&&Bun.gc(!1)},delay),pendingGC.unref?.())},mergeInference=(a,b)=>({body:a.body||b.body,cookie:a.cookie||b.cookie,headers:a.headers||b.headers,query:a.query||b.query,set:a.set||b.set,server:a.server||b.server,url:a.url||b.url,route:a.route||b.route,path:a.path||b.path}),sucrose=(lifeCycle,inference={query:!1,headers:!1,body:!1,cookie:!1,set:!1,server:!1,url:!1,route:!1,path:!1},settings={})=>{let events=[];lifeCycle.request?.length&&events.push(...lifeCycle.request),lifeCycle.beforeHandle?.length&&events.push(...lifeCycle.beforeHandle),lifeCycle.parse?.length&&events.push(...lifeCycle.parse),lifeCycle.error?.length&&events.push(...lifeCycle.error),lifeCycle.transform?.length&&events.push(...lifeCycle.transform),lifeCycle.afterHandle?.length&&events.push(...lifeCycle.afterHandle),lifeCycle.mapResponse?.length&&events.push(...lifeCycle.mapResponse),lifeCycle.afterResponse?.length&&events.push(...lifeCycle.afterResponse),lifeCycle.handler&&typeof lifeCycle.handler=="function"&&events.push(lifeCycle.handler);for(let i=0;i<events.length;i++){let e=events[i];if(!e)continue;let event=typeof e=="object"?e.fn:e;if(typeof event!="function")continue;let content=event.toString(),key=checksum(content),cachedInference=caches2[key];if(cachedInference){inference=mergeInference(inference,cachedInference);continue}clearSucroseCache(settings.gcTime);let fnInference={query:!1,headers:!1,body:!1,cookie:!1,set:!1,server:!1,url:!1,route:!1,path:!1},[parameter,body]=separateFunction(content),rootParameters=findParameterReference(parameter,fnInference),mainParameter=extractMainParameter(rootParameters);if(mainParameter){let aliases=findAlias(mainParameter,body.slice(1,-1));aliases.splice(0,-1,mainParameter);let code=body;code.charCodeAt(0)===123&&code.charCodeAt(body.length-1)===125&&(code=code.slice(1,-1).trim()),isContextPassToFunction(mainParameter,code,fnInference)||inferBodyReference(code,aliases,fnInference),!fnInference.query&&code.includes("return "+mainParameter+".query")&&(fnInference.query=!0)}if(caches2[key]||(caches2[key]=fnInference),inference=mergeInference(inference,fnInference),inference.query&&inference.headers&&inference.body&&inference.cookie&&inference.set&&inference.server&&inference.url&&inference.route&&inference.path)break}return inference};var import_cookie=__toESM(require_dist(),1),import_fast_decode_uri_component=__toESM(require_fast_decode_uri_component(),1);var hashString=(str)=>{let hash=2166136261,len=str.length;for(let i=0;i<len;i++)hash^=str.charCodeAt(i),hash=Math.imul(hash,16777619);return hash>>>0};class Cookie{constructor(name,jar,initial=Object.create(null)){this.name=name,this.jar=jar,this.initial=initial}get cookie(){return this.jar[this.name]??this.initial}set cookie(jar){this.name in this.jar||(this.jar[this.name]=this.initial),this.jar[this.name]=jar,this.valueHash=void 0}get setCookie(){return this.name in this.jar||(this.jar[this.name]=this.initial),this.jar[this.name]}set setCookie(jar){this.cookie=jar}get value(){return this.cookie.value}set value(value){let current=this.cookie.value;if(current!==value){if(typeof current=="object"&¤t!==null&&typeof value=="object"&&value!==null)try{let valueStr=JSON.stringify(value),newHash=hashString(valueStr);if(this.valueHash!==void 0&&this.valueHash!==newHash)this.valueHash=newHash;else{if(JSON.stringify(current)===valueStr){this.valueHash=newHash;return}this.valueHash=newHash}}catch{}this.name in this.jar||(this.jar[this.name]={...this.initial}),this.jar[this.name].value=value}}get expires(){return this.cookie.expires}set expires(expires){this.setCookie.expires=expires}get maxAge(){return this.cookie.maxAge}set maxAge(maxAge){this.setCookie.maxAge=maxAge}get domain(){return this.cookie.domain}set domain(domain){this.setCookie.domain=domain}get path(){return this.cookie.path}set path(path){this.setCookie.path=path}get secure(){return this.cookie.secure}set secure(secure){this.setCookie.secure=secure}get httpOnly(){return this.cookie.httpOnly}set httpOnly(httpOnly){this.setCookie.httpOnly=httpOnly}get sameSite(){return this.cookie.sameSite}set sameSite(sameSite){this.setCookie.sameSite=sameSite}get priority(){return this.cookie.priority}set priority(priority){this.setCookie.priority=priority}get partitioned(){return this.cookie.partitioned}set partitioned(partitioned){this.setCookie.partitioned=partitioned}get secrets(){return this.cookie.secrets}set secrets(secrets){this.setCookie.secrets=secrets}update(config){return this.setCookie=Object.assign(this.cookie,typeof config=="function"?config(this.cookie):config),this}set(config){return this.setCookie=Object.assign({...this.initial,value:this.value},typeof config=="function"?config(this.cookie):config),this}remove(){if(this.value!==void 0)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 createCookieJar=(set,store,initial)=>(set.cookie||(set.cookie=Object.create(null)),new Proxy(store,{get(_,key){return key in store?new Cookie(key,set.cookie,Object.assign({},initial??{},store[key])):new Cookie(key,set.cookie,Object.assign({},initial))}})),parseCookie=async(set,cookieString,{secrets,sign,...initial}=Object.create(null))=>{if(!cookieString)return createCookieJar(set,Object.create(null),initial);let isStringKey=typeof secrets=="string";sign&&sign!==!0&&!Array.isArray(sign)&&(sign=[sign]);let jar=Object.create(null),cookies=import_cookie.parse(cookieString);for(let[name,v]of Object.entries(cookies)){if(v===void 0||name==="__proto__"||name==="constructor"||name==="prototype")continue;let value=import_fast_decode_uri_component.default(v);if(sign===!0||sign?.includes(name)){if(!secrets)throw Error("No secret is provided to cookie plugin");if(isStringKey){if(typeof value!="string")throw new InvalidCookieSignature(name);let temp=await unsignCookie(value,secrets);if(temp===!1)throw new InvalidCookieSignature(name);value=temp}else{let decoded=!1;for(let i=0;i<secrets.length;i++){if(typeof value!="string")throw new InvalidCookieSignature(name);let temp=await unsignCookie(value,secrets[i]);if(temp!==!1){decoded=!0,value=temp;break}}if(!decoded)throw new InvalidCookieSignature(name)}}if(value){let starts=value.charCodeAt(0),ends=value.charCodeAt(value.length-1);if(starts===123&&ends===125||starts===91&&ends===93)try{value=JSON.parse(value)}catch{}}jar[name]=Object.create(null),jar[name].value=value}return createCookieJar(set,jar,initial)},serializeCookie=(cookies)=>{if(!cookies||!isNotEmpty(cookies))return;let set=[];for(let[key,property]of Object.entries(cookies)){if(!key||!property)continue;let value=property.value;value!=null&&set.push(import_cookie.serialize(key,typeof value=="object"?JSON.stringify(value):value+"",property))}if(set.length!==0)return set.length===1?set[0]:set};var handleFile=(response,set,request)=>{if(!isBun&&response instanceof Promise)return response.then((res)=>handleFile(res,set,request));let size=response.size,rangeHeader=request?.headers.get("range");if(rangeHeader){let match=/bytes=(\d*)-(\d*)/.exec(rangeHeader);if(match){if(!match[1]&&!match[2])return new Response(null,{status:416,headers:mergeHeaders(new Headers({"content-range":`bytes */${size}`}),set?.headers??{})});let start,end;if(!match[1]&&match[2]){let suffix=parseInt(match[2]);start=Math.max(0,size-suffix),end=size-1}else start=match[1]?parseInt(match[1]):0,end=match[2]?Math.min(parseInt(match[2]),size-1):size-1;if(start>=size||start>end)return new Response(null,{status:416,headers:mergeHeaders(new Headers({"content-range":`bytes */${size}`}),set?.headers??{})});let contentLength=end-start+1,rangeHeaders=new Headers({"accept-ranges":"bytes","content-range":`bytes ${start}-${end}/${size}`,"content-length":String(contentLength)});return new Response(response.slice(start,end+1,response.type),{status:206,headers:mergeHeaders(rangeHeaders,set?.headers??{})})}}let immutable=set&&(set.status===206||set.status===304||set.status===412||set.status===416),defaultHeader=immutable?{}:{"accept-ranges":"bytes","content-range":size?`bytes 0-${size-1}/${size}`:void 0};if(!set&&!size)return new Response(response);if(!set)return new Response(response,{headers:defaultHeader});if(set.headers instanceof Headers){for(let key of Object.keys(defaultHeader))key in set.headers&&set.headers.append(key,defaultHeader[key]);return immutable&&(set.headers.delete("content-length"),set.headers.delete("accept-ranges")),new Response(response,set)}return isNotEmpty(set.headers)?new Response(response,{status:set.status,headers:Object.assign(defaultHeader,set.headers)}):new Response(response,{status:set.status,headers:defaultHeader})},parseSetCookies=(headers,setCookie)=>{if(!headers)return headers;headers.delete("set-cookie");for(let i=0;i<setCookie.length;i++){let index=setCookie[i].indexOf("=");headers.append("set-cookie",`${setCookie[i].slice(0,index)}=${setCookie[i].slice(index+1)||""}`)}return headers},responseToSetHeaders=(response,set)=>{if(set?.headers){if(response)if(hasHeaderShorthand)Object.assign(set.headers,response.headers.toJSON());else for(let[key,value]of response.headers.entries())key in set.headers&&(set.headers[key]=value);return set.status===200&&(set.status=response.status),set.headers["content-encoding"]&&delete set.headers["content-encoding"],set}if(!response)return{headers:{},status:set?.status??200};if(hasHeaderShorthand)return set={headers:response.headers.toJSON(),status:set?.status??200},set.headers["content-encoding"]&&delete set.headers["content-encoding"],set;set={headers:{},status:set?.status??200};for(let[key,value]of response.headers.entries())key!=="content-encoding"&&key in set.headers&&(set.headers[key]=value);return set},enqueueBinaryChunk=(controller,chunk)=>chunk instanceof Blob?chunk.arrayBuffer().then((buffer)=>(controller.enqueue(new Uint8Array(buffer)),!0)):chunk instanceof Uint8Array?(controller.enqueue(chunk),!0):chunk instanceof ArrayBuffer?(controller.enqueue(new Uint8Array(chunk)),!0):ArrayBuffer.isView(chunk)?(controller.enqueue(new Uint8Array(chunk.buffer,chunk.byteOffset,chunk.byteLength)),!0):!1,createStreamHandler=({mapResponse,mapCompactResponse})=>async(generator,set,request,skipFormat)=>{let init=generator.next?.();if(set&&handleSet(set),init instanceof Promise&&(init=await init),init?.value instanceof ReadableStream)generator=init.value;else if(init&&(typeof init?.done>"u"||init?.done))return set?mapResponse(init.value,set,request):mapCompactResponse(init.value,request);let isSSE=!skipFormat&&(init?.value?.sse??generator?.sse??set?.headers["content-type"]?.startsWith("text/event-stream")),format=isSSE?(data)=>`data: ${data}
|
|
8
17
|
|
|
9
|
-
`:(U)=>U,z=J?"text/event-stream":Q?.value&&typeof Q?.value==="object"?"application/json":"text/plain";if(W?.headers){if(!W.headers["transfer-encoding"])W.headers["transfer-encoding"]="chunked";if(!W.headers["content-type"])W.headers["content-type"]=z;if(!W.headers["cache-control"])W.headers["cache-control"]="no-cache"}else W={status:200,headers:{"content-type":z,"transfer-encoding":"chunked","cache-control":"no-cache",connection:"keep-alive"}};return new Response(new ReadableStream({async start(U){let G=!1;if($?.signal?.addEventListener("abort",()=>{G=!0;try{U.close()}catch{}}),!Q||Q.value instanceof ReadableStream);else if(Q.value!==void 0&&Q.value!==null)if(Q.value.toSSE)U.enqueue(Q.value.toSSE());else if(typeof Q.value==="object")try{U.enqueue(M(JSON.stringify(Q.value)))}catch{U.enqueue(M(Q.value.toString()))}else U.enqueue(M(Q.value.toString()));try{for await(let D of Z){if(G)break;if(D===void 0||D===null)continue;if(D.toSSE)U.enqueue(D.toSSE());else{if(typeof D==="object")try{U.enqueue(M(JSON.stringify(D)))}catch{U.enqueue(M(D.toString()))}else U.enqueue(M(D.toString()));if(!J)await new Promise((S)=>setTimeout(()=>S(),0))}}}catch(D){console.warn(D)}try{U.close()}catch{}}}),W)};async function*r9(Y){let X=Y.body;if(!X)return;let Z=X.getReader(),W=new TextDecoder;try{while(!0){let{done:$,value:Q}=await Z.read();if($)break;if(typeof Q==="string")yield Q;else yield W.decode(Q)}}finally{Z.releaseLock()}}var Q6=(Y)=>{if(typeof Y.status==="string")Y.status=r1[Y.status];if(Y.cookie&&V0(Y.cookie)){let X=SQ(Y.cookie);if(X)Y.headers["set-cookie"]=X}if(Y.headers["set-cookie"]&&Array.isArray(Y.headers["set-cookie"]))Y.headers=PQ(new Headers(Y.headers),Y.headers["set-cookie"])},_Q=(Y)=>{let X=CW(Y);return(Z,W,$)=>{let Q=!1;if(W.headers instanceof Headers)for(let M of W.headers.keys())if(M==="set-cookie"){if(Q)continue;Q=!0;for(let z of W.headers.getSetCookie())Z.headers.append("set-cookie",z)}else Z.headers.append(M,W.headers?.get(M)??"");else for(let M in W.headers)Z.headers.append(M,W.headers[M]);let J=W.status??200;if(Z.status!==J&&J!==200&&(Z.status<=300||Z.status>400))return Z.text().then((M)=>{let z=new Response(M,{headers:Z.headers,status:W.status});if(!z.headers.has("content-length")&&z.headers.get("transfer-encoding")==="chunked")return X(r9(z),s9(z,W),$);return z});if(!Z.headers.has("content-length")&&Z.headers.get("transfer-encoding")==="chunked")return X(r9(Z),s9(Z,W),$);return Z}},WZ=(Y,X={headers:{}})=>{let Z=Y.path,W=BQ[Z.slice(Z.lastIndexOf(".")+1)];if(W)X.headers["content-type"]=W;if(Y.stats&&X.status!==206&&X.status!==304&&X.status!==412&&X.status!==416)return Y.stats.then(($)=>{let Q=$.size;if(Q!==void 0)X.headers["content-range"]=`bytes 0-${Q-1}/${Q}`,X.headers["content-length"]=Q;return d0(Y.value,X)});return d0(Y.value,X)},b8=(Y,X,Z)=>{if(V0(X.headers)||X.status!==200||X.cookie)switch(Q6(X),Y?.constructor?.name){case"String":return X.headers["content-type"]="text/plain",new Response(Y,X);case"Array":case"Object":return X.headers["content-type"]="application/json",new Response(JSON.stringify(Y),X);case"ElysiaFile":return WZ(Y,X);case"File":return d0(Y,X);case"Blob":return d0(Y,X);case"ElysiaCustomStatusResponse":return X.status=Y.code,b8(Y.response,X,Z);case void 0:if(!Y)return new Response("",X);return new Response(JSON.stringify(Y),X);case"Response":return $Z(Y,X,Z);case"Error":return qX(Y,X);case"Promise":return Y.then((W)=>b8(W,X,Z));case"Function":return b8(Y(),X,Z);case"Number":case"Boolean":return new Response(Y.toString(),X);case"Cookie":if(Y instanceof sY)return new Response(Y.value,X);return new Response(Y?.toString(),X);case"FormData":return new Response(Y,X);default:if(Y instanceof Response)return $Z(Y,X,Z);if(Y instanceof Promise)return Y.then((W)=>b8(W,X));if(Y instanceof Error)return qX(Y,X);if(Y instanceof z8)return X.status=Y.code,b8(Y.response,X,Z);if(typeof Y?.next==="function"||Y instanceof ReadableStream)return e1(Y,X,Z);if(typeof Y?.then==="function")return Y.then((W)=>b8(W,X));if(typeof Y?.toResponse==="function")return b8(Y.toResponse(),X);if("charCodeAt"in Y){let W=Y.charCodeAt(0);if(W===123||W===91){if(!X.headers["Content-Type"])X.headers["Content-Type"]="application/json";return new Response(JSON.stringify(Y),X)}}return new Response(Y,X)}if(typeof Y?.next==="function"||Y instanceof ReadableStream)return e1(Y,X,Z);return nY(Y,Z)},R8=(Y,X,Z)=>{if(Y===void 0||Y===null)return;if(V0(X.headers)||X.status!==200||X.cookie)switch(Q6(X),Y?.constructor?.name){case"String":return X.headers["content-type"]="text/plain",new Response(Y,X);case"Array":case"Object":return X.headers["content-type"]="application/json",new Response(JSON.stringify(Y),X);case"ElysiaFile":return WZ(Y,X);case"File":return d0(Y,X);case"Blob":return d0(Y,X);case"ElysiaCustomStatusResponse":return X.status=Y.code,R8(Y.response,X,Z);case void 0:if(!Y)return;return new Response(JSON.stringify(Y),X);case"Response":return $Z(Y,X,Z);case"Promise":return Y.then((W)=>R8(W,X));case"Error":return qX(Y,X);case"Function":return R8(Y(),X);case"Number":case"Boolean":return new Response(Y.toString(),X);case"FormData":return new Response(Y);case"Cookie":if(Y instanceof sY)return new Response(Y.value,X);return new Response(Y?.toString(),X);default:if(Y instanceof Response)return $Z(Y,X,Z);if(Y instanceof Promise)return Y.then((W)=>R8(W,X));if(Y instanceof Error)return qX(Y,X);if(Y instanceof z8)return X.status=Y.code,R8(Y.response,X,Z);if(typeof Y?.next==="function"||Y instanceof ReadableStream)return e1(Y,X,Z);if(typeof Y?.then==="function")return Y.then((W)=>R8(W,X));if(typeof Y?.toResponse==="function")return R8(Y.toResponse(),X);if("charCodeAt"in Y){let W=Y.charCodeAt(0);if(W===123||W===91){if(!X.headers["Content-Type"])X.headers["Content-Type"]="application/json";return new Response(JSON.stringify(Y),X)}}return new Response(Y,X)}else switch(Y?.constructor?.name){case"String":return X.headers["content-type"]="text/plain",new Response(Y);case"Array":case"Object":return X.headers["content-type"]="application/json",new Response(JSON.stringify(Y),X);case"ElysiaFile":return WZ(Y,X);case"File":return d0(Y,X);case"Blob":return d0(Y,X);case"ElysiaCustomStatusResponse":return X.status=Y.code,R8(Y.response,X,Z);case void 0:if(!Y)return new Response("");return new Response(JSON.stringify(Y),{headers:{"content-type":"application/json"}});case"Response":return Y;case"Promise":return Y.then((W)=>{let $=R8(W,X);if($!==void 0)return $});case"Error":return qX(Y,X);case"Function":return nY(Y(),Z);case"Number":case"Boolean":return new Response(Y.toString());case"Cookie":if(Y instanceof sY)return new Response(Y.value,X);return new Response(Y?.toString(),X);case"FormData":return new Response(Y);default:if(Y instanceof Response)return Y;if(Y instanceof Promise)return Y.then((W)=>R8(W,X));if(Y instanceof Error)return qX(Y,X);if(Y instanceof z8)return X.status=Y.code,R8(Y.response,X,Z);if(typeof Y?.next==="function"||Y instanceof ReadableStream)return e1(Y,X,Z);if(typeof Y?.then==="function")return Y.then((W)=>R8(W,X));if(typeof Y?.toResponse==="function")return R8(Y.toResponse(),X);if("charCodeAt"in Y){let W=Y.charCodeAt(0);if(W===123||W===91){if(!X.headers["Content-Type"])X.headers["Content-Type"]="application/json";return new Response(JSON.stringify(Y),X)}}return new Response(Y)}},nY=(Y,X)=>{switch(Y?.constructor?.name){case"String":return new Response(Y,{headers:{"Content-Type":"text/plain"}});case"Object":case"Array":return new Response(JSON.stringify(Y),{headers:{"Content-Type":"application/json"}});case"ElysiaFile":return WZ(Y);case"File":return d0(Y);case"Blob":return d0(Y);case"ElysiaCustomStatusResponse":return b8(Y.response,{status:Y.code,headers:{}});case void 0:if(!Y)return new Response("");return new Response(JSON.stringify(Y),{headers:{"content-type":"application/json"}});case"Response":return Y;case"Error":return qX(Y);case"Promise":return Y.then((Z)=>nY(Z,X));case"Function":return nY(Y(),X);case"Number":case"Boolean":return new Response(Y.toString());case"FormData":return new Response(Y);default:if(Y instanceof Response)return Y;if(Y instanceof Promise)return Y.then((Z)=>nY(Z,X));if(Y instanceof Error)return qX(Y);if(Y instanceof z8)return b8(Y.response,{status:Y.code,headers:{}});if(typeof Y?.next==="function"||Y instanceof ReadableStream)return e1(Y,void 0,X);if(typeof Y?.then==="function")return Y.then((Z)=>b8(Z,set));if(typeof Y?.toResponse==="function")return nY(Y.toResponse());if("charCodeAt"in Y){let Z=Y.charCodeAt(0);if(Z===123||Z===91)return new Response(JSON.stringify(Y),{headers:{"Content-Type":"application/json"}})}return new Response(Y)}},qX=(Y,X)=>new Response(JSON.stringify({name:Y?.name,message:Y?.message,cause:Y?.cause}),{status:X?.status!==200?X?.status??500:500,headers:X?.headers}),wH=(Y,X,Z={})=>{if(typeof Y==="function")return;let W=b8(Y,{headers:Z});if(!X.parse?.length&&!X.transform?.length&&!X.beforeHandle?.length&&!X.afterHandle?.length)return()=>W.clone()},$Z=_Q({mapResponse:b8,mapCompactResponse:nY}),e1=CW({mapResponse:b8,mapCompactResponse:nY}),N1={name:"web-standard",isWebStandard:!0,handler:{mapResponse:b8,mapEarlyResponse:R8,mapCompactResponse:nY,createStaticHandler:wH},composeHandler:{mapResponseContext:"c.request",preferWebstandardHeaders:!0,headers:`c.headers={}
|
|
18
|
+
`:(data)=>data,contentType=isSSE?"text/event-stream":init?.value&&typeof init?.value=="object"?"application/json":"text/plain";set?.headers?(set.headers["transfer-encoding"]||(set.headers["transfer-encoding"]="chunked"),set.headers["content-type"]||(set.headers["content-type"]=contentType),set.headers["cache-control"]||(set.headers["cache-control"]="no-cache")):set={status:200,headers:{"content-type":contentType,"transfer-encoding":"chunked","cache-control":"no-cache",connection:"keep-alive"}};let iterator=typeof generator.next=="function"?generator:generator[Symbol.asyncIterator](),end=!1;return new Response(new ReadableStream({start(controller){if(request?.signal?.addEventListener("abort",()=>{end=!0,iterator.return?.();try{controller.close()}catch{}}),!(!init||init.value instanceof ReadableStream||init.value===void 0||init.value===null))if(init.value.toSSE)controller.enqueue(init.value.toSSE());else{if(enqueueBinaryChunk(controller,init.value))return;if(typeof init.value=="object")try{controller.enqueue(format(JSON.stringify(init.value)))}catch{controller.enqueue(format(init.value.toString()))}else controller.enqueue(format(init.value.toString()))}},async pull(controller){if(end){try{controller.close()}catch{}return}try{let{value:chunk,done}=await iterator.next();if(done||end){try{controller.close()}catch{}return}if(chunk==null)return;if(chunk.toSSE)controller.enqueue(chunk.toSSE());else{if(enqueueBinaryChunk(controller,chunk))return;if(typeof chunk=="object")try{controller.enqueue(format(JSON.stringify(chunk)))}catch{controller.enqueue(format(chunk.toString()))}else controller.enqueue(format(chunk.toString()))}}catch(error){console.warn(error);try{controller.close()}catch{}}},cancel(){end=!0,iterator.return?.()}}),set)};async function*streamResponse(response){let body=response.body;if(!body)return;let reader=body.getReader(),decoder=new TextDecoder;try{for(;;){let{done,value}=await reader.read();if(done)break;typeof value=="string"?yield value:yield decoder.decode(value)}}finally{reader.releaseLock()}}var handleSet=(set)=>{if(typeof set.status=="string"&&(set.status=StatusMap[set.status]),set.cookie&&isNotEmpty(set.cookie)){let cookie=serializeCookie(set.cookie);cookie&&(set.headers["set-cookie"]=cookie)}set.headers["set-cookie"]&&Array.isArray(set.headers["set-cookie"])&&(set.headers=parseSetCookies(new Headers(set.headers),set.headers["set-cookie"]))};function mergeHeaders(responseHeaders,setHeaders){let headers=new Headers(responseHeaders);if(setHeaders instanceof Headers)for(let key of setHeaders.keys())if(key==="set-cookie"){if(headers.has("set-cookie"))continue;for(let cookie of setHeaders.getSetCookie())headers.append("set-cookie",cookie)}else responseHeaders.has(key)||headers.set(key,setHeaders?.get(key)??"");else for(let key in setHeaders)key==="set-cookie"?headers.append(key,setHeaders[key]):responseHeaders.has(key)||headers.set(key,setHeaders[key]);return headers}function mergeStatus(responseStatus,setStatus){return typeof setStatus=="string"&&(setStatus=StatusMap[setStatus]),responseStatus===200?setStatus:responseStatus}var createResponseHandler=(handler)=>{let handleStream=createStreamHandler(handler);return(response,set,request)=>{let newResponse=new Response(response.body,{headers:mergeHeaders(response.headers,set.headers),status:mergeStatus(response.status,set.status)});return!newResponse.headers.has("content-length")&&newResponse.headers.get("transfer-encoding")==="chunked"?handleStream(streamResponse(newResponse),responseToSetHeaders(newResponse,set),request,!0):newResponse}};async function tee(source,branches=2){let buffer=[],done=!1,waiting=[];(async()=>{for await(let value of source)buffer.push(value),waiting.forEach((w)=>w.resolve()),waiting=[];done=!0,waiting.forEach((w)=>w.resolve())})();async function*makeIterator(){let i=0;for(;;)if(i<buffer.length)yield buffer[i++];else{if(done)return;await new Promise((resolve)=>waiting.push({resolve}))}}return Array.from({length:branches},makeIterator)}var handleElysiaFile=(file,set={headers:{}},request)=>{let path=file.path,contentType=mime[path.slice(path.lastIndexOf(".")+1)];return contentType&&(set.headers["content-type"]=contentType),file.stats&&set.status!==206&&set.status!==304&&set.status!==412&&set.status!==416?file.stats.then((stat)=>{let size=stat.size;return size!==void 0&&(set.headers["content-range"]=`bytes 0-${size-1}/${size}`,set.headers["content-length"]=size),handleFile(file.value,set,request)}):handleFile(file.value,set,request)},mapResponse=(response,set,request)=>{if(isNotEmpty(set.headers)||set.status!==200||set.cookie)switch(handleSet(set),response?.constructor?.name){case"String":return set.headers["content-type"]||(set.headers["content-type"]="text/plain"),new Response(response,set);case"Array":case"Object":return set.headers["content-type"]||(set.headers["content-type"]="application/json"),new Response(JSON.stringify(response),set);case"ElysiaFile":return handleElysiaFile(response,set,request);case"File":return handleFile(response,set,request);case"Blob":return handleFile(response,set,request);case"ElysiaCustomStatusResponse":return set.status=response.code,mapResponse(response.response,set,request);case void 0:return response?new Response(JSON.stringify(response),set):new Response("",set);case"Response":return handleResponse(response,set,request);case"Error":return errorToResponse(response,set);case"Promise":return response.then((x)=>mapResponse(x,set,request));case"Function":return mapResponse(response(),set,request);case"Number":case"Boolean":return new Response(response.toString(),set);case"Cookie":return response instanceof Cookie?new Response(response.value,set):new Response(response?.toString(),set);case"FormData":return new Response(response,set);default:if(response instanceof Response)return handleResponse(response,set,request);if(response instanceof Promise)return response.then((x)=>mapResponse(x,set));if(response instanceof Error)return errorToResponse(response,set);if(response instanceof ElysiaCustomStatusResponse)return set.status=response.code,mapResponse(response.response,set,request);if(typeof response?.next=="function"||response instanceof ReadableStream)return handleStream(response,set,request);if(typeof response?.then=="function")return response.then((x)=>mapResponse(x,set));if(Array.isArray(response))return new Response(JSON.stringify(response),{headers:{"Content-Type":"application/json"}});if(typeof response?.toResponse=="function")return mapResponse(response.toResponse(),set);if("charCodeAt"in response){let code=response.charCodeAt(0);if(code===123||code===91)return set.headers["Content-Type"]||(set.headers["Content-Type"]="application/json"),new Response(JSON.stringify(response),set)}return new Response(response,set)}return typeof response?.next=="function"||response instanceof ReadableStream?handleStream(response,set,request):mapCompactResponse(response,request)},mapEarlyResponse=(response,set,request)=>{if(response!=null)if(isNotEmpty(set.headers)||set.status!==200||set.cookie)switch(handleSet(set),response?.constructor?.name){case"String":return set.headers["content-type"]||(set.headers["content-type"]="text/plain"),new Response(response,set);case"Array":case"Object":return set.headers["content-type"]||(set.headers["content-type"]="application/json"),new Response(JSON.stringify(response),set);case"ElysiaFile":return handleElysiaFile(response,set,request);case"File":return handleFile(response,set,request);case"Blob":return handleFile(response,set,request);case"ElysiaCustomStatusResponse":return set.status=response.code,mapEarlyResponse(response.response,set,request);case void 0:return response?new Response(JSON.stringify(response),set):void 0;case"Response":return handleResponse(response,set,request);case"Promise":return response.then((x)=>mapEarlyResponse(x,set));case"Error":return errorToResponse(response,set);case"Function":return mapEarlyResponse(response(),set);case"Number":case"Boolean":return new Response(response.toString(),set);case"FormData":return new Response(response);case"Cookie":return response instanceof Cookie?new Response(response.value,set):new Response(response?.toString(),set);default:if(response instanceof Response)return handleResponse(response,set,request);if(response instanceof Promise)return response.then((x)=>mapEarlyResponse(x,set));if(response instanceof Error)return errorToResponse(response,set);if(response instanceof ElysiaCustomStatusResponse)return set.status=response.code,mapEarlyResponse(response.response,set,request);if(typeof response?.next=="function"||response instanceof ReadableStream)return handleStream(response,set,request);if(typeof response?.then=="function")return response.then((x)=>mapEarlyResponse(x,set));if(typeof response?.toResponse=="function")return mapEarlyResponse(response.toResponse(),set);if(Array.isArray(response))return new Response(JSON.stringify(response),{headers:{"Content-Type":"application/json"}});if("charCodeAt"in response){let code=response.charCodeAt(0);if(code===123||code===91)return set.headers["Content-Type"]||(set.headers["Content-Type"]="application/json"),new Response(JSON.stringify(response),set)}return new Response(response,set)}else switch(response?.constructor?.name){case"String":return set.headers["content-type"]||(set.headers["content-type"]="text/plain"),new Response(response);case"Array":case"Object":return set.headers["content-type"]||(set.headers["content-type"]="application/json"),new Response(JSON.stringify(response),set);case"ElysiaFile":return handleElysiaFile(response,set,request);case"File":return handleFile(response,set,request);case"Blob":return handleFile(response,set,request);case"ElysiaCustomStatusResponse":return set.status=response.code,mapEarlyResponse(response.response,set,request);case void 0:return response?new Response(JSON.stringify(response),{headers:{"content-type":"application/json"}}):new Response("");case"Response":return response;case"Promise":return response.then((x)=>{let r=mapEarlyResponse(x,set);if(r!==void 0)return r});case"Error":return errorToResponse(response,set);case"Function":return mapCompactResponse(response(),request);case"Number":case"Boolean":return new Response(response.toString());case"Cookie":return response instanceof Cookie?new Response(response.value,set):new Response(response?.toString(),set);case"FormData":return new Response(response);default:if(response instanceof Response)return response;if(response instanceof Promise)return response.then((x)=>mapEarlyResponse(x,set));if(response instanceof Error)return errorToResponse(response,set);if(response instanceof ElysiaCustomStatusResponse)return set.status=response.code,mapEarlyResponse(response.response,set,request);if(typeof response?.next=="function"||response instanceof ReadableStream)return handleStream(response,set,request);if(typeof response?.then=="function")return response.then((x)=>mapEarlyResponse(x,set));if(typeof response?.toResponse=="function")return mapEarlyResponse(response.toResponse(),set);if(Array.isArray(response))return new Response(JSON.stringify(response),{headers:{"Content-Type":"application/json"}});if("charCodeAt"in response){let code=response.charCodeAt(0);if(code===123||code===91)return set.headers["Content-Type"]||(set.headers["Content-Type"]="application/json"),new Response(JSON.stringify(response),set)}return new Response(response)}},mapCompactResponse=(response,request)=>{switch(response?.constructor?.name){case"String":return new Response(response,{headers:{"Content-Type":"text/plain"}});case"Object":case"Array":return new Response(JSON.stringify(response),{headers:{"Content-Type":"application/json"}});case"ElysiaFile":return handleElysiaFile(response,void 0,request);case"File":return handleFile(response,void 0,request);case"Blob":return handleFile(response,void 0,request);case"ElysiaCustomStatusResponse":return mapResponse(response.response,{status:response.code,headers:{}});case void 0:return response?new Response(JSON.stringify(response),{headers:{"content-type":"application/json"}}):new Response("");case"Response":return response;case"Error":return errorToResponse(response);case"Promise":return response.then((x)=>mapCompactResponse(x,request));case"Function":return mapCompactResponse(response(),request);case"Number":case"Boolean":return new Response(response.toString());case"FormData":return new Response(response);default:if(response instanceof Response)return response;if(response instanceof Promise)return response.then((x)=>mapCompactResponse(x,request));if(response instanceof Error)return errorToResponse(response);if(response instanceof ElysiaCustomStatusResponse)return mapResponse(response.response,{status:response.code,headers:{}});if(typeof response?.next=="function"||response instanceof ReadableStream)return handleStream(response,void 0,request);if(typeof response?.then=="function")return response.then((x)=>mapCompactResponse(x,request));if(typeof response?.toResponse=="function")return mapCompactResponse(response.toResponse());if(Array.isArray(response))return new Response(JSON.stringify(response),{headers:{"Content-Type":"application/json"}});if("charCodeAt"in response){let code=response.charCodeAt(0);if(code===123||code===91)return new Response(JSON.stringify(response),{headers:{"Content-Type":"application/json"}})}return new Response(response)}},errorToResponse=(error,set)=>{if(typeof error?.toResponse=="function"){let raw=error.toResponse(),targetSet=set??{headers:{},status:200,redirect:""},apply=(resolved)=>(resolved instanceof Response&&(targetSet.status=resolved.status),mapResponse(resolved,targetSet));return typeof raw?.then=="function"?raw.then(apply):apply(raw)}return new Response(JSON.stringify({name:error?.name,message:error?.message,cause:error?.cause}),{status:set?.status!==200?set?.status??500:500,headers:set?.headers})},createStaticHandler=(handle,hooks,setHeaders={})=>{if(typeof handle=="function")return;let response=mapResponse(handle,{headers:setHeaders});if(!hooks.parse?.length&&!hooks.transform?.length&&!hooks.beforeHandle?.length&&!hooks.afterHandle?.length)return()=>response.clone()},handleResponse=createResponseHandler({mapResponse,mapCompactResponse}),handleStream=createStreamHandler({mapResponse,mapCompactResponse});var WebStandardAdapter={name:"web-standard",isWebStandard:!0,handler:{mapResponse,mapEarlyResponse,mapCompactResponse,createStaticHandler},composeHandler:{mapResponseContext:"c.request",preferWebstandardHeaders:!0,headers:`c.headers={}
|
|
10
19
|
for(const [k,v] of c.request.headers.entries())c.headers[k]=v
|
|
11
|
-
`,parser:{json(
|
|
12
|
-
|
|
20
|
+
`,parser:{json(isOptional){return isOptional?`try{c.body=await c.request.json()}catch{}
|
|
21
|
+
`:`c.body=await c.request.json()
|
|
13
22
|
`},text(){return`c.body=await c.request.text()
|
|
14
23
|
`},urlencoded(){return`c.body=parseQuery(await c.request.text())
|
|
15
24
|
`},arrayBuffer(){return`c.body=await c.request.arrayBuffer()
|
|
16
|
-
`},formData(
|
|
25
|
+
`},formData(isOptional){let fnLiteral=`
|
|
17
26
|
c.body={}
|
|
18
|
-
`;
|
|
19
|
-
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
if(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
`;return isOptional?fnLiteral+="let form;try{form=await c.request.formData()}catch{}":fnLiteral+=`const form=await c.request.formData()
|
|
28
|
+
`,fnLiteral+`const dangerousKeys=new Set(['__proto__','constructor','prototype'])
|
|
29
|
+
const isDangerousKey=(k)=>{if(dangerousKeys.has(k))return true;const m=k.match(/^(.+)\\[(\\d+)\\]$/);return m?dangerousKeys.has(m[1]):false}
|
|
30
|
+
const parseArrayKey=(k)=>{const m=k.match(/^(.+)\\[(\\d+)\\]$/);return m?{name:m[1],index:parseInt(m[2],10)}:null}
|
|
31
|
+
const grouped=new Map()
|
|
32
|
+
form.forEach((v,k)=>{const l=grouped.get(k);if(l)l.push(v);else grouped.set(k,[v])})
|
|
33
|
+
for(const [key,value] of grouped){if(c.body[key])continue
|
|
34
|
+
let finalValue
|
|
35
|
+
if(value.length===1){
|
|
36
|
+
const sv=value[0]
|
|
37
|
+
if(typeof sv==='string'&&(sv.charCodeAt(0)===123||sv.charCodeAt(0)===91)){
|
|
38
|
+
try{
|
|
39
|
+
const p=JSON.parse(sv)
|
|
40
|
+
if(p&&typeof p==='object')finalValue=p
|
|
41
|
+
}catch{}
|
|
42
|
+
}
|
|
43
|
+
if(finalValue===undefined)finalValue=sv
|
|
44
|
+
}else finalValue=value
|
|
45
|
+
if(Array.isArray(finalValue)){
|
|
46
|
+
const stringValue=finalValue.find((entry)=>typeof entry==='string')
|
|
47
|
+
const files=typeof File==='undefined'?[]:finalValue.filter((entry)=>entry instanceof File)
|
|
48
|
+
if(stringValue&&files.length&&stringValue.charCodeAt(0)===123){
|
|
49
|
+
try{
|
|
50
|
+
const parsed=JSON.parse(stringValue)
|
|
51
|
+
if(parsed&&typeof parsed==='object'&&!Array.isArray(parsed)){
|
|
52
|
+
if(!('file' in parsed)&&files.length===1)parsed.file=files[0]
|
|
53
|
+
else if(!('files' in parsed)&&files.length>1)parsed.files=files
|
|
54
|
+
finalValue=parsed
|
|
55
|
+
}
|
|
56
|
+
}catch{}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if(key.includes('.')||key.includes('[')){const keys=key.split('.')
|
|
60
|
+
const lastKey=keys.pop()
|
|
61
|
+
if(isDangerousKey(lastKey)||keys.some(isDangerousKey))continue
|
|
62
|
+
let current=c.body
|
|
63
|
+
for(const k of keys){const arrayInfo=parseArrayKey(k)
|
|
64
|
+
if(arrayInfo){if(!Array.isArray(current[arrayInfo.name]))current[arrayInfo.name]=[]
|
|
65
|
+
const existing=current[arrayInfo.name][arrayInfo.index]
|
|
66
|
+
const isFile=typeof File!=='undefined'&&existing instanceof File
|
|
67
|
+
if(!existing||typeof existing!=='object'||Array.isArray(existing)||isFile){
|
|
68
|
+
let parsed
|
|
69
|
+
if(typeof existing==='string'&&existing.charCodeAt(0)===123){
|
|
70
|
+
try{parsed=JSON.parse(existing)
|
|
71
|
+
if(!parsed||typeof parsed!=='object'||Array.isArray(parsed))parsed=undefined}catch{}
|
|
72
|
+
}
|
|
73
|
+
current[arrayInfo.name][arrayInfo.index]=parsed||{}
|
|
74
|
+
}
|
|
75
|
+
current=current[arrayInfo.name][arrayInfo.index]}else{if(!current[k]||typeof current[k]!=='object')current[k]={}
|
|
76
|
+
current=current[k]}}
|
|
77
|
+
const arrayInfo=parseArrayKey(lastKey)
|
|
78
|
+
if(arrayInfo){if(!Array.isArray(current[arrayInfo.name]))current[arrayInfo.name]=[]
|
|
79
|
+
current[arrayInfo.name][arrayInfo.index]=finalValue}else{current[lastKey]=finalValue}}else c.body[key]=finalValue}`}}},async stop(app,closeActiveConnections){if(!app.server)throw Error("Elysia isn't running. Call `app.listen` to start the server.");if(app.server&&(await app.server.stop(closeActiveConnections),app.server=null,app.event.stop?.length))for(let i=0;i<app.event.stop.length;i++)app.event.stop[i].fn(app)},composeGeneralHandler:{parameters:"r",createContext(app){let decoratorsLiteral="",fnLiteral="",defaultHeaders=app.setHeaders;for(let key of Object.keys(app.decorator))decoratorsLiteral+=`,'${key}':decorator['${key}']`;let standardHostname=app.config.handler?.standardHostname??!0,hasTrace=!!app.event.trace?.length;return fnLiteral+=`const u=r.url,s=u.indexOf('/',${standardHostname?11:7}),qi=u.indexOf('?',s+1),p=u.substring(s,qi===-1?undefined:qi)
|
|
80
|
+
`,hasTrace&&(fnLiteral+=`const id=randomId()
|
|
81
|
+
`),fnLiteral+="const c={request:r,store,qi,path:p,url:u,redirect,status,set:{headers:",fnLiteral+=Object.keys(defaultHeaders??{}).length?"Object.assign({},app.setHeaders)":"Object.create(null)",fnLiteral+=",status:200}",app.inference.server&&(fnLiteral+=",get server(){return app.getServer()}"),hasTrace&&(fnLiteral+=",[ELYSIA_REQUEST_ID]:id"),fnLiteral+=decoratorsLiteral,fnLiteral+=`}
|
|
82
|
+
`,fnLiteral},error404(hasEventHook,hasErrorHook,afterHandle=""){let findDynamicRoute="if(route===null){"+afterHandle+(hasErrorHook?"":"c.set.status=404")+`
|
|
83
|
+
return `;return hasErrorHook?findDynamicRoute+=`app.handleError(c,notFound,false,${this.parameters})`:findDynamicRoute+=hasEventHook?"c.response=c.responseValue=new Response(error404Message,{status:c.set.status===200?404:c.set.status,headers:c.set.headers})":"c.response=c.responseValue=error404.clone()",findDynamicRoute+="}",{declare:hasErrorHook?"":`const error404Message=notFound.message.toString()
|
|
30
84
|
const error404=new Response(error404Message,{status:404})
|
|
31
|
-
`,code:W}}},composeError:{mapResponseContext:"",validationError:"return new Response(error.message,{headers:Object.assign({'content-type':'application/json'},set.headers),status:set.status})",unknownError:"return new Response(error.message,{headers:set.headers,status:error.status??set.status??500})"},listen(){return()=>{throw Error("WebStandard does not support listen, you might want to export default Elysia.fetch instead")}}};function LH(){try{if(typeof caches<"u"&&typeof caches.default<"u")return!0;if(typeof WebSocketPair<"u")return!0}catch{return!1}return!1}var Tb={...N1,name:"cloudflare-worker",composeGeneralHandler:{...N1.composeGeneralHandler,error404(Y,X,Z){let{code:W}=N1.composeGeneralHandler.error404(Y,X,Z);return{code:W,declare:X?"":`const error404Message=notFound.message.toString()
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
`,2);return[W[0],W[1],{isArrowReturn:!1}]},SH=(Y)=>{let X=Y.indexOf("{");if(X===-1)return[-1,0];let Z=X+1,W=1;for(;Z<Y.length;Z++){let $=Y.charCodeAt(Z);if($===123)W++;else if($===125)W--;if(W===0)break}if(W!==0)return[0,Y.length];return[X,Z+1]},PH=(Y)=>{let X=Y.lastIndexOf("}");if(X===-1)return[-1,0];let Z=X-1,W=1;for(;Z>=0;Z--){let $=Y.charCodeAt(Z);if($===125)W++;else if($===123)W--;if(W===0)break}if(W!==0)return[-1,0];return[Z,X+1]},FQ=(Y)=>{while(!0){let X=Y.indexOf(":");if(X===-1)break;let Z=Y.indexOf(",",X);if(Z===-1)Z=Y.indexOf("}",X)-1;if(Z===-2)Z=Y.length;Y=Y.slice(0,X)+Y.slice(Z)}return Y},jQ=(Y)=>{let X=!1;if(Y.charCodeAt(0)===40)Y=Y.slice(1,-1);if(Y.charCodeAt(0)===123)X=!0,Y=Y.slice(1,-1);Y=Y.replace(/( |\t|\n)/g,"").trim();let Z=[];while(!0){let[$,Q]=SH(Y);if($===-1)break;if(Z.push(Y.slice(0,$-1)),Y.charCodeAt(Q)===44)Q++;Y=Y.slice(Q)}if(Y=FQ(Y),Y)Z=Z.concat(Y.split(","));let W=Object.create(null);for(let $ of Z){if($.indexOf(",")===-1){W[$]=!0;continue}for(let Q of $.split(","))W[Q.trim()]=!0}return{hasParenthesis:X,parameters:W}},_H=(Y,X)=>{let{parameters:Z,hasParenthesis:W}=jQ(Y);if(Z.query)X.query=!0;if(Z.headers)X.headers=!0;if(Z.body)X.body=!0;if(Z.cookie)X.cookie=!0;if(Z.set)X.set=!0;if(Z.server)X.server=!0;if(Z.route)X.route=!0;if(Z.url)X.url=!0;if(Z.path)X.path=!0;if(W)return`{ ${Object.keys(Z).join(", ")} }`;return Object.keys(Z).join(", ")},a9=(Y,X,Z)=>{let W=new RegExp(`${Y.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}[\\n\\t,; ]`);if(Z!==void 0)W.lastIndex=Z;let $=W.exec(X);return $?$.index:-1},KQ=(Y,X,Z=0)=>{if(Z>5)return[];let W=[],$=X;while(!0){let Q=a9(" = "+Y,$);if(Q===-1)Q=a9("="+Y,$);if(Q===-1){let U=$.indexOf(" = "+Y);if(U===-1)U=$.indexOf("="+Y);if(U+3+Y.length!==$.length)break;Q=U}let J=$.slice(0,Q),M=J.lastIndexOf(" "),z=J.slice(M!==-1?M+1:-1);if(z==="}"){let[U,G]=PH(J);W.push(FQ($.slice(U,G))),$=$.slice(Q+3+Y.length);continue}while(z.charCodeAt(0)===44)z=z.slice(1);while(z.charCodeAt(0)===9)z=z.slice(1);if(!z.includes("("))W.push(z);$=$.slice(Q+3+Y.length)}for(let Q of W){if(Q.charCodeAt(0)===123)continue;let J=KQ(Q,X);if(J.length>0)W.push(...J)}return W},FH=(Y)=>{if(!Y)return;if(Y.charCodeAt(0)!==123)return Y;if(Y=Y.slice(2,-2),!Y.includes(",")){if(Y.indexOf("...")!==-1)return Y.slice(Y.indexOf("...")+3);return}let X=Y.indexOf("...");if(X===-1)return;return Y.slice(X+3).trimEnd()},jH=(Y,X,Z)=>{let W=($,Q)=>new RegExp(`${Q}\\.(${$})|${Q}\\["${$}"\\]|${Q}\\['${$}'\\]`).test(Y);for(let $ of X){if(!$)continue;if($.charCodeAt(0)===123){let Q=jQ($).parameters;if(Q.query)Z.query=!0;if(Q.headers)Z.headers=!0;if(Q.body)Z.body=!0;if(Q.cookie)Z.cookie=!0;if(Q.set)Z.set=!0;if(Q.server)Z.server=!0;if(Q.url)Z.url=!0;if(Q.route)Z.route=!0;if(Q.path)Z.path=!0;continue}if(!Z.query&&(W("query",$)||Y.includes("return "+$)||Y.includes("return "+$+".query")))Z.query=!0;if(!Z.headers&&W("headers",$))Z.headers=!0;if(!Z.body&&W("body",$))Z.body=!0;if(!Z.cookie&&W("cookie",$))Z.cookie=!0;if(!Z.set&&W("set",$))Z.set=!0;if(!Z.server&&W("server",$))Z.server=!0;if(!Z.route&&W("route",$))Z.route=!0;if(!Z.url&&W("url",$))Z.url=!0;if(!Z.path&&W("path",$))Z.path=!0;if(Z.query&&Z.headers&&Z.body&&Z.cookie&&Z.set&&Z.server&&Z.route&&Z.url&&Z.path)break}return X},KH=(Y,X,Z)=>{try{let W=new RegExp(`\\w\\((.*?)?${Y}`,"gs");W.test(X);let $=X.charCodeAt(W.lastIndex);if($===41||$===44)return Z.query=!0,Z.headers=!0,Z.body=!0,Z.cookie=!0,Z.set=!0,Z.server=!0,Z.url=!0,Z.route=!0,Z.path=!0,!0;return!1}catch(W){return console.log("[Sucrose] warning: unexpected isContextPassToFunction error, you may continue development as usual but please report the following to maintainers:"),console.log("--- body ---"),console.log(X),console.log("--- context ---"),console.log(Y),!0}},o6,s6={},CH=(Y)=>{if(Y===null||LH())return;if(Y===void 0)Y=295000;if(o6)clearTimeout(o6);o6=setTimeout(()=>{if(s6={},o6=void 0,H1)Bun.gc(!1)},Y)},OW=(Y,X)=>{return{body:Y.body||X.body,cookie:Y.cookie||X.cookie,headers:Y.headers||X.headers,query:Y.query||X.query,set:Y.set||X.set,server:Y.server||X.server,url:Y.url||X.url,route:Y.route||X.route,path:Y.path||X.path}},QZ=(Y,X={query:!1,headers:!1,body:!1,cookie:!1,set:!1,server:!1,url:!1,route:!1,path:!1},Z={})=>{let W=[];if(Y.request?.length)W.push(...Y.request);if(Y.beforeHandle?.length)W.push(...Y.beforeHandle);if(Y.parse?.length)W.push(...Y.parse);if(Y.error?.length)W.push(...Y.error);if(Y.transform?.length)W.push(...Y.transform);if(Y.afterHandle?.length)W.push(...Y.afterHandle);if(Y.mapResponse?.length)W.push(...Y.mapResponse);if(Y.afterResponse?.length)W.push(...Y.afterResponse);if(Y.handler&&typeof Y.handler==="function")W.push(Y.handler);for(let $=0;$<W.length;$++){let Q=W[$];if(!Q)continue;let J=typeof Q==="object"?Q.fn:Q;if(typeof J!=="function")continue;let M=J.toString(),z=u1(M),U=s6[z];if(U){X=OW(X,U);continue}CH(Z.gcTime);let G={query:!1,headers:!1,body:!1,cookie:!1,set:!1,server:!1,url:!1,route:!1,path:!1},[D,S]=OH(M),N=_H(D,G),H=FH(N);if(H){let q=KQ(H,S.slice(1,-1));q.splice(0,-1,H);let F=S;if(F.charCodeAt(0)===123&&F.charCodeAt(S.length-1)===125)F=F.slice(1,-1);if(!KH(H,F,G))jH(F,q,G);if(!G.query&&F.includes("return "+H+".query"))G.query=!0}if(!s6[z])s6[z]=G;if(X=OW(X,G),X.query&&X.headers&&X.body&&X.cookie&&X.set&&X.server&&X.url&&X.route&&X.path)break}return X},S8=(Y,X,Z)=>{if(V0(X.headers)||X.status!==200||X.cookie)switch(Q6(X),Y?.constructor?.name){case"String":return new Response(Y,X);case"Array":case"Object":return X.headers["content-type"]="application/json",new Response(JSON.stringify(Y),X);case"ElysiaFile":return d0(Y.value,X);case"File":return d0(Y,X);case"Blob":return d0(Y,X);case"ElysiaCustomStatusResponse":return X.status=Y.code,S8(Y.response,X,Z);case void 0:if(!Y)return new Response("",X);return new Response(JSON.stringify(Y),X);case"Response":return JZ(Y,X,Z);case"Error":return DX(Y,X);case"Promise":return Y.then((W)=>S8(W,X,Z));case"Function":return S8(Y(),X,Z);case"Number":case"Boolean":return new Response(Y.toString(),X);case"Cookie":if(Y instanceof sY)return new Response(Y.value,X);return new Response(Y?.toString(),X);case"FormData":return new Response(Y,X);default:if(Y instanceof Response)return JZ(Y,X,Z);if(Y instanceof Promise)return Y.then((W)=>S8(W,X));if(Y instanceof Error)return DX(Y,X);if(Y instanceof z8)return X.status=Y.code,S8(Y.response,X,Z);if(typeof Y?.next==="function"||Y instanceof ReadableStream)return Y6(Y,X,Z);if(typeof Y?.then==="function")return Y.then((W)=>S8(W,X));if(typeof Y?.toResponse==="function")return S8(Y.toResponse(),X);if("charCodeAt"in Y){let W=Y.charCodeAt(0);if(W===123||W===91){if(!X.headers["Content-Type"])X.headers["Content-Type"]="application/json";return new Response(JSON.stringify(Y),X)}}return new Response(Y,X)}if(typeof Y?.next==="function"||Y instanceof ReadableStream)return Y6(Y,X,Z);return oY(Y,Z)},O8=(Y,X,Z)=>{if(Y===void 0||Y===null)return;if(V0(X.headers)||X.status!==200||X.cookie)switch(Q6(X),Y?.constructor?.name){case"String":return new Response(Y,X);case"Array":case"Object":return X.headers["content-type"]="application/json",new Response(JSON.stringify(Y),X);case"ElysiaFile":return d0(Y.value,X);case"File":return d0(Y,X);case"Blob":return d0(Y,X);case"ElysiaCustomStatusResponse":return X.status=Y.code,O8(Y.response,X,Z);case void 0:if(!Y)return;return new Response(JSON.stringify(Y),X);case"Response":return JZ(Y,X,Z);case"Promise":return Y.then((W)=>O8(W,X));case"Error":return DX(Y,X);case"Function":return O8(Y(),X);case"Number":case"Boolean":return new Response(Y.toString(),X);case"FormData":return new Response(Y);case"Cookie":if(Y instanceof sY)return new Response(Y.value,X);return new Response(Y?.toString(),X);default:if(Y instanceof Response)return JZ(Y,X,Z);if(Y instanceof Promise)return Y.then((W)=>O8(W,X));if(Y instanceof Error)return DX(Y,X);if(Y instanceof z8)return X.status=Y.code,O8(Y.response,X,Z);if(typeof Y?.next==="function"||Y instanceof ReadableStream)return Y6(Y,X,Z);if(typeof Y?.then==="function")return Y.then((W)=>O8(W,X));if(typeof Y?.toResponse==="function")return O8(Y.toResponse(),X);if("charCodeAt"in Y){let W=Y.charCodeAt(0);if(W===123||W===91){if(!X.headers["Content-Type"])X.headers["Content-Type"]="application/json";return new Response(JSON.stringify(Y),X)}}return new Response(Y,X)}else switch(Y?.constructor?.name){case"String":return new Response(Y);case"Array":case"Object":return X.headers["content-type"]="application/json",new Response(JSON.stringify(Y),X);case"ElysiaFile":return d0(Y.value,X);case"File":return d0(Y,X);case"Blob":return d0(Y,X);case"ElysiaCustomStatusResponse":return X.status=Y.code,O8(Y.response,X,Z);case void 0:if(!Y)return new Response("");return new Response(JSON.stringify(Y),{headers:{"content-type":"application/json"}});case"Response":return Y;case"Promise":return Y.then((W)=>{let $=O8(W,X);if($!==void 0)return $});case"Error":return DX(Y,X);case"Function":return oY(Y(),Z);case"Number":case"Boolean":return new Response(Y.toString());case"Cookie":if(Y instanceof sY)return new Response(Y.value,X);return new Response(Y?.toString(),X);case"FormData":return new Response(Y);default:if(Y instanceof Response)return Y;if(Y instanceof Promise)return Y.then((W)=>O8(W,X));if(Y instanceof Error)return DX(Y,X);if(Y instanceof z8)return X.status=Y.code,O8(Y.response,X,Z);if(typeof Y?.next==="function"||Y instanceof ReadableStream)return Y6(Y,X,Z);if(typeof Y?.then==="function")return Y.then((W)=>O8(W,X));if(typeof Y?.toResponse==="function")return O8(Y.toResponse(),X);if("charCodeAt"in Y){let W=Y.charCodeAt(0);if(W===123||W===91){if(!X.headers["Content-Type"])X.headers["Content-Type"]="application/json";return new Response(JSON.stringify(Y),X)}}return new Response(Y)}},oY=(Y,X)=>{switch(Y?.constructor?.name){case"String":return new Response(Y);case"Object":case"Array":return new Response(JSON.stringify(Y),{headers:{"Content-Type":"application/json"}});case"ElysiaFile":return d0(Y.value);case"File":return d0(Y);case"Blob":return d0(Y);case"ElysiaCustomStatusResponse":return S8(Y.response,{status:Y.code,headers:{}});case void 0:if(!Y)return new Response("");return new Response(JSON.stringify(Y),{headers:{"content-type":"application/json"}});case"Response":return Y;case"Error":return DX(Y);case"Promise":return Y.then((Z)=>oY(Z,X));case"Function":return oY(Y(),X);case"Number":case"Boolean":return new Response(Y.toString());case"FormData":return new Response(Y);default:if(Y instanceof Response)return Y;if(Y instanceof Promise)return Y.then((Z)=>oY(Z,X));if(Y instanceof Error)return DX(Y);if(Y instanceof z8)return S8(Y.response,{status:Y.code,headers:{}});if(typeof Y?.next==="function"||Y instanceof ReadableStream)return Y6(Y,void 0,X);if(typeof Y?.then==="function")return Y.then((Z)=>S8(Z,set));if(typeof Y?.toResponse==="function")return oY(Y.toResponse());if("charCodeAt"in Y){let Z=Y.charCodeAt(0);if(Z===123||Z===91)return new Response(JSON.stringify(Y),{headers:{"Content-Type":"application/json"}})}return new Response(Y)}},DX=(Y,X)=>new Response(JSON.stringify({name:Y?.name,message:Y?.message,cause:Y?.cause}),{status:X?.status!==200?X?.status??500:500,headers:X?.headers}),RH=(Y,X,Z={})=>{if(typeof Y==="function")return;let W=S8(Y,{headers:Z});if(!X.parse?.length&&!X.transform?.length&&!X.beforeHandle?.length&&!X.afterHandle?.length)return()=>W.clone()},JZ=_Q({mapResponse:S8,mapCompactResponse:oY}),Y6=CW({mapResponse:S8,mapCompactResponse:oY}),bH=Z6(zZ(),1),A1=Z6(zZ(),1),q1=1,D1=2,w1=4,tY=8;function CQ(Y,X=0,Z,W){let $=Object.create(null),Q=0,J=Y.length,M=X-1,z=M;for(let G=0;G<J;G++)switch(Y.charCodeAt(G)){case 38:U(Y,G),M=G,z=G,Q=0;break;case 61:if(z<=M)z=G;else Q|=tY;break;case 43:if(z>M)Q|=w1;else Q|=q1;break;case 37:if(z>M)Q|=tY;else Q|=D1;break}if(M<J)U(Y,J);return $;function U(G,D){let S=z>M,N=S?z:D,H=G.slice(M+1,N);if(!S&&H.length===0)return;let q=H;if(Q&q1)q=q.replace(/\+/g," ");if(Q&D1)q=A1.default(q)||q;let F="";if(S){let w=G.slice(z+1,D);if(Q&w1)w=w.replace(/\+/g," ");if(Q&tY)w=A1.default(w)||w;F=w}let C=$[q];if(Z?.[q])if(F.charCodeAt(0)===91){if(W?.[q])F=JSON.parse(F);else F=F.slice(1,-1).split(",");if(C===void 0)$[q]=F;else if(Array.isArray(C))C.push(...F);else $[q]=F,$[q].unshift(C)}else if(C===void 0)$[q]=F;else if(Array.isArray(C))C.push(F);else $[q]=[C,F];else $[q]=F}}function EH(Y,X=0){let Z=Object.create(null),W=0,$=Y.length,Q=X-1,J=Q;for(let z=0;z<$;z++)switch(Y.charCodeAt(z)){case 38:M(Y,z),Q=z,J=z,W=0;break;case 61:if(J<=Q)J=z;else W|=tY;break;case 43:if(J>Q)W|=w1;else W|=q1;break;case 37:if(J>Q)W|=tY;else W|=D1;break}if(Q<$)M(Y,$);return Z;function M(z,U){let G=J>Q,D=G?J:U,S=z.slice(Q+1,D);if(!G&&S.length===0)return;let N=S;if(W&q1)N=N.replace(/\+/g," ");if(W&D1)N=A1.default(N)||N;let H="";if(G){let F=z.slice(J+1,U);if(W&w1)F=F.replace(/\+/g," ");if(W&tY)F=A1.default(F)||F;H=F}let q=Z[N];if(H.charCodeAt(0)===91&&H.charCodeAt(H.length-1)===93){try{H=JSON.parse(H)}catch{}if(q===void 0)Z[N]=H;else if(Array.isArray(q))q.push(H);else Z[N]=[q,H]}else if(H.charCodeAt(0)===123&&H.charCodeAt(H.length-1)===125){try{H=JSON.parse(H)}catch{}if(q===void 0)Z[N]=H;else if(Array.isArray(q))q.push(H);else Z[N]=[q,H]}else{if(H.includes(","))H=H.split(",");if(q===void 0)Z[N]=H;else if(Array.isArray(q))q.push(H);else Z[N]=[q,H]}}}function G1(Y){let X=Object.create(null),Z=0,W=Y.length,$=-1,Q=-1;for(let M=0;M<W;M++)switch(Y.charCodeAt(M)){case 38:J(Y,M),$=M,Q=M,Z=0;break;case 61:if(Q<=$)Q=M;else Z|=tY;break;case 43:if(Q>$)Z|=w1;else Z|=q1;break;case 37:if(Q>$)Z|=tY;else Z|=D1;break}if($<W)J(Y,W);return X;function J(M,z){let U=Q>$,G=U?Q:z,D=M.slice($+1,G);if(!U&&D.length===0)return;let S=D;if(Z&q1)S=S.replace(/\+/g," ");if(Z&D1)S=A1.default(S)||S;let N="";if(U){let q=M.slice(Q+1,z);if(Z&w1)q=q.replace(/\+/g," ");if(Z&tY)q=A1.default(q)||q;N=q}let H=X[S];if(H===void 0)X[S]=N;else if(Array.isArray(H))H.push(N);else X[S]=[H,N]}}var BZ=Symbol("ElysiaTrace"),pY=()=>{let{promise:Y,resolve:X}=Promise.withResolvers(),{promise:Z,resolve:W}=Promise.withResolvers(),{promise:$,resolve:Q}=Promise.withResolvers(),J=[],M=[];return[(z)=>{if(z)J.push(z);return Y},(z)=>{let U=[],G=[],D=null;for(let N=0;N<(z.total??0);N++){let{promise:H,resolve:q}=Promise.withResolvers(),{promise:F,resolve:C}=Promise.withResolvers(),{promise:w,resolve:h}=Promise.withResolvers(),n=[],s=[];U.push((f)=>{if(f)n.push(f);return H}),G.push((f)=>{let T={...f,end:F,error:w,index:N,onStop(y){if(y)s.push(y);return F}};q(T);for(let y=0;y<n.length;y++)n[y](T);return(y=null)=>{let R=performance.now();if(y)D=y;let E={end:R,error:y,get elapsed(){return R-f.begin}};for(let b=0;b<s.length;b++)s[b](E);C(R),h(y)}})}let S={...z,end:Z,error:$,onEvent(N){for(let H=0;H<U.length;H++)U[H](N)},onStop(N){if(N)M.push(N);return Z}};X(S);for(let N=0;N<J.length;N++)J[N](S);return{resolveChild:G,resolve(N=null){let H=performance.now();if(!N&&D)N=D;let q={end:H,error:N,get elapsed(){return H-z.begin}};for(let F=0;F<M.length;F++)M[F](q);W(H),Q(N)}}}]},VH=(Y)=>{return(X)=>{let[Z,W]=pY(),[$,Q]=pY(),[J,M]=pY(),[z,U]=pY(),[G,D]=pY(),[S,N]=pY(),[H,q]=pY(),[F,C]=pY(),[w,h]=pY();return Y({id:X[W6],context:X,set:X.set,onRequest:Z,onParse:$,onTransform:J,onBeforeHandle:z,onHandle:G,onAfterHandle:S,onMapResponse:F,onAfterResponse:w,onError:H,time:Date.now(),store:X.store}),{request:W,parse:Q,transform:M,beforeHandle:U,handle:D,afterHandle:N,error:q,mapResponse:C,afterResponse:h}}},E8=Symbol.for("TypeBox.Kind"),IH=Symbol.for("TypeBox.Hint"),RQ=(Y)=>/(\ |-|\t|\n|\.)/.test(Y)||!isNaN(+Y[0]),bQ=(Y,X,Z=!1)=>{if(typeof X==="number")return`${Y}[${X}]`;if(RQ(X))return`${Y}${Z?"?.":""}["${X}"]`;return`${Y}${Z?"?":""}.${X}`},TH=(Y)=>RQ(Y)?`"${Y}"`:Y,e9=(Y,X=0,Z)=>{if(Z.type!=="string"||Z.const||Z.trusted)return Y;let W="";for(let $=X-1;$>=0;$--)W+=`d.h${$}(`;return W+Y+")".repeat(X)},EQ=(Y)=>{if(!Y.allOf||E8 in Y&&(Y[E8]!=="Intersect"||Y.type!=="object"))return Y;let{allOf:X,...Z}=Y;if(Z.properties={},E8 in Z)Z[E8]="Object";for(let W of X){if(W.type!=="object")continue;let{properties:$,required:Q,type:J,[E8]:M,...z}=W;if(Q)Z.required=Z.required?Z.required.concat(Q):Q;Object.assign(Z,z);for(let U in W.properties)Z.properties[U]=EQ(W.properties[U])}return Z},xH=(Y,X,Z)=>{let W=Y.patternProperties["^(.*)$"]??Y.patternProperties[Object.keys(Y.patternProperties)[0]];if(!W)return X;let $=Z.array;Z.array++;let Q=`(()=>{const ar${$}s=Object.keys(${X}),ar${$}v={};for(let i=0;i<ar${$}s.length;i++){const ar${$}p=${X}[ar${$}s[i]];ar${$}v[ar${$}s[i]]=${iY(W,`ar${$}p`,Z)}`,J=Z.optionalsInArray[$+1];if(J)for(let M=0;M<J.length;M++){let z=`ar${$}v[ar${$}s[i]].${J[M]}`;Q+=`;if(${z}===undefined)delete ${z}`}return Q+=`}return ar${$}v})()`,Q},kH=(Y,X,Z)=>{let W=Z.array;Z.array++;let $=X==="v"&&!Z.unions.length,Q="";if(!$)Q="(()=>{";Q+=`const ar${W}v=[`;for(let J=0;J<Y.length;J++){if(J!==0)Q+=",";Q+=iY(Y[J],bQ(X,J,Z.parentIsOptional),Z)}if(Q+="];",!$)Q+=`return ar${W}v})()`;return Q};function MZ(Y,X=new WeakMap){if(Y===null||typeof Y!=="object"||typeof Y==="function")return Y;if(X.has(Y))return X.get(Y);if(Array.isArray(Y)){let Z=Array(Y.length);X.set(Y,Z);for(let W=0;W<Y.length;W++)Z[W]=MZ(Y[W],X);return Z}if(typeof Y==="object"){let Z=Object.keys(Y).concat(Object.getOwnPropertySymbols(Y)),W={};for(let $ of Z)W[$]=MZ(Y[$],X);return W}return Y}var gH=(Y,X,Z)=>{if(Z.TypeCompiler===void 0){if(!Z.typeCompilerWanred)console.warn(Error("[exact-mirror] TypeBox's TypeCompiler is required to use Union")),Z.typeCompilerWanred=!0;return X}Z.unionKeys[X]=1;let W=Z.unions.length,$=Z.unions[W]=[],Q=`(()=>{
|
|
36
|
-
|
|
37
|
-
`}return Q+=`return ${Z.removeUnknownUnionType?"undefined":X}})()`,Q},iY=(Y,X,Z)=>{if(!Y)return"";let W=X==="v"&&!Z.unions.length;if(E8 in Y&&Y[E8]==="Import"&&Y.$ref in Y.$defs)return iY(Y.$defs[Y.$ref],X,{...Z,definitions:Object.assign(Z.definitions,Y.$defs)});if(W&&Y.type!=="object"&&Y.type!=="array"&&!Y.anyOf)return`return ${e9("v",Z.sanitize?.length,Y)}`;if(Z.recursion>=Z.recursionLimit)return X;let $="";if(Y.$id&&IH in Y)Z.definitions[Y.$id]=Y;switch(Y.type){case"object":if(Y[E8]==="Record"){$=xH(Y,X,Z);break}if(Y=EQ(Y),$+="{",Y.additionalProperties)$+=`...${X},`;let Q=Object.keys(Y.properties);for(let U=0;U<Q.length;U++){let G=Q[U],D=!Y.required||Y.required&&!Y.required.includes(G)||Array.isArray(Y.properties[G].anyOf),S=bQ(X,G,Z.parentIsOptional);if(D){let H=Z.array;if(X.startsWith("ar")){let q=S.slice(S.indexOf(".")+1),F=Z.optionalsInArray;if(F[H])F[H].push(q);else F[H]=[q]}else Z.optionals.push(S)}let N=Y.properties[G];if(U!==0)$+=",";$+=`${TH(G)}:${D?`${S}===undefined?undefined:`:""}${iY(N,S,{...Z,recursion:Z.recursion+1,parentIsOptional:D})}`}$+="}";break;case"array":if(Y.items.type!=="object"&&Y.items.type!=="array")if(Array.isArray(Y.items)){$=kH(Y.items,X,Z);break}else if(W)return"return v";else if(E8 in Y.items&&Y.items.$ref&&(Y.items[E8]==="Ref"||Y.items[E8]==="This"))$=iY(MZ(Z.definitions[Y.items.$ref]),X,{...Z,parentIsOptional:!0,recursion:Z.recursion+1});else{$=X;break}let J=Z.array;Z.array++;let M=X;if(W)$=`const ar${J}v=new Array(${X}.length);`;else M=`ar${J}s`,$=`((${M})=>{const ar${J}v=new Array(${M}.length);`;$+=`for(let i=0;i<${M}.length;i++){const ar${J}p=${M}[i];ar${J}v[i]=${iY(Y.items,`ar${J}p`,Z)}`;let z=Z.optionalsInArray[J+1];if(z)for(let U=0;U<z.length;U++){let G=`ar${J}v[i].${z[U]}`;$+=`;if(${G}===undefined)delete ${G}`}if($+="}",!W)$+=`return ar${J}v})(${X})`;break;default:if(Y.$ref&&Y.$ref in Z.definitions)return iY(Z.definitions[Y.$ref],X,Z);if(Array.isArray(Y.anyOf)){$=gH(Y.anyOf,X,Z);break}$=e9(X,Z.sanitize?.length,Y);break}if(!W)return $;if(Y.type==="array")$=`${$}const x=ar0v;`;else $=`const x=${$}
|
|
38
|
-
|
|
39
|
-
`}return`${$}return x`},$W=(Y,{TypeCompiler:X,modules:Z,definitions:W,sanitize:$,recursionLimit:Q=8,removeUnknownUnionType:J=!1}={})=>{let M=[];if(typeof $==="function")$=[$];let z=iY(Y,"v",{optionals:[],optionalsInArray:[],array:0,parentIsOptional:!1,unions:M,unionKeys:{},TypeCompiler:X,modules:Z,definitions:W??Z?.$defs??{},sanitize:$,recursion:0,recursionLimit:Q,removeUnknownUnionType:J});if(!M.length&&!$?.length)return Function("v",z);let U;if($?.length){U={};for(let G=0;G<$.length;G++)U[`h${G}`]=$[G]}return Function("d",`return function mirror(v){${z}}`)({unions:M,...U})},SW=(Y)=>{if(!Y)return!1;if(Y?.[O]==="Import"&&Y.References)return Y.References().some(SW);if(Y.schema)Y=Y.schema;return!!Y&&o0 in Y},FY=(Y)=>{if(!Y)return!1;let X=Y?.schema??Y;if(X[O]==="Import"&&Y.References)return Y.References().some(FY);if(X.anyOf)return X.anyOf.some(FY);if(X.someOf)return X.someOf.some(FY);if(X.allOf)return X.allOf.some(FY);if(X.not)return X.not.some(FY);if(X.type==="object"){let Z=X.properties;if("additionalProperties"in X)return X.additionalProperties;if("patternProperties"in X)return!1;for(let W of Object.keys(Z)){let $=Z[W];if($.type==="object"){if(FY($))return!0}else if($.anyOf){for(let Q=0;Q<$.anyOf.length;Q++)if(FY($.anyOf[Q]))return!0}return $.additionalProperties}return!1}if(X.type==="array"&&X.items&&!Array.isArray(X.items))return FY(X.items);return!1},HX=(Y,X)=>{if(!X)return!1;if(O in X&&X[O]===Y)return!0;if(X.type==="object"){let Z=X.properties;if(!Z)return!1;for(let W of Object.keys(Z)){let $=Z[W];if($.type==="object"){if(HX(Y,$))return!0}else if($.anyOf){for(let Q=0;Q<$.anyOf.length;Q++)if(HX(Y,$.anyOf[Q]))return!0}if(O in $&&$[O]===Y)return!0}return!1}return!!X.properties&&O in X.properties&&X.properties[O]===Y},jY=(Y,X)=>{if(!X)return!1;let Z=X?.schema??X;if(Z.elysiaMeta===Y)return!0;if(Z[O]==="Import"&&X.References)return X.References().some((W)=>jY(Y,W));if(Z.anyOf)return Z.anyOf.some((W)=>jY(Y,W));if(Z.someOf)return Z.someOf.some((W)=>jY(Y,W));if(Z.allOf)return Z.allOf.some((W)=>jY(Y,W));if(Z.not)return Z.not.some((W)=>jY(Y,W));if(Z.type==="object"){let W=Z.properties;for(let $ of Object.keys(W)){let Q=W[$];if(Q.type==="object"){if(jY(Y,Q))return!0}else if(Q.anyOf){for(let J=0;J<Q.anyOf.length;J++)if(jY(Y,Q.anyOf[J]))return!0}return Z.elysiaMeta===Y}return!1}if(Z.type==="array"&&Z.items&&!Array.isArray(Z.items))return jY(Y,Z.items);return!1},t1=(Y,X)=>{if(!X)return;let Z=X.schema??X;if(Z[O]==="Import"&&X.References)return X.References().some((W)=>t1(Y,W));if(Z.type==="object"){let W=Z.properties;if(!W)return!1;for(let $ of Object.keys(W)){let Q=W[$];if(Y in Q)return!0;if(Q.type==="object"){if(t1(Y,Q))return!0}else if(Q.anyOf){for(let J=0;J<Q.anyOf.length;J++)if(t1(Y,Q.anyOf[J]))return!0}}return!1}return Y in Z},qY=(Y)=>{if(!Y)return!1;if(Y.oneOf){for(let X=0;X<Y.oneOf.length;X++)if(qY(Y.oneOf[X]))return!0}if(Y.anyOf){for(let X=0;X<Y.anyOf.length;X++)if(qY(Y.anyOf[X]))return!0}if(Y.oneOf){for(let X=0;X<Y.oneOf.length;X++)if(qY(Y.oneOf[X]))return!0}if(Y.allOf){for(let X=0;X<Y.allOf.length;X++)if(qY(Y.allOf[X]))return!0}if(Y.not&&qY(Y.not))return!0;if(Y.type==="object"&&Y.properties){let X=Y.properties;for(let Z of Object.keys(X)){let W=X[Z];if(qY(W))return!0;if(W.type==="array"&&W.items&&qY(W.items))return!0}}if(Y.type==="array"&&Y.items&&qY(Y.items))return!0;return Y[O]==="Ref"&&"$ref"in Y},DY=(Y)=>{if(!Y)return!1;if(Y.$ref&&Y.$defs&&Y.$ref in Y.$defs&&DY(Y.$defs[Y.$ref]))return!0;if(Y.oneOf){for(let X=0;X<Y.oneOf.length;X++)if(DY(Y.oneOf[X]))return!0}if(Y.anyOf){for(let X=0;X<Y.anyOf.length;X++)if(DY(Y.anyOf[X]))return!0}if(Y.allOf){for(let X=0;X<Y.allOf.length;X++)if(DY(Y.allOf[X]))return!0}if(Y.not&&DY(Y.not))return!0;if(Y.type==="object"&&Y.properties){let X=Y.properties;for(let Z of Object.keys(X)){let W=X[Z];if(DY(W))return!0;if(W.type==="array"&&W.items&&DY(W.items))return!0}}if(Y.type==="array"&&Y.items&&DY(Y.items))return!0;return S0 in Y},QW=(Y,X,Z={})=>{let W=Z;if(W.root=!0,!Array.isArray(X))return X.original=Y,r0(Y,X,W);for(let $ of X)$.original=Y,Y=r0(Y,$,W);return Y},r0=(Y,X,Z)=>{if(!Y)return Y;let W=Z.root;if(X.onlyFirst&&Y.type===X.onlyFirst)return X.to(Y)??Y;if(X.untilObjectFound&&!W&&Y.type==="object")return Y;let $=X.from[O];if(Y.oneOf){for(let M=0;M<Y.oneOf.length;M++)Y.oneOf[M]=r0(Y.oneOf[M],X,Z);return Y}if(Y.anyOf){for(let M=0;M<Y.anyOf.length;M++)Y.anyOf[M]=r0(Y.anyOf[M],X,Z);return Y}if(Y.allOf){for(let M=0;M<Y.allOf.length;M++)Y.allOf[M]=r0(Y.allOf[M],X,Z);return Y}if(Y.not)return r0(Y.not,X,Z);let Q=W&&!!X.excludeRoot;if(Y[O]===$){let{anyOf:M,oneOf:z,allOf:U,not:G,properties:D,items:S,...N}=Y,H=X.to(N);if(!H)return Y;let q,F=(w)=>{let h=C(w);if(h.$id)delete h.$id;return h},C=(w)=>{if(D&&w.type==="object"){let n={};for(let[s,f]of Object.entries(D))n[s]=r0(f,X,{...Z,root:!1});return{...N,...w,properties:n}}if(S&&w.type==="array")return{...N,...w,items:r0(S,X,{...Z,root:!1})};let h={...N,...w};if(delete h.required,D&&w.type==="string"&&w.format==="ObjectString"&&w.default==="{}")q=I.ObjectString(D,N),h.properties=D;else if(S&&w.type==="string"&&w.format==="ArrayString"&&w.default==="[]")q=I.ArrayString(S,N),h.items=S;return h};if(Q){if(D){let w={};for(let[h,n]of Object.entries(D))w[h]=r0(n,X,{...Z,root:!1});return{...N,properties:w}}else if(S?.map)return{...N,items:S.map((w)=>r0(w,X,{...Z,root:!1}))};return N}if(H.anyOf)for(let w=0;w<H.anyOf.length;w++)H.anyOf[w]=F(H.anyOf[w]);else if(H.oneOf)for(let w=0;w<H.oneOf.length;w++)H.oneOf[w]=F(H.oneOf[w]);else if(H.allOf)for(let w=0;w<H.allOf.length;w++)H.allOf[w]=F(H.allOf[w]);else if(H.not)H.not=F(H.not);if(q)H[S0]=q[S0];if(H.anyOf||H.oneOf||H.allOf||H.not)return H;if(D){let w={};for(let[h,n]of Object.entries(D))w[h]=r0(n,X,{...Z,root:!1});return{...N,...H,properties:w}}else if(S?.map)return{...N,...H,items:S.map((w)=>r0(w,X,{...Z,root:!1}))};return{...N,...H}}let J=Y?.properties;if(J&&W&&X.rootOnly!==!0)for(let[M,z]of Object.entries(J))switch(z[O]){case $:let{anyOf:U,oneOf:G,allOf:D,not:S,type:N,...H}=z,q=X.to(H);if(!q)return Y;if(q.anyOf)for(let F=0;F<q.anyOf.length;F++)q.anyOf[F]={...H,...q.anyOf[F]};else if(q.oneOf)for(let F=0;F<q.oneOf.length;F++)q.oneOf[F]={...H,...q.oneOf[F]};else if(q.allOf)for(let F=0;F<q.allOf.length;F++)q.allOf[F]={...H,...q.allOf[F]};else if(q.not)q.not={...H,...q.not};J[M]={...H,...r0(H,X,{...Z,root:!1})};break;case"Object":case"Union":J[M]=r0(z,X,{...Z,root:!1});break;default:if(Array.isArray(z.items))for(let F=0;F<z.items.length;F++)z.items[F]=r0(z.items[F],X,{...Z,root:!1});else if(z.anyOf||z.oneOf||z.allOf||z.not)J[M]=r0(z,X,{...Z,root:!1});else if(z.type==="array")z.items=r0(z.items,X,{...Z,root:!1});break}if(Y.type==="array"&&Y.items)if(Array.isArray(Y.items))Y.items=Y.items.map((M)=>r0(M,X,{...Z,root:!1}));else Y.items=r0(Y.items,X,{...Z,root:!1});return Y},J1=(Y)=>(X)=>{if(typeof X==="object")try{return O0.Clean(Y,X)}catch{}return X},e0=(Y,{models:X={},dynamic:Z=!1,modules:W,normalize:$=!1,additionalProperties:Q=!1,forceAdditionalProperties:J=!1,coerce:M=!1,additionalCoerce:z=[],validators:U,sanitize:G}={})=>{if(U=U?.filter((C)=>C),!Y){if(!U?.length)return;Y=U[0],U=U.slice(1)}let D=void 0,S=(C)=>{if(M)return QW(C,[{from:I.Number(),to:(w)=>I.Numeric(w),untilObjectFound:!0},{from:I.Boolean(),to:(w)=>I.BooleanString(w),untilObjectFound:!0},...Array.isArray(z)?z:[z]]);return QW(C,z)},N=(C)=>{if(C&&typeof C!=="string"&&"~standard"in C)return C;if(!C)return;let w;if(typeof C!=="string")w=C;else if(w=W&&C in W.$defs?W.Import(C):X[C],!w)return;if(O in w){if(w[O]==="Import"){if(!qY(w.$defs[w.$ref])){if(w=w.$defs[w.$ref],M||z)w=S(w)}}else if(qY(w)){let h=GZ();w=I.Module({...W?.$defs,[h]:w}).Import(h)}else if(M||z)w=S(w)}return w},H=N(Y),q=U;if("~standard"in H||U?.length&&U.some((C)=>C&&typeof C!=="string"&&("~standard"in C))){let C=(f)=>{let T;if($===!0||$==="exactMirror")try{T=$W(f,{TypeCompiler:HY,sanitize:G?.(),modules:W})}catch{console.warn("Failed to create exactMirror. Please report the following code to https://github.com/elysiajs/elysia/issues"),console.warn(f),T=J1(f)}let y=e0(f,{models:X,modules:W,dynamic:Z,normalize:$,additionalProperties:!0,forceAdditionalProperties:!0,coerce:M,additionalCoerce:z});return y.Decode=T,(R)=>{if(y.Check(R))return{value:y.Decode(R)};else return{issues:[...y.Errors(R)]}}},w=H["~standard"]?H["~standard"].validate:C(H),h=[];if(U?.length)for(let f of U){if(!f)continue;if(typeof f==="string")continue;if(f?.["~standard"]){h.push(f["~standard"]);continue}if(O in f){h.push(C(f));continue}}async function n(f){let T=w(f);if(T instanceof Promise)T=await T;if(T.issues)return T;let y=[];if(T&&typeof T==="object")y.push(T.value);for(let E=0;E<h.length;E++){if(T=h[E].validate(f),T instanceof Promise)T=await T;if(T.issues)return T;if(T&&typeof T==="object")y.push(T.value)}if(!y.length)return{value:T};if(y.length===1)return{value:y[0]};if(y.length===2)return{value:W8(y[0],y[1])};let R=W8(y[0],y[1]);for(let E=2;E<y.length;E++)R=W8(R,y[E]);return{value:R}}let s={provider:"standard",schema:H,references:"",checkFunc:()=>{},code:"",Check:n,Errors:(f)=>n(f)?.then?.((T)=>T?.issues),Code:()=>"",Decode:n,Encode:(f)=>f,hasAdditionalProperties:!1,hasDefault:!1,isOptional:!1,hasTransform:!1,hasRef:!1};return s.parse=(f)=>{try{return s.Decode(s.Clean?.(f)??f)}catch(T){throw[...s.Errors(f)].map(M8)}},s.safeParse=(f)=>{try{return{success:!0,data:s.Decode(s.Clean?.(f)??f),error:null}}catch(T){let y=[...F.Errors(f)].map(M8);return{success:!1,data:null,error:y[0]?.summary,errors:y}}},s}else if(U?.length){let C=!1,w=q,{schema:h,notObjects:n}=yH([H,...w.map(N)]);if(n){if(H=I.Intersect([...h?[h]:[],...n.map((s)=>{let f=N(s);if(f.type==="object"&&"additionalProperties"in f){if(!C&&f.additionalProperties===!1)C=!0;delete f.additionalProperties}return f})]),H.type==="object"&&C)H.additionalProperties=!1}}else if(H.type==="object"&&(("additionalProperties"in H)===!1||J))H.additionalProperties=Q;else H=QW(H,{onlyFirst:"object",from:I.Object({}),to({properties:C,...w}){if(!C)return;if("additionalProperties"in H)return;return I.Object(C,{...w,additionalProperties:!1})}});if(Z)if(O in H){let C={provider:"typebox",schema:H,references:"",checkFunc:()=>{},code:"",Check:(w)=>O0.Check(H,w),Errors:(w)=>O0.Errors(H,w),Code:()=>"",Clean:J1(H),Decode:(w)=>O0.Decode(H,w),Encode:(w)=>O0.Encode(H,w),get hasAdditionalProperties(){if("~hasAdditionalProperties"in this)return this["~hasAdditionalProperties"];return this["~hasAdditionalProperties"]=FY(H)},get hasDefault(){if("~hasDefault"in this)return this["~hasDefault"];return this["~hasDefault"]=t1("default",H)},get isOptional(){if("~isOptional"in this)return this["~isOptional"];return this["~isOptional"]=SW(H)},get hasTransform(){if("~hasTransform"in this)return this["~hasTransform"];return this["~hasTransform"]=DY(H)},"~hasRef":D,get hasRef(){if("~hasRef"in this)return this["~hasRef"];return this["~hasRef"]=DY(H)}};if(H.config){if(C.config=H.config,C?.schema?.config)delete C.schema.config}if($&&H.additionalProperties===!1)if($===!0||$==="exactMirror")try{C.Clean=$W(H,{TypeCompiler:HY,sanitize:G?.(),modules:W})}catch{console.warn("Failed to create exactMirror. Please report the following code to https://github.com/elysiajs/elysia/issues"),console.warn(H),C.Clean=J1(H)}else C.Clean=J1(H);return C.parse=(w)=>{try{return C.Decode(C.Clean?.(w)??w)}catch(h){throw[...C.Errors(w)].map(M8)}},C.safeParse=(w)=>{try{return{success:!0,data:C.Decode(C.Clean?.(w)??w),error:null}}catch(h){let n=[...F.Errors(w)].map(M8);return{success:!1,data:null,error:n[0]?.summary,errors:n}}},C}else{let C={provider:"standard",schema:H,references:"",checkFunc:()=>{},code:"",Check:(w)=>H["~standard"].validate(w),Errors(w){let h=H["~standard"].validate(w);if(h instanceof Promise)throw Error("Async validation is not supported in non-dynamic schema");return h.issues},Code:()=>"",Decode(w){let h=H["~standard"].validate(w);if(h instanceof Promise)throw Error("Async validation is not supported in non-dynamic schema");return h},Encode:(w)=>w,hasAdditionalProperties:!1,hasDefault:!1,isOptional:!1,hasTransform:!1,hasRef:!1};return C.parse=(w)=>{try{return C.Decode(C.Clean?.(w)??w)}catch(h){throw[...C.Errors(w)].map(M8)}},C.safeParse=(w)=>{try{return{success:!0,data:C.Decode(C.Clean?.(w)??w),error:null}}catch(h){let n=[...F.Errors(w)].map(M8);return{success:!1,data:null,error:n[0]?.summary,errors:n}}},C}let F;if(O in H){if(F=HY.Compile(H,Object.values(X).filter((C)=>(O in C))),F.provider="typebox",H.config){if(F.config=H.config,F?.schema?.config)delete F.schema.config}if($===!0||$==="exactMirror")try{F.Clean=$W(H,{TypeCompiler:HY,sanitize:G?.(),modules:W})}catch(C){console.warn("Failed to create exactMirror. Please report the following code to https://github.com/elysiajs/elysia/issues"),console.dir(H,{depth:null}),F.Clean=J1(H)}else if($==="typebox")F.Clean=J1(H)}else F={provider:"standard",schema:H,references:"",checkFunc(C){let w=H["~standard"].validate(C);if(w instanceof Promise)throw Error("Async validation is not supported in non-dynamic schema");return w},code:"",Check:(C)=>H["~standard"].validate(C),Errors(C){let w=H["~standard"].validate(C);if(w instanceof Promise)throw Error("Async validation is not supported in non-dynamic schema");return w.issues},Code:()=>"",Decode(C){let w=H["~standard"].validate(C);if(w instanceof Promise)throw Error("Async validation is not supported in non-dynamic schema");return w},Encode:(C)=>C,hasAdditionalProperties:!1,hasDefault:!1,isOptional:!1,hasTransform:!1,hasRef:!1};if(F.parse=(C)=>{try{return F.Decode(F.Clean?.(C)??C)}catch(w){throw[...F.Errors(C)].map(M8)}},F.safeParse=(C)=>{try{return{success:!0,data:F.Decode(F.Clean?.(C)??C),error:null}}catch(w){let h=[...F.Errors(C)].map(M8);return{success:!1,data:null,error:h[0]?.summary,errors:h}}},O in H)Object.assign(F,{get hasAdditionalProperties(){if("~hasAdditionalProperties"in this)return this["~hasAdditionalProperties"];return this["~hasAdditionalProperties"]=FY(F)},get hasDefault(){if("~hasDefault"in this)return this["~hasDefault"];return this["~hasDefault"]=t1("default",F)},get isOptional(){if("~isOptional"in this)return this["~isOptional"];return this["~isOptional"]=SW(F)},get hasTransform(){if("~hasTransform"in this)return this["~hasTransform"];return this["~hasTransform"]=DY(H)},get hasRef(){if("~hasRef"in this)return this["~hasRef"];return this["~hasRef"]=qY(H)},"~hasRef":D});return F},fH=(Y)=>Y[O]==="Union"||!Y.schema&&!!Y.anyOf,yH=(Y)=>{if(Y.length===0)return{schema:void 0,notObjects:[]};if(Y.length===1)return Y[0].type==="object"?{schema:Y[0],notObjects:[]}:{schema:void 0,notObjects:Y};let X,Z=[],W=!1,$=!1;for(let Q of Y){if(Q.type!=="object"){Z.push(Q);continue}if("additionalProperties"in Q){if(Q.additionalProperties===!0)W=!0;else if(Q.additionalProperties===!1)$=!0}if(!X){X=Q;continue}X={...X,...Q,properties:{...X.properties,...Q.properties},required:[...X?.required??[],...Q.required]}}if(X){if(X.required)X.required=[...new Set(X.required)];if($)X.additionalProperties=!1;else if(W)X.additionalProperties=!0}return{schema:X,notObjects:Z}},YQ=(Y,{models:X={},modules:Z,dynamic:W=!1,normalize:$=!1,additionalProperties:Q=!1,validators:J=[],sanitize:M})=>{if(J=J.filter((G)=>G),!Y){if(!J?.length)return;Y=J[0],J=J.slice(1)}let z;if(typeof Y!=="string")z=Y;else if(z=Z&&Y in Z.$defs?Z.Import(Y):X[Y],!z)return;if(!z)return;if(O in z||"~standard"in z)return{200:e0(z,{modules:Z,models:X,additionalProperties:Q,dynamic:W,normalize:$,coerce:!1,additionalCoerce:[],validators:J.map((G)=>G[200]),sanitize:M})};let U={};return Object.keys(z).forEach((G)=>{if(isNaN(+G))return;let D=z[+G];if(typeof D==="string"){if(D in X){let S=X[D];if(!S)return;U[+G]=O in S||"~standard"in S?e0(S,{modules:Z,models:X,additionalProperties:Q,dynamic:W,normalize:$,coerce:!1,additionalCoerce:[],validators:J.map((N)=>N[+G]),sanitize:M}):S}return}U[+G]=O in D||"~standard"in D?e0(D,{modules:Z,models:X,additionalProperties:Q,dynamic:W,normalize:$,coerce:!1,additionalCoerce:[],validators:J.map((S)=>S[+G]),sanitize:M}):D}),U},JW,i1=()=>{if(!JW)JW=[{from:I.Object({}),to:()=>I.ObjectString({}),excludeRoot:!0},{from:I.Array(I.Any()),to:()=>I.ArrayString(I.Any())}];return JW},MW,XQ=()=>{if(!MW)MW=[{from:I.Object({}),to:()=>I.ObjectString({}),excludeRoot:!0},{from:I.Array(I.Any()),to:()=>I.ArrayQuery(I.Any())}];return MW},zW,PW=()=>{if(!zW)zW=[{from:I.Number(),to:(Y)=>I.Numeric(Y),rootOnly:!0},{from:I.Boolean(),to:(Y)=>I.BooleanString(Y),rootOnly:!0}];return zW},dH=({validator:Y,modules:X,defaultConfig:Z={},config:W,dynamic:$,normalize:Q=!1,models:J,validators:M,sanitize:z})=>{let U=Y?.provider?Y:e0(Y,{modules:X,dynamic:$,models:J,normalize:Q,additionalProperties:!0,coerce:!0,additionalCoerce:i1(),validators:M,sanitize:z});if(U)U.config=DW(U.config,W);else U=e0(I.Cookie(I.Any()),{modules:X,dynamic:$,models:J,additionalProperties:!0,validators:M,sanitize:z}),U.config=Z;return U},M1=(Y)=>Y&&Y[O]==="Import"&&Y.$defs[Y.$ref][O]==="Object"?Y.$defs[Y.$ref]:Y,f0=(Y,X)=>X?Y:"",vH=["json","text","urlencoded","arrayBuffer","formdata","application/json","text/plain","application/x-www-form-urlencoded","application/octet-stream","multipart/form-data"],X6=({context:Y="c",trace:X=[],addFn:Z})=>{if(!X.length)return()=>{return{resolveChild(){return()=>{}},resolve(){}}};for(let W=0;W<X.length;W++)Z(`let report${W},reportChild${W},reportErr${W},reportErrChild${W};let trace${W}=${Y}[ELYSIA_TRACE]?.[${W}]??trace[${W}](${Y});
|
|
40
|
-
`);return(
|
|
41
|
-
`)
|
|
42
|
-
`)
|
|
43
|
-
`)
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
`;
|
|
48
|
-
|
|
49
|
-
${
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
if(vare${
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
c.set.status=${z}
|
|
85
|
+
`,code:findDynamicRoute}}},composeError:{mapResponseContext:"",validationError:"set.headers['content-type']='application/json';return mapResponse(error.message,set)",unknownError:"set.status=error.status??set.status??500;return mapResponse(error.message,set)"},listen(){return()=>{throw Error("WebStandard does not support listen, you might want to export default Elysia.fetch instead")}}};var mapResponse2=(response,set,request)=>{if(isNotEmpty(set.headers)||set.status!==200||set.cookie)switch(handleSet(set),response?.constructor?.name){case"String":return new Response(response,set);case"Array":case"Object":return Response.json(response,set);case"ElysiaFile":return handleFile(response.value,set,request);case"File":return handleFile(response,set,request);case"Blob":return handleFile(response,set,request);case"ElysiaCustomStatusResponse":return set.status=response.code,mapResponse2(response.response,set,request);case void 0:return response?Response.json(response,set):new Response("",set);case"Response":return handleResponse2(response,set,request);case"Error":return errorToResponse2(response,set);case"Promise":return response.then((x)=>mapResponse2(x,set,request));case"Function":return mapResponse2(response(),set,request);case"Number":case"Boolean":return new Response(response.toString(),set);case"Cookie":return response instanceof Cookie?new Response(response.value,set):new Response(response?.toString(),set);case"FormData":return new Response(response,set);default:if(response instanceof Response)return handleResponse2(response,set,request);if(response instanceof Promise)return response.then((x)=>mapResponse2(x,set));if(response instanceof Error)return errorToResponse2(response,set);if(response instanceof ElysiaCustomStatusResponse)return set.status=response.code,mapResponse2(response.response,set,request);if(typeof response?.next=="function"||response instanceof ReadableStream)return handleStream2(response,set,request);if(typeof response?.then=="function")return response.then((x)=>mapResponse2(x,set));if(Array.isArray(response))return Response.json(response);if(typeof response?.toResponse=="function")return mapResponse2(response.toResponse(),set);if("charCodeAt"in response){let code=response.charCodeAt(0);if(code===123||code===91)return Response.json(response,set)}return new Response(response,set)}return typeof response?.next=="function"||response instanceof ReadableStream?handleStream2(response,set,request):mapCompactResponse2(response,request)},mapEarlyResponse2=(response,set,request)=>{if(response!=null)if(isNotEmpty(set.headers)||set.status!==200||set.cookie)switch(handleSet(set),response?.constructor?.name){case"String":return new Response(response,set);case"Array":case"Object":return Response.json(response,set);case"ElysiaFile":return handleFile(response.value,set,request);case"File":return handleFile(response,set,request);case"Blob":return handleFile(response,set,request);case"ElysiaCustomStatusResponse":return set.status=response.code,mapEarlyResponse2(response.response,set,request);case void 0:return response?Response.json(response,set):void 0;case"Response":return handleResponse2(response,set,request);case"Promise":return response.then((x)=>mapEarlyResponse2(x,set));case"Error":return errorToResponse2(response,set);case"Function":return mapEarlyResponse2(response(),set);case"Number":case"Boolean":return new Response(response.toString(),set);case"FormData":return new Response(response);case"Cookie":return response instanceof Cookie?new Response(response.value,set):new Response(response?.toString(),set);default:if(response instanceof Response)return handleResponse2(response,set,request);if(response instanceof Promise)return response.then((x)=>mapEarlyResponse2(x,set));if(response instanceof Error)return errorToResponse2(response,set);if(response instanceof ElysiaCustomStatusResponse)return set.status=response.code,mapEarlyResponse2(response.response,set,request);if(typeof response?.next=="function"||response instanceof ReadableStream)return handleStream2(response,set,request);if(typeof response?.then=="function")return response.then((x)=>mapEarlyResponse2(x,set));if(typeof response?.toResponse=="function")return mapEarlyResponse2(response.toResponse(),set);if(Array.isArray(response))return Response.json(response);if("charCodeAt"in response){let code=response.charCodeAt(0);if(code===123||code===91)return Response.json(response,set)}return new Response(response,set)}else switch(response?.constructor?.name){case"String":return new Response(response);case"Array":case"Object":return Response.json(response,set);case"ElysiaFile":return handleFile(response.value,set,request);case"File":return handleFile(response,set,request);case"Blob":return handleFile(response,set,request);case"ElysiaCustomStatusResponse":return set.status=response.code,mapEarlyResponse2(response.response,set,request);case void 0:return response?Response.json(response):new Response("");case"Response":return response;case"Promise":return response.then((x)=>{let r=mapEarlyResponse2(x,set);if(r!==void 0)return r});case"Error":return errorToResponse2(response,set);case"Function":return mapCompactResponse2(response(),request);case"Number":case"Boolean":return new Response(response.toString());case"Cookie":return response instanceof Cookie?new Response(response.value,set):new Response(response?.toString(),set);case"FormData":return new Response(response);default:if(response instanceof Response)return response;if(response instanceof Promise)return response.then((x)=>mapEarlyResponse2(x,set));if(response instanceof Error)return errorToResponse2(response,set);if(response instanceof ElysiaCustomStatusResponse)return set.status=response.code,mapEarlyResponse2(response.response,set,request);if(typeof response?.next=="function"||response instanceof ReadableStream)return handleStream2(response,set,request);if(typeof response?.then=="function")return response.then((x)=>mapEarlyResponse2(x,set));if(typeof response?.toResponse=="function")return mapEarlyResponse2(response.toResponse(),set);if(Array.isArray(response))return Response.json(response);if("charCodeAt"in response){let code=response.charCodeAt(0);if(code===123||code===91)return Response.json(response,set)}return new Response(response)}},mapCompactResponse2=(response,request)=>{switch(response?.constructor?.name){case"String":return new Response(response);case"Object":case"Array":return Response.json(response);case"ElysiaFile":return handleFile(response.value,void 0,request);case"File":return handleFile(response,void 0,request);case"Blob":return handleFile(response,void 0,request);case"ElysiaCustomStatusResponse":return mapResponse2(response.response,{status:response.code,headers:{}});case void 0:return response?Response.json(response):new Response("");case"Response":return response;case"Error":return errorToResponse2(response);case"Promise":return response.then((x)=>mapCompactResponse2(x,request));case"Function":return mapCompactResponse2(response(),request);case"Number":case"Boolean":return new Response(response.toString());case"FormData":return new Response(response);default:if(response instanceof Response)return response;if(response instanceof Promise)return response.then((x)=>mapCompactResponse2(x,request));if(response instanceof Error)return errorToResponse2(response);if(response instanceof ElysiaCustomStatusResponse)return mapResponse2(response.response,{status:response.code,headers:{}});if(typeof response?.next=="function"||response instanceof ReadableStream)return handleStream2(response,void 0,request);if(typeof response?.then=="function")return response.then((x)=>mapCompactResponse2(x,request));if(typeof response?.toResponse=="function")return mapCompactResponse2(response.toResponse());if(Array.isArray(response))return Response.json(response);if("charCodeAt"in response){let code=response.charCodeAt(0);if(code===123||code===91)return Response.json(response)}return new Response(response)}},errorToResponse2=(error,set)=>{if(typeof error?.toResponse=="function"){let raw=error.toResponse(),targetSet=set??{headers:{},status:200,redirect:""},apply=(resolved)=>(resolved instanceof Response&&(targetSet.status=resolved.status),mapResponse2(resolved,targetSet));return typeof raw?.then=="function"?raw.then(apply):apply(raw)}return Response.json({name:error?.name,message:error?.message,cause:error?.cause},{status:set?.status!==200?set?.status??500:500,headers:set?.headers})},createStaticHandler2=(handle,hooks,setHeaders={})=>{if(typeof handle=="function")return;let response=mapResponse2(handle,{headers:setHeaders});if(!hooks.parse?.length&&!hooks.transform?.length&&!hooks.beforeHandle?.length&&!hooks.afterHandle?.length)return()=>response.clone()},handleResponse2=createResponseHandler({mapResponse:mapResponse2,mapCompactResponse:mapCompactResponse2}),handleStream2=createStreamHandler({mapResponse:mapResponse2,mapCompactResponse:mapCompactResponse2});var import_fast_decode_uri_component3=__toESM(require_fast_decode_uri_component(),1);var import_fast_decode_uri_component2=__toESM(require_fast_decode_uri_component(),1),KEY_HAS_PLUS=1,KEY_NEEDS_DECODE=2,VALUE_HAS_PLUS=4,VALUE_NEEDS_DECODE=8;function parseQueryFromURL(input,startIndex=0,array,object){let result=Object.create(null),flags=0,inputLength=input.length,startingIndex=startIndex-1,equalityIndex=startingIndex;for(let i=0;i<inputLength;i++)switch(input.charCodeAt(i)){case 38:processKeyValuePair(input,i),startingIndex=i,equalityIndex=i,flags=0;break;case 61:equalityIndex<=startingIndex?equalityIndex=i:flags|=VALUE_NEEDS_DECODE;break;case 43:equalityIndex>startingIndex?flags|=VALUE_HAS_PLUS:flags|=KEY_HAS_PLUS;break;case 37:equalityIndex>startingIndex?flags|=VALUE_NEEDS_DECODE:flags|=KEY_NEEDS_DECODE;break}return startingIndex<inputLength&&processKeyValuePair(input,inputLength),result;function processKeyValuePair(input2,endIndex){let hasBothKeyValuePair=equalityIndex>startingIndex,effectiveEqualityIndex=hasBothKeyValuePair?equalityIndex:endIndex,keySlice=input2.slice(startingIndex+1,effectiveEqualityIndex);if(!hasBothKeyValuePair&&keySlice.length===0)return;let finalKey=keySlice;flags&KEY_HAS_PLUS&&(finalKey=finalKey.replace(/\+/g," ")),flags&KEY_NEEDS_DECODE&&(finalKey=import_fast_decode_uri_component2.default(finalKey)||finalKey);let finalValue="";if(hasBothKeyValuePair){let valueSlice=input2.slice(equalityIndex+1,endIndex);flags&VALUE_HAS_PLUS&&(valueSlice=valueSlice.replace(/\+/g," ")),flags&VALUE_NEEDS_DECODE&&(valueSlice=import_fast_decode_uri_component2.default(valueSlice)||valueSlice),finalValue=valueSlice}let currentValue=result[finalKey];array&&array?.[finalKey]?finalValue.charCodeAt(0)===91?(object&&object?.[finalKey]?finalValue=JSON.parse(finalValue):finalValue=finalValue.slice(1,-1).split(","),currentValue===void 0?result[finalKey]=finalValue:Array.isArray(currentValue)?currentValue.push(...finalValue):(result[finalKey]=finalValue,result[finalKey].unshift(currentValue))):currentValue===void 0?result[finalKey]=finalValue:Array.isArray(currentValue)?currentValue.push(finalValue):result[finalKey]=[currentValue,finalValue]:result[finalKey]=finalValue}}function parseQueryStandardSchema(input,startIndex=0){let result=Object.create(null),flags=0,inputLength=input.length,startingIndex=startIndex-1,equalityIndex=startingIndex;for(let i=0;i<inputLength;i++)switch(input.charCodeAt(i)){case 38:processKeyValuePair(input,i),startingIndex=i,equalityIndex=i,flags=0;break;case 61:equalityIndex<=startingIndex?equalityIndex=i:flags|=VALUE_NEEDS_DECODE;break;case 43:equalityIndex>startingIndex?flags|=VALUE_HAS_PLUS:flags|=KEY_HAS_PLUS;break;case 37:equalityIndex>startingIndex?flags|=VALUE_NEEDS_DECODE:flags|=KEY_NEEDS_DECODE;break}return startingIndex<inputLength&&processKeyValuePair(input,inputLength),result;function processKeyValuePair(input2,endIndex){let hasBothKeyValuePair=equalityIndex>startingIndex,effectiveEqualityIndex=hasBothKeyValuePair?equalityIndex:endIndex,keySlice=input2.slice(startingIndex+1,effectiveEqualityIndex);if(!hasBothKeyValuePair&&keySlice.length===0)return;let finalKey=keySlice;flags&KEY_HAS_PLUS&&(finalKey=finalKey.replace(/\+/g," ")),flags&KEY_NEEDS_DECODE&&(finalKey=import_fast_decode_uri_component2.default(finalKey)||finalKey);let finalValue="";if(hasBothKeyValuePair){let valueSlice=input2.slice(equalityIndex+1,endIndex);flags&VALUE_HAS_PLUS&&(valueSlice=valueSlice.replace(/\+/g," ")),flags&VALUE_NEEDS_DECODE&&(valueSlice=import_fast_decode_uri_component2.default(valueSlice)||valueSlice),finalValue=valueSlice}let currentValue=result[finalKey];if(finalValue.charCodeAt(0)===91&&finalValue.charCodeAt(finalValue.length-1)===93){try{finalValue=JSON.parse(finalValue)}catch{}currentValue===void 0?result[finalKey]=finalValue:Array.isArray(currentValue)?currentValue.push(finalValue):result[finalKey]=[currentValue,finalValue]}else if(finalValue.charCodeAt(0)===123&&finalValue.charCodeAt(finalValue.length-1)===125){try{finalValue=JSON.parse(finalValue)}catch{}currentValue===void 0?result[finalKey]=finalValue:Array.isArray(currentValue)?currentValue.push(finalValue):result[finalKey]=[currentValue,finalValue]}else finalValue.includes(",")&&(finalValue=finalValue.split(",")),currentValue===void 0?result[finalKey]=finalValue:Array.isArray(currentValue)?currentValue.push(finalValue):result[finalKey]=[currentValue,finalValue]}}function parseQuery(input){let result=Object.create(null),flags=0,inputLength=input.length,startingIndex=-1,equalityIndex=-1;for(let i=0;i<inputLength;i++)switch(input.charCodeAt(i)){case 38:processKeyValuePair(input,i),startingIndex=i,equalityIndex=i,flags=0;break;case 61:equalityIndex<=startingIndex?equalityIndex=i:flags|=VALUE_NEEDS_DECODE;break;case 43:equalityIndex>startingIndex?flags|=VALUE_HAS_PLUS:flags|=KEY_HAS_PLUS;break;case 37:equalityIndex>startingIndex?flags|=VALUE_NEEDS_DECODE:flags|=KEY_NEEDS_DECODE;break}return startingIndex<inputLength&&processKeyValuePair(input,inputLength),result;function processKeyValuePair(input2,endIndex){let hasBothKeyValuePair=equalityIndex>startingIndex,effectiveEqualityIndex=hasBothKeyValuePair?equalityIndex:endIndex,keySlice=input2.slice(startingIndex+1,effectiveEqualityIndex);if(!hasBothKeyValuePair&&keySlice.length===0)return;let finalKey=keySlice;flags&KEY_HAS_PLUS&&(finalKey=finalKey.replace(/\+/g," ")),flags&KEY_NEEDS_DECODE&&(finalKey=import_fast_decode_uri_component2.default(finalKey)||finalKey);let finalValue="";if(hasBothKeyValuePair){let valueSlice=input2.slice(equalityIndex+1,endIndex);flags&VALUE_HAS_PLUS&&(valueSlice=valueSlice.replace(/\+/g," ")),flags&VALUE_NEEDS_DECODE&&(valueSlice=import_fast_decode_uri_component2.default(valueSlice)||valueSlice),finalValue=valueSlice}let currentValue=result[finalKey];currentValue===void 0?result[finalKey]=finalValue:Array.isArray(currentValue)?currentValue.push(finalValue):result[finalKey]=[currentValue,finalValue]}}var ELYSIA_TRACE=Symbol("ElysiaTrace"),createProcess=()=>{let{promise,resolve}=Promise.withResolvers(),{promise:end,resolve:resolveEnd}=Promise.withResolvers(),{promise:error,resolve:resolveError}=Promise.withResolvers(),callbacks=[],callbacksEnd=[];return[(callback)=>(callback&&callbacks.push(callback),promise),(process2)=>{let processes=[],resolvers=[],groupError=null;for(let i=0;i<(process2.total??0);i++){let{promise:promise2,resolve:resolve2}=Promise.withResolvers(),{promise:end2,resolve:resolveEnd2}=Promise.withResolvers(),{promise:error2,resolve:resolveError2}=Promise.withResolvers(),callbacks2=[],callbacksEnd2=[];processes.push((callback)=>(callback&&callbacks2.push(callback),promise2)),resolvers.push((process2)=>{let result2={...process2,end:end2,error:error2,index:i,onStop(callback){return callback&&callbacksEnd2.push(callback),end2}};resolve2(result2);for(let i2=0;i2<callbacks2.length;i2++)callbacks2[i2](result2);return(error3=null)=>{let end3=performance.now();error3&&(groupError=error3);let detail={end:end3,error:error3,get elapsed(){return end3-process2.begin}};for(let i2=0;i2<callbacksEnd2.length;i2++)callbacksEnd2[i2](detail);resolveEnd2(end3),resolveError2(error3)}})}let result={...process2,end,error,onEvent(callback){for(let i=0;i<processes.length;i++)processes[i](callback)},onStop(callback){return callback&&callbacksEnd.push(callback),end}};resolve(result);for(let i=0;i<callbacks.length;i++)callbacks[i](result);return{resolveChild:resolvers,resolve(error2=null){let end2=performance.now();!error2&&groupError&&(error2=groupError);let detail={end:end2,error:error2,get elapsed(){return end2-process2.begin}};for(let i=0;i<callbacksEnd.length;i++)callbacksEnd[i](detail);resolveEnd(end2),resolveError(error2)}}}]},createTracer=(traceListener)=>(context)=>{let[onRequest,resolveRequest]=createProcess(),[onParse,resolveParse]=createProcess(),[onTransform,resolveTransform]=createProcess(),[onBeforeHandle,resolveBeforeHandle]=createProcess(),[onHandle,resolveHandle]=createProcess(),[onAfterHandle,resolveAfterHandle]=createProcess(),[onError,resolveError]=createProcess(),[onMapResponse,resolveMapResponse]=createProcess(),[onAfterResponse,resolveAfterResponse]=createProcess();return traceListener({id:context[ELYSIA_REQUEST_ID],context,set:context.set,onRequest,onParse,onTransform,onBeforeHandle,onHandle,onAfterHandle,onMapResponse,onAfterResponse,onError,time:Date.now(),store:context.store}),{request:resolveRequest,parse:resolveParse,transform:resolveTransform,beforeHandle:resolveBeforeHandle,handle:resolveHandle,afterHandle:resolveAfterHandle,error:resolveError,mapResponse:resolveMapResponse,afterResponse:resolveAfterResponse}};var Kind2=Symbol.for("TypeBox.Kind"),Hint2=Symbol.for("TypeBox.Hint"),isSpecialProperty=(name)=>/(\ |-|\t|\n|\.|\[|\]|\{|\})/.test(name)||!isNaN(+name[0]),joinProperty=(v1,v2,isOptional=!1)=>{if(typeof v2==="number")return`${v1}[${v2}]`;if(isSpecialProperty(v2))return`${v1}${isOptional?"?.":""}["${v2}"]`;return`${v1}${isOptional?"?":""}.${v2}`},encodeProperty=(v)=>isSpecialProperty(v)?`"${v}"`:v,sanitize=(key,sanitize2=0,schema)=>{if(schema.type!=="string"||schema.const||schema.trusted)return key;let hof="";for(let i=sanitize2-1;i>=0;i--)hof+=`d.h${i}(`;return hof+key+")".repeat(sanitize2)},mergeObjectIntersection=(schema)=>{if(!schema.allOf||Kind2 in schema&&(schema[Kind2]!=="Intersect"||schema.type!=="object"))return schema;let{allOf,...newSchema}=schema;if(newSchema.properties={},Kind2 in newSchema)newSchema[Kind2]="Object";for(let type of allOf){if(type.type!=="object")continue;let{properties,required,type:_,[Kind2]:__,...rest}=type;if(required)newSchema.required=newSchema.required?newSchema.required.concat(required):required;Object.assign(newSchema,rest);for(let property in type.properties)newSchema.properties[property]=mergeObjectIntersection(type.properties[property])}return newSchema},handleRecord=(schema,property,instruction)=>{let child=schema.patternProperties["^(.*)$"]??schema.patternProperties[Object.keys(schema.patternProperties)[0]];if(!child)return property;let i=instruction.array;instruction.array++;let v=`(()=>{const ar${i}s=Object.keys(${property}),ar${i}v={};for(let i=0;i<ar${i}s.length;i++){const ar${i}p=${property}[ar${i}s[i]];ar${i}v[ar${i}s[i]]=${mirror(child,`ar${i}p`,instruction)}`,optionals=instruction.optionalsInArray[i+1];if(optionals){for(let oi=0;oi<optionals.length;oi++){let target=`ar${i}v[ar${i}s[i]]${optionals[oi]}`;v+=`;if(${target}===undefined)delete ${target}`}instruction.optionalsInArray[i+1]=[]}return v+=`}return ar${i}v})()`,v},handleTuple=(schema,property,instruction)=>{let i=instruction.array;instruction.array++;let isRoot=property==="v"&&!instruction.unions.length,v="";if(!isRoot)v="(()=>{";v+=`const ar${i}v=[`;for(let i2=0;i2<schema.length;i2++){if(i2!==0)v+=",";v+=mirror(schema[i2],joinProperty(property,i2,instruction.parentIsOptional||instruction.fromUnion),instruction)}if(v+="];",!isRoot)v+=`return ar${i}v})()`;return v};function deepClone(source,weak=new WeakMap){if(source===null||typeof source!=="object"||typeof source==="function")return source;if(weak.has(source))return weak.get(source);if(Array.isArray(source)){let copy=Array(source.length);weak.set(source,copy);for(let i=0;i<source.length;i++)copy[i]=deepClone(source[i],weak);return copy}if(typeof source==="object"){let keys=Object.keys(source).concat(Object.getOwnPropertySymbols(source)),cloned={};for(let key of keys)cloned[key]=deepClone(source[key],weak);return cloned}return source}var handleUnion=(schemas,property,instruction)=>{if(instruction.TypeCompiler===void 0){if(!instruction.typeCompilerWanred)console.warn(Error("[exact-mirror] TypeBox's TypeCompiler is required to use Union")),instruction.typeCompilerWanred=!0;return property}instruction.unionKeys[property]=1;let ui=instruction.unions.length,typeChecks=instruction.unions[ui]=[],v=`(()=>{
|
|
86
|
+
`,unwrapRef=(type)=>{if(!(Kind2 in type)||!type.$ref)return type;if(type[Kind2]==="This")return deepClone(instruction.definitions[type.$ref]);else if(type[Kind2]==="Ref")if(!instruction.modules)console.warn(Error("[exact-mirror] modules is required when using nested cyclic reference"));else return instruction.modules.Import(type.$ref);return type},cleanThenCheck="";for(let i=0;i<schemas.length;i++){let type=unwrapRef(schemas[i]);if(Array.isArray(type.anyOf))for(let i2=0;i2<type.anyOf.length;i2++)type.anyOf[i2]=unwrapRef(type.anyOf[i2]);else if(type.items)if(Array.isArray(type.items))for(let i2=0;i2<type.items.length;i2++)type.items[i2]=unwrapRef(type.items[i2]);else type.items=unwrapRef(type.items);typeChecks.push(TypeCompiler.Compile(type)),v+=`if(d.unions[${ui}][${i}].Check(${property})){return ${mirror(type,property,{...instruction,recursion:instruction.recursion+1,parentIsOptional:!0,fromUnion:!0})}}
|
|
87
|
+
`,cleanThenCheck+=(i?"":"let ")+"tmp="+mirror(type,property,{...instruction,recursion:instruction.recursion+1,parentIsOptional:!0,fromUnion:!0})+`
|
|
88
|
+
if(d.unions[${ui}][${i}].Check(tmp))return tmp
|
|
89
|
+
`}if(cleanThenCheck)v+=cleanThenCheck;return v+=`return ${instruction.removeUnknownUnionType?"undefined":property}`,v+"})()"},mirror=(schema,property,instruction)=>{if(!schema)return"";let isRoot=property==="v"&&!instruction.unions.length;if(Kind2 in schema&&schema[Kind2]==="Import"&&schema.$ref in schema.$defs)return mirror(schema.$defs[schema.$ref],property,{...instruction,definitions:Object.assign(instruction.definitions,schema.$defs)});if(isRoot&&schema.type!=="object"&&schema.type!=="array"&&!schema.anyOf)return`return ${sanitize("v",instruction.sanitize?.length,schema)}`;if(instruction.recursion>=instruction.recursionLimit)return property;let v="";if(schema.$id&&Hint2 in schema)instruction.definitions[schema.$id]=schema;switch(schema.type){case"object":if(schema[Kind2]==="Record"){v=handleRecord(schema,property,instruction);break}if(schema=mergeObjectIntersection(schema),v+="{",schema.additionalProperties)v+=`...${property},`;let keys=Object.keys(schema.properties);for(let i2=0;i2<keys.length;i2++){let key=keys[i2],isOptional=!schema.required||schema.required&&!schema.required.includes(key)||Array.isArray(schema.properties[key].anyOf),name=joinProperty(property,key,instruction.parentIsOptional||instruction.fromUnion);if(isOptional){let index=instruction.array;if(property.startsWith("ar")){let dotIndex=name.indexOf("."),refName;if(dotIndex>=0)refName=name.slice(dotIndex);else refName=name.slice(property.length);if(refName.startsWith("?."))if(refName.charAt(2)==="[")refName=refName.slice(2);else refName=refName.slice(1);let array=instruction.optionalsInArray;if(array[index])array[index].push(refName);else array[index]=[refName]}else instruction.optionals.push(name)}let child=schema.properties[key];if(i2!==0)v+=",";v+=`${encodeProperty(key)}:${isOptional?`${name}===undefined?undefined:`:""}${mirror(child,name,{...instruction,recursion:instruction.recursion+1,parentIsOptional:isOptional})}`}v+="}";break;case"array":if(schema.items.type!=="object"&&schema.items.type!=="array"){if(Array.isArray(schema.items)){v=handleTuple(schema.items,property,instruction);break}else if(isRoot&&!Array.isArray(schema.items.anyOf))return"return v";else if(Kind2 in schema.items&&schema.items.$ref&&(schema.items[Kind2]==="Ref"||schema.items[Kind2]==="This"))v=mirror(deepClone(instruction.definitions[schema.items.$ref]),property,{...instruction,parentIsOptional:!0,recursion:instruction.recursion+1});else if(!Array.isArray(schema.items.anyOf)){v=property;break}}let i=instruction.array;instruction.array++;let reference=property;if(isRoot)v=`const ar${i}v=new Array(${property}.length);`;else reference=`ar${i}s`,v=`((${reference})=>{const ar${i}v=new Array(${reference}.length);`;v+=`for(let i=0;i<${reference}.length;i++){const ar${i}p=${reference}[i];ar${i}v[i]=${mirror(schema.items,`ar${i}p`,instruction)}`;let optionals=instruction.optionalsInArray[i+1];if(optionals){for(let oi=0;oi<optionals.length;oi++){let target=`ar${i}v[i]${optionals[oi]}`;v+=`;if(${target}===undefined)delete ${target}`}instruction.optionalsInArray[i+1]=[]}if(v+="}",!isRoot)v+=`return ar${i}v})(${property})`;break;default:if(schema.$ref&&schema.$ref in instruction.definitions)return mirror(instruction.definitions[schema.$ref],property,instruction);if(Array.isArray(schema.anyOf)){v=handleUnion(schema.anyOf,property,instruction);break}v=sanitize(property,instruction.sanitize?.length,schema);break}if(!isRoot)return v;if(schema.type==="array")v=`${v}const x=ar0v;`;else v=`const x=${v}
|
|
90
|
+
`;for(let i=0;i<instruction.optionals.length;i++){let key=instruction.optionals[i],prop=key.slice(1);if(v+=`if(${key}===undefined`,instruction.unionKeys[key])v+=`||x${prop}===undefined`;let shouldQuestion=prop.charCodeAt(0)!==63&&schema.type!=="array";v+=`)delete x${shouldQuestion?prop.charCodeAt(0)===91?"?.":"?":""}${prop}
|
|
91
|
+
`}return`${v}return x`},createMirror=(schema,{TypeCompiler:TypeCompiler2,modules,definitions,sanitize:sanitize2,recursionLimit=8,removeUnknownUnionType=!1}={})=>{let unions=[];if(typeof sanitize2==="function")sanitize2=[sanitize2];let f=mirror(schema,"v",{optionals:[],optionalsInArray:[],array:0,parentIsOptional:!1,unions,unionKeys:{},TypeCompiler:TypeCompiler2,modules,definitions:definitions??modules?.$defs??{},sanitize:sanitize2,recursion:0,recursionLimit,removeUnknownUnionType});if(!unions.length&&!sanitize2?.length)return Function("v",f);let hof;if(sanitize2?.length){hof={};for(let i=0;i<sanitize2.length;i++)hof[`h${i}`]=sanitize2[i]}return Function("d",`return function mirror(v){${f}}`)({unions,...hof})};var replaceSchemaTypeFromManyOptions=(schema,options)=>{if(Array.isArray(options)){let result=schema;for(let option of options)result=replaceSchemaTypeFromOption(result,option);return result}return replaceSchemaTypeFromOption(schema,options)},replaceSchemaTypeFromOption=(schema,option)=>{if(option.rootOnly&&option.excludeRoot)throw Error("Can't set both rootOnly and excludeRoot");if(option.rootOnly&&option.onlyFirst)throw Error("Can't set both rootOnly and onlyFirst");if(option.rootOnly&&option.untilObjectFound)throw Error("Can't set both rootOnly and untilObjectFound");let walk=({s,isRoot,treeLvl})=>{if(!s)return s;let skipRoot=isRoot&&option.excludeRoot,fromKind=option.from[Kind];if(s.elysiaMeta)return option.from.elysiaMeta===s.elysiaMeta&&!skipRoot?option.to(s):s;let shouldTransform=fromKind&&s[Kind]===fromKind;if(!skipRoot&&option.onlyFirst&&s.type===option.onlyFirst||isRoot&&option.rootOnly)return shouldTransform?option.to(s):s;if(!isRoot&&option.untilObjectFound&&s.type==="object")return s;let newWalkInput={isRoot:!1,treeLvl:treeLvl+1},withTransformedChildren={...s};if(s.oneOf&&(withTransformedChildren.oneOf=s.oneOf.map((x)=>walk({...newWalkInput,s:x}))),s.anyOf&&(withTransformedChildren.anyOf=s.anyOf.map((x)=>walk({...newWalkInput,s:x}))),s.allOf&&(withTransformedChildren.allOf=s.allOf.map((x)=>walk({...newWalkInput,s:x}))),s.not&&(withTransformedChildren.not=walk({...newWalkInput,s:s.not})),s.properties){withTransformedChildren.properties={};for(let[k,v]of Object.entries(s.properties))withTransformedChildren.properties[k]=walk({...newWalkInput,s:v})}if(s.items){let items=s.items;withTransformedChildren.items=Array.isArray(items)?items.map((x)=>walk({...newWalkInput,s:x})):walk({...newWalkInput,s:items})}return!skipRoot&&fromKind&&withTransformedChildren[Kind]===fromKind?option.to(withTransformedChildren):withTransformedChildren};return walk({s:schema,isRoot:!0,treeLvl:0})};var _stringToStructureCoercions,stringToStructureCoercions=()=>(_stringToStructureCoercions||(_stringToStructureCoercions=[{from:t.Object({}),to:(schema)=>t.ObjectString(schema.properties||{},schema),excludeRoot:!0},{from:t.Array(t.Any()),to:(schema)=>t.ArrayString(schema.items||t.Any(),schema)}]),_stringToStructureCoercions),_queryCoercions,queryCoercions=()=>(_queryCoercions||(_queryCoercions=[{from:t.Object({}),to:(schema)=>t.ObjectString(schema.properties??{},schema),excludeRoot:!0},{from:t.Array(t.Any()),to:(schema)=>t.ArrayQuery(schema.items??t.Any(),schema)}]),_queryCoercions),_coercePrimitiveRoot,coercePrimitiveRoot=()=>(_coercePrimitiveRoot||(_coercePrimitiveRoot=[{from:t.Number(),to:(schema)=>t.Numeric(schema),rootOnly:!0},{from:t.Boolean(),to:(schema)=>t.BooleanString(schema),rootOnly:!0}]),_coercePrimitiveRoot),_coerceFormData,coerceFormData=()=>(_coerceFormData||(_coerceFormData=[{from:t.Object({}),to:(schema)=>t.ObjectString(schema.properties??{},schema),onlyFirst:"object",excludeRoot:!0},{from:t.Array(t.Any()),to:(schema)=>t.ArrayString(schema.items??t.Any(),schema),onlyFirst:"array",excludeRoot:!0}]),_coerceFormData);var isOptional=(schema)=>schema?schema?.[Kind]==="Import"&&schema.References?schema.References().some(isOptional):(schema.schema&&(schema=schema.schema),!!schema&&(OptionalKind in schema)):!1,hasAdditionalProperties=(_schema)=>{if(!_schema)return!1;let schema=_schema?.schema??_schema;if(schema[Kind]==="Import"&&_schema.References)return _schema.References().some(hasAdditionalProperties);if(schema.anyOf)return schema.anyOf.some(hasAdditionalProperties);if(schema.someOf)return schema.someOf.some(hasAdditionalProperties);if(schema.allOf)return schema.allOf.some(hasAdditionalProperties);if(schema.not)return schema.not.some(hasAdditionalProperties);if(schema.type==="object"){let properties=schema.properties;if("additionalProperties"in schema)return schema.additionalProperties;if("patternProperties"in schema)return!1;for(let key of Object.keys(properties)){let property=properties[key];if(property.type==="object"){if(hasAdditionalProperties(property))return!0}else if(property.anyOf){for(let i=0;i<property.anyOf.length;i++)if(hasAdditionalProperties(property.anyOf[i]))return!0}return property.additionalProperties}return!1}return schema.type==="array"&&schema.items&&!Array.isArray(schema.items)?hasAdditionalProperties(schema.items):!1},resolveSchema=(schema,models,modules)=>{if(schema)return typeof schema!="string"?schema:modules&&(schema in modules.$defs)?modules.Import(schema):models?.[schema]},hasType=(type,schema)=>{if(!schema)return!1;if(Kind in schema&&schema[Kind]===type)return!0;if(Kind in schema&&schema[Kind]==="Import"&&schema.$defs&&schema.$ref){let ref=schema.$ref.replace("#/$defs/","");if(schema.$defs[ref])return hasType(type,schema.$defs[ref])}if(schema.anyOf)return schema.anyOf.some((s)=>hasType(type,s));if(schema.oneOf)return schema.oneOf.some((s)=>hasType(type,s));if(schema.allOf)return schema.allOf.some((s)=>hasType(type,s));if(schema.type==="array"&&schema.items)return type==="Files"&&Kind in schema.items&&schema.items[Kind]==="File"?!0:hasType(type,schema.items);if(schema.type==="object"){let properties=schema.properties;if(!properties)return!1;for(let key of Object.keys(properties))if(hasType(type,properties[key]))return!0}return!1},hasElysiaMeta=(meta,_schema)=>{if(!_schema)return!1;let schema=_schema?.schema??_schema;if(schema.elysiaMeta===meta)return!0;if(schema[Kind]==="Import"&&_schema.References)return _schema.References().some((schema2)=>hasElysiaMeta(meta,schema2));if(schema.anyOf)return schema.anyOf.some((schema2)=>hasElysiaMeta(meta,schema2));if(schema.someOf)return schema.someOf.some((schema2)=>hasElysiaMeta(meta,schema2));if(schema.allOf)return schema.allOf.some((schema2)=>hasElysiaMeta(meta,schema2));if(schema.not)return schema.not.some((schema2)=>hasElysiaMeta(meta,schema2));if(schema.type==="object"){let properties=schema.properties;if(!properties)return!1;for(let key of Object.keys(properties)){let property=properties[key];if(property.type==="object"){if(hasElysiaMeta(meta,property))return!0}else if(property.anyOf){for(let i=0;i<property.anyOf.length;i++)if(hasElysiaMeta(meta,property.anyOf[i]))return!0}return schema.elysiaMeta===meta}return!1}return schema.type==="array"&&schema.items&&!Array.isArray(schema.items)?hasElysiaMeta(meta,schema.items):!1},hasProperty=(expectedProperty,_schema)=>{if(!_schema)return!1;let schema=_schema.schema??_schema;if(schema[Kind]==="Import"&&_schema.References)return _schema.References().some((schema2)=>hasProperty(expectedProperty,schema2));if(schema.anyOf)return schema.anyOf.some((s)=>hasProperty(expectedProperty,s));if(schema.allOf)return schema.allOf.some((s)=>hasProperty(expectedProperty,s));if(schema.oneOf)return schema.oneOf.some((s)=>hasProperty(expectedProperty,s));if(schema.type==="object"){let properties=schema.properties;if(!properties)return!1;for(let key of Object.keys(properties)){let property=properties[key];if(expectedProperty in property)return!0;if(property.type==="object"){if(hasProperty(expectedProperty,property))return!0}else if(property.anyOf){for(let i=0;i<property.anyOf.length;i++)if(hasProperty(expectedProperty,property.anyOf[i]))return!0}}return!1}return expectedProperty in schema},hasRef=(schema)=>{if(!schema)return!1;if(schema.oneOf){for(let i=0;i<schema.oneOf.length;i++)if(hasRef(schema.oneOf[i]))return!0}if(schema.anyOf){for(let i=0;i<schema.anyOf.length;i++)if(hasRef(schema.anyOf[i]))return!0}if(schema.oneOf){for(let i=0;i<schema.oneOf.length;i++)if(hasRef(schema.oneOf[i]))return!0}if(schema.allOf){for(let i=0;i<schema.allOf.length;i++)if(hasRef(schema.allOf[i]))return!0}if(schema.not&&hasRef(schema.not))return!0;if(schema.type==="object"&&schema.properties){let properties=schema.properties;for(let key of Object.keys(properties)){let property=properties[key];if(hasRef(property)||property.type==="array"&&property.items&&hasRef(property.items))return!0}}return schema.type==="array"&&schema.items&&hasRef(schema.items)?!0:schema[Kind]==="Ref"&&("$ref"in schema)},hasTransform=(schema)=>{if(!schema)return!1;if(schema.$ref&&schema.$defs&&schema.$ref in schema.$defs&&hasTransform(schema.$defs[schema.$ref]))return!0;if(schema.oneOf){for(let i=0;i<schema.oneOf.length;i++)if(hasTransform(schema.oneOf[i]))return!0}if(schema.anyOf){for(let i=0;i<schema.anyOf.length;i++)if(hasTransform(schema.anyOf[i]))return!0}if(schema.allOf){for(let i=0;i<schema.allOf.length;i++)if(hasTransform(schema.allOf[i]))return!0}if(schema.not&&hasTransform(schema.not))return!0;if(schema.type==="object"&&schema.properties){let properties=schema.properties;for(let key of Object.keys(properties)){let property=properties[key];if(hasTransform(property)||property.type==="array"&&property.items&&hasTransform(property.items))return!0}}return schema.type==="array"&&schema.items&&hasTransform(schema.items)?!0:(TransformKind in schema)},createCleaner=(schema)=>(value)=>{if(typeof value=="object")try{return Clean(schema,value)}catch{}return value},getSchemaValidator=(s,{models={},dynamic=!1,modules,normalize=!1,additionalProperties=!1,forceAdditionalProperties=!1,coerce=!1,additionalCoerce=[],validators,sanitize}={})=>{if(validators=validators?.filter((x)=>x),!s){if(!validators?.length)return;s=validators[0],validators=validators.slice(1)}let doesHaveRef,replaceSchema=(schema2)=>coerce?replaceSchemaTypeFromManyOptions(schema2,[{from:t.Number(),to:(options)=>t.Numeric(options),untilObjectFound:!0},{from:t.Boolean(),to:(options)=>t.BooleanString(options),untilObjectFound:!0},...Array.isArray(additionalCoerce)?additionalCoerce:[additionalCoerce]]):replaceSchemaTypeFromManyOptions(schema2,additionalCoerce),mapSchema=(s2)=>{if(s2&&typeof s2!="string"&&"~standard"in s2)return s2;if(!s2)return;let schema2;if(typeof s2!="string")schema2=s2;else if(schema2=modules&&s2 in modules.$defs?modules.Import(s2):models[s2],!schema2)return;let hasAdditionalCoerce=Array.isArray(additionalCoerce)?additionalCoerce.length>0:!!additionalCoerce;if(Kind in schema2)if(schema2[Kind]==="Import")hasRef(schema2.$defs[schema2.$ref])||(schema2=schema2.$defs[schema2.$ref]??models[schema2.$ref],(coerce||hasAdditionalCoerce)&&(schema2=replaceSchema(schema2),("$id"in schema2)&&!schema2.$defs&&(schema2.$id=`${schema2.$id}_coerced_${randomId()}`)));else if(hasRef(schema2)){let id=randomId();schema2=t.Module({...modules?.$defs,[id]:schema2}).Import(id)}else(coerce||hasAdditionalCoerce)&&(schema2=replaceSchema(schema2));return schema2},schema=mapSchema(s),_validators=validators;if("~standard"in schema||validators?.length&&validators.some((x)=>x&&typeof x!="string"&&("~standard"in x))){let Validate2=function(value){let v=mainCheck.validate(value);if(v instanceof Promise)return v.then((resolved)=>{if(resolved.issues)return resolved;let values2=[];return resolved&&typeof resolved=="object"&&values2.push(resolved.value),runCheckers2(value,0,values2,resolved)});if(v.issues)return v;let values=[];return v&&typeof v=="object"&&values.push(v.value),runCheckers2(value,0,values,v)},Check22=function(value){let v=Validate2(value);return v instanceof Promise?!1:!v.issues},runCheckers2=function(value,startIndex,values,lastV){for(let i=startIndex;i<checkers.length;i++){let v=checkers[i].validate(value);if(v instanceof Promise)return v.then((resolved)=>{if(resolved.issues)return resolved;let nextValues=[...values];return resolved&&typeof resolved=="object"&&nextValues.push(resolved.value),runCheckers2(value,i+1,nextValues,resolved)});if(v.issues)return v;v&&typeof v=="object"&&values.push(v.value),lastV=v}return mergeValues2(values,lastV)},mergeValues2=function(values,lastV){if(!values.length)return{value:lastV};if(values.length===1)return{value:values[0]};if(values.length===2)return{value:mergeDeep(values[0],values[1])};let newValue=mergeDeep(values[0],values[1]);for(let i=2;i<values.length;i++)newValue=mergeDeep(newValue,values[i]);return{value:newValue}};var Validate=Validate2,Check2=Check22,runCheckers=runCheckers2,mergeValues=mergeValues2;let typeboxSubValidator=(schema2)=>{let mirror;if(normalize===!0||normalize==="exactMirror")try{mirror=createMirror(schema2,{TypeCompiler,sanitize:sanitize?.(),modules})}catch{console.warn("Failed to create exactMirror. Please report the following code to https://github.com/elysiajs/elysia/issues"),console.warn(schema2),mirror=createCleaner(schema2)}let vali=getSchemaValidator(schema2,{models,modules,dynamic,normalize,additionalProperties:!0,forceAdditionalProperties:!0,coerce,additionalCoerce});return vali.Decode=mirror,{validate:(v)=>vali.Check(v)?{value:mirror?mirror(v):v}:{issues:[...vali.Errors(v)]}}},mainCheck=schema["~standard"]?schema["~standard"]:typeboxSubValidator(schema),checkers=[];if(validators?.length){for(let validator2 of validators)if(validator2&&typeof validator2!="string"){if(validator2?.["~standard"]){checkers.push(validator2["~standard"]);continue}if(Kind in validator2){checkers.push(typeboxSubValidator(validator2));continue}}}let validator={provider:"standard",schema,references:"",checkFunc:()=>{},code:"",Check:Check22,Validate:Validate2,Errors:(value)=>Validate2(value)?.then?.((x)=>x?.issues),Code:()=>"",Decode:Validate2,Encode:(value)=>value,hasAdditionalProperties:!1,hasDefault:!1,isOptional:!1,hasTransform:!1,hasRef:!1};return validator.parse=(v)=>{try{return validator.Decode(validator.Clean?.(v)??v)}catch{throw[...validator.Errors(v)].map(mapValueError)}},validator.safeParse=(v)=>{try{return{success:!0,data:validator.Decode(validator.Clean?.(v)??v),error:null}}catch{let errors=[...compiled.Errors(v)].map(mapValueError);return{success:!1,data:null,error:errors[0]?.summary,errors}}},validator}else if(validators?.length){let hasAdditional=!1,validators2=_validators,{schema:mergedObjectSchema,notObjects}=mergeObjectSchemas([schema,...validators2.map(mapSchema)]);notObjects&&(schema=t.Intersect([...mergedObjectSchema?[mergedObjectSchema]:[],...notObjects.map((x)=>{let schema2=mapSchema(x);return schema2.type==="object"&&"additionalProperties"in schema2&&(!hasAdditional&&schema2.additionalProperties===!1&&(hasAdditional=!0),delete schema2.additionalProperties),schema2})]),schema.type==="object"&&hasAdditional&&(schema.additionalProperties=!1))}else schema.type==="object"&&(!("additionalProperties"in schema)||forceAdditionalProperties)?schema.additionalProperties=additionalProperties:schema=replaceSchemaTypeFromManyOptions(schema,{onlyFirst:"object",from:t.Object({}),to(schema2){return!schema2.properties||"additionalProperties"in schema2?schema2:t.Object(schema2.properties,{...schema2,additionalProperties:!1})}});if(dynamic)if(Kind in schema){let validator={provider:"typebox",schema,references:"",checkFunc:()=>{},code:"",Check:(value)=>Check(schema,value),Errors:(value)=>Errors(schema,value),Code:()=>"",Clean:createCleaner(schema),Decode:(value)=>Decode(schema,value),Encode:(value)=>Encode(schema,value),get hasAdditionalProperties(){return"~hasAdditionalProperties"in this?this["~hasAdditionalProperties"]:this["~hasAdditionalProperties"]=hasAdditionalProperties(schema)},get hasDefault(){return"~hasDefault"in this?this["~hasDefault"]:this["~hasDefault"]=hasProperty("default",schema)},get isOptional(){return"~isOptional"in this?this["~isOptional"]:this["~isOptional"]=isOptional(schema)},get hasTransform(){return"~hasTransform"in this?this["~hasTransform"]:this["~hasTransform"]=hasTransform(schema)},"~hasRef":doesHaveRef,get hasRef(){return"~hasRef"in this?this["~hasRef"]:this["~hasRef"]=hasTransform(schema)}};if(schema.config&&(validator.config=schema.config,validator?.schema?.config&&delete validator.schema.config),normalize&&schema.additionalProperties===!1)if(normalize===!0||normalize==="exactMirror")try{validator.Clean=createMirror(schema,{TypeCompiler,sanitize:sanitize?.(),modules})}catch{console.warn("Failed to create exactMirror. Please report the following code to https://github.com/elysiajs/elysia/issues"),console.warn(schema),validator.Clean=createCleaner(schema)}else validator.Clean=createCleaner(schema);return validator.parse=(v)=>{try{return validator.Decode(validator.Clean?.(v)??v)}catch{throw[...validator.Errors(v)].map(mapValueError)}},validator.safeParse=(v)=>{try{return{success:!0,data:validator.Decode(validator.Clean?.(v)??v),error:null}}catch{let errors=[...compiled.Errors(v)].map(mapValueError);return{success:!1,data:null,error:errors[0]?.summary,errors}}},validator}else{let validator={provider:"standard",schema,references:"",checkFunc:()=>{},code:"",Check:(v)=>schema["~standard"].validate(v),Errors(value){let response=schema["~standard"].validate(value);if(response instanceof Promise)throw Error("Async validation is not supported in non-dynamic schema");return response.issues},Code:()=>"",Decode(value){let response=schema["~standard"].validate(value);if(response instanceof Promise)throw Error("Async validation is not supported in non-dynamic schema");return response},Encode:(value)=>value,hasAdditionalProperties:!1,hasDefault:!1,isOptional:!1,hasTransform:!1,hasRef:!1};return validator.parse=(v)=>{try{return validator.Decode(validator.Clean?.(v)??v)}catch{throw[...validator.Errors(v)].map(mapValueError)}},validator.safeParse=(v)=>{try{return{success:!0,data:validator.Decode(validator.Clean?.(v)??v),error:null}}catch{let errors=[...compiled.Errors(v)].map(mapValueError);return{success:!1,data:null,error:errors[0]?.summary,errors}}},validator}let compiled;if(Kind in schema)if(compiled=TypeCompiler.Compile(schema,Object.values(models).filter((x)=>(Kind in x))),compiled.provider="typebox",schema.config&&(compiled.config=schema.config,compiled?.schema?.config&&delete compiled.schema.config),normalize===!0||normalize==="exactMirror")try{compiled.Clean=createMirror(schema,{TypeCompiler,sanitize:sanitize?.(),modules})}catch{console.warn("Failed to create exactMirror. Please report the following code to https://github.com/elysiajs/elysia/issues"),console.dir(schema,{depth:null}),compiled.Clean=createCleaner(schema)}else normalize==="typebox"&&(compiled.Clean=createCleaner(schema));else compiled={provider:"standard",schema,references:"",checkFunc(value){let response=schema["~standard"].validate(value);if(response instanceof Promise)throw Error("Async validation is not supported in non-dynamic schema");return response},code:"",Check:(v)=>schema["~standard"].validate(v),Errors(value){let response=schema["~standard"].validate(value);if(response instanceof Promise)throw Error("Async validation is not supported in non-dynamic schema");return response.issues},Code:()=>"",Decode(value){let response=schema["~standard"].validate(value);if(response instanceof Promise)throw Error("Async validation is not supported in non-dynamic schema");return response},Encode:(value)=>value,hasAdditionalProperties:!1,hasDefault:!1,isOptional:!1,hasTransform:!1,hasRef:!1};return compiled.parse=(v)=>{try{return compiled.Decode(compiled.Clean?.(v)??v)}catch{throw[...compiled.Errors(v)].map(mapValueError)}},compiled.safeParse=(v)=>{try{return{success:!0,data:compiled.Decode(compiled.Clean?.(v)??v),error:null}}catch{let errors=[...compiled.Errors(v)].map(mapValueError);return{success:!1,data:null,error:errors[0]?.summary,errors}}},Kind in schema&&Object.assign(compiled,{get hasAdditionalProperties(){return"~hasAdditionalProperties"in this?this["~hasAdditionalProperties"]:this["~hasAdditionalProperties"]=hasAdditionalProperties(compiled)},get hasDefault(){return"~hasDefault"in this?this["~hasDefault"]:this["~hasDefault"]=hasProperty("default",compiled)},get isOptional(){return"~isOptional"in this?this["~isOptional"]:this["~isOptional"]=isOptional(compiled)},get hasTransform(){return"~hasTransform"in this?this["~hasTransform"]:this["~hasTransform"]=hasTransform(schema)},get hasRef(){return"~hasRef"in this?this["~hasRef"]:this["~hasRef"]=hasRef(schema)},"~hasRef":doesHaveRef}),compiled},isUnion=(schema)=>schema[Kind]==="Union"||!schema.schema&&!!schema.anyOf,getSchemaProperties=(schema)=>{if(!schema)return;if(schema.properties)return schema.properties;let members=schema.allOf??schema.anyOf??schema.oneOf;if(members){let result={};for(let member of members){let props=getSchemaProperties(member);props&&Object.assign(result,props)}return Object.keys(result).length>0?result:void 0}},mergeObjectSchemas=(schemas)=>{if(schemas.length===0)return{schema:void 0,notObjects:[]};if(schemas.length===1)return schemas[0].type==="object"?{schema:schemas[0],notObjects:[]}:{schema:void 0,notObjects:schemas};let newSchema,notObjects=[],additionalPropertiesIsTrue=!1,additionalPropertiesIsFalse=!1;for(let schema of schemas){if(schema.type!=="object"){notObjects.push(schema);continue}if("additionalProperties"in schema&&(schema.additionalProperties===!0?additionalPropertiesIsTrue=!0:schema.additionalProperties===!1&&(additionalPropertiesIsFalse=!0)),!newSchema){newSchema=schema;continue}newSchema={...newSchema,...schema,properties:{...newSchema.properties,...schema.properties},required:[...newSchema?.required??[],...schema.required??[]]}}return newSchema&&(newSchema.required&&(newSchema.required=[...new Set(newSchema.required)]),additionalPropertiesIsFalse?newSchema.additionalProperties=!1:additionalPropertiesIsTrue&&(newSchema.additionalProperties=!0)),{schema:newSchema,notObjects}},getResponseSchemaValidator=(s,{models={},modules,dynamic=!1,normalize=!1,additionalProperties=!1,validators=[],sanitize})=>{if(validators=validators.filter((x)=>x),!s){if(!validators?.length)return;s=validators[0],validators=validators.slice(1)}let maybeSchemaOrRecord;if(typeof s!="string")maybeSchemaOrRecord=s;else if(maybeSchemaOrRecord=modules&&s in modules.$defs?modules.Import(s):models[s],!maybeSchemaOrRecord)return;if(!maybeSchemaOrRecord)return;if(Kind in maybeSchemaOrRecord||"~standard"in maybeSchemaOrRecord)return{200:getSchemaValidator(maybeSchemaOrRecord,{modules,models,additionalProperties,dynamic,normalize,coerce:!1,additionalCoerce:[],validators:validators.map((x)=>x[200]),sanitize})};let record={};return Object.keys(maybeSchemaOrRecord).forEach((status)=>{if(isNaN(+status))return;let maybeNameOrSchema=maybeSchemaOrRecord[+status];if(typeof maybeNameOrSchema=="string"){if(maybeNameOrSchema in models){let schema=models[maybeNameOrSchema];if(!schema)return;record[+status]=Kind in schema||"~standard"in schema?getSchemaValidator(schema,{modules,models,additionalProperties,dynamic,normalize,coerce:!1,additionalCoerce:[],validators:validators.map((x)=>x[+status]),sanitize}):schema}return}record[+status]=Kind in maybeNameOrSchema||"~standard"in maybeNameOrSchema?getSchemaValidator(maybeNameOrSchema,{modules,models,additionalProperties,dynamic,normalize,coerce:!1,additionalCoerce:[],validators:validators.map((x)=>x[+status]),sanitize}):maybeNameOrSchema}),record},getCookieValidator=({validator,modules,defaultConfig={},config,dynamic,normalize=!1,models,validators,sanitize})=>{let cookieValidator=validator?.provider?validator:getSchemaValidator(validator,{modules,dynamic,models,normalize,additionalProperties:!0,coerce:!0,additionalCoerce:stringToStructureCoercions(),validators,sanitize});return cookieValidator?cookieValidator.config=mergeCookie(cookieValidator.config,config):(cookieValidator=getSchemaValidator(t.Cookie(t.Any()),{modules,dynamic,models,additionalProperties:!0,validators,sanitize}),cookieValidator.config=defaultConfig),cookieValidator},unwrapImportSchema=(schema)=>schema&&schema[Kind]==="Import"&&schema.$defs[schema.$ref][Kind]==="Object"?schema.$defs[schema.$ref]:schema;var allocateIf=(value,condition)=>condition?value:"",defaultParsers=["json","text","urlencoded","arrayBuffer","formdata","application/json","text/plain","application/x-www-form-urlencoded","application/octet-stream","multipart/form-data"],createReport=({context="c",trace=[],addFn})=>{if(!trace.length)return()=>({resolveChild(){return()=>{}},resolve(){}});for(let i=0;i<trace.length;i++)addFn(`let report${i},reportChild${i},reportErr${i},reportErrChild${i};let trace${i}=${context}[ELYSIA_TRACE]?.[${i}]??trace[${i}](${context});
|
|
92
|
+
`);return(event,{name,total=0,alias}={})=>{name||(name="anonymous");let reporter=event==="error"?"reportErr":"report";for(let i=0;i<trace.length;i++)addFn(`${alias?"const ":""}${alias??reporter}${i}=trace${i}.${event}({id,event:'${event}',name:'${name}',begin:performance.now(),total:${total}})
|
|
93
|
+
`),alias&&addFn(`${reporter}${i}=${alias}${i}
|
|
94
|
+
`);return{resolve(){for(let i=0;i<trace.length;i++)addFn(`${alias??reporter}${i}.resolve()
|
|
95
|
+
`)},resolveChild(name2){for(let i=0;i<trace.length;i++)addFn(`${reporter}Child${i}=${reporter}${i}.resolveChild?.shift()?.({id,event:'${event}',name:'${name2}',begin:performance.now()})
|
|
96
|
+
`);return(binding)=>{for(let i=0;i<trace.length;i++)addFn(binding?`if(${binding} instanceof Error){${reporter}Child${i}?.(${binding}) }else{${reporter}Child${i}?.()}`:`${reporter}Child${i}?.()
|
|
97
|
+
`)}}}}},composeCleaner=({schema,name,type,typeAlias=type,normalize,ignoreTryCatch=!1})=>!normalize||!schema.Clean?"":normalize===!0||normalize==="exactMirror"?ignoreTryCatch?`${name}=validator.${typeAlias}.Clean(${name})
|
|
98
|
+
`:`try{${name}=validator.${typeAlias}.Clean(${name})
|
|
99
|
+
}catch{}`:normalize==="typebox"?`${name}=validator.${typeAlias}.Clean(${name})
|
|
100
|
+
`:"",composeValidationFactory=({injectResponse="",normalize=!1,validator,encodeSchema=!1,isStaticResponse=!1,hasSanitize=!1,allowUnsafeValidationDetails=!1})=>({validate:(type,value=`c.${type}`,error)=>`c.set.status=422;throw new ValidationError('${type}',validator.${type},${value},${allowUnsafeValidationDetails}${error?","+error:""})`,response:(name="r")=>{if(isStaticResponse||!validator.response)return"";let code=injectResponse+`
|
|
101
|
+
`;code+=`if(${name} instanceof ElysiaCustomStatusResponse){c.set.status=${name}.code
|
|
102
|
+
${name}=${name}.response}if(${name} instanceof Response === false && typeof ${name}?.next !== 'function' && !(${name} instanceof ReadableStream))switch(c.set.status){`;for(let[status2,value]of Object.entries(validator.response)){if(code+=`
|
|
103
|
+
case ${status2}:
|
|
104
|
+
`,value.provider==="standard"){code+=`let vare${status2}=validator.response[${status2}].Validate(${name})
|
|
105
|
+
if(vare${status2} instanceof Promise)vare${status2}=await vare${status2}
|
|
106
|
+
if(vare${status2}.issues)throw new ValidationError('response',validator.response[${status2}],${name},${allowUnsafeValidationDetails},vare${status2}.issues)
|
|
107
|
+
${name}=vare${status2}.value
|
|
108
|
+
c.set.status=${status2}
|
|
56
109
|
break
|
|
57
|
-
`;continue}let
|
|
58
|
-
|
|
59
|
-
`+
|
|
60
|
-
}catch{throw new ValidationError('response',validator.response[${
|
|
61
|
-
c.set.status=${
|
|
62
|
-
`
|
|
63
|
-
`}return
|
|
64
|
-
throw error.error ?? new ValidationError('${
|
|
65
|
-
return function(){return a.clone()}`)(
|
|
66
|
-
return function(){return a}`)(
|
|
67
|
-
|
|
68
|
-
if(_setCookie){`,
|
|
69
|
-
|
|
70
|
-
`}return
|
|
71
|
-
|
|
72
|
-
c.cookie=await parseCookie(c.set,c.headers.cookie,${
|
|
73
|
-
|
|
74
|
-
c.cookie=await parseCookie(c.set,c.request.headers.get('cookie'),${
|
|
75
|
-
`}if(
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
110
|
+
`;continue}let noValidate=value.schema?.noValidate===!0;if(!noValidate&&value.schema?.$ref&&value.schema?.$defs){let refKey=value.schema.$ref,defKey=typeof refKey=="string"&&refKey.includes("/")?refKey.split("/").pop():refKey;value.schema.$defs[defKey]?.noValidate===!0&&(noValidate=!0)}let appliedCleaner=noValidate||hasSanitize,clean=({ignoreTryCatch=!1}={})=>composeCleaner({name,schema:value,type:"response",typeAlias:`response[${status2}]`,normalize,ignoreTryCatch});appliedCleaner&&(code+=clean());let applyErrorCleaner=!appliedCleaner&&normalize&&!noValidate;encodeSchema&&value.hasTransform&&!noValidate?(code+=`try{${name}=validator.response[${status2}].Encode(${name})
|
|
111
|
+
`,appliedCleaner||(code+=clean({ignoreTryCatch:!0})),code+=`c.set.status=${status2}}catch{`+(applyErrorCleaner?`try{
|
|
112
|
+
`+clean({ignoreTryCatch:!0})+`${name}=validator.response[${status2}].Encode(${name})
|
|
113
|
+
}catch{throw new ValidationError('response',validator.response[${status2}],${name},${allowUnsafeValidationDetails})}`:`throw new ValidationError('response',validator.response[${status2}],${name},${allowUnsafeValidationDetails})`)+"}"):(appliedCleaner||(code+=clean()),noValidate||(code+=`if(validator.response[${status2}].Check(${name})===false)throw new ValidationError('response',validator.response[${status2}],${name},${allowUnsafeValidationDetails})
|
|
114
|
+
c.set.status=${status2}
|
|
115
|
+
`)),code+=`break
|
|
116
|
+
`}return code+"}"}}),isAsyncName=(v)=>(v?.fn??v).constructor.name==="AsyncFunction",matchResponseClone=/=>\s?response\.clone\(/,matchFnReturn=/(?:return|=>)\s?\S+\(|a(?:sync|wait)/,isAsync=(v)=>{let isObject=typeof v=="object";if(isObject&&v.isAsync!==void 0)return v.isAsync;let fn=isObject?v.fn:v;if(fn.constructor.name==="AsyncFunction"||fn.constructor.name==="AsyncGeneratorFunction")return!0;let literal=fn.toString();if(matchResponseClone.test(literal))return isObject&&(v.isAsync=!1),!1;let result=matchFnReturn.test(literal);return isObject&&(v.isAsync=result),result},hasReturn=(v)=>{let isObject=typeof v=="object";if(isObject&&v.hasReturn!==void 0)return v.hasReturn;let fnLiteral=isObject?v.fn.toString():v.toString(),parenthesisEnd=fnLiteral.indexOf(")"),arrowIndex=fnLiteral.indexOf("=>",parenthesisEnd);if(arrowIndex!==-1){let afterArrow=arrowIndex+2,charCode;for(;afterArrow<fnLiteral.length&&((charCode=fnLiteral.charCodeAt(afterArrow))===32||charCode===9||charCode===10||charCode===13);)afterArrow++;if(afterArrow<fnLiteral.length&&fnLiteral.charCodeAt(afterArrow)!==123)return isObject&&(v.hasReturn=!0),!0}let result=fnLiteral.includes("return");return isObject&&(v.hasReturn=result),result},isGenerator=(v)=>{let fn=v?.fn??v;return fn.constructor.name==="AsyncGeneratorFunction"||fn.constructor.name==="GeneratorFunction"},coerceTransformDecodeError=(fnLiteral,type,allowUnsafeValidationDetails=!1,value=`c.${type}`)=>`try{${fnLiteral}}catch(error){if(error.constructor.name === 'TransformDecodeError'){c.set.status=422
|
|
117
|
+
throw error.error ?? new ValidationError('${type}',validator.${type},${value},${allowUnsafeValidationDetails})}}`,setImmediateFn=hasSetImmediate?"setImmediate":"Promise.resolve().then",composeHandler=({app,path,method,hooks,validator,handler,allowMeta=!1,inference})=>{let adapter=app["~adapter"].composeHandler,adapterHandler=app["~adapter"].handler,isHandleFn=typeof handler=="function";if(!isHandleFn){handler=adapterHandler.mapResponse(handler,{headers:app.setHeaders??{}});let isResponse=handler instanceof Response||handler?.constructor?.name==="Response"&&typeof handler?.clone=="function";if(hooks.parse?.length&&hooks.transform?.length&&hooks.beforeHandle?.length&&hooks.afterHandle?.length)return isResponse?Function("a",`"use strict";
|
|
118
|
+
return function(){return a.clone()}`)(handler):Function("a",`"use strict";
|
|
119
|
+
return function(){return a}`)(handler);if(isResponse){let response=handler;handler=()=>response.clone()}}let handle=isHandleFn?"handler(c)":"handler",hasTrace=!!hooks.trace?.length,fnLiteral="";if(inference=sucrose(Object.assign({handler},hooks),inference,app.config.sucrose),adapter.declare){let literal=adapter.declare(inference);literal&&(fnLiteral+=literal)}inference.server&&(fnLiteral+=`Object.defineProperty(c,'server',{get:function(){return getServer()}})
|
|
120
|
+
`),validator.createBody?.(),validator.createQuery?.(),validator.createHeaders?.(),validator.createParams?.(),validator.createCookie?.(),validator.createResponse?.();let hasValidation=!!validator.body||!!validator.headers||!!validator.params||!!validator.query||!!validator.cookie||!!validator.response,hasQuery=inference.query||!!validator.query,requestNoBody=hooks.parse?.length===1&&hooks.parse[0].fn==="none",hasBody=method!==""&&method!=="GET"&&method!=="HEAD"&&(inference.body||!!validator.body||!!hooks.parse?.length)&&!requestNoBody,defaultHeaders=app.setHeaders,hasDefaultHeaders=defaultHeaders&&!!Object.keys(defaultHeaders).length,hasHeaders=inference.headers||!!validator.headers||adapter.preferWebstandardHeaders!==!0&&inference.body,hasCookie=inference.cookie||!!validator.cookie,cookieMeta=validator.cookie?.config?mergeCookie(validator?.cookie?.config,app.config.cookie):app.config.cookie,_encodeCookie="",encodeCookie=()=>{if(_encodeCookie)return _encodeCookie;if(cookieMeta?.sign){if(cookieMeta.secrets==="")throw Error(`cookie secret can't be an empty string at (${method}) ${path}`,{cause:`(${method}) ${path}`});if(!cookieMeta.secrets)throw Error(`cookie secret must be defined (${method}) ${path}`,{cause:`(${method}) ${path}`});let secret=cookieMeta.secrets?typeof cookieMeta.secrets=="string"?cookieMeta.secrets:cookieMeta.secrets[0]:void 0;if(_encodeCookie+=`const _setCookie = c.set.cookie
|
|
121
|
+
if(_setCookie){`,cookieMeta.sign===!0)_encodeCookie+=`for(const [key, cookie] of Object.entries(_setCookie)){c.set.cookie[key].value=await signCookie(cookie.value,${secret?JSON.stringify(secret):"undefined"})}`;else{typeof cookieMeta.sign=="string"&&(cookieMeta.sign=[cookieMeta.sign]);for(let name of cookieMeta.sign)_encodeCookie+=`if(_setCookie[${JSON.stringify(name)}]?.value)c.set.cookie[${JSON.stringify(name)}].value=await signCookie(_setCookie[${JSON.stringify(name)}].value,${secret?JSON.stringify(secret):"undefined"})
|
|
122
|
+
`}_encodeCookie+=`}
|
|
123
|
+
`}return _encodeCookie},normalize=app.config.normalize,encodeSchema=app.config.encodeSchema,allowUnsafeValidationDetails=app.config.allowUnsafeValidationDetails,validation=composeValidationFactory({normalize,validator,encodeSchema,isStaticResponse:handler instanceof Response,hasSanitize:!!app.config.sanitize,allowUnsafeValidationDetails});hasHeaders&&(fnLiteral+=adapter.headers),hasTrace&&(fnLiteral+=`const id=c[ELYSIA_REQUEST_ID]
|
|
124
|
+
`);let report=createReport({trace:hooks.trace,addFn:(word)=>{fnLiteral+=word}});if(fnLiteral+="try{",hasCookie){let get=(name,defaultValue)=>{let value=cookieMeta?.[name]??defaultValue;return value===void 0?"":value?typeof value=="string"?`${name}:${JSON.stringify(value)},`:value instanceof Date?`${name}: new Date(${value.getTime()}),`:`${name}:${value},`:typeof defaultValue=="string"?`${name}:"${defaultValue}",`:`${name}:${defaultValue},`},options=cookieMeta?`{secrets:${cookieMeta.secrets!==void 0&&cookieMeta.secrets!==null?typeof cookieMeta.secrets=="string"?JSON.stringify(cookieMeta.secrets):"["+cookieMeta.secrets.map((x)=>JSON.stringify(x)).join(",")+"]":"undefined"},sign:${cookieMeta.sign===!0?!0:cookieMeta.sign!==void 0?typeof cookieMeta.sign=="string"?JSON.stringify(cookieMeta.sign):"["+cookieMeta.sign.map((x)=>JSON.stringify(x)).join(",")+"]":"undefined"},`+get("domain")+get("expires")+get("httpOnly")+get("maxAge")+get("path","/")+get("priority")+get("sameSite")+get("secure")+"}":"undefined";hasHeaders?fnLiteral+=`
|
|
125
|
+
c.cookie=await parseCookie(c.set,c.headers.cookie,${options})
|
|
126
|
+
`:fnLiteral+=`
|
|
127
|
+
c.cookie=await parseCookie(c.set,c.request.headers.get('cookie'),${options})
|
|
128
|
+
`}if(hasQuery){let arrayProperties={},objectProperties={},hasArrayProperty=!1,hasObjectProperty=!1;if(validator.query?.schema){let schema=unwrapImportSchema(validator.query?.schema),properties=getSchemaProperties(schema);if(properties)for(let[key,value]of Object.entries(properties))hasElysiaMeta("ArrayQuery",value)&&(arrayProperties[key]=!0,hasArrayProperty=!0),hasElysiaMeta("ObjectString",value)&&(objectProperties[key]=!0,hasObjectProperty=!0)}fnLiteral+=`if(c.qi===-1){c.query=Object.create(null)}else{c.query=parseQueryFromURL(c.url,c.qi+1${hasArrayProperty?","+JSON.stringify(arrayProperties):hasObjectProperty?",undefined":""}${hasObjectProperty?","+JSON.stringify(objectProperties):""})}`}let isAsyncHandler=typeof handler=="function"&&isAsync(handler),saveResponse=hasTrace||hooks.afterResponse?.length?"c.response=c.responseValue= ":"",responseKeys=Object.keys(validator.response??{}),hasMultipleResponses=responseKeys.length>1,hasSingle200=responseKeys.length===0||responseKeys.length===1&&responseKeys[0]==="200",maybeAsync=hasCookie||hasBody||isAsyncHandler||!!hooks.parse?.length||!!hooks.afterHandle?.some(isAsync)||!!hooks.beforeHandle?.some(isAsync)||!!hooks.transform?.some(isAsync)||!!hooks.mapResponse?.some(isAsync)||validator.body?.provider==="standard"||validator.headers?.provider==="standard"||validator.query?.provider==="standard"||validator.params?.provider==="standard"||validator.cookie?.provider==="standard"||Object.values(validator.response??{}).find((x)=>x.provider==="standard"),maybeStream=(typeof handler=="function"?isGenerator(handler):!1)||!!hooks.beforeHandle?.some(isGenerator)||!!hooks.afterHandle?.some(isGenerator)||!!hooks.transform?.some(isGenerator),hasSet=inference.cookie||inference.set||hasHeaders||hasTrace||hasMultipleResponses||!hasSingle200||isHandleFn&&hasDefaultHeaders||maybeStream,_afterResponse,afterResponse=(hasStream=!0)=>{if(_afterResponse!==void 0)return _afterResponse;if(!hooks.afterResponse?.length&&!hasTrace)return"";let afterResponse2="";afterResponse2+=`
|
|
129
|
+
${setImmediateFn}(async()=>{if(c.responseValue){if(c.responseValue instanceof ElysiaCustomStatusResponse) c.set.status=c.responseValue.code
|
|
130
|
+
`+(hasStream?`if(typeof afterHandlerStreamListener!=='undefined')for await(const v of afterHandlerStreamListener){}
|
|
131
|
+
`:"")+`}
|
|
132
|
+
`;let reporter=createReport({trace:hooks.trace,addFn:(word)=>{afterResponse2+=word}})("afterResponse",{total:hooks.afterResponse?.length});if(hooks.afterResponse?.length&&hooks.afterResponse)for(let i=0;i<hooks.afterResponse.length;i++){let endUnit=reporter.resolveChild(hooks.afterResponse[i].fn.name),prefix=isAsync(hooks.afterResponse[i])?"await ":"";afterResponse2+=`
|
|
133
|
+
${prefix}e.afterResponse[${i}](c)
|
|
134
|
+
`,endUnit()}return reporter.resolve(),afterResponse2+=`})
|
|
135
|
+
`,_afterResponse=afterResponse2},mapResponse=(r="r")=>{let after=afterResponse(),response=`${maybeStream&&maybeAsync?"await ":""}${hasSet?"mapResponse":"mapCompactResponse"}(${saveResponse}${r}${hasSet?",c.set":""}${mapResponseContext})
|
|
136
|
+
`;return after?`const _res=${response}`+after+"return _res":`return ${response}`},mapResponseContext=adapter.mapResponseContext?`,${adapter.mapResponseContext}`:"";(hasTrace||inference.route)&&(fnLiteral+=`c.route=\`${path}\`
|
|
137
|
+
`),(hasTrace||hooks.afterResponse?.length)&&(fnLiteral+=`let afterHandlerStreamListener
|
|
138
|
+
`);let parseReporter=report("parse",{total:hooks.parse?.length});if(hasBody){let hasBodyInference=!!hooks.parse?.length||inference.body||validator.body;adapter.parser.declare&&(fnLiteral+=adapter.parser.declare),fnLiteral+=`
|
|
139
|
+
try{`;let parser=typeof hooks.parse=="string"?hooks.parse:Array.isArray(hooks.parse)&&hooks.parse.length===1?typeof hooks.parse[0]=="string"?hooks.parse[0]:typeof hooks.parse[0].fn=="string"?hooks.parse[0].fn:void 0:void 0;if(!parser&&validator.body&&!hooks.parse?.length){let schema=validator.body.schema;schema&&schema.anyOf&&schema[Kind]==="Union"&&schema.anyOf?.length===2&&schema.anyOf?.find((x)=>x[Kind]==="ElysiaForm")&&(parser="formdata")}if(parser&&defaultParsers.includes(parser)){let reporter=report("parse",{total:hooks.parse?.length}),isOptionalBody=!!validator.body?.isOptional;switch(parser){case"json":case"application/json":fnLiteral+=adapter.parser.json(isOptionalBody);break;case"text":case"text/plain":fnLiteral+=adapter.parser.text(isOptionalBody);break;case"urlencoded":case"application/x-www-form-urlencoded":fnLiteral+=adapter.parser.urlencoded(isOptionalBody);break;case"arrayBuffer":case"application/octet-stream":fnLiteral+=adapter.parser.arrayBuffer(isOptionalBody);break;case"formdata":case"multipart/form-data":fnLiteral+=adapter.parser.formData(isOptionalBody);break;default:parser in app["~parser"]&&(fnLiteral+=hasHeaders?"let contentType = c.headers['content-type']":"let contentType = c.request.headers.get('content-type')",fnLiteral+=`
|
|
83
140
|
if(contentType){const index=contentType.indexOf(';')
|
|
84
141
|
if(index!==-1)contentType=contentType.substring(0,index)}
|
|
85
142
|
else{contentType=''}c.contentType=contentType
|
|
86
|
-
let result=parser['${
|
|
143
|
+
let result=parser['${parser}'](c, contentType)
|
|
87
144
|
if(result instanceof Promise)result=await result
|
|
88
145
|
if(result instanceof ElysiaCustomStatusResponse)throw result
|
|
89
146
|
if(result!==undefined)c.body=result
|
|
90
147
|
delete c.contentType
|
|
91
|
-
|
|
92
|
-
`,
|
|
93
|
-
if(c.request.body)`,
|
|
148
|
+
`);break}reporter.resolve()}else if(hasBodyInference){fnLiteral+=`
|
|
149
|
+
`,fnLiteral+=`let contentType
|
|
150
|
+
if(c.request.body)`,fnLiteral+=hasHeaders?`contentType=c.headers['content-type']
|
|
94
151
|
`:`contentType=c.request.headers.get('content-type')
|
|
95
|
-
`;let
|
|
152
|
+
`;let hasDefaultParser=!1;if(hooks.parse?.length)fnLiteral+=`if(contentType){
|
|
96
153
|
const index=contentType.indexOf(';')
|
|
97
154
|
|
|
98
155
|
if(index!==-1)contentType=contentType.substring(0,index)}else{contentType=''}let used=false
|
|
99
156
|
c.contentType=contentType
|
|
100
|
-
`;else{
|
|
101
|
-
case 106:`+
|
|
102
|
-
case 120:`+
|
|
103
|
-
case 111:`+
|
|
104
|
-
case 114:`+
|
|
105
|
-
default:if(contentType.charCodeAt(0)===116){`+
|
|
106
|
-
}`}let
|
|
107
|
-
if(!used){
|
|
108
|
-
if(${
|
|
109
|
-
if(${
|
|
110
|
-
`}
|
|
111
|
-
${
|
|
112
|
-
if(${
|
|
113
|
-
if(${
|
|
157
|
+
`;else{hasDefaultParser=!0;let isOptionalBody=!!validator.body?.isOptional;fnLiteral+=`if(contentType)switch(contentType.charCodeAt(12)){
|
|
158
|
+
case 106:`+adapter.parser.json(isOptionalBody)+`break
|
|
159
|
+
case 120:`+adapter.parser.urlencoded(isOptionalBody)+`break
|
|
160
|
+
case 111:`+adapter.parser.arrayBuffer(isOptionalBody)+`break
|
|
161
|
+
case 114:`+adapter.parser.formData(isOptionalBody)+`break
|
|
162
|
+
default:if(contentType.charCodeAt(0)===116){`+adapter.parser.text(isOptionalBody)+`}break
|
|
163
|
+
}`}let reporter=report("parse",{total:hooks.parse?.length});if(hooks.parse)for(let i=0;i<hooks.parse.length;i++){let name=`bo${i}`;if(i!==0&&(fnLiteral+=`
|
|
164
|
+
if(!used){`),typeof hooks.parse[i].fn=="string"){let endUnit=reporter.resolveChild(hooks.parse[i].fn),isOptionalBody=!!validator.body?.isOptional;switch(hooks.parse[i].fn){case"json":case"application/json":hasDefaultParser=!0,fnLiteral+=adapter.parser.json(isOptionalBody);break;case"text":case"text/plain":hasDefaultParser=!0,fnLiteral+=adapter.parser.text(isOptionalBody);break;case"urlencoded":case"application/x-www-form-urlencoded":hasDefaultParser=!0,fnLiteral+=adapter.parser.urlencoded(isOptionalBody);break;case"arrayBuffer":case"application/octet-stream":hasDefaultParser=!0,fnLiteral+=adapter.parser.arrayBuffer(isOptionalBody);break;case"formdata":case"multipart/form-data":hasDefaultParser=!0,fnLiteral+=adapter.parser.formData(isOptionalBody);break;default:fnLiteral+=`let ${name}=parser['${hooks.parse[i].fn}'](c,contentType)
|
|
165
|
+
if(${name} instanceof Promise)${name}=await ${name}
|
|
166
|
+
if(${name}!==undefined){c.body=${name};used=true;}
|
|
167
|
+
`}endUnit()}else{let endUnit=reporter.resolveChild(hooks.parse[i].fn.name);fnLiteral+=`let ${name}=e.parse[${i}]
|
|
168
|
+
${name}=${name}(c,contentType)
|
|
169
|
+
if(${name} instanceof Promise)${name}=await ${name}
|
|
170
|
+
if(${name}!==undefined){c.body=${name};used=true}`,endUnit()}if(i!==0&&(fnLiteral+="}"),hasDefaultParser)break}if(reporter.resolve(),!hasDefaultParser){let isOptionalBody=!!validator.body?.isOptional;hooks.parse?.length&&(fnLiteral+=`
|
|
114
171
|
if(!used){
|
|
115
|
-
|
|
116
|
-
`+
|
|
117
|
-
case 'text/plain':`+
|
|
118
|
-
case 'application/x-www-form-urlencoded':`+
|
|
119
|
-
case 'application/octet-stream':`+
|
|
120
|
-
case 'multipart/form-data':`+
|
|
121
|
-
`;for(let
|
|
122
|
-
if(bo${
|
|
123
|
-
if(bo${
|
|
172
|
+
`),fnLiteral+=`switch(contentType){case 'application/json':
|
|
173
|
+
`+adapter.parser.json(isOptionalBody)+`break
|
|
174
|
+
case 'text/plain':`+adapter.parser.text(isOptionalBody)+`break
|
|
175
|
+
case 'application/x-www-form-urlencoded':`+adapter.parser.urlencoded(isOptionalBody)+`break
|
|
176
|
+
case 'application/octet-stream':`+adapter.parser.arrayBuffer(isOptionalBody)+`break
|
|
177
|
+
case 'multipart/form-data':`+adapter.parser.formData(isOptionalBody)+`break
|
|
178
|
+
`;for(let key of Object.keys(app["~parser"]))fnLiteral+=`case '${key}':let bo${key}=parser['${key}'](c,contentType)
|
|
179
|
+
if(bo${key} instanceof Promise)bo${key}=await bo${key}
|
|
180
|
+
if(bo${key} instanceof ElysiaCustomStatusResponse){`+mapResponse(`bo${key}`)+`}if(bo${key}!==undefined)c.body=bo${key}
|
|
124
181
|
break
|
|
125
|
-
`;
|
|
126
|
-
delete c.contentType`}
|
|
127
|
-
`;for(let
|
|
128
|
-
`:`transformed=e.transform[${
|
|
129
|
-
`,
|
|
182
|
+
`;hooks.parse?.length&&(fnLiteral+="}"),fnLiteral+="}"}hooks.parse?.length&&(fnLiteral+=`
|
|
183
|
+
delete c.contentType`)}fnLiteral+="}catch(error){throw new ParseError(error)}"}if(parseReporter.resolve(),hooks?.transform||hasTrace){let reporter=report("transform",{total:hooks.transform?.length});if(hooks.transform?.length){fnLiteral+=`let transformed
|
|
184
|
+
`;for(let i=0;i<hooks.transform.length;i++){let transform=hooks.transform[i],endUnit=reporter.resolveChild(transform.fn.name);fnLiteral+=isAsync(transform)?`transformed=await e.transform[${i}](c)
|
|
185
|
+
`:`transformed=e.transform[${i}](c)
|
|
186
|
+
`,transform.subType==="mapDerive"?fnLiteral+="if(transformed instanceof ElysiaCustomStatusResponse){"+mapResponse("transformed")+`}else{transformed.request=c.request
|
|
130
187
|
transformed.store=c.store
|
|
131
188
|
transformed.qi=c.qi
|
|
132
189
|
transformed.path=c.path
|
|
@@ -134,51 +191,51 @@ transformed.url=c.url
|
|
|
134
191
|
transformed.redirect=c.redirect
|
|
135
192
|
transformed.set=c.set
|
|
136
193
|
transformed.error=c.error
|
|
137
|
-
c=transformed}
|
|
138
|
-
|
|
139
|
-
`}
|
|
194
|
+
c=transformed}`:fnLiteral+="if(transformed instanceof ElysiaCustomStatusResponse){"+mapResponse("transformed")+`}else Object.assign(c,transformed)
|
|
195
|
+
`,endUnit()}}reporter.resolve()}let fileUnions=[];if(validator){if(validator.headers){if(validator.headers.hasDefault)for(let[key,value]of Object.entries(Default3(validator.headers.schema,{}))){let parsed=typeof value=="object"||typeof value=="string"?JSON.stringify(value):value;parsed!==void 0&&(fnLiteral+=`c.headers[${JSON.stringify(key)}]??=${parsed}
|
|
196
|
+
`)}fnLiteral+=composeCleaner({name:"c.headers",schema:validator.headers,type:"headers",normalize}),validator.headers.isOptional&&(fnLiteral+="if(isNotEmpty(c.headers)){"),validator.headers?.provider==="standard"?fnLiteral+=`let vah=validator.headers.Validate(c.headers)
|
|
140
197
|
if(vah instanceof Promise)vah=await vah
|
|
141
|
-
if(vah.issues){`+
|
|
142
|
-
|
|
143
|
-
`,"headers")
|
|
144
|
-
`}
|
|
198
|
+
if(vah.issues){`+validation.validate("headers",void 0,"vah.issues")+`}else{c.headers=vah.value}
|
|
199
|
+
`:validator.headers?.schema?.noValidate!==!0&&(fnLiteral+="if(validator.headers.Check(c.headers) === false){"+validation.validate("headers")+"}"),validator.headers.hasTransform&&(fnLiteral+=coerceTransformDecodeError(`c.headers=validator.headers.Decode(c.headers)
|
|
200
|
+
`,"headers",allowUnsafeValidationDetails)),validator.headers.isOptional&&(fnLiteral+="}")}if(validator.params){if(validator.params.hasDefault)for(let[key,value]of Object.entries(Default3(validator.params.schema,{}))){let parsed=typeof value=="object"||typeof value=="string"?JSON.stringify(value):value;parsed!==void 0&&(fnLiteral+=`c.params[${JSON.stringify(key)}]??=${parsed}
|
|
201
|
+
`)}validator.params.provider==="standard"?fnLiteral+=`let vap=validator.params.Validate(c.params)
|
|
145
202
|
if(vap instanceof Promise)vap=await vap
|
|
146
|
-
if(vap.issues){`+
|
|
147
|
-
|
|
148
|
-
`,"params")}if(
|
|
149
|
-
`}
|
|
203
|
+
if(vap.issues){`+validation.validate("params",void 0,"vap.issues")+`}else{c.params=vap.value}
|
|
204
|
+
`:validator.params?.schema?.noValidate!==!0&&(fnLiteral+="if(validator.params.Check(c.params)===false){"+validation.validate("params")+"}"),validator.params.hasTransform&&(fnLiteral+=coerceTransformDecodeError(`c.params=validator.params.Decode(c.params)
|
|
205
|
+
`,"params",allowUnsafeValidationDetails))}if(validator.query){if(Kind in validator.query?.schema&&validator.query.hasDefault)for(let[key,value]of Object.entries(Default3(validator.query.schema,{}))){let parsed=typeof value=="object"||typeof value=="string"?JSON.stringify(value):value;parsed!==void 0&&(fnLiteral+=`if(c.query[${JSON.stringify(key)}]===undefined)c.query[${JSON.stringify(key)}]=${parsed}
|
|
206
|
+
`)}fnLiteral+=composeCleaner({name:"c.query",schema:validator.query,type:"query",normalize}),validator.query.isOptional&&(fnLiteral+="if(isNotEmpty(c.query)){"),validator.query.provider==="standard"?fnLiteral+=`let vaq=validator.query.Validate(c.query)
|
|
150
207
|
if(vaq instanceof Promise)vaq=await vaq
|
|
151
|
-
if(vaq.issues){`+
|
|
152
|
-
|
|
153
|
-
`,"query"),
|
|
154
|
-
`,"query")
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
208
|
+
if(vaq.issues){`+validation.validate("query",void 0,"vaq.issues")+`}else{c.query=vaq.value}
|
|
209
|
+
`:validator.query?.schema?.noValidate!==!0&&(fnLiteral+="if(validator.query.Check(c.query)===false){"+validation.validate("query")+"}"),validator.query.hasTransform&&(fnLiteral+=coerceTransformDecodeError(`c.query=validator.query.Decode(c.query)
|
|
210
|
+
`,"query",allowUnsafeValidationDetails),fnLiteral+=coerceTransformDecodeError(`c.query=validator.query.Decode(c.query)
|
|
211
|
+
`,"query",allowUnsafeValidationDetails)),validator.query.isOptional&&(fnLiteral+="}")}if(hasBody&&validator.body){(validator.body.hasTransform||validator.body.isOptional)&&(fnLiteral+=`const isNotEmptyObject=c.body&&(typeof c.body==="object"&&(isNotEmpty(c.body)||c.body instanceof ArrayBuffer))
|
|
212
|
+
`);let hasUnion=isUnion(validator.body.schema),hasNonUnionFileWithDefault=!1;if(validator.body.hasDefault){let value=Default3(validator.body.schema,validator.body.schema.type==="object"||unwrapImportSchema(validator.body.schema)[Kind]==="Object"?{}:void 0),schema=unwrapImportSchema(validator.body.schema);if(!hasUnion&&value&&typeof value=="object"&&(hasType("File",schema)||hasType("Files",schema))){hasNonUnionFileWithDefault=!0;for(let[k,v]of Object.entries(value))(v==="File"||v==="Files")&&delete value[k];isNotEmpty(value)||(value=void 0)}let parsed=typeof value=="object"||typeof value=="string"?JSON.stringify(value):value;value!=null&&(Array.isArray(value)?fnLiteral+=`if(!c.body)c.body=${parsed}
|
|
213
|
+
`:typeof value=="object"?fnLiteral+=`c.body=Object.assign(${parsed},c.body)
|
|
214
|
+
`:fnLiteral+=`c.body=${parsed}
|
|
215
|
+
`),fnLiteral+=composeCleaner({name:"c.body",schema:validator.body,type:"body",normalize}),validator.body.provider==="standard"?fnLiteral+=`let vab=validator.body.Validate(c.body)
|
|
159
216
|
if(vab instanceof Promise)vab=await vab
|
|
160
|
-
if(vab.issues){`+
|
|
161
|
-
|
|
217
|
+
if(vab.issues){`+validation.validate("body",void 0,"vab.issues")+`}else{c.body=vab.value}
|
|
218
|
+
`:validator.body?.schema?.noValidate!==!0&&(validator.body.isOptional?fnLiteral+="if(isNotEmptyObject&&validator.body.Check(c.body)===false){"+validation.validate("body")+"}":fnLiteral+="if(validator.body.Check(c.body)===false){"+validation.validate("body")+"}")}else fnLiteral+=composeCleaner({name:"c.body",schema:validator.body,type:"body",normalize}),validator.body.provider==="standard"?fnLiteral+=`let vab=validator.body.Validate(c.body)
|
|
162
219
|
if(vab instanceof Promise)vab=await vab
|
|
163
|
-
if(vab.issues){`+
|
|
164
|
-
|
|
165
|
-
`,"body")
|
|
166
|
-
`:" else ";
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
`}}
|
|
220
|
+
if(vab.issues){`+validation.validate("body",void 0,"vab.issues")+`}else{c.body=vab.value}
|
|
221
|
+
`:validator.body?.schema?.noValidate!==!0&&(validator.body.isOptional?fnLiteral+="if(isNotEmptyObject&&validator.body.Check(c.body)===false){"+validation.validate("body")+"}":fnLiteral+="if(validator.body.Check(c.body)===false){"+validation.validate("body")+"}");if(validator.body.hasTransform&&(fnLiteral+=coerceTransformDecodeError(`if(isNotEmptyObject)c.body=validator.body.Decode(c.body)
|
|
222
|
+
`,"body",allowUnsafeValidationDetails)),hasUnion&&validator.body.schema.anyOf?.length){let iterator=Object.values(validator.body.schema.anyOf);for(let i=0;i<iterator.length;i++){let type=iterator[i];if(hasType("File",type)||hasType("Files",type)){let candidate=getSchemaValidator(type,{modules:app.definitions.typebox,dynamic:!app.config.aot,models:app.definitions.type,normalize:app.config.normalize,additionalCoerce:coercePrimitiveRoot(),sanitize:()=>app.config.sanitize});if(candidate){let isFirst=fileUnions.length===0,properties=getSchemaProperties(candidate.schema)??getSchemaProperties(type);if(!properties)continue;let iterator2=Object.entries(properties),validator2=isFirst?`
|
|
223
|
+
`:" else ";validator2+=`if(fileUnions[${fileUnions.length}].Check(c.body)){`;let validateFile="",validatorLength=0;for(let i2=0;i2<iterator2.length;i2++){let[k,v]=iterator2[i2];!v.extension||v[Kind]!=="File"&&v[Kind]!=="Files"||(validatorLength&&(validateFile+=","),validateFile+=`fileType(c.body.${k},${JSON.stringify(v.extension)},'body.${k}')`,validatorLength++)}validateFile&&(validatorLength===1?validator2+=`await ${validateFile}
|
|
224
|
+
`:validatorLength>1&&(validator2+=`await Promise.all([${validateFile}])
|
|
225
|
+
`),validator2+="}",fnLiteral+=validator2,fileUnions.push(candidate))}}}}else if(hasNonUnionFileWithDefault||!hasUnion&&(hasType("File",unwrapImportSchema(validator.body.schema))||hasType("Files",unwrapImportSchema(validator.body.schema)))){let validateFile="",bodyProperties=getSchemaProperties(unwrapImportSchema(validator.body.schema)),i=0;if(bodyProperties)for(let[k,v]of Object.entries(bodyProperties))!v.extension||v[Kind]!=="File"&&v[Kind]!=="Files"||(i&&(validateFile+=","),validateFile+=`fileType(c.body.${k},${JSON.stringify(v.extension)},'body.${k}')`,i++);i&&(fnLiteral+=`
|
|
226
|
+
`),i===1?fnLiteral+=`await ${validateFile}
|
|
227
|
+
`:i>1&&(fnLiteral+=`await Promise.all([${validateFile}])
|
|
228
|
+
`)}}validator.cookie&&(validator.cookie.config=mergeCookie(validator.cookie.config,app.config.cookie??{}),fnLiteral+=`let cookieValue={}
|
|
172
229
|
for(const [key,value] of Object.entries(c.cookie))cookieValue[key]=value.value
|
|
173
|
-
|
|
230
|
+
`,validator.cookie.isOptional&&(fnLiteral+="if(isNotEmpty(c.cookie)){"),validator.cookie.provider==="standard"?(fnLiteral+=`let vac=validator.cookie.Validate(cookieValue)
|
|
174
231
|
if(vac instanceof Promise)vac=await vac
|
|
175
|
-
if(vac.issues){`+
|
|
176
|
-
`,
|
|
177
|
-
|
|
232
|
+
if(vac.issues){`+validation.validate("cookie",void 0,"vac.issues")+`}else{cookieValue=vac.value}
|
|
233
|
+
`,fnLiteral+=`for(const k of Object.keys(cookieValue))c.cookie[k].value=cookieValue[k]
|
|
234
|
+
`):validator.cookie?.schema?.noValidate!==!0&&(fnLiteral+="if(validator.cookie.Check(cookieValue)===false){"+validation.validate("cookie","cookieValue")+"}",validator.cookie.hasTransform&&(fnLiteral+=coerceTransformDecodeError("for(const [key,value] of Object.entries(validator.cookie.Decode(cookieValue))){c.cookie[key].value = value}","cookie",allowUnsafeValidationDetails))),validator.cookie.isOptional&&(fnLiteral+="}"))}if(hooks?.beforeHandle||hasTrace){let reporter=report("beforeHandle",{total:hooks.beforeHandle?.length}),hasResolve=!1;if(hooks.beforeHandle?.length)for(let i=0;i<hooks.beforeHandle.length;i++){let beforeHandle=hooks.beforeHandle[i],endUnit=reporter.resolveChild(beforeHandle.fn.name),returning=hasReturn(beforeHandle);if(beforeHandle.subType==="resolve"||beforeHandle.subType==="mapResolve")hasResolve||(hasResolve=!0,fnLiteral+=`
|
|
178
235
|
let resolved
|
|
179
|
-
|
|
180
|
-
`:`resolved=e.beforeHandle[${
|
|
181
|
-
`,
|
|
236
|
+
`),fnLiteral+=isAsync(beforeHandle)?`resolved=await e.beforeHandle[${i}](c);
|
|
237
|
+
`:`resolved=e.beforeHandle[${i}](c);
|
|
238
|
+
`,beforeHandle.subType==="mapResolve"?fnLiteral+="if(resolved instanceof ElysiaCustomStatusResponse){"+mapResponse("resolved")+`}else{resolved.request=c.request
|
|
182
239
|
resolved.store=c.store
|
|
183
240
|
resolved.qi=c.qi
|
|
184
241
|
resolved.path=c.path
|
|
@@ -186,108 +243,110 @@ resolved.url=c.url
|
|
|
186
243
|
resolved.redirect=c.redirect
|
|
187
244
|
resolved.set=c.set
|
|
188
245
|
resolved.error=c.error
|
|
189
|
-
c=resolved}
|
|
190
|
-
|
|
191
|
-
`:`e.beforeHandle[${
|
|
192
|
-
`,
|
|
193
|
-
`:`be=e.beforeHandle[${
|
|
194
|
-
`,
|
|
195
|
-
|
|
196
|
-
`:`e.afterHandle[${
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
`;for(let
|
|
202
|
-
if(mr!==undefined)be=c.response=c.responseValue=mr}`,
|
|
203
|
-
`}}
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
`,
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
246
|
+
c=resolved}`:fnLiteral+="if(resolved instanceof ElysiaCustomStatusResponse){"+mapResponse("resolved")+`}else Object.assign(c, resolved)
|
|
247
|
+
`,endUnit();else if(!returning)fnLiteral+=isAsync(beforeHandle)?`await e.beforeHandle[${i}](c)
|
|
248
|
+
`:`e.beforeHandle[${i}](c)
|
|
249
|
+
`,endUnit();else{if(fnLiteral+=isAsync(beforeHandle)?`be=await e.beforeHandle[${i}](c)
|
|
250
|
+
`:`be=e.beforeHandle[${i}](c)
|
|
251
|
+
`,endUnit("be"),fnLiteral+="if(be!==undefined){",reporter.resolve(),hooks.afterHandle?.length||hasTrace){report("handle",{name:isHandleFn?handler.name:void 0}).resolve();let reporter2=report("afterHandle",{total:hooks.afterHandle?.length});if(hooks.afterHandle?.length)for(let i2=0;i2<hooks.afterHandle.length;i2++){let hook=hooks.afterHandle[i2],returning2=hasReturn(hook),endUnit2=reporter2.resolveChild(hook.fn.name);fnLiteral+=`c.response=c.responseValue=be
|
|
252
|
+
`,returning2?(fnLiteral+=isAsync(hook.fn)?`af=await e.afterHandle[${i2}](c)
|
|
253
|
+
`:`af=e.afterHandle[${i2}](c)
|
|
254
|
+
`,fnLiteral+=`if(af!==undefined) c.response=c.responseValue=be=af
|
|
255
|
+
`):fnLiteral+=isAsync(hook.fn)?`await e.afterHandle[${i2}](c, be)
|
|
256
|
+
`:`e.afterHandle[${i2}](c, be)
|
|
257
|
+
`,endUnit2("af")}reporter2.resolve()}validator.response&&(fnLiteral+=validation.response("be"));let mapResponseReporter=report("mapResponse",{total:hooks.mapResponse?.length});if(hooks.mapResponse?.length){fnLiteral+=`c.response=c.responseValue=be
|
|
258
|
+
`;for(let i2=0;i2<hooks.mapResponse.length;i2++){let mapResponse2=hooks.mapResponse[i2],endUnit2=mapResponseReporter.resolveChild(mapResponse2.fn.name);fnLiteral+=`if(mr===undefined){mr=${isAsyncName(mapResponse2)?"await ":""}e.mapResponse[${i2}](c)
|
|
259
|
+
if(mr!==undefined)be=c.response=c.responseValue=mr}`,endUnit2()}}mapResponseReporter.resolve(),fnLiteral+=afterResponse(),fnLiteral+=encodeCookie(),fnLiteral+=`return mapEarlyResponse(${saveResponse}be,c.set${mapResponseContext})}
|
|
260
|
+
`}}reporter.resolve()}function reportHandler(name){let handleReporter=report("handle",{name,alias:"reportHandler"});return()=>{hasTrace&&(fnLiteral+='if(r&&(r[Symbol.iterator]||r[Symbol.asyncIterator])&&typeof r.next==="function"){'+(maybeAsync?"":"(async()=>{")+`const stream=await tee(r,3)
|
|
261
|
+
r=stream[0]
|
|
262
|
+
`+(hooks.afterHandle?.length?`c.response=c.responseValue=r
|
|
263
|
+
`:"")+`const listener=stream[1]
|
|
264
|
+
`+(hasTrace||hooks.afterResponse?.length?`afterHandlerStreamListener=stream[2]
|
|
265
|
+
`:"")+`${setImmediateFn}(async ()=>{if(listener)for await(const v of listener){}
|
|
266
|
+
`,handleReporter.resolve(),fnLiteral+="})"+(maybeAsync?"":"})()")+"}else{",handleReporter.resolve(),fnLiteral+=`}
|
|
267
|
+
`)}}if(hooks.afterHandle?.length||hasTrace){let resolveHandler=reportHandler(isHandleFn?handler.name:void 0);hooks.afterHandle?.length?fnLiteral+=isAsyncHandler?`let r=c.response=c.responseValue=await ${handle}
|
|
268
|
+
`:`let r=c.response=c.responseValue=${handle}
|
|
269
|
+
`:fnLiteral+=isAsyncHandler?`let r=await ${handle}
|
|
270
|
+
`:`let r=${handle}
|
|
271
|
+
`,resolveHandler();let reporter=report("afterHandle",{total:hooks.afterHandle?.length});if(hooks.afterHandle?.length)for(let i=0;i<hooks.afterHandle.length;i++){let hook=hooks.afterHandle[i],returning=hasReturn(hook),endUnit=reporter.resolveChild(hook.fn.name);returning?(fnLiteral+=isAsync(hook.fn)?`af=await e.afterHandle[${i}](c)
|
|
272
|
+
`:`af=e.afterHandle[${i}](c)
|
|
273
|
+
`,endUnit("af"),validator.response?(fnLiteral+="if(af!==undefined){",reporter.resolve(),fnLiteral+=validation.response("af"),fnLiteral+="c.response=c.responseValue=af}"):(fnLiteral+="if(af!==undefined){",reporter.resolve(),fnLiteral+="c.response=c.responseValue=af}")):(fnLiteral+=isAsync(hook.fn)?`await e.afterHandle[${i}](c)
|
|
274
|
+
`:`e.afterHandle[${i}](c)
|
|
275
|
+
`,endUnit())}reporter.resolve(),hooks.afterHandle?.length&&(fnLiteral+=`r=c.response
|
|
276
|
+
`),validator.response&&(fnLiteral+=validation.response()),fnLiteral+=encodeCookie();let mapResponseReporter=report("mapResponse",{total:hooks.mapResponse?.length});if(hooks.mapResponse?.length)for(let i=0;i<hooks.mapResponse.length;i++){let mapResponse2=hooks.mapResponse[i],endUnit=mapResponseReporter.resolveChild(mapResponse2.fn.name);fnLiteral+=`mr=${isAsyncName(mapResponse2)?"await ":""}e.mapResponse[${i}](c)
|
|
213
277
|
if(mr!==undefined)r=c.response=c.responseValue=mr
|
|
214
|
-
`,
|
|
215
|
-
`:`let r=${
|
|
216
|
-
`,
|
|
278
|
+
`,endUnit()}mapResponseReporter.resolve(),fnLiteral+=mapResponse()}else{let resolveHandler=reportHandler(isHandleFn?handler.name:void 0);if(validator.response||hooks.mapResponse?.length||hasTrace){fnLiteral+=isAsyncHandler?`let r=await ${handle}
|
|
279
|
+
`:`let r=${handle}
|
|
280
|
+
`,resolveHandler(),validator.response&&(fnLiteral+=validation.response());let mapResponseReporter=report("mapResponse",{total:hooks.mapResponse?.length});if(hooks.mapResponse?.length){fnLiteral+=`
|
|
217
281
|
c.response=c.responseValue=r
|
|
218
|
-
`;for(let
|
|
219
|
-
if(mr===undefined){mr=${
|
|
282
|
+
`;for(let i=0;i<hooks.mapResponse.length;i++){let mapResponse2=hooks.mapResponse[i],endUnit=mapResponseReporter.resolveChild(mapResponse2.fn.name);fnLiteral+=`
|
|
283
|
+
if(mr===undefined){mr=${isAsyncName(mapResponse2)?"await ":""}e.mapResponse[${i}](c)
|
|
220
284
|
if(mr!==undefined)r=c.response=c.responseValue=mr}
|
|
221
|
-
`,
|
|
222
|
-
else return ${
|
|
223
|
-
|
|
224
|
-
`:`let r=${
|
|
225
|
-
`,
|
|
226
|
-
`;for(let
|
|
227
|
-
if(mr!==undefined)r=c.response=c.responseValue=mr}`,
|
|
228
|
-
else return ${
|
|
229
|
-
`:`return ${
|
|
230
|
-
|
|
231
|
-
}catch(error){`,!
|
|
285
|
+
`,endUnit()}}mapResponseReporter.resolve(),fnLiteral+=encodeCookie(),handler instanceof Response?(fnLiteral+=afterResponse(),fnLiteral+=inference.set?`if(isNotEmpty(c.set.headers)||c.set.status!==200||c.set.redirect||c.set.cookie)return mapResponse(${saveResponse}${handle}.clone(),c.set${mapResponseContext})
|
|
286
|
+
else return ${handle}.clone()`:`return ${handle}.clone()`,fnLiteral+=`
|
|
287
|
+
`):fnLiteral+=mapResponse()}else if(hasCookie||hasTrace){fnLiteral+=isAsyncHandler?`let r=await ${handle}
|
|
288
|
+
`:`let r=${handle}
|
|
289
|
+
`,resolveHandler();let mapResponseReporter=report("mapResponse",{total:hooks.mapResponse?.length});if(hooks.mapResponse?.length){fnLiteral+=`c.response=c.responseValue= r
|
|
290
|
+
`;for(let i=0;i<hooks.mapResponse.length;i++){let mapResponse2=hooks.mapResponse[i],endUnit=mapResponseReporter.resolveChild(mapResponse2.fn.name);fnLiteral+=`if(mr===undefined){mr=${isAsyncName(mapResponse2)?"await ":""}e.mapResponse[${i}](c)
|
|
291
|
+
if(mr!==undefined)r=c.response=c.responseValue=mr}`,endUnit()}}mapResponseReporter.resolve(),fnLiteral+=encodeCookie()+mapResponse()}else{resolveHandler();let handled=isAsyncHandler?`await ${handle}`:handle;handler instanceof Response?(fnLiteral+=afterResponse(),fnLiteral+=inference.set?`if(isNotEmpty(c.set.headers)||c.set.status!==200||c.set.redirect||c.set.cookie)return mapResponse(${saveResponse}${handle}.clone(),c.set${mapResponseContext})
|
|
292
|
+
else return ${handle}.clone()
|
|
293
|
+
`:`return ${handle}.clone()
|
|
294
|
+
`):fnLiteral+=mapResponse(handled)}}if(fnLiteral+=`
|
|
295
|
+
}catch(error){`,!maybeAsync&&hooks.error?.length&&(fnLiteral+="return(async()=>{"),fnLiteral+=`const set=c.set
|
|
232
296
|
if(!set.status||set.status<300)set.status=error?.status||500
|
|
233
|
-
`,
|
|
234
|
-
`;let
|
|
235
|
-
`,
|
|
236
|
-
c.set.status=422}else{c.code=error.code??error[ERROR_CODE]??"UNKNOWN"}
|
|
237
|
-
|
|
238
|
-
`,
|
|
239
|
-
|
|
240
|
-
|
|
297
|
+
`,hasCookie&&(fnLiteral+=encodeCookie()),hasTrace&&hooks.trace)for(let i=0;i<hooks.trace.length;i++)fnLiteral+=`report${i}?.resolve(error);reportChild${i}?.(error)
|
|
298
|
+
`;let errorReporter=report("error",{total:hooks.error?.length});if(hooks.error?.length){fnLiteral+=`c.error=error
|
|
299
|
+
`,hasValidation?fnLiteral+=`if(error instanceof TypeBoxError){c.code="VALIDATION"
|
|
300
|
+
c.set.status=422}else{c.code=error.code??error[ERROR_CODE]??"UNKNOWN"}`:fnLiteral+=`c.code=error.code??error[ERROR_CODE]??"UNKNOWN"
|
|
301
|
+
`,fnLiteral+=`let er
|
|
302
|
+
`,hooks.mapResponse?.length&&(fnLiteral+=`let mep
|
|
303
|
+
`);for(let i=0;i<hooks.error.length;i++){let endUnit=errorReporter.resolveChild(hooks.error[i].fn.name);if(isAsync(hooks.error[i])?fnLiteral+=`er=await e.error[${i}](c)
|
|
304
|
+
`:fnLiteral+=`er=e.error[${i}](c)
|
|
241
305
|
if(er instanceof Promise)er=await er
|
|
242
|
-
|
|
243
|
-
mep=e.mapResponse[${
|
|
244
|
-
if(mep instanceof Promise)
|
|
306
|
+
`,endUnit(),hooks.mapResponse?.length){let mapResponseReporter=report("mapResponse",{total:hooks.mapResponse?.length});for(let i2=0;i2<hooks.mapResponse.length;i2++){let mapResponse2=hooks.mapResponse[i2],endUnit2=mapResponseReporter.resolveChild(mapResponse2.fn.name);fnLiteral+=`c.response=c.responseValue=er
|
|
307
|
+
mep=e.mapResponse[${i2}](c)
|
|
308
|
+
if(mep instanceof Promise)mep=await mep
|
|
245
309
|
if(mep!==undefined)er=mep
|
|
246
|
-
`,
|
|
247
|
-
`,
|
|
248
|
-
`;
|
|
310
|
+
`,endUnit2()}mapResponseReporter.resolve()}if(fnLiteral+=`er=mapEarlyResponse(er,set${mapResponseContext})
|
|
311
|
+
`,fnLiteral+="if(er){",hasTrace&&hooks.trace){for(let i2=0;i2<hooks.trace.length;i2++)fnLiteral+=`report${i2}.resolve()
|
|
312
|
+
`;errorReporter.resolve()}fnLiteral+=afterResponse(!1),fnLiteral+="return er}"}}errorReporter.resolve(),fnLiteral+="return handleError(c,error,true)",!maybeAsync&&hooks.error?.length&&(fnLiteral+="})()"),fnLiteral+="}";let adapterVariables=adapter.inject?Object.keys(adapter.inject).join(",")+",":"",init="const {handler,handleError,hooks:e, "+allocateIf("validator,",hasValidation)+"mapResponse,mapCompactResponse,mapEarlyResponse,isNotEmpty,utils:{"+allocateIf("parseQuery,",hasBody)+allocateIf("parseQueryFromURL,",hasQuery)+"},error:{"+allocateIf("ValidationError,",hasValidation)+allocateIf("ParseError",hasBody)+"},fileType,schema,definitions,tee,ERROR_CODE,"+allocateIf("parseCookie,",hasCookie)+allocateIf("signCookie,",hasCookie)+allocateIf("decodeURIComponent,",hasQuery)+"ElysiaCustomStatusResponse,"+allocateIf("ELYSIA_TRACE,",hasTrace)+allocateIf("ELYSIA_REQUEST_ID,",hasTrace)+allocateIf("parser,",hooks.parse?.length)+allocateIf("getServer,",inference.server)+allocateIf("fileUnions,",fileUnions.length)+adapterVariables+allocateIf("TypeBoxError",hasValidation)+`}=hooks
|
|
249
313
|
const trace=e.trace
|
|
250
|
-
return ${
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
314
|
+
return ${maybeAsync?"async ":""}function handle(c){`;hooks.beforeHandle?.length&&(init+=`let be
|
|
315
|
+
`),hooks.afterHandle?.length&&(init+=`let af
|
|
316
|
+
`),hooks.mapResponse?.length&&(init+=`let mr
|
|
317
|
+
`),allowMeta&&(init+=`c.schema=schema
|
|
254
318
|
c.defs=definitions
|
|
255
|
-
|
|
256
|
-
`+
|
|
257
|
-
`,
|
|
258
|
-
|
|
259
|
-
`,
|
|
319
|
+
`),fnLiteral=init+fnLiteral+"}",init="";try{return Function("hooks",`"use strict";
|
|
320
|
+
`+fnLiteral)({handler,hooks:lifeCycleToFn(hooks),validator:hasValidation?validator:void 0,handleError:app.handleError,mapResponse:adapterHandler.mapResponse,mapCompactResponse:adapterHandler.mapCompactResponse,mapEarlyResponse:adapterHandler.mapEarlyResponse,isNotEmpty,utils:{parseQuery:hasBody?parseQuery:void 0,parseQueryFromURL:hasQuery?validator.query?.provider==="standard"?parseQueryStandardSchema:parseQueryFromURL:void 0},error:{ValidationError:hasValidation?ValidationError:void 0,ParseError:hasBody?ParseError:void 0},fileType,schema:app.router.history,definitions:app.definitions.type,tee,ERROR_CODE,parseCookie:hasCookie?parseCookie:void 0,signCookie:hasCookie?signCookie:void 0,Cookie:hasCookie?Cookie:void 0,decodeURIComponent:hasQuery?import_fast_decode_uri_component3.default:void 0,ElysiaCustomStatusResponse,ELYSIA_TRACE:hasTrace?ELYSIA_TRACE:void 0,ELYSIA_REQUEST_ID:hasTrace?ELYSIA_REQUEST_ID:void 0,getServer:inference.server?()=>app.getServer():void 0,fileUnions:fileUnions.length?fileUnions:void 0,TypeBoxError:hasValidation?TypeBoxError:void 0,parser:app["~parser"],...adapter.inject})}catch(error){let debugHooks=lifeCycleToFn(hooks);return console.log("[Composer] failed to generate optimized handler"),console.log("---"),console.log({handler:typeof handler=="function"?handler.toString():handler,instruction:fnLiteral,hooks:{...debugHooks,transform:debugHooks?.transform?.map?.((x)=>x.toString()),resolve:debugHooks?.resolve?.map?.((x)=>x.toString()),beforeHandle:debugHooks?.beforeHandle?.map?.((x)=>x.toString()),afterHandle:debugHooks?.afterHandle?.map?.((x)=>x.toString()),mapResponse:debugHooks?.mapResponse?.map?.((x)=>x.toString()),parse:debugHooks?.parse?.map?.((x)=>x.toString()),error:debugHooks?.error?.map?.((x)=>x.toString()),afterResponse:debugHooks?.afterResponse?.map?.((x)=>x.toString()),stop:debugHooks?.stop?.map?.((x)=>x.toString())},validator,definitions:app.definitions.type,error}),console.log("---"),typeof process?.exit=="function"&&process.exit(1),()=>new Response("Internal Server Error",{status:500})}},createOnRequestHandler=(app,addFn)=>{let fnLiteral="",reporter=createReport({trace:app.event.trace,addFn:addFn??((word)=>{fnLiteral+=word})})("request",{total:app.event.request?.length});if(app.event.request?.length){fnLiteral+="try{";for(let i=0;i<app.event.request.length;i++){let hook=app.event.request[i],withReturn=hasReturn(hook),maybeAsync=isAsync(hook),endUnit=reporter.resolveChild(app.event.request[i].fn.name);withReturn?(fnLiteral+=`re=mapEarlyResponse(${maybeAsync?"await ":""}onRequest[${i}](c),c.set)
|
|
321
|
+
`,endUnit("re"),fnLiteral+=`if(re!==undefined)return re
|
|
322
|
+
`):(fnLiteral+=`${maybeAsync?"await ":""}onRequest[${i}](c)
|
|
323
|
+
`,endUnit())}fnLiteral+="}catch(error){return app.handleError(c,error,false)}"}return reporter.resolve(),fnLiteral},createHoc=(app,fnName="map")=>{let hoc=app.extender.higherOrderFunctions;if(!hoc.length)return"return "+fnName;let adapter=app["~adapter"].composeGeneralHandler,handler=fnName;for(let i=0;i<hoc.length;i++)handler=`hoc[${i}](${handler},${adapter.parameters})`;return`return function hocMap(${adapter.parameters}){return ${handler}(${adapter.parameters})}`},composeGeneralHandler=(app)=>{let adapter=app["~adapter"].composeGeneralHandler;app.router.http.build();let isWebstandard=app["~adapter"].isWebStandard,hasTrace=app.event.trace?.length,fnLiteral="",router=app.router,findDynamicRoute=router.http.root.WS?"const route=router.find(r.method==='GET'&&r.headers.get('upgrade')==='websocket'?'WS':r.method,p)":"const route=router.find(r.method,p)";findDynamicRoute+=router.http.root.ALL?`??router.find('ALL',p)
|
|
260
324
|
`:`
|
|
261
|
-
`,
|
|
262
|
-
if(
|
|
263
|
-
const _res=route.store.handler?route.store.handler(c):route.store.compile()(c)
|
|
264
|
-
if(_res)return getResponseLength(_res).then((length)=>{_res.headers.set('content-length', length)
|
|
265
|
-
return new Response(null,{status:_res.status,statusText:_res.statusText,headers:_res.headers})
|
|
266
|
-
})}}`;let M=`c.error=notFound
|
|
267
|
-
`;if(Y.event.afterResponse?.length&&!Y.event.error){M=`
|
|
325
|
+
`,isWebstandard&&(findDynamicRoute+='if(r.method==="HEAD"){const route=router.find("GET",p);if(route){c.params=route.params;const _res=route.store.handler?route.store.handler(c):route.store.compile()(c);if(_res)return Promise.resolve(_res).then((_res)=>{if(!_res.headers)_res.headers=new Headers();return getResponseLength(_res).then((length)=>{_res.headers.set("content-length", length);return new Response(null,{status:_res.status,statusText:_res.statusText,headers:_res.headers});})});}}');let afterResponse=`c.error=notFound
|
|
326
|
+
`;if(app.event.afterResponse?.length&&!app.event.error){afterResponse=`
|
|
268
327
|
c.error=notFound
|
|
269
|
-
`;let
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
`}
|
|
274
|
-
|
|
328
|
+
`;let prefix=app.event.afterResponse.some(isAsync)?"async":"";afterResponse+=`
|
|
329
|
+
${setImmediateFn}(${prefix}()=>{if(c.responseValue instanceof ElysiaCustomStatusResponse) c.set.status=c.responseValue.code
|
|
330
|
+
`;for(let i=0;i<app.event.afterResponse.length;i++){let fn2=app.event.afterResponse[i].fn;afterResponse+=`
|
|
331
|
+
${isAsyncName(fn2)?"await ":""}afterResponse[${i}](c)
|
|
332
|
+
`}afterResponse+=`})
|
|
333
|
+
`}app.inference.query&&(afterResponse+=`
|
|
334
|
+
if(c.qi===-1){c.query={}}else{c.query=parseQueryFromURL(c.url,c.qi+1)}`);let error404=adapter.error404(!!app.event.request?.length,!!app.event.error?.length,afterResponse);findDynamicRoute+=error404.code,findDynamicRoute+=`
|
|
275
335
|
c.params=route.params
|
|
276
336
|
if(route.store.handler)return route.store.handler(c)
|
|
277
337
|
return route.store.compile()(c)
|
|
278
|
-
`;let
|
|
279
|
-
`,"GET"in
|
|
280
|
-
|
|
281
|
-
`
|
|
282
|
-
`
|
|
283
|
-
return
|
|
284
|
-
|
|
285
|
-
})
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
const {app,mapEarlyResponse,NotFoundError,randomId,handleError,status,redirect,getResponseLength,`+f0("parseQueryFromURL,",Y.inference.query)+f0("ELYSIA_TRACE,",W)+f0("ELYSIA_REQUEST_ID,",W)+D+`}=data
|
|
338
|
+
`;let switchMap="";for(let[path,methods]of Object.entries(router.static)){switchMap+=`case'${path}':`,app.config.strictPath!==!0&&(switchMap+=`case'${getLoosePath(path)}':`);let encoded=encodePath(path);path!==encoded&&(switchMap+=`case'${encoded}':`),switchMap+="switch(r.method){",(("GET"in methods)||("WS"in methods))&&(switchMap+="case 'GET':",("WS"in methods)&&(switchMap+=`if(r.headers.get('upgrade')==='websocket')return ht[${methods.WS}].composed(c)
|
|
339
|
+
`,("GET"in methods)||("ALL"in methods?switchMap+=`return ht[${methods.ALL}].composed(c)
|
|
340
|
+
`:switchMap+=`break map
|
|
341
|
+
`)),("GET"in methods)&&(switchMap+=`return ht[${methods.GET}].composed(c)
|
|
342
|
+
`)),isWebstandard&&(("GET"in methods)||("ALL"in methods))&&!("HEAD"in methods)&&(switchMap+=`case 'HEAD':return Promise.resolve(ht[${methods.GET??methods.ALL}].composed(c)).then(_ht=>getResponseLength(_ht).then((length)=>{_ht.headers.set('content-length', length)
|
|
343
|
+
return new Response(null,{status:_ht.status,statusText:_ht.statusText,headers:_ht.headers})
|
|
344
|
+
}))
|
|
345
|
+
`);for(let[method,index]of Object.entries(methods))method==="ALL"||method==="GET"||method==="WS"||(switchMap+=`case '${method}':return ht[${index}].composed(c)
|
|
346
|
+
`);"ALL"in methods?switchMap+=`default:return ht[${methods.ALL}].composed(c)
|
|
347
|
+
`:switchMap+=`default:break map
|
|
348
|
+
`,switchMap+="}"}let maybeAsync=!!app.event.request?.some(isAsync),adapterVariables=adapter.inject?Object.keys(adapter.inject).join(",")+",":"";fnLiteral+=`
|
|
349
|
+
const {app,mapEarlyResponse,NotFoundError,randomId,handleError,status,redirect,getResponseLength,ElysiaCustomStatusResponse,`+allocateIf("parseQueryFromURL,",app.inference.query)+allocateIf("ELYSIA_TRACE,",hasTrace)+allocateIf("ELYSIA_REQUEST_ID,",hasTrace)+adapterVariables+`}=data
|
|
291
350
|
const store=app.singleton.store
|
|
292
351
|
const decorator=app.singleton.decorator
|
|
293
352
|
const staticRouter=app.router.static.http
|
|
@@ -296,54 +355,60 @@ const router=app.router.http
|
|
|
296
355
|
const trace=app.event.trace?.map(x=>typeof x==='function'?x:x.fn)??[]
|
|
297
356
|
const notFound=new NotFoundError()
|
|
298
357
|
const hoc=app.extender.higherOrderFunctions.map(x=>x.fn)
|
|
299
|
-
`,
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
358
|
+
`,app.event.request?.length&&(fnLiteral+=`const onRequest=app.event.request.map(x=>x.fn)
|
|
359
|
+
`),app.event.afterResponse?.length&&(fnLiteral+=`const afterResponse=app.event.afterResponse.map(x=>x.fn)
|
|
360
|
+
`),fnLiteral+=error404.declare,app.event.trace?.length&&(fnLiteral+="const "+app.event.trace.map((_,i)=>`tr${i}=app.event.trace[${i}].fn`).join(",")+`
|
|
361
|
+
`),fnLiteral+=`${maybeAsync?"async ":""}function map(${adapter.parameters}){`,app.event.request?.length&&(fnLiteral+=`let re
|
|
362
|
+
`),fnLiteral+=adapter.createContext(app),app.event.trace?.length&&(fnLiteral+="c[ELYSIA_TRACE]=["+app.event.trace.map((_,i)=>`tr${i}(c)`).join(",")+`]
|
|
363
|
+
`),fnLiteral+=createOnRequestHandler(app),switchMap&&(fnLiteral+=`
|
|
305
364
|
map: switch(p){
|
|
306
|
-
`+
|
|
307
|
-
`+
|
|
308
|
-
|
|
309
|
-
`,
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
${
|
|
313
|
-
`,
|
|
314
|
-
`,
|
|
365
|
+
`+switchMap+"}"),fnLiteral+=findDynamicRoute+`}
|
|
366
|
+
`+createHoc(app);let handleError=composeErrorHandler(app);app.handleError=handleError;let fn=Function("data",`"use strict";
|
|
367
|
+
`+fnLiteral)({app,mapEarlyResponse:app["~adapter"].handler.mapEarlyResponse,NotFoundError,randomId,handleError,status,redirect,getResponseLength,ElysiaCustomStatusResponse,parseQueryFromURL:app.inference.query?parseQueryFromURL:void 0,ELYSIA_TRACE:hasTrace?ELYSIA_TRACE:void 0,ELYSIA_REQUEST_ID:hasTrace?ELYSIA_REQUEST_ID:void 0,...adapter.inject});return isBun&&Bun.gc(!1),fn},composeErrorHandler=(app)=>{let hooks=app.event,fnLiteral="",adapter=app["~adapter"].composeError,adapterVariables=adapter.inject?Object.keys(adapter.inject).join(",")+",":"",hasTrace=!!app.event.trace?.length;fnLiteral+="const {mapResponse,ERROR_CODE,ElysiaCustomStatusResponse,ValidationError,TransformDecodeError,"+allocateIf("onError,",app.event.error)+allocateIf("afterResponse,",app.event.afterResponse)+allocateIf("trace,",app.event.trace)+allocateIf("onMapResponse,",app.event.mapResponse)+allocateIf("ELYSIA_TRACE,",hasTrace)+allocateIf("ELYSIA_REQUEST_ID,",hasTrace)+adapterVariables+`}=inject
|
|
368
|
+
`,fnLiteral+="return async function(context,error,skipGlobal){",fnLiteral+="",hasTrace&&(fnLiteral+=`const id=context[ELYSIA_REQUEST_ID]
|
|
369
|
+
`);let report=createReport({context:"context",trace:hooks.trace,addFn:(word)=>{fnLiteral+=word}}),afterResponse=()=>{if(!hooks.afterResponse?.length&&!hasTrace)return"";let afterResponse2="",prefix=hooks.afterResponse?.some(isAsync)?"async":"";afterResponse2+=`
|
|
370
|
+
${setImmediateFn}(${prefix}()=>{`;let reporter=createReport({context:"context",trace:hooks.trace,addFn:(word)=>{afterResponse2+=word}})("afterResponse",{total:hooks.afterResponse?.length,name:"context"});if(hooks.afterResponse?.length&&hooks.afterResponse)for(let i=0;i<hooks.afterResponse.length;i++){let fn=hooks.afterResponse[i].fn,endUnit=reporter.resolveChild(fn.name);afterResponse2+=`
|
|
371
|
+
${isAsyncName(fn)?"await ":""}afterResponse[${i}](context)
|
|
372
|
+
`,endUnit()}return reporter.resolve(),afterResponse2+=`})
|
|
373
|
+
`,afterResponse2};fnLiteral+=`const set=context.set
|
|
315
374
|
let _r
|
|
316
375
|
if(!context.code)context.code=error.code??error[ERROR_CODE]
|
|
317
376
|
if(!(context.error instanceof Error))context.error=error
|
|
318
377
|
if(error instanceof ElysiaCustomStatusResponse){set.status=error.status=error.code
|
|
319
|
-
error.message=error.response}`,
|
|
320
|
-
|
|
321
|
-
if(
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
378
|
+
error.message=error.response}`,adapter.declare&&(fnLiteral+=adapter.declare);let saveResponse=hasTrace||hooks.afterResponse?.length?"context.response = ":"";if(fnLiteral+=`if(typeof error?.toResponse==='function'&&!(error instanceof ValidationError)&&!(error instanceof TransformDecodeError)){try{let raw=error.toResponse()
|
|
379
|
+
if(typeof raw?.then==='function')raw=await raw
|
|
380
|
+
if(raw instanceof Response)set.status=raw.status
|
|
381
|
+
context.response=context.responseValue=raw
|
|
382
|
+
}catch(toResponseError){
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
`,app.event.error)for(let i=0;i<app.event.error.length;i++){let handler=app.event.error[i],response=`${isAsync(handler)?"await ":""}onError[${i}](context)
|
|
386
|
+
`;if(fnLiteral+="if(skipGlobal!==true&&!context.response){",hasReturn(handler)){fnLiteral+=`_r=${response}
|
|
387
|
+
if(_r!==undefined){if(_r instanceof Response){`+afterResponse()+`return mapResponse(_r,set${adapter.mapResponseContext})}if(_r instanceof ElysiaCustomStatusResponse){error.status=error.code
|
|
388
|
+
error.message=error.response}if(set.status===200||!set.status)set.status=error.status
|
|
389
|
+
`;let mapResponseReporter2=report("mapResponse",{total:hooks.mapResponse?.length,name:"context"});if(hooks.mapResponse?.length)for(let i2=0;i2<hooks.mapResponse.length;i2++){let mapResponse=hooks.mapResponse[i2],endUnit=mapResponseReporter2.resolveChild(mapResponse.fn.name);fnLiteral+=`context.response=context.responseValue=_r
|
|
390
|
+
_r=${isAsyncName(mapResponse)?"await ":""}onMapResponse[${i2}](context)
|
|
391
|
+
`,endUnit()}mapResponseReporter2.resolve(),fnLiteral+=afterResponse()+`return mapResponse(${saveResponse}_r,set${adapter.mapResponseContext})}`}else fnLiteral+=response;fnLiteral+="}"}fnLiteral+=`if(error instanceof ValidationError||error instanceof TransformDecodeError){
|
|
325
392
|
if(error.error)error=error.error
|
|
326
393
|
set.status=error.status??422
|
|
327
|
-
`+
|
|
394
|
+
`+afterResponse()+adapter.validationError+`
|
|
328
395
|
}
|
|
329
|
-
`,
|
|
330
|
-
|
|
331
|
-
`+W.unknownError+`
|
|
332
|
-
}`;let U=J("mapResponse",{total:X.mapResponse?.length,name:"context"});if(Z+=`
|
|
396
|
+
`,fnLiteral+="if(!context.response&&error instanceof Error){"+afterResponse()+adapter.unknownError+`
|
|
397
|
+
}`;let mapResponseReporter=report("mapResponse",{total:hooks.mapResponse?.length,name:"context"});if(fnLiteral+=`
|
|
333
398
|
if(!context.response)context.response=context.responseValue=error.message??error
|
|
334
|
-
`,
|
|
335
|
-
`;for(let
|
|
336
|
-
if(mr!==undefined)error=context.response=context.responseValue=mr}`,
|
|
337
|
-
return mapResponse(${
|
|
338
|
-
`+
|
|
339
|
-
|
|
340
|
-
`,
|
|
399
|
+
`,hooks.mapResponse?.length){fnLiteral+=`let mr
|
|
400
|
+
`;for(let i=0;i<hooks.mapResponse.length;i++){let mapResponse=hooks.mapResponse[i],endUnit=mapResponseReporter.resolveChild(mapResponse.fn.name);fnLiteral+=`if(mr===undefined){mr=${isAsyncName(mapResponse)?"await ":""}onMapResponse[${i}](context)
|
|
401
|
+
if(mr!==undefined)error=context.response=context.responseValue=mr}`,endUnit()}}mapResponseReporter.resolve(),fnLiteral+=afterResponse()+`
|
|
402
|
+
return mapResponse(${saveResponse}error,set${adapter.mapResponseContext})}`;let mapFn=(x)=>typeof x=="function"?x:x.fn;return Function("inject",`"use strict";
|
|
403
|
+
`+fnLiteral)({mapResponse:app["~adapter"].handler.mapResponse,ERROR_CODE,ElysiaCustomStatusResponse,ValidationError,TransformDecodeError,onError:app.event.error?.map(mapFn),afterResponse:app.event.afterResponse?.map(mapFn),trace:app.event.trace?.map(mapFn),onMapResponse:app.event.mapResponse?.map(mapFn),ELYSIA_TRACE:hasTrace?ELYSIA_TRACE:void 0,ELYSIA_REQUEST_ID:hasTrace?ELYSIA_REQUEST_ID:void 0,...adapter.inject})};var allocateIf2=(value,condition)=>condition?value:"",createContext=(app,route,inference,isInline=!1)=>{let fnLiteral="",defaultHeaders=app.setHeaders,hasTrace=!!app.event.trace?.length;hasTrace&&(fnLiteral+=`const id=randomId()
|
|
404
|
+
`);let isDynamic=/[:*]/.test(route.path),getQi=`const u=request.url,s=u.indexOf('/',${app.config.handler?.standardHostname??!0?11:7}),qi=u.indexOf('?',s+1)
|
|
405
|
+
`,needsQuery=inference.query||!!route.hooks.query||!!route.hooks.standaloneValidator?.find((x)=>x.query)||app.event.request?.length;needsQuery&&(fnLiteral+=getQi);let getPath=inference.path?isDynamic?"get path(){"+(needsQuery?"":getQi)+`if(qi===-1)return u.substring(s)
|
|
341
406
|
return u.substring(s,qi)
|
|
342
|
-
}
|
|
343
|
-
|
|
344
|
-
`;
|
|
345
|
-
|
|
407
|
+
},`:`path:'${route.path}',`:"";fnLiteral+=allocateIf2("const c=",!isInline)+"{request,store,"+allocateIf2("qi,",needsQuery)+allocateIf2("params:request.params,",isDynamic)+getPath+allocateIf2("url:request.url,",hasTrace||inference.url||needsQuery)+"redirect,status,set:{headers:"+(isNotEmpty(defaultHeaders)?"Object.assign({},app.setHeaders)":"Object.create(null)")+",status:200}",inference.server&&(fnLiteral+=",get server(){return app.getServer()}"),hasTrace&&(fnLiteral+=",[ELYSIA_REQUEST_ID]:id");{let decoratorsLiteral="";for(let key of Object.keys(app.singleton.decorator))decoratorsLiteral+=`,'${key}':decorator['${key}']`;fnLiteral+=decoratorsLiteral}return fnLiteral+=`}
|
|
408
|
+
`,fnLiteral},createBunRouteHandler=(app,route)=>{let hasTrace=!!app.event.trace?.length,hasHoc=!!app.extender.higherOrderFunctions.length,inference=sucrose(route.hooks,app.inference);inference=sucrose({handler:route.handler},inference);let fnLiteral="const handler=data.handler,app=data.app,store=data.store,decorator=data.decorator,redirect=data.redirect,route=data.route,mapEarlyResponse=data.mapEarlyResponse,"+allocateIf2("randomId=data.randomId,",hasTrace)+allocateIf2("ELYSIA_REQUEST_ID=data.ELYSIA_REQUEST_ID,",hasTrace)+allocateIf2("ELYSIA_TRACE=data.ELYSIA_TRACE,",hasTrace)+allocateIf2("trace=data.trace,",hasTrace)+allocateIf2("hoc=data.hoc,",hasHoc)+`status=data.status
|
|
409
|
+
`;app.event.request?.length&&(fnLiteral+=`const onRequest=app.event.request.map(x=>x.fn)
|
|
410
|
+
`),fnLiteral+=`${app.event.request?.find(isAsync)?"async":""} function map(request){`;let needsQuery=inference.query||!!route.hooks.query||!!route.hooks.standaloneValidator?.find((x)=>x.query);return hasTrace||needsQuery||app.event.request?.length?(fnLiteral+=createContext(app,route,inference),fnLiteral+=createOnRequestHandler(app),fnLiteral+="return handler(c)}"):fnLiteral+=`return handler(${createContext(app,route,inference,!0)})}`,fnLiteral+=createHoc(app),Function("data",fnLiteral)({app,handler:route.compile?.()??route.composed,redirect,status,hoc:app.extender.higherOrderFunctions.map((x)=>x.fn),store:app.store,decorator:app.decorator,route:route.path,randomId:hasTrace?randomId:void 0,ELYSIA_TRACE:hasTrace?ELYSIA_TRACE:void 0,ELYSIA_REQUEST_ID:hasTrace?ELYSIA_REQUEST_ID:void 0,trace:hasTrace?app.event.trace?.map((x)=>x?.fn??x):void 0,mapEarlyResponse:mapEarlyResponse2})};var isEmptyPipelineHook=(hooks)=>{for(let key in hooks){switch(key){case"detail":case"tags":case"start":case"stop":case"error":case"afterResponse":continue}let value=hooks[key];if(value!==void 0&&value!==!1&&(!Array.isArray(value)||value.length))return!1}return!0},createNativeStaticHandler=(handle,hooks,set)=>{if(typeof handle=="function"||handle instanceof Blob||!isEmptyPipelineHook(hooks))return;if(isHTMLBundle(handle))return()=>handle;let response=mapResponse2(handle instanceof Response?handle.clone():handle instanceof Promise?handle.then((x)=>x instanceof Response?x.clone():isHTMLBundle(x)?()=>x:x):handle,set??{headers:{}});return response instanceof Promise?response.then((response2)=>{if(response2)return response2.clone()}):()=>response.clone()};function isInvalidResponse(validator,data){return validator?validator.provider==="standard"?validator.schema["~standard"].validate(data).issues:validator.Check(data)===!1:!1}var websocket={open(ws){ws.data.open?.(ws)},message(ws,message){ws.data.message?.(ws,message)},drain(ws){ws.data.drain?.(ws)},close(ws,code,reason){ws.data.close?.(ws,code,reason)},ping(ws){ws.data.ping?.(ws)},pong(ws){ws.data.pong?.(ws)}};class ElysiaWS{constructor(raw,data,body=void 0){this.raw=raw,this.data=data,this.body=body,this.validator=raw.data?.validator,this.sendText=raw.sendText.bind(raw),this.sendBinary=raw.sendBinary.bind(raw),this.close=raw.close.bind(raw),this.terminate=raw.terminate.bind(raw),this.publishText=raw.publishText.bind(raw),this.publishBinary=raw.publishBinary.bind(raw),this.subscribe=raw.subscribe.bind(raw),this.unsubscribe=raw.unsubscribe.bind(raw),this.isSubscribed=raw.isSubscribed.bind(raw),this.cork=raw.cork.bind(raw),this.remoteAddress=raw.remoteAddress,this.binaryType=raw.binaryType,this.data=raw.data,this.subscriptions=raw.subscriptions,this.send=this.send.bind(this),this.ping=this.ping.bind(this),this.pong=this.pong.bind(this),this.publish=this.publish.bind(this)}send(data,compress){return Buffer.isBuffer(data)?this.raw.send(data,compress):isInvalidResponse(this.validator,data)?this.raw.send(new ValidationError("message",this.validator,data).message):(typeof data=="object"&&(data=JSON.stringify(data)),this.raw.send(data,compress))}ping(data){return Buffer.isBuffer(data)?this.raw.ping(data):isInvalidResponse(this.validator,data)?this.raw.send(new ValidationError("message",this.validator,data).message):(typeof data=="object"&&(data=JSON.stringify(data)),this.raw.ping(data))}pong(data){return Buffer.isBuffer(data)?this.raw.pong(data):isInvalidResponse(this.validator,data)?this.raw.send(new ValidationError("message",this.validator,data).message):(typeof data=="object"&&(data=JSON.stringify(data)),this.raw.pong(data))}publish(topic,data,compress){return Buffer.isBuffer(data)?this.raw.publish(topic,data,compress):isInvalidResponse(this.validator,data)?this.raw.send(new ValidationError("message",this.validator,data).message):(typeof data=="object"&&(data=JSON.stringify(data)),this.raw.publish(topic,data,compress))}get readyState(){return this.raw.readyState}get id(){return this.data.id}}var createWSMessageParser=(parse)=>{let parsers=typeof parse=="function"?[parse]:parse;return async function(ws,message){if(typeof message=="string"){let start=message?.charCodeAt(0);if(start===34||start===47||start===91||start===123)try{message=JSON.parse(message)}catch{}else isNumericString(message)?message=+message:message==="true"?message=!0:message==="false"?message=!1:message==="null"&&(message=null)}if(parsers)for(let i=0;i<parsers.length;i++){let temp=parsers[i](ws,message);if(temp instanceof Promise&&(temp=await temp),temp!==void 0)return temp}return message}},createHandleWSResponse=(responseValidator)=>{let handleWSResponse=(ws,data)=>{if(data instanceof Promise)return data.then((data2)=>handleWSResponse(ws,data2));if(Buffer.isBuffer(data))return ws.send(data.toString());if(data===void 0)return;let send=(datum)=>{if(datum!==void 0){if(isInvalidResponse(responseValidator,datum))return ws.send(new ValidationError("message",responseValidator,datum).message);if(typeof datum=="object")return ws.send(JSON.stringify(datum));ws.send(datum)}};if(typeof data?.next!="function")return void send(data);let init=data.next();if(init instanceof Promise)return(async()=>{let first=await init;if(send(first.value),!first.done)for await(let datum of data)send(datum)})();if(send(init.value),!init.done)for(let datum of data)send(datum)};return handleWSResponse};var optionalParam=/:.+?\?(?=\/|$)/,getPossibleParams=(path)=>{let match=optionalParam.exec(path);if(!match)return[path];let routes=[],head=path.slice(0,match.index),param=match[0].slice(0,-1),tail=path.slice(match.index+match[0].length);routes.push(head.slice(0,-1)),routes.push(head+param);for(let fragment of getPossibleParams(tail))fragment&&(fragment.startsWith("/:")||routes.push(head.slice(0,-1)+fragment),routes.push(head+param+fragment));return routes},isHTMLBundle=(handle)=>typeof handle=="object"&&handle!==null&&(handle.toString()==="[object HTMLBundle]"||typeof handle.index=="string"),supportedMethods={GET:!0,HEAD:!0,OPTIONS:!0,DELETE:!0,PATCH:!0,POST:!0,PUT:!0},mapRoutes=(app)=>{if(!app.config.aot||app.config.systemRouter===!1)return;let routes={},add=(route,handler)=>{let path=encodeURI(route.path);routes[path]?routes[path][route.method]||(routes[path][route.method]=handler):routes[path]={[route.method]:handler}},tree=app.routeTree;for(let route of app.router.history){if(typeof route.handler!="function")continue;let method=route.method;if(method==="GET"&&`WS_${route.path}`in tree||method==="WS"||route.path.charCodeAt(route.path.length-1)===42||!(method in supportedMethods))continue;if(method==="ALL"){`WS_${route.path}`in tree||(routes[route.path]=route.hooks?.config?.mount?route.hooks.trace||app.event.trace||app.extender.higherOrderFunctions?createBunRouteHandler(app,route):route.hooks.mount||route.handler:route.handler);continue}let compiled,handler=app.config.precompile?createBunRouteHandler(app,route):(request)=>compiled?compiled(request):(compiled=createBunRouteHandler(app,route))(request);for(let path of getPossibleParams(route.path))add({method,path},handler)}return routes},mergeRoutes=(r1,r2)=>{if(!r2)return r1;for(let key of Object.keys(r2))if(r1[key]!==r2[key]){if(!r1[key]){r1[key]=r2[key];continue}if(r1[key]&&r2[key]){if(typeof r1[key]=="function"||r1[key]instanceof Response){r1[key]=r2[key];continue}r1[key]={...r1[key],...r2[key]}}}return r1},removeTrailingPath=(routes)=>{for(let key of Object.keys(routes))key.length>1&&key.charCodeAt(key.length-1)===47&&(routes[key.slice(0,-1)]=routes[key],delete routes[key]);return routes},BunAdapter={...WebStandardAdapter,name:"bun",handler:{mapResponse:mapResponse2,mapEarlyResponse:mapEarlyResponse2,mapCompactResponse:mapCompactResponse2,createStaticHandler:createStaticHandler2,createNativeStaticHandler},composeHandler:{...WebStandardAdapter.composeHandler,headers:hasHeaderShorthand?`c.headers=c.request.headers.toJSON()
|
|
346
411
|
`:`c.headers={}
|
|
347
412
|
for(const [k,v] of c.request.headers.entries())c.headers[k]=v
|
|
348
|
-
`},listen(Y){return(X,Z)=>{if(typeof Bun>"u")throw 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(Y.compile(),typeof X==="string"){if(!HQ(X))throw Error("Port must be a numeric value");X=parseInt(X)}let W=(Q,{withAsync:J=!1}={})=>{let M={},z=[];for(let[U,G]of Object.entries(Q))if(U=encodeURI(U),qQ){if(!G)continue;for(let[D,S]of Object.entries(G)){if(!S||!(D in kQ))continue;if(S instanceof Promise){if(J){if(!M[U])M[U]={};z.push(S.then((N)=>{if(N instanceof Response)M[U][D]=N;if(_W(N))M[U][D]=N}))}continue}if(!(S instanceof Response)&&!_W(S))continue;if(!M[U])M[U]={};M[U][D]=S}}else{if(!G)continue;if(G instanceof Promise){if(J){if(!M[U])M[U]={};z.push(G.then((D)=>{if(D instanceof Response)M[U]=D}))}continue}if(!(G instanceof Response))continue;M[U]=G}if(J)return Promise.all(z).then(()=>M);return M},$=typeof X==="object"?{development:!AX,reusePort:!0,idleTimeout:30,...Y.config.serve||{},...X||{},routes:U1(U1(W(Y.router.response),BW(Y)),Y.config.serve?.routes),websocket:{...Y.config.websocket||{},...WQ||{},...X.websocket||{}},fetch:Y.fetch}:{development:!AX,reusePort:!0,idleTimeout:30,...Y.config.serve||{},routes:U1(U1(W(Y.router.response),BW(Y)),Y.config.serve?.routes),websocket:{...Y.config.websocket||{},...WQ||{}},port:X,fetch:Y.fetch};if(Y.server=Bun.serve($),Y.event.start)for(let Q=0;Q<Y.event.start.length;Q++)Y.event.start[Q].fn(Y);if(Z)Z(Y.server);process.on("beforeExit",()=>{if(Y.server){if(Y.server.stop?.(),Y.server=null,Y.event.stop)for(let Q=0;Q<Y.event.stop.length;Q++)Y.event.stop[Q].fn(Y)}}),Y.promisedModules.then(async()=>{Y.server?.reload({...$,fetch:Y.fetch,routes:U1(U1(await W(Y.router.response,{withAsync:!0}),BW(Y)),Y.config.serve?.routes)}),Bun?.gc(!1)})}},async stop(Y,X){if(Y.server){if(Y.server.stop(X),Y.server=null,Y.event.stop?.length)for(let Z=0;Z<Y.event.stop.length;Z++)Y.event.stop[Z].fn(Y)}else console.log("Elysia isn't running. Call `app.listen` to start the server.",Error().stack)},ws(Y,X,Z){let{parse:W,body:$,response:Q,...J}=Z,M=e0($,{modules:Y.definitions.typebox,models:Y.definitions.type,normalize:Y.config.normalize}),z=e0(Q,{modules:Y.definitions.typebox,models:Y.definitions.type,normalize:Y.config.normalize});Y.route("WS",X,async(U)=>{let G=U.server??Y.server,{set:D,path:S,qi:N,headers:H,query:q,params:F}=U;if(U.validator=z,Z.upgrade){if(typeof Z.upgrade==="function"){let T=Z.upgrade(U);if(T instanceof Promise)await T}else if(Z.upgrade)Object.assign(D.headers,Z.upgrade)}if(D.cookie&&V0(D.cookie)){let T=SQ(D.cookie);if(T)D.headers["set-cookie"]=T}if(D.headers["set-cookie"]&&Array.isArray(D.headers["set-cookie"]))D.headers=PQ(new Headers(D.headers),D.headers["set-cookie"]);let C=lH(z),w=iH(W),h;if(typeof Z.beforeHandle==="function"){let T=Z.beforeHandle(U);if(T instanceof Promise)await T}let n=[...Z.error?Array.isArray(Z.error)?Z.error:[Z.error]:[],...(Y.event.error??[]).map((T)=>typeof T==="function"?T:T.fn)].filter((T)=>T),s=n.length>0,f=!s?()=>{}:async(T,y)=>{for(let R of n){let E=R(Object.assign(U,{error:y}));if(E instanceof Promise)E=await E;if(await C(T,E),E)break}};if(G?.upgrade(U.request,{headers:V0(D.headers)?D.headers:void 0,data:{...U,get id(){if(h)return h;return h=GZ()},validator:z,ping(T){Z.ping?.(T)},pong(T){Z.pong?.(T)},open:async(T)=>{try{await C(T,Z.open?.(new n1(T,U)))}catch(y){f(T,y)}},message:async(T,y)=>{let R=await w(T,y);if(M?.Check(R)===!1){let E=new A0("message",M,R);if(!s)return void T.send(E.message);return f(T,E)}try{await C(T,Z.message?.(new n1(T,U,R),R))}catch(E){f(T,E)}},drain:async(T)=>{try{await C(T,Z.drain?.(new n1(T,U)))}catch(y){f(T,y)}},close:async(T,y,R)=>{try{await C(T,Z.close?.(new n1(T,U),y,R))}catch(E){f(T,E)}}}}))return;return D.status=400,"Expected a websocket connection"},{...J,websocket:Z})}},$Q=H1?Bun.env:typeof process<"u"&&process?.env?process.env:{},NW=(Y,X)=>{let Z=Y.schema;if(!Z)return;if(Z.$defs?.[Z.$ref])Z=Z.$defs[Z.$ref];if(!Z?.properties)return;for(let[W,$]of Object.entries(Z.properties))X[W]??=$.default},QQ=(Y)=>{let{mapResponse:X,mapEarlyResponse:Z}=Y["~adapter"].handler,W=Y.setHeaders;return async($)=>{let Q=$.url,J=Q.indexOf("/",11),M=Q.indexOf("?",J+1),z=M===-1?Q.substring(J):Q.substring(J,M),U={cookie:{},status:200,headers:W?{...W}:{}},G=Object.assign({},Y.singleton.decorator,{set:U,store:Y.singleton.store,request:$,path:z,qi:M,error:a1,status:a1,redirect:UZ});try{if(Y.event.request)for(let R=0;R<Y.event.request.length;R++){let E=Y.event.request[R].fn,b=E(G);if(b instanceof Promise)b=await b;if(b=Z(b,U),b)return G.response=b}let D=$.method==="GET"&&$.headers.get("upgrade")?.toLowerCase()==="websocket"?"WS":$.method,S=Y.router.dynamic.find($.method,z)??Y.router.dynamic.find(D,z)??Y.router.dynamic.find("ALL",z);if(!S)throw G.query=M===-1?{}:G1(Q.substring(M+1)),new jW;let{handle:N,hooks:H,validator:q,content:F,route:C}=S.store,w;if($.method!=="GET"&&$.method!=="HEAD")if(F)switch(F){case"application/json":w=await $.json();break;case"text/plain":w=await $.text();break;case"application/x-www-form-urlencoded":w=G1(await $.text());break;case"application/octet-stream":w=await $.arrayBuffer();break;case"multipart/form-data":w={};let R=await $.formData();for(let E of R.keys()){if(w[E])continue;let b=R.getAll(E);if(b.length===1)w[E]=b[0];else w[E]=b}break}else{let R;if($.body)R=$.headers.get("content-type");if(R){let E=R.indexOf(";");if(E!==-1)R=R.slice(0,E);if(G.contentType=R,H.parse)for(let b=0;b<H.parse.length;b++){let m=H.parse[b].fn;if(typeof m==="string")switch(m){case"json":case"application/json":w=await $.json();break;case"text":case"text/plain":w=await $.text();break;case"urlencoded":case"application/x-www-form-urlencoded":w=G1(await $.text());break;case"arrayBuffer":case"application/octet-stream":w=await $.arrayBuffer();break;case"formdata":case"multipart/form-data":w={};let c=await $.formData();for(let o of c.keys()){if(w[o])continue;let LX=c.getAll(o);if(LX.length===1)w[o]=LX[0];else w[o]=LX}break;default:let h0=Y["~parser"][m];if(h0){let o=h0(G,R);if(o instanceof Promise)o=await o;if(o){w=o;break}}break}else{let c=m(G,R);if(c instanceof Promise)c=await c;if(c){w=c;break}}}if(delete G.contentType,w===void 0)switch(R){case"application/json":w=await $.json();break;case"text/plain":w=await $.text();break;case"application/x-www-form-urlencoded":w=G1(await $.text());break;case"application/octet-stream":w=await $.arrayBuffer();break;case"multipart/form-data":w={};let b=await $.formData();for(let m of b.keys()){if(w[m])continue;let c=b.getAll(m);if(c.length===1)w[m]=c[0];else w[m]=c}break}}}G.route=C,G.body=w,G.params=S?.params||void 0,G.query=M===-1?{}:G1(Q.substring(M+1)),G.headers={};for(let[R,E]of $.headers.entries())G.headers[R]=E;let h={domain:Y.config.cookie?.domain??q?.cookie?.config.domain,expires:Y.config.cookie?.expires??q?.cookie?.config.expires,httpOnly:Y.config.cookie?.httpOnly??q?.cookie?.config.httpOnly,maxAge:Y.config.cookie?.maxAge??q?.cookie?.config.maxAge,path:Y.config.cookie?.path??q?.cookie?.config.path,priority:Y.config.cookie?.priority??q?.cookie?.config.priority,partitioned:Y.config.cookie?.partitioned??q?.cookie?.config.partitioned,sameSite:Y.config.cookie?.sameSite??q?.cookie?.config.sameSite,secure:Y.config.cookie?.secure??q?.cookie?.config.secure,secrets:Y.config.cookie?.secrets??q?.cookie?.config.secrets,sign:Y.config.cookie?.sign??q?.cookie?.config.sign},n=$.headers.get("cookie");G.cookie=await OQ(G.set,n,h);let s=q?.createHeaders?.();if(s)NW(s,G.headers);let f=q?.createParams?.();if(f)NW(f,G.params);let T=q?.createQuery?.();if(T)NW(T,G.query);if(H.transform)for(let R=0;R<H.transform.length;R++){let E=H.transform[R],b=E.fn(G);if(b instanceof Promise)b=await b;if(b instanceof z8){let m=Z(b,G.set);if(m)return G.response=m}if(E.subType==="derive")Object.assign(G,b)}if(q){if(s){let R=structuredClone(G.headers);for(let[E,b]of $.headers)R[E]=b;if(q.headers.Check(R)===!1)throw new A0("header",q.headers,R)}else if(q.headers?.Decode)G.headers=q.headers.Decode(G.headers);if(f?.Check(G.params)===!1)throw new A0("params",q.params,G.params);else if(q.params?.Decode)G.params=q.params.Decode(G.params);if(q.query?.schema){let R=q.query.schema;if(R.$defs?.[R.$ref])R=R.$defs[R.$ref];let E=R.properties;for(let b of Object.keys(E)){let m=E[b];if((m.type==="array"||m.items?.type==="string")&&typeof G.query[b]==="string"&&G.query[b])G.query[b]=G.query[b].split(",")}}if(T?.Check(G.query)===!1)throw new A0("query",q.query,G.query);else if(q.query?.Decode)G.query=q.query.Decode(G.query);if(q.createCookie?.()){let R={};for(let[E,b]of Object.entries(G.cookie))R[E]=b.value;if(q.cookie.Check(R)===!1)throw new A0("cookie",q.cookie,R);else if(q.cookie?.Decode)R=q.cookie.Decode(R)}if(q.createBody?.()?.Check(w)===!1)throw new A0("body",q.body,w);else if(q.body?.Decode)G.body=q.body.Decode(w)}if(H.beforeHandle)for(let R=0;R<H.beforeHandle.length;R++){let E=H.beforeHandle[R],b=E.fn(G);if(b instanceof Promise)b=await b;if(b instanceof z8){let m=Z(b,G.set);if(m)return G.response=m}if(E.subType==="resolve"){Object.assign(G,b);continue}if(b!==void 0){if(G.response=b,H.afterHandle)for(let c=0;c<H.afterHandle.length;c++){let h0=H.afterHandle[c].fn(G);if(h0 instanceof Promise)h0=await h0;if(h0)b=h0}let m=Z(b,G.set);if(m)return G.response=m}}let y=typeof N==="function"?N(G):N;if(y instanceof Promise)y=await y;if(!H.afterHandle?.length){let R=y instanceof z8,E=R?y.code:U.status?typeof U.status==="string"?r1[U.status]:U.status:200;if(R)U.status=E,y=y.response;let b=q?.createResponse?.()?.[E];if(b?.Check(y)===!1)if(b?.Clean){let m=b.Clean(y);if(b?.Check(m)===!1)throw new A0("response",b,y);y=m}else throw new A0("response",b,y);if(b?.Encode)y=b.Encode(y);if(b?.Clean)y=b.Clean(y)}else{G.response=y;for(let R=0;R<H.afterHandle.length;R++){let E=H.afterHandle[R].fn(G);if(E instanceof Promise)E=await E;let b=E instanceof z8,m=b?E.code:U.status?typeof U.status==="string"?r1[U.status]:U.status:200;if(b)U.status=m,E=E.response;let c=q?.createResponse?.()?.[m];if(c?.Check(E)===!1)if(c?.Clean){let o=c.Clean(E);if(c?.Check(o)===!1)throw new A0("response",c,E);E=o}else throw new A0("response",c,E);if(c?.Encode)G.response=E=c.Encode(E);if(c?.Clean)G.response=E=c.Clean(E);let h0=Z(E,G.set);if(h0!==void 0)return G.response=h0}}if(G.set.cookie&&h?.sign){let R=!h.secrets?void 0:typeof h.secrets==="string"?h.secrets:h.secrets[0];if(h.sign===!0){if(R)for(let[E,b]of Object.entries(G.set.cookie))G.set.cookie[E].value=await e6(b.value,R)}else{let E=q?.cookie?.schema?.properties;if(R)for(let b of h.sign){if(!(b in E))continue;if(G.set.cookie[b]?.value)G.set.cookie[b].value=await e6(G.set.cookie[b].value,R)}}}return X(G.response=y,G.set)}catch(D){let S=D instanceof m6&&D.error?D.error:D;return Y.handleError(G,S)}finally{if(Y.event.afterResponse)setImmediate(async()=>{for(let D of Y.event.afterResponse)await D.fn(G)})}}},tH=(Y)=>{let{mapResponse:X}=Y["~adapter"].handler;return async(Z,W)=>{let $=Object.assign(Z,{error:W,code:W.code});if($.set=Z.set,Y.event.error)for(let Q=0;Q<Y.event.error.length;Q++){let J=Y.event.error[Q].fn($);if(J instanceof Promise)J=await J;if(J!==void 0&&J!==null)return Z.response=X(J,Z.set)}return new Response(typeof W.cause==="string"?W.cause:W.message,{headers:Z.set.headers,status:W.status??500})}};class t8{config;server=null;dependencies={};"~Prefix"="";"~Singleton"=null;"~Definitions"=null;"~Metadata"=null;"~Ephemeral"=null;"~Volatile"=null;"~Routes"=null;singleton={decorator:{},store:{},derive:{},resolve:{}};get store(){return this.singleton.store}get decorator(){return this.singleton.decorator}definitions={typebox:I.Module({}),type:{},error:{}};extender={macro:{},higherOrderFunctions:[]};validator={global:null,scoped:null,local:null,getCandidate(){if(!this.global&&!this.scoped&&!this.local)return{body:void 0,headers:void 0,params:void 0,query:void 0,cookie:void 0,response:void 0};return h1(h1(this.global,this.scoped),this.local)}};standaloneValidator={global:null,scoped:null,local:null};event={};telemetry;router={"~http":void 0,get http(){if(!this["~http"])this["~http"]=new B1({lazy:!0,onParam:x9.default});return this["~http"]},"~dynamic":void 0,get dynamic(){if(!this["~dynamic"])this["~dynamic"]=new B1({onParam:x9.default});return this["~dynamic"]},static:{},response:{},history:[]};routeTree={};get routes(){return this.router.history}getGlobalRoutes(){return this.router.history}getGlobalDefinitions(){return this.definitions}inference={body:!1,cookie:!1,headers:!1,query:!1,set:!1,server:!1,path:!1,route:!1,url:!1};getServer(){return this.server}getParent(){return null}"~parser"={};_promisedModules;get promisedModules(){if(!this._promisedModules)this._promisedModules=new AQ(console.error,()=>{});return this._promisedModules}constructor(Y={}){if(Y.tags)if(!Y.detail)Y.detail={tags:Y.tags};else Y.detail.tags=Y.tags;if(this.config={aot:$Q.ELYSIA_AOT!=="false",nativeStaticResponse:!0,systemRouter:!0,encodeSchema:!0,normalize:!0,...Y,prefix:Y.prefix?Y.prefix.charCodeAt(0)===47?Y.prefix:`/${Y.prefix}`:void 0,cookie:{path:"/",...Y?.cookie},experimental:Y?.experimental??{},seed:Y?.seed===void 0?"":Y?.seed},this["~adapter"]=Y.adapter??(typeof Bun<"u"?oH:N1),Y?.analytic&&(Y?.name||Y?.seed!==void 0))this.telemetry={stack:Error().stack}}"~adapter";env(Y,X=$Q){if(e0(Y,{modules:this.definitions.typebox,dynamic:!0,additionalProperties:!0,coerce:!0,sanitize:()=>this.config.sanitize}).Check(X)===!1){let Z=new A0("env",Y,X);throw Error(Z.all.map((W)=>W.summary).join(`
|
|
349
|
-
`))}return this}wrap(Y){return this.extender.higherOrderFunctions.push({checksum:u1(JSON.stringify({name:this.config.name,seed:this.config.seed,content:Y.toString()})),fn:Y}),this}get models(){let Y={};for(let X of Object.keys(this.definitions.type))Y[X]=e0(this.definitions.typebox.Import(X));return Y.modules=this.definitions.typebox,Y}add(Y,X,Z,W,$){let Q=$?.skipPrefix??!1,J=$?.allowMeta??!1;W??={},this.applyMacro(W);let M=[];if(W.standaloneValidator)M=M.concat(W.standaloneValidator);if(this.standaloneValidator.local)M=M.concat(this.standaloneValidator.local);if(this.standaloneValidator.scoped)M=M.concat(this.standaloneValidator.scoped);if(this.standaloneValidator.global)M=M.concat(this.standaloneValidator.global);if(X!==""&&X.charCodeAt(0)!==47)X="/"+X;if(this.config.prefix&&!Q)X=this.config.prefix+X;if(W?.type)switch(W.type){case"text":W.type="text/plain";break;case"json":W.type="application/json";break;case"formdata":W.type="multipart/form-data";break;case"urlencoded":W.type="application/x-www-form-urlencoded";break;case"arrayBuffer":W.type="application/octet-stream";break;default:break}let z=this.validator.getCandidate(),U={body:W?.body??z?.body,headers:W?.headers??z?.headers,params:W?.params??z?.params,query:W?.query??z?.query,cookie:W?.cookie??z?.cookie,response:W?.response??z?.response},G=this.config.precompile===!0||typeof this.config.precompile==="object"&&this.config.precompile.compose===!0,D=()=>{let R=this.definitions.type,E=!this.config.aot,b=this.config.normalize,m=this.definitions.typebox,c=()=>this.config.sanitize,h0=()=>{if(U.cookie||M.find((o)=>o.cookie))return dH({modules:m,validator:U.cookie,defaultConfig:this.config.cookie,normalize:b,config:U.cookie?.config??{},dynamic:E,models:R,validators:M.map((o)=>o.cookie),sanitize:c})};return G?{body:e0(U.body,{modules:m,dynamic:E,models:R,normalize:b,additionalCoerce:PW(),validators:M.map((o)=>o.body),sanitize:c}),headers:e0(U.headers,{modules:m,dynamic:E,models:R,additionalProperties:!0,coerce:!0,additionalCoerce:i1(),validators:M.map((o)=>o.headers),sanitize:c}),params:e0(U.params,{modules:m,dynamic:E,models:R,coerce:!0,additionalCoerce:i1(),validators:M.map((o)=>o.params),sanitize:c}),query:e0(U.query,{modules:m,dynamic:E,models:R,normalize:b,coerce:!0,additionalCoerce:XQ(),validators:M.map((o)=>o.query),sanitize:c}),cookie:h0(),response:YQ(U.response,{modules:m,dynamic:E,models:R,normalize:b,validators:M.map((o)=>o.response),sanitize:c})}:{createBody(){if(this.body)return this.body;return this.body=e0(U.body,{modules:m,dynamic:E,models:R,normalize:b,additionalCoerce:PW(),validators:M.map((o)=>o.body),sanitize:c})},createHeaders(){if(this.headers)return this.headers;return this.headers=e0(U.headers,{modules:m,dynamic:E,models:R,normalize:b,additionalProperties:!b,coerce:!0,additionalCoerce:i1(),validators:M.map((o)=>o.headers),sanitize:c})},createParams(){if(this.params)return this.params;return this.params=e0(U.params,{modules:m,dynamic:E,models:R,normalize:b,coerce:!0,additionalCoerce:i1(),validators:M.map((o)=>o.params),sanitize:c})},createQuery(){if(this.query)return this.query;return this.query=e0(U.query,{modules:m,dynamic:E,models:R,normalize:b,coerce:!0,additionalCoerce:XQ(),validators:M.map((o)=>o.query),sanitize:c})},createCookie(){if(this.cookie)return this.cookie;return this.cookie=h0()},createResponse(){if(this.response)return this.response;return this.response=YQ(U.response,{modules:m,dynamic:E,models:R,normalize:b,validators:M.map((o)=>o.response),sanitize:c})}}};if(z.body||z.cookie||z.headers||z.params||z.query||z.response)W=TX(W,z);if(W.tags)if(!W.detail)W.detail={tags:W.tags};else W.detail.tags=W.tags;if(V0(this.config.detail))W.detail=W8(Object.assign({},this.config.detail),W.detail);let S=V0(this.event)?TX(this.event,c9(W)):{...XH(c9(W))};if(M.length)Object.assign(S,{standaloneValidator:M});if(this.config.aot===!1){let R=D();this.router.dynamic.add(Y,X,{validator:R,hooks:S,content:W?.type,handle:Z,route:X});let E=p1(X,{dynamic:!0});if(X!==E)this.router.dynamic.add(Y,E,{validator:R,hooks:S,content:W?.type,handle:Z,route:X});if(this.config.strictPath===!1){let b=c1(X);this.router.dynamic.add(Y,b,{validator:R,hooks:S,content:W?.type,handle:Z,route:X});let m=p1(b);if(b!==m)this.router.dynamic.add(Y,b,{validator:R,hooks:S,content:W?.type,handle:Z,route:X})}this.router.history.push({method:Y,path:X,composed:null,handler:Z,compile:void 0,hooks:S});return}let N=this["~adapter"].handler,H=typeof Z!=="function"?()=>{let R={redirect:UZ,request:this["~adapter"].isWebStandard?new Request(`http://e.ly${X}`,{method:Y}):void 0,server:null,set:{headers:Object.assign({},this.setHeaders)},status:a1,store:this.store};try{this.event.request?.map((b)=>{if(typeof b.fn==="function")return b.fn(R);if(typeof b==="function")return b(R)})}catch(b){let m;if(R.error=b,this.event.error?.some((c)=>{if(typeof c.fn==="function")return m=c.fn(R);if(typeof c==="function")return m=c(R)}),m!==void 0)Z=m}let E=N.createNativeStaticHandler?.(Z,S,R.set);return E instanceof Promise?E.then((b)=>{if(b)return b}):E?.()}:void 0,q=this.config.nativeStaticResponse===!0,F=(R)=>{if(!q||!H)return;if(qQ)if(this.router.response[R])this.router.response[R][Y]=H();else this.router.response[R]={[Y]:H()};else this.router.response[R]=H()};F(X);let C,w=()=>{if(C)return C;return C=cH({app:this,path:X,method:Y,hooks:S,validator:D(),handler:typeof Z!=="function"&&typeof N.createStaticHandler!=="function"?()=>Z:Z,allowMeta:J,inference:this.inference})},h;if(`${Y}_${X}`in this.routeTree)for(let R=0;R<this.router.history.length;R++){let E=this.router.history[R];if(E.path===X&&E.method===Y){h=R;break}}else this.routeTree[`${Y}_${X}`]=this.router.history.length;let n=h??this.router.history.length,s=G?w():(R)=>(this.router.history[n].composed=w())(R);if(h!==void 0)this.router.history[h]=Object.assign({method:Y,path:X,composed:s,compile:w,handler:Z,hooks:S},M.length?{standaloneValidators:M}:void 0,W.webSocket?{websocket:W.websocket}:void 0);else this.router.history.push(Object.assign({method:Y,path:X,composed:s,compile:w,handler:Z,hooks:S},W.webSocket?{websocket:W.websocket}:void 0));let f={handler:G?s:void 0,compile(){return this.handler=w()}},T=this.router.static,y=X.indexOf(":")===-1&&X.indexOf("*")===-1;if(Y==="WS"){if(y){if(X in T)T[X][Y]=n;else T[X]={[Y]:n};return}if(this.router.http.add("WS",X,f),!this.config.strictPath)this.router.http.add("WS",c1(X),f);let R=p1(X,{dynamic:!0});if(X!==R)this.router.http.add("WS",R,f);return}if(y){if(X in T)T[X][Y]=n;else T[X]={[Y]:n};if(!this.config.strictPath)F(c1(X))}else{if(this.router.http.add(Y,X,f),!this.config.strictPath){let E=c1(X);F(E),this.router.http.add(Y,E,f)}let R=p1(X,{dynamic:!0});if(X!==R)this.router.http.add(Y,R,f),F(R)}}setHeaders;headers(Y){if(!Y)return this;if(!this.setHeaders)this.setHeaders={};return this.setHeaders=W8(this.setHeaders,Y),this}onStart(Y){return this.on("start",Y),this}onRequest(Y){return this.on("request",Y),this}onParse(Y,X){if(!X){if(typeof Y==="string")return this.on("parse",this["~parser"][Y]);return this.on("parse",Y)}return this.on(Y,"parse",X)}parser(Y,X){return this["~parser"][Y]=X,this}onTransform(Y,X){if(!X)return this.on("transform",Y);return this.on(Y,"transform",X)}resolve(Y,X){if(!X)X=Y,Y={as:"local"};let Z={subType:"resolve",fn:X};return this.onBeforeHandle(Y,Z)}mapResolve(Y,X){if(!X)X=Y,Y={as:"local"};let Z={subType:"mapResolve",fn:X};return this.onBeforeHandle(Y,Z)}onBeforeHandle(Y,X){if(!X)return this.on("beforeHandle",Y);return this.on(Y,"beforeHandle",X)}onAfterHandle(Y,X){if(!X)return this.on("afterHandle",Y);return this.on(Y,"afterHandle",X)}mapResponse(Y,X){if(!X)return this.on("mapResponse",Y);return this.on(Y,"mapResponse",X)}onAfterResponse(Y,X){if(!X)return this.on("afterResponse",Y);return this.on(Y,"afterResponse",X)}trace(Y,X){if(!X)X=Y,Y={as:"local"};if(!Array.isArray(X))X=[X];for(let Z of X)this.on(Y,"trace",VH(Z));return this}error(Y,X){switch(typeof Y){case"string":return X.prototype[YZ]=Y,this.definitions.error[Y]=X,this;case"function":return this.definitions.error=Y(this.definitions.error),this}for(let[Z,W]of Object.entries(Y))W.prototype[YZ]=Z,this.definitions.error[Z]=W;return this}onError(Y,X){if(!X)return this.on("error",Y);return this.on(Y,"error",X)}onStop(Y){return this.on("stop",Y),this}on(Y,X,Z){let W;switch(typeof Y){case"string":W=Y,Z=X;break;case"object":if(W=X,!Array.isArray(X)&&typeof X==="object")Z=X;break}if(Array.isArray(Z))Z=a0(Z);else if(typeof Z==="function")Z=[{fn:Z}];else Z=[Z];let $=Z;for(let Q of $)if(Q.scope=typeof Y==="string"?"local":Y?.as??"local",W==="resolve"||W==="derive")Q.subType=W;if(W!=="trace")this.inference=QZ({[W]:$.map((Q)=>Q.fn)},this.inference,this.config.sucrose);for(let Q of $){let J=WH(Q,"global",{skipIfHasType:!0});switch(W){case"start":this.event.start??=[],this.event.start.push(J);break;case"request":this.event.request??=[],this.event.request.push(J);break;case"parse":this.event.parse??=[],this.event.parse.push(J);break;case"transform":this.event.transform??=[],this.event.transform.push(J);break;case"derive":this.event.transform??=[],this.event.transform.push(a0(J,"derive"));break;case"beforeHandle":this.event.beforeHandle??=[],this.event.beforeHandle.push(J);break;case"resolve":this.event.beforeHandle??=[],this.event.beforeHandle.push(a0(J,"resolve"));break;case"afterHandle":this.event.afterHandle??=[],this.event.afterHandle.push(J);break;case"mapResponse":this.event.mapResponse??=[],this.event.mapResponse.push(J);break;case"afterResponse":this.event.afterResponse??=[],this.event.afterResponse.push(J);break;case"trace":this.event.trace??=[],this.event.trace.push(J);break;case"error":this.event.error??=[],this.event.error.push(J);break;case"stop":this.event.stop??=[],this.event.stop.push(J);break}}return this}as(Y){if(NX(this.event.parse,Y),NX(this.event.transform,Y),NX(this.event.beforeHandle,Y),NX(this.event.afterHandle,Y),NX(this.event.mapResponse,Y),NX(this.event.afterResponse,Y),NX(this.event.trace,Y),NX(this.event.error,Y),Y==="scoped"){if(this.validator.scoped=h1(this.validator.scoped,this.validator.local),this.validator.local=null,this.standaloneValidator.local!==null)this.standaloneValidator.scoped||=[],this.standaloneValidator.scoped.push(...this.standaloneValidator.local),this.standaloneValidator.local=null}else if(Y==="global"){if(this.validator.global=h1(this.validator.global,h1(this.validator.scoped,this.validator.local)),this.validator.scoped=null,this.validator.local=null,this.standaloneValidator.local!==null)this.standaloneValidator.scoped||=[],this.standaloneValidator.scoped.push(...this.standaloneValidator.local),this.standaloneValidator.local=null;if(this.standaloneValidator.scoped!==null)this.standaloneValidator.global||=[],this.standaloneValidator.global.push(...this.standaloneValidator.scoped),this.standaloneValidator.scoped=null}return this}group(Y,X,Z){let W=new t8({...this.config,prefix:""});W.singleton={...this.singleton},W.definitions={...this.definitions},W.getServer=()=>this.getServer(),W.inference=i9(this.inference),W.extender={...this.extender},W["~parser"]=this["~parser"],W.standaloneValidator={local:[...this.standaloneValidator.local??[]],scoped:[...this.standaloneValidator.scoped??[]],global:[...this.standaloneValidator.global??[]]};let $=typeof X==="object",Q=($?Z:X)(W);if(this.singleton=W8(this.singleton,W.singleton),this.definitions=W8(this.definitions,W.definitions),Q.event.request?.length)this.event.request=[...this.event.request||[],...Q.event.request||[]];if(Q.event.mapResponse?.length)this.event.mapResponse=[...this.event.mapResponse||[],...Q.event.mapResponse||[]];return this.model(Q.definitions.type),Object.values(W.router.history).forEach(({method:J,path:M,handler:z,hooks:U})=>{if(M=($?"":this.config.prefix??"")+Y+M,$){let{body:G,headers:D,query:S,params:N,cookie:H,response:q,...F}=X,C=U,w=G||D||S||N||H||q;this.add(J,M,z,TX(F,{...C||{},error:!C.error?Q.event.error:Array.isArray(C.error)?[...C.error??[],...Q.event.error??[]]:[C.error,...Q.event.error??[]],standaloneValidator:!w?C.standaloneValidator:[...C.standaloneValidator??[],{body:G,headers:D,query:S,params:N,cookie:H,response:q}]}),void 0)}else this.add(J,M,z,TX(U,{error:Q.event.error}),{skipPrefix:!0})}),this}guard(Y,X){if(!X){if(typeof Y==="object"){if(this.applyMacro(Y),Y.detail)if(this.config.detail)this.config.detail=W8(Object.assign({},this.config.detail),Y.detail);else this.config.detail=Y.detail;if(Y.tags)if(!this.config.detail)this.config.detail={tags:Y.tags};else this.config.detail.tags=Y.tags;let $=Y.as??"local";if(Y.schema==="standalone"){if(!this.standaloneValidator[$])this.standaloneValidator[$]=[];let Q=!Y?.response?void 0:typeof Y.response==="string"||(O in Y.response)||("~standard"in Y.response)?{200:Y.response}:Y?.response;this.standaloneValidator[$].push({body:Y.body,headers:Y.headers,params:Y.params,query:Y.query,response:Q,cookie:Y.cookie})}else this.validator[$]={body:Y.body??this.validator[$]?.body,headers:Y.headers??this.validator[$]?.headers,params:Y.params??this.validator[$]?.params,query:Y.query??this.validator[$]?.query,response:Y.response??this.validator[$]?.response,cookie:Y.cookie??this.validator[$]?.cookie};if(Y.parse)this.on({as:$},"parse",Y.parse);if(Y.transform)this.on({as:$},"transform",Y.transform);if(Y.derive)this.on({as:$},"derive",Y.derive);if(Y.beforeHandle)this.on({as:$},"beforeHandle",Y.beforeHandle);if(Y.resolve)this.on({as:$},"resolve",Y.resolve);if(Y.afterHandle)this.on({as:$},"afterHandle",Y.afterHandle);if(Y.mapResponse)this.on({as:$},"mapResponse",Y.mapResponse);if(Y.afterResponse)this.on({as:$},"afterResponse",Y.afterResponse);if(Y.error)this.on({as:$},"error",Y.error);return this}return this.guard({},Y)}let Z=new t8({...this.config,prefix:""});Z.singleton={...this.singleton},Z.definitions={...this.definitions},Z.inference=i9(this.inference),Z.extender={...this.extender},Z.getServer=()=>this.getServer();let W=X(Z);if(this.singleton=W8(this.singleton,Z.singleton),this.definitions=W8(this.definitions,Z.definitions),W.getServer=()=>this.server,W.event.request?.length)this.event.request=[...this.event.request||[],...W.event.request||[]];if(W.event.mapResponse?.length)this.event.mapResponse=[...this.event.mapResponse||[],...W.event.mapResponse||[]];return this.model(W.definitions.type),Object.values(Z.router.history).forEach(({method:$,path:Q,handler:J,hooks:M})=>{let{body:z,headers:U,query:G,params:D,cookie:S,response:N,...H}=Y,q=z||U||G||D||S||N;this.add($,Q,J,TX(H,{...M||{},error:!M.error?W.event.error:Array.isArray(M.error)?[...M.error??[],...W.event.error??[]]:[M.error,...W.event.error??[]],standaloneValidator:!q?M.standaloneValidator:[...M.standaloneValidator??[],{body:z,headers:U,query:G,params:D,cookie:S,response:N}]}))}),this}use(Y){if(!Y)return this;if(Array.isArray(Y)){let X=this;for(let Z of Y)X=X.use(Z);return X}if(Y instanceof Promise)return this.promisedModules.add(Y.then((X)=>{if(typeof X==="function")return X(this);if(X instanceof t8)return this._use(X).compile();if(X.constructor?.name==="Elysia")return this._use(X).compile();if(typeof X.default==="function")return X.default(this);if(X.default instanceof t8)return this._use(X.default);if(X.constructor?.name==="Elysia")return this._use(X.default);if(X.constructor?.name==="_Elysia")return this._use(X.default);try{return this._use(X.default)}catch(Z){throw console.error('Invalid plugin type. Expected Elysia instance, function, or module with "default" as Elysia instance or function that returns Elysia instance.'),Z}}).then((X)=>{if(X&&typeof X.compile==="function")X.compile();return X})),this;return this._use(Y)}propagatePromiseModules(Y){if(Y.promisedModules.size<=0)return this;for(let X of Y.promisedModules.promises)this.promisedModules.add(X.then((Z)=>{if(!Z)return;let W=this._use(Z);if(W instanceof Promise)return W.then(($)=>{if($)$.compile();else Z.compile()});return Z.compile()}));return this}_use(Y){if(typeof Y==="function"){let W=Y(this);if(W instanceof Promise)return this.promisedModules.add(W.then(($)=>{if($ instanceof t8){$.getServer=()=>this.getServer(),$.getGlobalRoutes=()=>this.getGlobalRoutes(),$.getGlobalDefinitions=()=>this.getGlobalDefinitions(),$.model(this.definitions.type),$.error(this.definitions.error);for(let{method:Q,path:J,handler:M,hooks:z}of Object.values($.router.history))this.add(Q,J,M,z,void 0);if($===this)return;return this.propagatePromiseModules($),$}if(typeof $==="function")return $(this);if(typeof $.default==="function")return $.default(this);return this._use($)}).then(($)=>{if($&&typeof $.compile==="function")$.compile();return $})),this;return W}this.propagatePromiseModules(Y);let X=Y.config.name,Z=Y.config.seed;if(Y.getParent=()=>this,Y.getServer=()=>this.getServer(),Y.getGlobalRoutes=()=>this.getGlobalRoutes(),Y.getGlobalDefinitions=()=>this.getGlobalDefinitions(),Y.standaloneValidator?.scoped)if(this.standaloneValidator.local)this.standaloneValidator.local=this.standaloneValidator.local.concat(Y.standaloneValidator.scoped);else this.standaloneValidator.local=Y.standaloneValidator.scoped;if(Y.standaloneValidator?.global)if(this.standaloneValidator.global)this.standaloneValidator.global=this.standaloneValidator.global.concat(Y.standaloneValidator.global);else this.standaloneValidator.global=Y.standaloneValidator.global;if(V0(Y["~parser"]))this["~parser"]={...Y["~parser"],...this["~parser"]};if(Y.setHeaders)this.headers(Y.setHeaders);if(X){if(!(X in this.dependencies))this.dependencies[X]=[];let W=Z!==void 0?u1(X+JSON.stringify(Z)):0;if(!this.dependencies[X].some(({checksum:$})=>W===$))this.extender.macro={...this.extender.macro,...Y.extender.macro},this.extender.higherOrderFunctions=this.extender.higherOrderFunctions.concat(Y.extender.higherOrderFunctions)}else{if(V0(Y.extender.macro))this.extender.macro={...this.extender.macro,...Y.extender.macro};if(Y.extender.higherOrderFunctions.length)this.extender.higherOrderFunctions=this.extender.higherOrderFunctions.concat(Y.extender.higherOrderFunctions)}if(Y.extender.higherOrderFunctions.length){zH(this.extender.higherOrderFunctions);let W=[];for(let $=0;$<this.extender.higherOrderFunctions.length;$++){let Q=this.extender.higherOrderFunctions[$];if(Q.checksum){if(W.includes(Q.checksum))this.extender.higherOrderFunctions.splice($,1),$--;W.push(Q.checksum)}}W.length=0}if(this.inference=OW(this.inference,Y.inference),V0(Y.singleton.decorator))this.decorate(Y.singleton.decorator);if(V0(Y.singleton.store))this.state(Y.singleton.store);if(V0(Y.definitions.type))this.model(Y.definitions.type);if(V0(Y.definitions.error))this.error(Y.definitions.error);if(V0(Y.extender.macro))this.extender.macro={...this.extender.macro,...Y.extender.macro};for(let{method:W,path:$,handler:Q,hooks:J}of Object.values(Y.router.history))this.add(W,$,Q,J);if(X){if(!(X in this.dependencies))this.dependencies[X]=[];let W=Z!==void 0?u1(X+JSON.stringify(Z)):0;if(this.dependencies[X].some(({checksum:$})=>W===$))return this;if(this.dependencies[X].push(this.config?.analytic?{name:Y.config.name,seed:Y.config.seed,checksum:W,dependencies:Y.dependencies,stack:Y.telemetry?.stack,routes:Y.router.history,decorators:Y.singleton,store:Y.singleton.store,error:Y.definitions.error,derive:Y.event.transform?.filter(($)=>$?.subType==="derive").map(($)=>({fn:$.toString(),stack:Error().stack??""})),resolve:Y.event.transform?.filter(($)=>$?.subType==="resolve").map(($)=>({fn:$.toString(),stack:Error().stack??""}))}:{name:Y.config.name,seed:Y.config.seed,checksum:W,dependencies:Y.dependencies}),V0(Y.event))this.event=d9(this.event,v9(Y.event),W)}else if(V0(Y.event))this.event=d9(this.event,v9(Y.event));if(Y.validator.global)this.validator.global=TX(this.validator.global,{...Y.validator.global});if(Y.validator.scoped)this.validator.local=TX(this.validator.local,{...Y.validator.scoped});return this}macro(Y,X){if(typeof Y==="string"&&!X)throw Error("Macro function is required");if(typeof Y==="string")this.extender.macro[Y]=X;else this.extender.macro={...this.extender.macro,...Y};return this}applyMacro(Y,X=Y,{iteration:Z=0,applied:W={}}={}){if(Z>=16)return;let $=this.extender.macro;for(let[Q,J]of Object.entries(X)){if(Q in $===!1)continue;let M=typeof $[Q]==="function"?$[Q](J):$[Q];if(!M||typeof $[Q]==="object"&&J===!1)return;let z=u1(Q+JSON.stringify(M.seed??J));if(z in W)continue;W[z]=!0;for(let[U,G]of Object.entries(M)){if(U==="seed")continue;if(U in GH){QH(Y,U,G),delete Y[Q];continue}if(U==="detail"){if(!Y.detail)Y.detail={};Y.detail=W8(Y.detail,G,{mergeArray:!0}),delete Y[Q];continue}if(U in $){this.applyMacro(Y,{[U]:G},{applied:W,iteration:Z+1}),delete Y[Q];continue}if((U==="derive"||U==="resolve")&&typeof G==="function")G={fn:G,subType:U};switch(typeof Y[U]){case"function":Y[U]=[Y[U],G];break;case"object":if(Array.isArray(Y[U]))Y[U].push(G);else Y[U]=[Y[U],G];break;case"undefined":Y[U]=G;break}delete Y[Q]}}}mount(Y,X,Z){if(Y instanceof t8||typeof Y==="function"||Y.length===0||Y==="/"){let J=typeof Y==="function"?Y:Y instanceof t8?Y.compile().fetch:X instanceof t8?X.compile().fetch:typeof X==="function"?X:(()=>{throw Error("Invalid handler")})(),M=({request:z,path:U})=>J(new Request(y9(z.url,U),{method:z.method,headers:z.headers,signal:z.signal,credentials:z.credentials,referrerPolicy:z.referrerPolicy,duplex:z.duplex,redirect:z.redirect,mode:z.mode,keepalive:z.keepalive,integrity:z.integrity,body:z.body}));return this.route("ALL","/*",M,{parse:"none",...Z,detail:{...Z?.detail,hide:!0},config:{mount:J}}),this}let W=X instanceof t8?X.compile().fetch:typeof X==="function"?X:(()=>{throw Error("Invalid handler")})(),$=Y.length-(Y.endsWith("*")?1:0),Q=({request:J,path:M})=>W(new Request(y9(J.url,M.slice($)||"/"),{method:J.method,headers:J.headers,signal:J.signal,credentials:J.credentials,referrerPolicy:J.referrerPolicy,duplex:J.duplex,redirect:J.redirect,mode:J.mode,keepalive:J.keepalive,integrity:J.integrity,body:J.body}));return this.route("ALL",Y,Q,{parse:"none",...Z,detail:{...Z?.detail,hide:!0},config:{mount:W}}),this.route("ALL",Y+(Y.endsWith("/")?"*":"/*"),Q,{parse:"none",...Z,detail:{...Z?.detail,hide:!0},config:{mount:W}}),this}get(Y,X,Z){return this.add("GET",Y,X,Z),this}post(Y,X,Z){return this.add("POST",Y,X,Z),this}put(Y,X,Z){return this.add("PUT",Y,X,Z),this}patch(Y,X,Z){return this.add("PATCH",Y,X,Z),this}delete(Y,X,Z){return this.add("DELETE",Y,X,Z),this}options(Y,X,Z){return this.add("OPTIONS",Y,X,Z),this}all(Y,X,Z){return this.add("ALL",Y,X,Z),this}head(Y,X,Z){return this.add("HEAD",Y,X,Z),this}connect(Y,X,Z){return this.add("CONNECT",Y,X,Z),this}route(Y,X,Z,W){return this.add(Y.toUpperCase(),X,Z,W,W?.config),this}ws(Y,X){if(this["~adapter"].ws)this["~adapter"].ws(this,Y,X);else console.warn("Current adapter doesn't support WebSocket");return this}state(Y,X,Z){if(X===void 0)Z=Y,Y={as:"append"},X="";else if(Z===void 0){if(typeof Y==="string")Z=X,X=Y,Y={as:"append"};else if(typeof Y==="object")Z=X,X=""}let{as:W}=Y;if(typeof X!=="string")return this;switch(typeof Z){case"object":if(!Z||!V0(Z))return this;if(X){if(X in this.singleton.store)this.singleton.store[X]=W8(this.singleton.store[X],Z,{override:W==="override"});else this.singleton.store[X]=Z;return this}if(Z===null)return this;return this.singleton.store=W8(this.singleton.store,Z,{override:W==="override"}),this;case"function":if(X){if(W==="override"||!(X in this.singleton.store))this.singleton.store[X]=Z}else this.singleton.store=Z(this.singleton.store);return this;default:if(W==="override"||!(X in this.singleton.store))this.singleton.store[X]=Z;return this}}decorate(Y,X,Z){if(X===void 0)Z=Y,Y={as:"append"},X="";else if(Z===void 0){if(typeof Y==="string")Z=X,X=Y,Y={as:"append"};else if(typeof Y==="object")Z=X,X=""}let{as:W}=Y;if(typeof X!=="string")return this;switch(typeof Z){case"object":if(X){if(X in this.singleton.decorator)this.singleton.decorator[X]=W8(this.singleton.decorator[X],Z,{override:W==="override"});else this.singleton.decorator[X]=Z;return this}if(Z===null)return this;return this.singleton.decorator=W8(this.singleton.decorator,Z,{override:W==="override"}),this;case"function":if(X){if(W==="override"||!(X in this.singleton.decorator))this.singleton.decorator[X]=Z}else this.singleton.decorator=Z(this.singleton.decorator);return this;default:if(W==="override"||!(X in this.singleton.decorator))this.singleton.decorator[X]=Z;return this}}derive(Y,X){if(!X)X=Y,Y={as:"local"};let Z={subType:"derive",fn:X};return this.onTransform(Y,Z)}model(Y,X){let Z=(W)=>{let $={};for(let Q in W)if(!("~standard"in W[Q]))$[Q]=W[Q];return $};switch(typeof Y){case"object":let W={},$=Object.entries(Y);if(!$.length)return this;for(let[M,z]of $){if(M in this.definitions.type)continue;if("~standard"in z)this.definitions.type[M]=z;else W[M]=this.definitions.type[M]=z,W[M].$id??=`#/components/schemas/${M}`}return this.definitions.typebox=I.Module({...this.definitions.typebox.$defs,...W}),this;case"function":let Q=Y(this.definitions.type);return this.definitions.type=Q,this.definitions.typebox=I.Module(Z(Q)),this;case"string":if(!X)break;if(this.definitions.type[Y]=X,"~standard"in X)return this;let J={...X,id:X.$id??`#/components/schemas/${Y}`};return this.definitions.typebox=I.Module({...this.definitions.typebox.$defs,...J}),this}if(!X)return this;if(this.definitions.type[Y]=X,"~standard"in X)return this;return this.definitions.typebox=I.Module({...this.definitions.typebox.$defs,[Y]:X}),this}Ref(Y){return I.Ref(Y)}mapDerive(Y,X){if(!X)X=Y,Y={as:"local"};let Z={subType:"mapDerive",fn:X};return this.onTransform(Y,Z)}affix(Y,X,Z){if(Z==="")return this;let W=["_","-"," "],$=(z)=>z[0].toUpperCase()+z.slice(1),Q=Y==="prefix"?(z,U)=>W.includes(z.at(-1)??"")?z+U:z+$(U):W.includes(Z.at(-1)??"")?(z,U)=>U+z:(z,U)=>U+$(z),J=(z)=>{let U={};switch(z){case"decorator":for(let G in this.singleton.decorator)U[Q(Z,G)]=this.singleton.decorator[G];this.singleton.decorator=U;break;case"state":for(let G in this.singleton.store)U[Q(Z,G)]=this.singleton.store[G];this.singleton.store=U;break;case"model":for(let G in this.definitions.type)U[Q(Z,G)]=this.definitions.type[G];this.definitions.type=U;break;case"error":for(let G in this.definitions.error)U[Q(Z,G)]=this.definitions.error[G];this.definitions.error=U;break}},M=Array.isArray(X)?X:[X];for(let z of M.some((U)=>U==="all")?["decorator","state","model","error"]:M)J(z);return this}prefix(Y,X){return this.affix("prefix",Y,X)}suffix(Y,X){return this.affix("suffix",Y,X)}compile(){if(this["~adapter"].beforeCompile?.(this),this["~adapter"].isWebStandard){if(this.fetch=this.config.aot?UW(this):QQ(this),typeof this.server?.reload==="function")this.server.reload({...this.server||{},fetch:this.fetch});return this}if(typeof this.server?.reload==="function")this.server.reload(this.server||{});return this._handle=UW(this),this}handle=async(Y)=>this.fetch(Y);fetch=(Y)=>{return(this.fetch=this.config.aot?UW(this):QQ(this))(Y)};handleError=async(Y,X)=>{return(this.handleError=this.config.aot?TQ(this):tH(this))(Y,X)};listen=(Y,X)=>{return this["~adapter"].listen(this)(Y,X),this};stop=async(Y)=>{return await this["~adapter"].stop?.(this,Y),this};[Symbol.dispose]=()=>{if(this.server)this.stop()};get modules(){return this.promisedModules}}var rH=()=>{let Y=sH.getTracer("@elysiumjs/argus");return new t8({name:"@elysiumjs/argus"}).derive(({request:X})=>{let Z=new URL(X.url);return{__argusSpan:Y.startSpan(`${X.method} ${Z.pathname}`,{attributes:{"http.method":X.method,"http.url":X.url,"http.target":Z.pathname}})}}).onAfterResponse(({__argusSpan:X,request:Z})=>{if(X)X.setStatus({code:gQ.OK}),X.setAttribute("http.method",Z.method),X.end()}).onError(({__argusSpan:X,error:Z})=>{if(X){if(X.setStatus({code:gQ.ERROR,message:Z instanceof Error?Z.message:"Unknown error"}),Z instanceof Error)X.recordException(Z);X.end()}})};export{tQ as withTraceContext,rH as argusPlugin,nQ as Traced,LY as ArgusSDK};
|
|
413
|
+
`},listen(app){return(options,callback)=>{if(typeof Bun>"u")throw 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(app.compile(),typeof options=="string"){if(!isNumericString(options))throw Error("Port must be a numeric value");options=parseInt(options)}let createStaticRoute=(iterator,{withAsync=!1}={})=>{let staticRoutes={},ops=[];if(app.event.request?.length||app.event.trace?.length||app.extender.higherOrderFunctions.length)return withAsync?Promise.resolve(staticRoutes):staticRoutes;for(let[path,route]of Object.entries(iterator))if(path=encodeURI(path),supportPerMethodInlineHandler){if(!route)continue;for(let[method,value]of Object.entries(route))if(!(!value||!(method in supportedMethods))){if(value instanceof Promise){withAsync&&(staticRoutes[path]||(staticRoutes[path]={}),ops.push(value.then((awaited)=>{awaited instanceof Response&&(staticRoutes[path][method]=awaited),isHTMLBundle(awaited)&&(staticRoutes[path][method]=awaited)})));continue}!(value instanceof Response)&&!isHTMLBundle(value)||(staticRoutes[path]||(staticRoutes[path]={}),staticRoutes[path][method]=value)}}else{if(!route)continue;if(route instanceof Promise){withAsync&&(staticRoutes[path]||(staticRoutes[path]={}),ops.push(route.then((awaited)=>{awaited instanceof Response&&(staticRoutes[path]=awaited)})));continue}if(!(route instanceof Response))continue;staticRoutes[path]=route}return withAsync?Promise.all(ops).then(()=>staticRoutes):staticRoutes},routes=removeTrailingPath(mergeRoutes(mergeRoutes(createStaticRoute(app.router.response),mapRoutes(app)),app.config.serve?.routes)),serve=typeof options=="object"?{development:!isProduction,reusePort:!0,idleTimeout:30,...app.config.serve||{},...options||{},routes,websocket:{...app.config.websocket||{},...websocket||{},...options.websocket||{}},fetch:app.fetch}:{development:!isProduction,reusePort:!0,idleTimeout:30,...app.config.serve||{},routes,websocket:{...app.config.websocket||{},...websocket||{}},port:options,fetch:app.fetch};if(app.server=Bun.serve(serve),app.event.start)for(let i=0;i<app.event.start.length;i++)app.event.start[i].fn(app);callback&&callback(app.server),process.on("beforeExit",async()=>{if(app.server&&(await app.server.stop?.(),app.server=null,app.event.stop))for(let i=0;i<app.event.stop.length;i++)app.event.stop[i].fn(app)}),app.promisedModules.then(async()=>{app.config.aot,app.compile();let routes2=removeTrailingPath(mergeRoutes(mergeRoutes(await createStaticRoute(app.router.response,{withAsync:!0}),mapRoutes(app)),app.config.serve?.routes));app.server?.reload({...serve,fetch:app.fetch,routes:routes2}),Bun?.gc(!1)})}},async stop(app,closeActiveConnections){if(app.server){if(await app.server.stop(closeActiveConnections),app.server=null,app.event.stop?.length)for(let i=0;i<app.event.stop.length;i++)app.event.stop[i].fn(app)}else console.log("Elysia isn't running. Call `app.listen` to start the server.",Error().stack)},ws(app,path,options){let{parse,body,response,...rest}=options,messageValidator=getSchemaValidator(body,{modules:app.definitions.typebox,models:app.definitions.type,normalize:app.config.normalize}),validateMessage=messageValidator?messageValidator.provider==="standard"?(data)=>messageValidator.schema["~standard"].validate(data).issues:(data)=>messageValidator.Check(data)===!1:void 0,responseValidator=getSchemaValidator(response,{modules:app.definitions.typebox,models:app.definitions.type,normalize:app.config.normalize});app.route("WS",path,async(context)=>{let server=context.server??app.server,{set,path:path2,qi,headers,query,params}=context;if(context.validator=responseValidator,options.upgrade)if(typeof options.upgrade=="function"){let temp=options.upgrade(context);temp instanceof Promise&&await temp}else options.upgrade&&Object.assign(set.headers,options.upgrade);if(set.cookie&&isNotEmpty(set.cookie)){let cookie=serializeCookie(set.cookie);cookie&&(set.headers["set-cookie"]=cookie)}set.headers["set-cookie"]&&Array.isArray(set.headers["set-cookie"])&&(set.headers=parseSetCookies(new Headers(set.headers),set.headers["set-cookie"]));let handleResponse=createHandleWSResponse(responseValidator),parseMessage=createWSMessageParser(parse),_id;if(typeof options.beforeHandle=="function"){let result=options.beforeHandle(context);result instanceof Promise&&await result}let errorHandlers=[...options.error?Array.isArray(options.error)?options.error:[options.error]:[],...(app.event.error??[]).map((x)=>typeof x=="function"?x:x.fn)].filter((x)=>x),hasCustomErrorHandlers=errorHandlers.length>0,handleErrors=hasCustomErrorHandlers?async(ws,error)=>{for(let handleError of errorHandlers){let response2=handleError(Object.assign(context,{error}));if(response2 instanceof Promise&&(response2=await response2),await handleResponse(ws,response2),response2)break}}:()=>{};if(!server?.upgrade(context.request,{headers:isNotEmpty(set.headers)?set.headers:void 0,data:{...context,get id(){return _id||(_id=randomId())},validator:responseValidator,ping(ws,data){options.ping?.(ws,data)},pong(ws,data){options.pong?.(ws,data)},open:async(ws)=>{try{await handleResponse(ws,options.open?.(new ElysiaWS(ws,context)))}catch(error){handleErrors(ws,error)}},message:async(ws,_message)=>{let message=await parseMessage(ws,_message);if(validateMessage&&validateMessage(message)){let validationError=new ValidationError("message",messageValidator,message);return hasCustomErrorHandlers?handleErrors(ws,validationError):void ws.send(validationError.message)}try{await handleResponse(ws,options.message?.(new ElysiaWS(ws,context,message),message))}catch(error){handleErrors(ws,error)}},drain:async(ws)=>{try{await handleResponse(ws,options.drain?.(new ElysiaWS(ws,context)))}catch(error){handleErrors(ws,error)}},close:async(ws,code,reason)=>{try{await handleResponse(ws,options.close?.(new ElysiaWS(ws,context),code,reason))}catch(error){handleErrors(ws,error)}}}}))return status(400,"Expected a websocket connection")},{...rest,websocket:options})}};var env2=isBun?Bun.env:typeof process<"u"&&process?.env?process.env:{};var ARRAY_INDEX_REGEX=/^(.+)\[(\d+)\]$/,DANGEROUS_KEYS=new Set(["__proto__","constructor","prototype"]),isDangerousKey=(key)=>{if(DANGEROUS_KEYS.has(key))return!0;let match=key.match(ARRAY_INDEX_REGEX);return match?DANGEROUS_KEYS.has(match[1]):!1},parseArrayKey=(key)=>{let match=key.match(ARRAY_INDEX_REGEX);return match?{name:match[1],index:parseInt(match[2],10)}:null},parseObjectString=(entry)=>{if(!(typeof entry!="string"||entry.charCodeAt(0)!==123))try{let parsed=JSON.parse(entry);if(parsed&&typeof parsed=="object"&&!Array.isArray(parsed))return parsed}catch{return}},setNestedValue=(obj,path,value)=>{let keys=path.split("."),lastKey=keys.pop();if(isDangerousKey(lastKey)||keys.some(isDangerousKey))return;let current=obj;for(let key of keys){let arrayInfo2=parseArrayKey(key);if(arrayInfo2){Array.isArray(current[arrayInfo2.name])||(current[arrayInfo2.name]=[]);let existing=current[arrayInfo2.name][arrayInfo2.index],isFile=typeof File<"u"&&existing instanceof File;(!existing||typeof existing!="object"||Array.isArray(existing)||isFile)&&(current[arrayInfo2.name][arrayInfo2.index]=parseObjectString(existing)??{}),current=current[arrayInfo2.name][arrayInfo2.index]}else(!current[key]||typeof current[key]!="object")&&(current[key]={}),current=current[key]}let arrayInfo=parseArrayKey(lastKey);arrayInfo?(Array.isArray(current[arrayInfo.name])||(current[arrayInfo.name]=[]),current[arrayInfo.name][arrayInfo.index]=value):current[lastKey]=value},normalizeFormValue=(value)=>{if(value.length===1){let stringValue2=value[0];if(typeof stringValue2=="string"&&(stringValue2.charCodeAt(0)===123||stringValue2.charCodeAt(0)===91))try{let parsed2=JSON.parse(stringValue2);if(parsed2&&typeof parsed2=="object")return parsed2}catch{}return value[0]}let stringValue=value.find((entry)=>typeof entry=="string");if(!stringValue||typeof File>"u")return value;let files=value.filter((entry)=>entry instanceof File);if(!files.length||stringValue.charCodeAt(0)!==123)return value;let parsed;try{parsed=JSON.parse(stringValue)}catch{return value}return typeof parsed!="object"||parsed===null?value:(!("file"in parsed)&&files.length===1?parsed.file=files[0]:!("files"in parsed)&&files.length>1&&(parsed.files=files),parsed)},injectDefaultValues=(typeChecker,obj)=>{let schema=typeChecker.schema;if(!schema)return;schema.$defs?.[schema.$ref]&&(schema=schema.$defs[schema.$ref]);let properties=getSchemaProperties(schema);if(properties)for(let[key,keySchema]of Object.entries(properties))obj[key]??=keySchema.default};async function validateStandardSchema(type,validator,value){let result=await validator.Validate(value);if(result.issues)throw new ValidationError(type,validator,value,!1,result.issues);return result.value}var createDynamicHandler=(app)=>{let{mapResponse,mapEarlyResponse}=app["~adapter"].handler,defaultHeader=app.setHeaders;return async(request)=>{let url=request.url,s=url.indexOf("/",11),qi=url.indexOf("?",s+1),path=qi===-1?url.substring(s):url.substring(s,qi),set={cookie:{},status:200,headers:defaultHeader?{...defaultHeader}:{}},context=Object.assign({},app.singleton.decorator,{set,store:app.singleton.store,request,path,qi,error:status,status,redirect}),hooks;try{if(app.event.request)for(let i=0;i<app.event.request.length;i++){let onRequest=app.event.request[i].fn,response2=onRequest(context);if(response2 instanceof Promise&&(response2=await response2),response2=mapEarlyResponse(response2,set),response2)return context.response=response2}let methodKey=request.method==="GET"&&request.headers.get("upgrade")?.toLowerCase()==="websocket"?"WS":request.method,handler=app.router.dynamic.find(request.method,path)??app.router.dynamic.find(methodKey,path)??app.router.dynamic.find("ALL",path);if(!handler)throw context.query=qi===-1?{}:parseQuery(url.substring(qi+1)),new NotFoundError;let{handle,validator,content,route}=handler.store;if(hooks=handler.store.hooks,hooks.config?.mount)return await hooks.config.mount(request);let body;if(request.method!=="GET"&&request.method!=="HEAD")if(content)switch(content){case"application/json":body=await request.json();break;case"text/plain":body=await request.text();break;case"application/x-www-form-urlencoded":body=parseQuery(await request.text());break;case"application/octet-stream":body=await request.arrayBuffer();break;case"multipart/form-data":{body={};let form=await request.formData(),grouped=new Map;form.forEach((v,k)=>{let list=grouped.get(k);list?list.push(v):grouped.set(k,[v])});for(let[key,value]of grouped){if(body[key])continue;let finalValue=normalizeFormValue(value);key.includes(".")||key.includes("[")?setNestedValue(body,key,finalValue):body[key]=finalValue}break}}else{let contentType;if(request.body&&(contentType=request.headers.get("content-type")),contentType){let index=contentType.indexOf(";");if(index!==-1&&(contentType=contentType.slice(0,index)),context.contentType=contentType,hooks.parse)for(let i=0;i<hooks.parse.length;i++){let hook=hooks.parse[i].fn;if(typeof hook=="string")switch(hook){case"json":case"application/json":body=await request.json();break;case"text":case"text/plain":body=await request.text();break;case"urlencoded":case"application/x-www-form-urlencoded":body=parseQuery(await request.text());break;case"arrayBuffer":case"application/octet-stream":body=await request.arrayBuffer();break;case"formdata":case"multipart/form-data":{body={};let form=await request.formData(),grouped=new Map;form.forEach((v,k)=>{let list=grouped.get(k);list?list.push(v):grouped.set(k,[v])});for(let[key,value]of grouped){if(body[key])continue;let finalValue=normalizeFormValue(value);key.includes(".")||key.includes("[")?setNestedValue(body,key,finalValue):body[key]=finalValue}break}default:{let parser=app["~parser"][hook];if(parser){let temp=parser(context,contentType);if(temp instanceof Promise&&(temp=await temp),temp){body=temp;break}}break}}else{let temp=hook(context,contentType);if(temp instanceof Promise&&(temp=await temp),temp){body=temp;break}}}if(delete context.contentType,body===void 0)switch(contentType){case"application/json":body=await request.json();break;case"text/plain":body=await request.text();break;case"application/x-www-form-urlencoded":body=parseQuery(await request.text());break;case"application/octet-stream":body=await request.arrayBuffer();break;case"multipart/form-data":{body={};let form=await request.formData(),grouped=new Map;form.forEach((v,k)=>{let list=grouped.get(k);list?list.push(v):grouped.set(k,[v])});for(let[key,value]of grouped){if(body[key])continue;let finalValue=normalizeFormValue(value);key.includes(".")||key.includes("[")?setNestedValue(body,key,finalValue):body[key]=finalValue}break}}}}context.route=route,context.body=body,context.params=handler?.params||void 0,context.query=qi===-1?{}:parseQuery(url.substring(qi+1)),context.headers={};for(let[key,value]of request.headers.entries())context.headers[key]=value;let cookieMeta={domain:app.config.cookie?.domain??validator?.cookie?.config.domain,expires:app.config.cookie?.expires??validator?.cookie?.config.expires,httpOnly:app.config.cookie?.httpOnly??validator?.cookie?.config.httpOnly,maxAge:app.config.cookie?.maxAge??validator?.cookie?.config.maxAge,path:app.config.cookie?.path??validator?.cookie?.config.path,priority:app.config.cookie?.priority??validator?.cookie?.config.priority,partitioned:app.config.cookie?.partitioned??validator?.cookie?.config.partitioned,sameSite:app.config.cookie?.sameSite??validator?.cookie?.config.sameSite,secure:app.config.cookie?.secure??validator?.cookie?.config.secure,secrets:app.config.cookie?.secrets??validator?.cookie?.config.secrets,sign:app.config.cookie?.sign??validator?.cookie?.config.sign},cookieHeaderValue=request.headers.get("cookie");context.cookie=await parseCookie(context.set,cookieHeaderValue,cookieMeta);let headerValidator=validator?.createHeaders?.();headerValidator&&injectDefaultValues(headerValidator,context.headers);let paramsValidator=validator?.createParams?.();paramsValidator&&injectDefaultValues(paramsValidator,context.params);let queryValidator=validator?.createQuery?.();if(queryValidator&&injectDefaultValues(queryValidator,context.query),hooks.transform)for(let i=0;i<hooks.transform.length;i++){let hook=hooks.transform[i],response2=hook.fn(context);if(response2 instanceof Promise&&(response2=await response2),response2 instanceof ElysiaCustomStatusResponse){let result=mapEarlyResponse(response2,context.set);if(result)return context.response=result}hook.subType==="derive"&&Object.assign(context,response2)}if(validator){if(headerValidator){let _header=structuredClone(context.headers);for(let[key,value]of request.headers)_header[key]=value;if(headerValidator.provider==="standard")context.headers=await validateStandardSchema("header",headerValidator,_header);else if(validator.headers.Check(_header)===!1)throw new ValidationError("header",validator.headers,_header)}else validator.headers?.Decode&&(context.headers=validator.headers.Decode(context.headers));if(paramsValidator?.provider==="standard")context.params=await validateStandardSchema("params",paramsValidator,context.params);else{if(paramsValidator?.Check(context.params)===!1)throw new ValidationError("params",validator.params,context.params);validator.params?.Decode&&(context.params=validator.params.Decode(context.params))}if(validator.query?.schema){let schema=validator.query.schema;schema.$defs?.[schema.$ref]&&(schema=schema.$defs[schema.$ref]);let properties=getSchemaProperties(schema);if(properties)for(let property of Object.keys(properties)){let value=properties[property];(value.type==="array"||value.items?.type==="string")&&typeof context.query[property]=="string"&&context.query[property]&&(context.query[property]=context.query[property].split(","))}}if(queryValidator?.provider==="standard")context.query=await validateStandardSchema("query",queryValidator,context.query);else{if(queryValidator?.Check(context.query)===!1)throw new ValidationError("query",validator.query,context.query);validator.query?.Decode&&(context.query=validator.query.Decode(context.query))}if(validator.createCookie?.()){let cookieValue={};for(let[key,value]of Object.entries(context.cookie))cookieValue[key]=value.value;if(validator.cookie.provider==="standard"){cookieValue=await validateStandardSchema("cookie",validator.cookie,cookieValue);for(let key of Object.keys(cookieValue))context.cookie[key].value=cookieValue[key]}else{if(validator.cookie.Check(cookieValue)===!1)throw new ValidationError("cookie",validator.cookie,cookieValue);validator.cookie?.Decode&&(cookieValue=validator.cookie.Decode(cookieValue))}}let bodyValidator=validator.createBody?.();if(bodyValidator?.provider==="standard")context.body=await validateStandardSchema("body",bodyValidator,body);else{if(bodyValidator?.Check(body)===!1)throw new ValidationError("body",validator.body,body);if(validator.body?.Decode){let decoded=validator.body.Decode(body);decoded instanceof Promise&&(decoded=await decoded),context.body=decoded?.value??decoded}}}if(hooks.beforeHandle)for(let i=0;i<hooks.beforeHandle.length;i++){let hook=hooks.beforeHandle[i],response2=hook.fn(context);if(response2 instanceof Promise&&(response2=await response2),response2 instanceof ElysiaCustomStatusResponse){let result=mapEarlyResponse(response2,context.set);if(result)return context.response=result}if(hook.subType==="resolve"){Object.assign(context,response2);continue}if(response2!==void 0){if(context.response=response2,hooks.afterHandle)for(let i2=0;i2<hooks.afterHandle.length;i2++){let newResponse=hooks.afterHandle[i2].fn(context);newResponse instanceof Promise&&(newResponse=await newResponse),newResponse&&(response2=newResponse)}let result=mapEarlyResponse(response2,context.set);if(result)return context.response=result}}let response=typeof handle=="function"?handle(context):handle;if(response instanceof Promise&&(response=await response),hooks.afterHandle?.length){context.response=response;for(let i=0;i<hooks.afterHandle.length;i++){let response2=hooks.afterHandle[i].fn(context);response2 instanceof Promise&&(response2=await response2);let isCustomStatuResponse=response2 instanceof ElysiaCustomStatusResponse,status2=isCustomStatuResponse?response2.code:set.status?typeof set.status=="string"?StatusMap[set.status]:set.status:200;isCustomStatuResponse&&(set.status=status2,response2=response2.response);let responseValidator=validator?.createResponse?.()?.[status2];if(responseValidator?.provider==="standard")response2=await validateStandardSchema("response",responseValidator,response2);else if(responseValidator?.Check(response2)===!1)if(responseValidator?.Clean)try{let temp=responseValidator.Clean(response2);if(responseValidator?.Check(temp)===!1)throw new ValidationError("response",responseValidator,response2);response2=temp}catch(error){throw error instanceof ValidationError?error:new ValidationError("response",responseValidator,response2)}else throw new ValidationError("response",responseValidator,response2);if(responseValidator?.Encode&&(context.response=response2=responseValidator.Encode(response2)),responseValidator?.Clean)try{context.response=response2=responseValidator.Clean(response2)}catch{}let result=mapEarlyResponse(response2,context.set);if(result!==void 0)return context.response=result}}else{let isCustomStatuResponse=response instanceof ElysiaCustomStatusResponse,status2=isCustomStatuResponse?response.code:set.status?typeof set.status=="string"?StatusMap[set.status]:set.status:200;isCustomStatuResponse&&(set.status=status2,response=response.response);let responseValidator=validator?.createResponse?.()?.[status2];if(responseValidator?.provider==="standard")response=await validateStandardSchema("response",responseValidator,response);else if(responseValidator?.Check(response)===!1)if(responseValidator?.Clean)try{let temp=responseValidator.Clean(response);if(responseValidator?.Check(temp)===!1)throw new ValidationError("response",responseValidator,response);response=temp}catch(error){throw error instanceof ValidationError?error:new ValidationError("response",responseValidator,response)}else throw new ValidationError("response",responseValidator,response);if(responseValidator?.Encode&&(response=responseValidator.Encode(response)),responseValidator?.Clean)try{response=responseValidator.Clean(response)}catch{}}if(context.set.cookie&&cookieMeta?.sign){let secret=cookieMeta.secrets?typeof cookieMeta.secrets=="string"?cookieMeta.secrets:cookieMeta.secrets[0]:void 0;if(cookieMeta.sign===!0){if(secret)for(let[key,cookie]of Object.entries(context.set.cookie))context.set.cookie[key].value=await signCookie(cookie.value,secret)}else{let properties=getSchemaProperties(validator?.cookie?.schema);if(secret)for(let name of cookieMeta.sign)!properties||!(name in properties)||context.set.cookie[name]?.value&&(context.set.cookie[name].value=await signCookie(context.set.cookie[name].value,secret))}}return mapResponse(context.response=response,context.set)}catch(error){let reportedError=error instanceof TransformDecodeError&&error.error?error.error:error;return app.handleError(context,reportedError)}finally{let afterResponses=hooks?hooks.afterResponse:app.event.afterResponse;afterResponses&&(hasSetImmediate?setImmediate(async()=>{for(let afterResponse of afterResponses)await afterResponse.fn(context)}):Promise.resolve().then(async()=>{for(let afterResponse of afterResponses)await afterResponse.fn(context)}))}}},createDynamicErrorHandler=(app)=>{let{mapResponse}=app["~adapter"].handler;return async(context,error)=>{let errorContext=Object.assign(context,{error,code:error.code});if(errorContext.set=context.set,typeof error?.toResponse=="function"&&!(error instanceof ValidationError)&&!(error instanceof TransformDecodeError))try{let raw=error.toResponse();typeof raw?.then=="function"&&(raw=await raw),raw instanceof Response&&(context.set.status=raw.status),context.response=raw}catch{}if(!context.response&&app.event.error)for(let i=0;i<app.event.error.length;i++){let response=app.event.error[i].fn(errorContext);if(response instanceof Promise&&(response=await response),response!=null)return context.response=mapResponse(response,context.set)}if(context.response){if(app.event.mapResponse)for(let i=0;i<app.event.mapResponse.length;i++){let response=app.event.mapResponse[i].fn(errorContext);response instanceof Promise&&(response=await response),response!=null&&(context.response=response)}return mapResponse(context.response,context.set)}return context.set.status=error.status??500,mapResponse(typeof error.cause=="string"?error.cause:error.message,context.set)}};var _a;_a=Symbol.dispose;var _Elysia=class _Elysia{constructor(config={}){this.server=null,this.dependencies={},this["~Prefix"]="",this["~Singleton"]=null,this["~Definitions"]=null,this["~Metadata"]=null,this["~Ephemeral"]=null,this["~Volatile"]=null,this["~Routes"]=null,this.singleton={decorator:{},store:{},derive:{},resolve:{}},this.definitions={typebox:t.Module({}),type:{},error:{}},this.extender={macro:{},higherOrderFunctions:[]},this.validator={global:null,scoped:null,local:null,getCandidate(){return!this.global&&!this.scoped&&!this.local?{body:void 0,headers:void 0,params:void 0,query:void 0,cookie:void 0,response:void 0}:mergeSchemaValidator(mergeSchemaValidator(this.global,this.scoped),this.local)}},this.standaloneValidator={global:null,scoped:null,local:null},this.event={},this.router={"~http":void 0,get http(){return this["~http"]||(this["~http"]=new _({lazy:!0,onParam:import_fast_decode_uri_component4.default})),this["~http"]},"~dynamic":void 0,get dynamic(){return this["~dynamic"]||(this["~dynamic"]=new _({onParam:import_fast_decode_uri_component4.default})),this["~dynamic"]},static:{},response:{},history:[]},this.routeTree={},this.inference={body:!1,cookie:!1,headers:!1,query:!1,set:!1,server:!1,path:!1,route:!1,url:!1},this["~parser"]={},this.handle=async(request)=>this.fetch(request),this.handleError=async(context,error)=>(this.handleError=this.config.aot?composeErrorHandler(this):createDynamicErrorHandler(this))(context,error),this.listen=(options,callback)=>(this["~adapter"].listen(this)(options,callback),this),this.stop=async(closeActiveConnections)=>(await this["~adapter"].stop?.(this,closeActiveConnections),this),this[_a]=()=>{this.server&&this.stop()},config.tags&&(config.detail?config.detail.tags=config.tags:config.detail={tags:config.tags}),this.config={aot:env2.ELYSIA_AOT!=="false",nativeStaticResponse:!0,encodeSchema:!0,normalize:!0,...config,prefix:config.prefix?config.prefix.charCodeAt(0)===47?config.prefix:`/${config.prefix}`:void 0,cookie:{path:"/",...config?.cookie},experimental:config?.experimental??{},seed:config?.seed===void 0?"":config?.seed},this["~adapter"]=config.adapter??(typeof Bun<"u"?BunAdapter:WebStandardAdapter),config?.analytic&&(config?.name||config?.seed!==void 0)&&(this.telemetry={stack:Error().stack})}get store(){return this.singleton.store}get decorator(){return this.singleton.decorator}get routes(){return this.router.history}getGlobalRoutes(){return this.router.history}getGlobalDefinitions(){return this.definitions}getServer(){return this.server}getParent(){return null}get promisedModules(){return this._promisedModules||(this._promisedModules=new PromiseGroup(console.error,()=>{})),this._promisedModules}env(model,_env=env2){if(getSchemaValidator(model,{modules:this.definitions.typebox,dynamic:!0,additionalProperties:!0,coerce:!0,sanitize:()=>this.config.sanitize}).Check(_env)===!1){let error=new ValidationError("env",model,_env);throw Error(error.all.map((x)=>x.summary).join(`
|
|
414
|
+
`))}return this}wrap(fn){return this.extender.higherOrderFunctions.push({checksum:checksum(JSON.stringify({name:this.config.name,seed:this.config.seed,content:fn.toString()})),fn}),this}get models(){let models={};for(let name of Object.keys(this.definitions.type))models[name]=getSchemaValidator(this.definitions.typebox.Import(name),{models:this.definitions.type});return models.modules=this.definitions.typebox,models}add(method,path,handle,localHook,options){let skipPrefix=options?.skipPrefix??!1,allowMeta=options?.allowMeta??!1;localHook??={},this.applyMacro(localHook);let standaloneValidators=[];if(localHook.standaloneValidator&&(standaloneValidators=standaloneValidators.concat(localHook.standaloneValidator)),this.standaloneValidator.local&&(standaloneValidators=standaloneValidators.concat(this.standaloneValidator.local)),this.standaloneValidator.scoped&&(standaloneValidators=standaloneValidators.concat(this.standaloneValidator.scoped)),this.standaloneValidator.global&&(standaloneValidators=standaloneValidators.concat(this.standaloneValidator.global)),path!==""&&path.charCodeAt(0)!==47&&(path="/"+path),this.config.prefix&&!skipPrefix&&(path=this.config.prefix+path),localHook?.type)switch(localHook.type){case"text":localHook.type="text/plain";break;case"json":localHook.type="application/json";break;case"formdata":localHook.type="multipart/form-data";break;case"urlencoded":localHook.type="application/x-www-form-urlencoded";break;case"arrayBuffer":localHook.type="application/octet-stream";break;default:break}let instanceValidator=this.validator.getCandidate(),cloned={body:localHook?.body??instanceValidator?.body,headers:localHook?.headers??instanceValidator?.headers,params:localHook?.params??instanceValidator?.params,query:localHook?.query??instanceValidator?.query,cookie:localHook?.cookie??instanceValidator?.cookie,response:localHook?.response??instanceValidator?.response},shouldPrecompile=this.config.precompile===!0||typeof this.config.precompile=="object"&&this.config.precompile.compose===!0,createValidator=()=>{let models=this.definitions.type,dynamic=!this.config.aot,normalize=this.config.normalize,modules=this.definitions.typebox,sanitize=()=>this.config.sanitize,cookieValidator=()=>{if(cloned.cookie||standaloneValidators.find((x)=>x.cookie))return getCookieValidator({modules,validator:cloned.cookie,defaultConfig:this.config.cookie,normalize,config:cloned.cookie?.config??{},dynamic,models,validators:standaloneValidators.map((x)=>x.cookie),sanitize})};return shouldPrecompile?{body:getSchemaValidator(cloned.body,{modules,dynamic,models,normalize,additionalCoerce:(()=>{let resolved=resolveSchema(cloned.body,models,modules);return resolved&&Kind in resolved&&(hasType("File",resolved)||hasType("Files",resolved))?coerceFormData():coercePrimitiveRoot()})(),validators:standaloneValidators.map((x)=>x.body),sanitize}),headers:getSchemaValidator(cloned.headers,{modules,dynamic,models,additionalProperties:!0,coerce:!0,additionalCoerce:stringToStructureCoercions(),validators:standaloneValidators.map((x)=>x.headers),sanitize}),params:getSchemaValidator(cloned.params,{modules,dynamic,models,coerce:!0,additionalCoerce:stringToStructureCoercions(),validators:standaloneValidators.map((x)=>x.params),sanitize}),query:getSchemaValidator(cloned.query,{modules,dynamic,models,normalize,coerce:!0,additionalCoerce:queryCoercions(),validators:standaloneValidators.map((x)=>x.query),sanitize}),cookie:cookieValidator(),response:getResponseSchemaValidator(cloned.response,{modules,dynamic,models,normalize,validators:standaloneValidators.map((x)=>x.response),sanitize})}:{createBody(){return this.body?this.body:this.body=getSchemaValidator(cloned.body,{modules,dynamic,models,normalize,additionalCoerce:(()=>{let resolved=resolveSchema(cloned.body,models,modules);return resolved&&Kind in resolved&&(hasType("File",resolved)||hasType("Files",resolved))?coerceFormData():coercePrimitiveRoot()})(),validators:standaloneValidators.map((x)=>x.body),sanitize})},createHeaders(){return this.headers?this.headers:this.headers=getSchemaValidator(cloned.headers,{modules,dynamic,models,normalize,additionalProperties:!normalize,coerce:!0,additionalCoerce:stringToStructureCoercions(),validators:standaloneValidators.map((x)=>x.headers),sanitize})},createParams(){return this.params?this.params:this.params=getSchemaValidator(cloned.params,{modules,dynamic,models,normalize,coerce:!0,additionalCoerce:stringToStructureCoercions(),validators:standaloneValidators.map((x)=>x.params),sanitize})},createQuery(){return this.query?this.query:this.query=getSchemaValidator(cloned.query,{modules,dynamic,models,normalize,coerce:!0,additionalCoerce:queryCoercions(),validators:standaloneValidators.map((x)=>x.query),sanitize})},createCookie(){return this.cookie?this.cookie:this.cookie=cookieValidator()},createResponse(){return this.response?this.response:this.response=getResponseSchemaValidator(cloned.response,{modules,dynamic,models,normalize,validators:standaloneValidators.map((x)=>x.response),sanitize})}}};(instanceValidator.body||instanceValidator.cookie||instanceValidator.headers||instanceValidator.params||instanceValidator.query||instanceValidator.response)&&(localHook=mergeHook(localHook,instanceValidator)),localHook.tags&&(localHook.detail?localHook.detail.tags=localHook.tags:localHook.detail={tags:localHook.tags}),isNotEmpty(this.config.detail)&&(localHook.detail=mergeDeep(Object.assign({},this.config.detail),localHook.detail));let hooks=isNotEmpty(this.event)?mergeHook(this.event,localHookToLifeCycleStore(localHook)):{...lifeCycleToArray(localHookToLifeCycleStore(localHook))};if(standaloneValidators.length&&Object.assign(hooks,{standaloneValidator:standaloneValidators}),this.config.aot===!1){let validator=createValidator();this.router.dynamic.add(method,path,{validator,hooks,content:localHook?.type,handle,route:path});let encoded=encodePath(path,{dynamic:!0});if(path!==encoded&&this.router.dynamic.add(method,encoded,{validator,hooks,content:localHook?.type,handle,route:path}),!this.config.strictPath){let loosePath=getLoosePath(path);this.router.dynamic.add(method,loosePath,{validator,hooks,content:localHook?.type,handle,route:path});let encoded2=encodePath(loosePath);loosePath!==encoded2&&this.router.dynamic.add(method,loosePath,{validator,hooks,content:localHook?.type,handle,route:path})}this.router.history.push({method,path,composed:null,handler:handle,compile:void 0,hooks});return}let adapter=this["~adapter"].handler,nativeStaticHandler=typeof handle!="function"?()=>{let fn=adapter.createNativeStaticHandler?.(handle,hooks,{headers:Object.assign({},this.setHeaders)});return fn instanceof Promise?fn.then((fn2)=>{if(fn2)return fn2}):fn?.()}:void 0,useNativeStaticResponse=this.config.nativeStaticResponse===!0,addResponsePath=(path2)=>{!useNativeStaticResponse||!nativeStaticHandler||(supportPerMethodInlineHandler?this.router.response[path2]?this.router.response[path2][method]=nativeStaticHandler():this.router.response[path2]={[method]:nativeStaticHandler()}:this.router.response[path2]=nativeStaticHandler())};addResponsePath(path);let _compiled,compile=()=>{if(_compiled)return _compiled;let compiled=composeHandler({app:this,path,method,hooks,validator:createValidator(),handler:typeof handle!="function"&&typeof adapter.createStaticHandler!="function"?()=>handle:handle,allowMeta,inference:this.inference});return this.router.history[index]&&(_compiled=this.router.history[index].composed=compiled),compiled},oldIndex;if(`${method}_${path}`in this.routeTree)for(let i=0;i<this.router.history.length;i++){let route2=this.router.history[i];if(route2.path===path&&route2.method===method){oldIndex=i;break}}else this.routeTree[`${method}_${path}`]=this.router.history.length;let index=oldIndex??this.router.history.length,route=this.router.history,mainHandler=shouldPrecompile?compile():(ctx)=>_compiled?_compiled(ctx):(route[index].composed=compile())(ctx);oldIndex!==void 0?this.router.history[oldIndex]=Object.assign({method,path,composed:mainHandler,compile,handler:handle,hooks},standaloneValidators.length?{standaloneValidators}:void 0,localHook.webSocket?{websocket:localHook.websocket}:void 0):this.router.history.push(Object.assign({method,path,composed:mainHandler,compile,handler:handle,hooks},localHook.webSocket?{websocket:localHook.websocket}:void 0));let handler={handler:shouldPrecompile?route[index].composed:void 0,compile(){return this.handler=compile()}},staticRouter=this.router.static,isStaticPath=path.indexOf(":")===-1&&path.indexOf("*")===-1;if(method==="WS"){if(isStaticPath){path in staticRouter?staticRouter[path][method]=index:staticRouter[path]={[method]:index};return}this.router.http.add("WS",path,handler),this.config.strictPath||this.router.http.add("WS",getLoosePath(path),handler);let encoded=encodePath(path,{dynamic:!0});path!==encoded&&this.router.http.add("WS",encoded,handler);return}if(isStaticPath)path in staticRouter?staticRouter[path][method]=index:staticRouter[path]={[method]:index},this.config.strictPath||addResponsePath(getLoosePath(path));else{if(this.router.http.add(method,path,handler),!this.config.strictPath){let loosePath=getLoosePath(path);addResponsePath(loosePath),this.router.http.add(method,loosePath,handler)}let encoded=encodePath(path,{dynamic:!0});path!==encoded&&(this.router.http.add(method,encoded,handler),addResponsePath(encoded))}}headers(header){return header?(this.setHeaders||(this.setHeaders={}),this.setHeaders=mergeDeep(this.setHeaders,header),this):this}onStart(handler){return this.on("start",handler),this}onRequest(handler){return this.on("request",handler),this}onParse(options,handler){return handler?this.on(options,"parse",handler):typeof options=="string"?this.on("parse",this["~parser"][options]):this.on("parse",options)}parser(name,parser){return this["~parser"][name]=parser,this}onTransform(options,handler){return handler?this.on(options,"transform",handler):this.on("transform",options)}resolve(optionsOrResolve,resolve){resolve||(resolve=optionsOrResolve,optionsOrResolve={as:"local"});let hook={subType:"resolve",fn:resolve};return this.onBeforeHandle(optionsOrResolve,hook)}mapResolve(optionsOrResolve,mapper){mapper||(mapper=optionsOrResolve,optionsOrResolve={as:"local"});let hook={subType:"mapResolve",fn:mapper};return this.onBeforeHandle(optionsOrResolve,hook)}onBeforeHandle(options,handler){return handler?this.on(options,"beforeHandle",handler):this.on("beforeHandle",options)}onAfterHandle(options,handler){return handler?this.on(options,"afterHandle",handler):this.on("afterHandle",options)}mapResponse(options,handler){return handler?this.on(options,"mapResponse",handler):this.on("mapResponse",options)}onAfterResponse(options,handler){return handler?this.on(options,"afterResponse",handler):this.on("afterResponse",options)}trace(options,handler){handler||(handler=options,options={as:"local"}),Array.isArray(handler)||(handler=[handler]);for(let fn of handler)this.on(options,"trace",createTracer(fn));return this}error(name,error){switch(typeof name){case"string":return error.prototype[ERROR_CODE]=name,this.definitions.error[name]=error,this;case"function":return this.definitions.error=name(this.definitions.error),this}for(let[code,error2]of Object.entries(name))error2.prototype[ERROR_CODE]=code,this.definitions.error[code]=error2;return this}onError(options,handler){return handler?this.on(options,"error",handler):this.on("error",options)}onStop(handler){return this.on("stop",handler),this}on(optionsOrType,typeOrHandlers,handlers){let type;switch(typeof optionsOrType){case"string":type=optionsOrType,handlers=typeOrHandlers;break;case"object":type=typeOrHandlers,!Array.isArray(typeOrHandlers)&&typeof typeOrHandlers=="object"&&(handlers=typeOrHandlers);break}Array.isArray(handlers)?handlers=fnToContainer(handlers):typeof handlers=="function"?handlers=[{fn:handlers}]:handlers=[handlers];let handles=handlers;for(let handle of handles)handle.scope=typeof optionsOrType=="string"?"local":optionsOrType?.as??"local",(type==="resolve"||type==="derive")&&(handle.subType=type);type!=="trace"&&(this.inference=sucrose({[type]:handles.map((x)=>x.fn)},this.inference,this.config.sucrose));for(let handle of handles){let fn=asHookType(handle,"global",{skipIfHasType:!0});switch((this.config.name||this.config.seed)&&(fn.checksum=checksum(this.config.name+JSON.stringify(this.config.seed))),type){case"start":this.event.start??=[],this.event.start.push(fn);break;case"request":this.event.request??=[],this.event.request.push(fn);break;case"parse":this.event.parse??=[],this.event.parse.push(fn);break;case"transform":this.event.transform??=[],this.event.transform.push(fn);break;case"derive":this.event.transform??=[],this.event.transform.push(fnToContainer(fn,"derive"));break;case"beforeHandle":this.event.beforeHandle??=[],this.event.beforeHandle.push(fn);break;case"resolve":this.event.beforeHandle??=[],this.event.beforeHandle.push(fnToContainer(fn,"resolve"));break;case"afterHandle":this.event.afterHandle??=[],this.event.afterHandle.push(fn);break;case"mapResponse":this.event.mapResponse??=[],this.event.mapResponse.push(fn);break;case"afterResponse":this.event.afterResponse??=[],this.event.afterResponse.push(fn);break;case"trace":this.event.trace??=[],this.event.trace.push(fn);break;case"error":this.event.error??=[],this.event.error.push(fn);break;case"stop":this.event.stop??=[],this.event.stop.push(fn);break}}return this}as(type){return promoteEvent(this.event.parse,type),promoteEvent(this.event.transform,type),promoteEvent(this.event.beforeHandle,type),promoteEvent(this.event.afterHandle,type),promoteEvent(this.event.mapResponse,type),promoteEvent(this.event.afterResponse,type),promoteEvent(this.event.trace,type),promoteEvent(this.event.error,type),type==="scoped"?(this.validator.scoped=mergeSchemaValidator(this.validator.scoped,this.validator.local),this.validator.local=null,this.standaloneValidator.local!==null&&(this.standaloneValidator.scoped||=[],this.standaloneValidator.scoped.push(...this.standaloneValidator.local),this.standaloneValidator.local=null)):type==="global"&&(this.validator.global=mergeSchemaValidator(this.validator.global,mergeSchemaValidator(this.validator.scoped,this.validator.local)),this.validator.scoped=null,this.validator.local=null,this.standaloneValidator.local!==null&&(this.standaloneValidator.scoped||=[],this.standaloneValidator.scoped.push(...this.standaloneValidator.local),this.standaloneValidator.local=null),this.standaloneValidator.scoped!==null&&(this.standaloneValidator.global||=[],this.standaloneValidator.global.push(...this.standaloneValidator.scoped),this.standaloneValidator.scoped=null)),this}group(prefix,schemaOrRun,run){let instance=new _Elysia({...this.config,prefix:""});instance.singleton={...this.singleton},instance.definitions={...this.definitions},instance.getServer=()=>this.getServer(),instance.inference=cloneInference(this.inference),instance.extender={...this.extender},instance["~parser"]=this["~parser"],instance.standaloneValidator={local:[...this.standaloneValidator.local??[]],scoped:[...this.standaloneValidator.scoped??[]],global:[...this.standaloneValidator.global??[]]};let isSchema=typeof schemaOrRun=="object",sandbox=(isSchema?run:schemaOrRun)(instance);return this.singleton=mergeDeep(this.singleton,instance.singleton),this.definitions=mergeDeep(this.definitions,instance.definitions),sandbox.event.request?.length&&(this.event.request=[...this.event.request||[],...sandbox.event.request||[]]),sandbox.event.mapResponse?.length&&(this.event.mapResponse=[...this.event.mapResponse||[],...sandbox.event.mapResponse||[]]),this.model(sandbox.definitions.type),Object.values(instance.router.history).forEach(({method,path,handler,hooks})=>{if(path=(isSchema?"":this.config.prefix??"")+prefix+path,isSchema){let{body,headers,query,params,cookie,response,...hook}=schemaOrRun,localHook=hooks;this.applyMacro(hook);let hasStandaloneSchema=body||headers||query||params||cookie||response;this.add(method,path,handler,mergeHook(hook,{...localHook||{},error:localHook.error?Array.isArray(localHook.error)?[...localHook.error??[],...sandbox.event.error??[]]:[localHook.error,...sandbox.event.error??[]]:sandbox.event.error,standaloneValidator:hook.standaloneValidator||localHook.standaloneValidator||hasStandaloneSchema?[...hook.standaloneValidator??[],...localHook.standaloneValidator??[],...hasStandaloneSchema?[{body,headers,query,params,cookie,response}]:[]]:void 0}),void 0)}else this.add(method,path,handler,mergeHook(hooks,{error:sandbox.event.error}),{skipPrefix:!0})}),this}guard(hook,run){if(!run){if(typeof hook=="object"){this.applyMacro(hook),hook.detail&&(this.config.detail?this.config.detail=mergeDeep(Object.assign({},this.config.detail),hook.detail):this.config.detail=hook.detail),hook.tags&&(this.config.detail?this.config.detail.tags=hook.tags:this.config.detail={tags:hook.tags});let type=hook.as??"local";if(hook.schema==="standalone"){this.standaloneValidator[type]||(this.standaloneValidator[type]=[]);let response=hook?.response?typeof hook.response=="string"||Kind in hook.response||"~standard"in hook.response?{200:hook.response}:hook?.response:void 0;this.standaloneValidator[type].push({body:hook.body,headers:hook.headers,params:hook.params,query:hook.query,response,cookie:hook.cookie})}else this.validator[type]={body:hook.body??this.validator[type]?.body,headers:hook.headers??this.validator[type]?.headers,params:hook.params??this.validator[type]?.params,query:hook.query??this.validator[type]?.query,response:hook.response??this.validator[type]?.response,cookie:hook.cookie??this.validator[type]?.cookie};return hook.parse&&this.on({as:type},"parse",hook.parse),hook.transform&&this.on({as:type},"transform",hook.transform),hook.derive&&this.on({as:type},"derive",hook.derive),hook.beforeHandle&&this.on({as:type},"beforeHandle",hook.beforeHandle),hook.resolve&&this.on({as:type},"resolve",hook.resolve),hook.afterHandle&&this.on({as:type},"afterHandle",hook.afterHandle),hook.mapResponse&&this.on({as:type},"mapResponse",hook.mapResponse),hook.afterResponse&&this.on({as:type},"afterResponse",hook.afterResponse),hook.error&&this.on({as:type},"error",hook.error),this}return this.guard({},hook)}let instance=new _Elysia({...this.config,prefix:""});instance.singleton={...this.singleton},instance.definitions={...this.definitions},instance.inference=cloneInference(this.inference),instance.extender={...this.extender},instance.getServer=()=>this.getServer();let sandbox=run(instance);if(this.singleton=mergeDeep(this.singleton,instance.singleton),this.definitions=mergeDeep(this.definitions,instance.definitions),sandbox.getServer=()=>this.server,sandbox.event.request?.length&&(this.event.request=[...this.event.request||[],...sandbox.event.request||[]]),sandbox.event.mapResponse?.length&&(this.event.mapResponse=[...this.event.mapResponse||[],...sandbox.event.mapResponse||[]]),this.model(sandbox.definitions.type),Object.values(instance.router.history).forEach(({method,path,handler,hooks:localHook})=>{let{body,headers,query,params,cookie,response,...guardHook}=hook,hasStandaloneSchema=body||headers||query||params||cookie||response;this.add(method,path,handler,mergeHook(guardHook,{...localHook||{},error:localHook.error?Array.isArray(localHook.error)?[...localHook.error??[],...sandbox.event.error??[]]:[localHook.error,...sandbox.event.error??[]]:sandbox.event.error,standaloneValidator:hasStandaloneSchema?[...localHook.standaloneValidator??[],{body,headers,query,params,cookie,response}]:localHook.standaloneValidator}))}),instance.promisedModules.size>0){let processedUntil=instance.router.history.length;for(let promise of instance.promisedModules.promises)this.promisedModules.add(promise.then(()=>{let{body,headers,query,params,cookie,response,...guardHook}=hook,hasStandaloneSchema=body||headers||query||params||cookie||response,startIndex=processedUntil;processedUntil=instance.router.history.length;for(let i=startIndex;i<instance.router.history.length;i++){let{method,path,handler,hooks:localHook}=instance.router.history[i];this.add(method,path,handler,mergeHook(guardHook,{...localHook||{},error:localHook.error?Array.isArray(localHook.error)?[...localHook.error??[],...sandbox.event.error??[]]:[localHook.error,...sandbox.event.error??[]]:sandbox.event.error,standaloneValidator:hasStandaloneSchema?[...localHook.standaloneValidator??[],{body,headers,query,params,cookie,response}]:localHook.standaloneValidator}))}}))}return this}use(plugin){if(!plugin)return this;if(Array.isArray(plugin)){let app=this;for(let p of plugin)app=app.use(p);return app}return plugin instanceof Promise?(this.promisedModules.add(plugin.then((plugin2)=>{if(typeof plugin2=="function")return plugin2(this);if(plugin2 instanceof _Elysia)return this._use(plugin2).compile();if(plugin2.constructor?.name==="Elysia")return this._use(plugin2).compile();if(typeof plugin2.default=="function")return plugin2.default(this);if(plugin2.default instanceof _Elysia)return this._use(plugin2.default);if(plugin2.constructor?.name==="Elysia")return this._use(plugin2.default);if(plugin2.constructor?.name==="_Elysia")return this._use(plugin2.default);try{return this._use(plugin2.default)}catch(error){throw console.error('Invalid plugin type. Expected Elysia instance, function, or module with "default" as Elysia instance or function that returns Elysia instance.'),error}}).then((v)=>(v&&typeof v.compile=="function"&&v.compile(),v))),this):this._use(plugin)}propagatePromiseModules(plugin){if(plugin.promisedModules.size<=0)return this;for(let promise of plugin.promisedModules.promises)this.promisedModules.add(promise.then((v)=>{if(!v)return;let t3=this._use(v);return t3 instanceof Promise?t3.then((v2)=>{v2?v2.compile():v.compile()}):v.compile()}));return this}_use(plugin){if(typeof plugin=="function"){let instance=plugin(this);return instance instanceof Promise?(this.promisedModules.add(instance.then((plugin2)=>{if(plugin2 instanceof _Elysia){plugin2.getServer=()=>this.getServer(),plugin2.getGlobalRoutes=()=>this.getGlobalRoutes(),plugin2.getGlobalDefinitions=()=>this.getGlobalDefinitions(),plugin2.model(this.definitions.type),plugin2.error(this.definitions.error);for(let{method,path,handler,hooks}of Object.values(plugin2.router.history))this.add(method,path,handler,hooks,void 0);return plugin2===this?void 0:(this.propagatePromiseModules(plugin2),plugin2)}return typeof plugin2=="function"?plugin2(this):typeof plugin2.default=="function"?plugin2.default(this):this._use(plugin2)}).then((v)=>(v&&typeof v.compile=="function"&&v.compile(),v))),this):instance}this.propagatePromiseModules(plugin);let name=plugin.config.name,seed=plugin.config.seed;if(plugin.getParent=()=>this,plugin.getServer=()=>this.getServer(),plugin.getGlobalRoutes=()=>this.getGlobalRoutes(),plugin.getGlobalDefinitions=()=>this.getGlobalDefinitions(),plugin.standaloneValidator?.scoped&&(this.standaloneValidator.local?this.standaloneValidator.local=this.standaloneValidator.local.concat(plugin.standaloneValidator.scoped):this.standaloneValidator.local=plugin.standaloneValidator.scoped),plugin.standaloneValidator?.global&&(this.standaloneValidator.global?this.standaloneValidator.global=this.standaloneValidator.global.concat(plugin.standaloneValidator.global):this.standaloneValidator.global=plugin.standaloneValidator.global),isNotEmpty(plugin["~parser"])&&(this["~parser"]={...plugin["~parser"],...this["~parser"]}),plugin.setHeaders&&this.headers(plugin.setHeaders),name){name in this.dependencies||(this.dependencies[name]=[]);let current=seed!==void 0?checksum(name+JSON.stringify(seed)):0;this.dependencies[name].some(({checksum:checksum3})=>current===checksum3)||(this.extender.macro={...this.extender.macro,...plugin.extender.macro},this.extender.higherOrderFunctions=this.extender.higherOrderFunctions.concat(plugin.extender.higherOrderFunctions))}else isNotEmpty(plugin.extender.macro)&&(this.extender.macro={...this.extender.macro,...plugin.extender.macro}),plugin.extender.higherOrderFunctions.length&&(this.extender.higherOrderFunctions=this.extender.higherOrderFunctions.concat(plugin.extender.higherOrderFunctions));if(plugin.extender.higherOrderFunctions.length){deduplicateChecksum(this.extender.higherOrderFunctions);let hofHashes=[];for(let i=0;i<this.extender.higherOrderFunctions.length;i++){let hof=this.extender.higherOrderFunctions[i];hof.checksum&&(hofHashes.includes(hof.checksum)&&(this.extender.higherOrderFunctions.splice(i,1),i--),hofHashes.push(hof.checksum))}hofHashes.length=0}this.inference=mergeInference(this.inference,plugin.inference),isNotEmpty(plugin.singleton.decorator)&&this.decorate(plugin.singleton.decorator),isNotEmpty(plugin.singleton.store)&&this.state(plugin.singleton.store),isNotEmpty(plugin.definitions.type)&&this.model(plugin.definitions.type),isNotEmpty(plugin.definitions.error)&&this.error(plugin.definitions.error),isNotEmpty(plugin.extender.macro)&&(this.extender.macro={...this.extender.macro,...plugin.extender.macro});for(let{method,path,handler,hooks}of Object.values(plugin.router.history))this.add(method,path,handler,hooks);if(name){name in this.dependencies||(this.dependencies[name]=[]);let current=seed!==void 0?checksum(name+JSON.stringify(seed)):0;if(this.dependencies[name].some(({checksum:checksum3})=>current===checksum3))return this;this.dependencies[name].push(this.config?.analytic?{name:plugin.config.name,seed:plugin.config.seed,checksum:current,dependencies:plugin.dependencies,stack:plugin.telemetry?.stack,routes:plugin.router.history,decorators:plugin.singleton,store:plugin.singleton.store,error:plugin.definitions.error,derive:plugin.event.transform?.filter((x)=>x?.subType==="derive").map((x)=>({fn:x.toString(),stack:Error().stack??""})),resolve:plugin.event.transform?.filter((x)=>x?.subType==="resolve").map((x)=>({fn:x.toString(),stack:Error().stack??""}))}:{name:plugin.config.name,seed:plugin.config.seed,checksum:current,dependencies:plugin.dependencies}),isNotEmpty(plugin.event)&&(this.event=mergeLifeCycle(this.event,filterGlobalHook(plugin.event),current))}else isNotEmpty(plugin.event)&&(this.event=mergeLifeCycle(this.event,filterGlobalHook(plugin.event)));return plugin.validator.global&&(this.validator.global=mergeHook(this.validator.global,{...plugin.validator.global})),plugin.validator.scoped&&(this.validator.local=mergeHook(this.validator.local,{...plugin.validator.scoped})),this}macro(macroOrName,macro){if(typeof macroOrName=="string"&&!macro)throw Error("Macro function is required");return typeof macroOrName=="string"?this.extender.macro[macroOrName]=macro:this.extender.macro={...this.extender.macro,...macroOrName},this}applyMacro(localHook,appliable=localHook,{iteration=0,applied={}}={}){if(iteration>=16)return;let macro=this.extender.macro;for(let[key,value]of Object.entries(appliable)){if(!(key in macro))continue;let macroHook=typeof macro[key]=="function"?macro[key](value):macro[key];if(!macroHook||typeof macro[key]=="object"&&value===!1)return;let seed=checksum(key+JSON.stringify(macroHook.seed??value));if(!(seed in applied)){applied[seed]=!0;for(let[k,value2]of Object.entries(macroHook))if(k!=="seed"){if(k in emptySchema){insertStandaloneValidator(localHook,k,value2),delete localHook[key];continue}if(k==="introspect"){value2?.(localHook),delete localHook[key];continue}if(k==="detail"){localHook.detail||(localHook.detail={}),localHook.detail=mergeDeep(localHook.detail,value2,{mergeArray:!0}),delete localHook[key];continue}if(k in macro){this.applyMacro(localHook,{[k]:value2},{applied,iteration:iteration+1}),delete localHook[key];continue}switch((k==="derive"||k==="resolve")&&typeof value2=="function"&&(value2={fn:value2,subType:k}),typeof localHook[k]){case"function":localHook[k]=[localHook[k],value2];break;case"object":Array.isArray(localHook[k])?localHook[k].push(value2):localHook[k]=[localHook[k],value2];break;case"undefined":localHook[k]=value2;break}delete localHook[key]}}}}mount(path,handleOrConfig,config){if(path instanceof _Elysia||typeof path=="function"||path.length===0||path==="/"){let run=typeof path=="function"?path:path instanceof _Elysia?path.compile().fetch:handleOrConfig instanceof _Elysia?handleOrConfig.compile().fetch:typeof handleOrConfig=="function"?handleOrConfig:(()=>{throw Error("Invalid handler")})(),handler2=({request,path:path2})=>run(new Request(replaceUrlPath(request.url,path2),request));return this.route("ALL","/*",handler2,{parse:"none",...config,detail:{...config?.detail,hide:!0},config:{mount:run}}),this}let handle=handleOrConfig instanceof _Elysia?handleOrConfig.compile().fetch:typeof handleOrConfig=="function"?handleOrConfig:(()=>{throw Error("Invalid handler")})(),length=(typeof path=="string"&&this.config.prefix?this.config.prefix+path:path).length-(path.endsWith("*")?1:0),handler=({request,path:path2})=>handle(new Request(replaceUrlPath(request.url,path2.slice(length)||"/"),request));return this.route("ALL",path,handler,{parse:"none",...config,detail:{...config?.detail,hide:!0},config:{mount:handle}}),this.route("ALL",path+(path.endsWith("/")?"*":"/*"),handler,{parse:"none",...config,detail:{...config?.detail,hide:!0},config:{mount:handle}}),this}get(path,handler,hook){return this.add("GET",path,handler,hook),this}post(path,handler,hook){return this.add("POST",path,handler,hook),this}put(path,handler,hook){return this.add("PUT",path,handler,hook),this}patch(path,handler,hook){return this.add("PATCH",path,handler,hook),this}delete(path,handler,hook){return this.add("DELETE",path,handler,hook),this}options(path,handler,hook){return this.add("OPTIONS",path,handler,hook),this}all(path,handler,hook){return this.add("ALL",path,handler,hook),this}head(path,handler,hook){return this.add("HEAD",path,handler,hook),this}connect(path,handler,hook){return this.add("CONNECT",path,handler,hook),this}route(method,path,handler,hook){return this.add(method.toUpperCase(),path,handler,hook,hook?.config),this}ws(path,options){return this["~adapter"].ws?this["~adapter"].ws(this,path,options):console.warn("Current adapter doesn't support WebSocket"),this}state(options,name,value){name===void 0?(value=options,options={as:"append"},name=""):value===void 0&&(typeof options=="string"?(value=name,name=options,options={as:"append"}):typeof options=="object"&&(value=name,name=""));let{as}=options;if(typeof name!="string")return this;switch(typeof value){case"object":return!value||!isNotEmpty(value)?this:name?((name in this.singleton.store)?this.singleton.store[name]=mergeDeep(this.singleton.store[name],value,{override:as==="override"}):this.singleton.store[name]=value,this):value===null?this:(this.singleton.store=mergeDeep(this.singleton.store,value,{override:as==="override"}),this);case"function":return name?(as==="override"||!(name in this.singleton.store))&&(this.singleton.store[name]=value):this.singleton.store=value(this.singleton.store),this;default:return(as==="override"||!(name in this.singleton.store))&&(this.singleton.store[name]=value),this}}decorate(options,name,value){name===void 0?(value=options,options={as:"append"},name=""):value===void 0&&(typeof options=="string"?(value=name,name=options,options={as:"append"}):typeof options=="object"&&(value=name,name=""));let{as}=options;if(typeof name!="string")return this;switch(typeof value){case"object":return name?((name in this.singleton.decorator)?this.singleton.decorator[name]=mergeDeep(this.singleton.decorator[name],value,{override:as==="override"}):this.singleton.decorator[name]=value,this):value===null?this:(this.singleton.decorator=mergeDeep(this.singleton.decorator,value,{override:as==="override"}),this);case"function":return name?(as==="override"||!(name in this.singleton.decorator))&&(this.singleton.decorator[name]=value):this.singleton.decorator=value(this.singleton.decorator),this;default:return(as==="override"||!(name in this.singleton.decorator))&&(this.singleton.decorator[name]=value),this}}derive(optionsOrTransform,transform){transform||(transform=optionsOrTransform,optionsOrTransform={as:"local"});let hook={subType:"derive",fn:transform};return this.onTransform(optionsOrTransform,hook)}model(name,model){let onlyTypebox=(a)=>{let res={};for(let key in a)"~standard"in a[key]||(res[key]=a[key]);return res};switch(typeof name){case"object":let parsedTypebox={},kvs=Object.entries(name);if(!kvs.length)return this;for(let[key,value]of kvs)key in this.definitions.type||("~standard"in value?this.definitions.type[key]=value:(parsedTypebox[key]=this.definitions.type[key]=value,parsedTypebox[key].$id??=`#/components/schemas/${key}`));return this.definitions.typebox=t.Module({...this.definitions.typebox.$defs,...parsedTypebox}),this;case"function":let result=name(this.definitions.type);return this.definitions.type=result,this.definitions.typebox=t.Module(onlyTypebox(result)),this;case"string":if(!model)break;if(this.definitions.type[name]=model,"~standard"in model)return this;let newModel={...model,id:model.$id??`#/components/schemas/${name}`};return this.definitions.typebox=t.Module({...this.definitions.typebox.$defs,...newModel}),this}return model?(this.definitions.type[name]=model,("~standard"in model)?this:(this.definitions.typebox=t.Module({...this.definitions.typebox.$defs,[name]:model}),this)):this}Ref(key){return t.Ref(key)}mapDerive(optionsOrDerive,mapper){mapper||(mapper=optionsOrDerive,optionsOrDerive={as:"local"});let hook={subType:"mapDerive",fn:mapper};return this.onTransform(optionsOrDerive,hook)}affix(base,type,word){if(word==="")return this;let delimieter=["_","-"," "],capitalize=(word2)=>word2[0].toUpperCase()+word2.slice(1),joinKey=base==="prefix"?(prefix,word2)=>delimieter.includes(prefix.at(-1)??"")?prefix+word2:prefix+capitalize(word2):delimieter.includes(word.at(-1)??"")?(suffix,word2)=>word2+suffix:(suffix,word2)=>word2+capitalize(suffix),remap=(type2)=>{let store={};switch(type2){case"decorator":for(let key in this.singleton.decorator)store[joinKey(word,key)]=this.singleton.decorator[key];this.singleton.decorator=store;break;case"state":for(let key in this.singleton.store)store[joinKey(word,key)]=this.singleton.store[key];this.singleton.store=store;break;case"model":for(let key in this.definitions.type)store[joinKey(word,key)]=this.definitions.type[key];this.definitions.type=store;break;case"error":for(let key in this.definitions.error)store[joinKey(word,key)]=this.definitions.error[key];this.definitions.error=store;break}},types=Array.isArray(type)?type:[type];for(let type2 of types.some((x)=>x==="all")?["decorator","state","model","error"]:types)remap(type2);return this}prefix(type,word){return this.affix("prefix",type,word)}suffix(type,word){return this.affix("suffix",type,word)}compile(){return this["~adapter"].beforeCompile?.(this),this["~adapter"].isWebStandard?(this._handle=this.config.aot?composeGeneralHandler(this):createDynamicHandler(this),Object.defineProperty(this,"fetch",{value:this._handle,configurable:!0,writable:!0}),typeof this.server?.reload=="function"&&this.server.reload({...this.server||{},fetch:this.fetch}),this):(typeof this.server?.reload=="function"&&this.server.reload(this.server||{}),this._handle=composeGeneralHandler(this),this)}get fetch(){let fetch=this.config.aot?composeGeneralHandler(this):createDynamicHandler(this);return Object.defineProperty(this,"fetch",{value:fetch,configurable:!0,writable:!0}),fetch}get modules(){return this.promisedModules}},Elysia=_Elysia;var argusPlugin=()=>{let tracer=trace3.getTracer("@elysiumjs/argus");return new Elysia({name:"@elysiumjs/argus"}).derive(({request})=>{let url=new URL(request.url);return{__argusSpan:tracer.startSpan(`${request.method} ${url.pathname}`,{attributes:{"http.method":request.method,"http.url":request.url,"http.target":url.pathname}})}}).onAfterResponse(({__argusSpan,request})=>{if(__argusSpan)__argusSpan.setStatus({code:SpanStatusCode2.OK}),__argusSpan.setAttribute("http.method",request.method),__argusSpan.end()}).onError(({__argusSpan,error})=>{if(__argusSpan){if(__argusSpan.setStatus({code:SpanStatusCode2.ERROR,message:error instanceof Error?error.message:"Unknown error"}),error instanceof Error)__argusSpan.recordException(error);__argusSpan.end()}})};import{Module as Module2}from"@elysiumjs/core";class ArgusModule extends Module2.configurable({defaults:{enabled:!0,exporter:"console"},required:["serviceName"]}){#started=!1;onInit(){if(ArgusSDK.isInitialized())return;ArgusSDK.initialize(this.config),this.#started=!0}onServe(app){app.use(argusPlugin())}async onDestroy(){if(!this.#started)return;this.#started=!1,await ArgusSDK.shutdown()}}ArgusModule=__legacyDecorateClassTS([Module2.register({})],ArgusModule);export{ArgusModule,ArgusSDK,Traced,argusPlugin,withTraceContext};
|