@elysiumjs/argus 0.1.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 +8 -0
- package/CHANGELOG.md +10 -0
- package/bunfig.toml +11 -0
- package/dist/index.js +349 -0
- package/index.ts +15 -0
- package/package.json +60 -0
- package/src/correlation.ts +45 -0
- package/src/decorators/traced.ts +72 -0
- package/src/index.ts +20 -0
- package/src/plugin.ts +62 -0
- package/src/sdk.ts +110 -0
- package/src/types.ts +47 -0
- package/tests/correlation.test.ts +86 -0
- package/tests/sdk.test.ts +129 -0
- package/tests/setup.ts +24 -0
- package/tests/traced.decorator.test.ts +173 -0
- package/tests/types.test.ts +65 -0
- package/tsconfig.json +6 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,349 @@
|
|
|
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
|
+
`,(V8)=>"".padStart(V8," ")],P0=aY("value","any"),G8=M6("boolean"),$8=[...KY(P,A,V,x)].map((V8)=>`${r(4)}${V8}`).join(` &&${g}`);return`function ${B}(${P0})${G8} {${g}${r(2)}return (${g}${$8}${g}${r(2)})
|
|
4
|
+
}`}function aY(B,P){let A=m0.language==="typescript"?`: ${P}`:"";return`${B}${A}`}function M6(B){return m0.language==="typescript"?`: ${B}`:""}function eY(B,P,A){let V=CY("check",B,P,"value"),x=aY("value","any"),g=M6("boolean"),r=[...m0.functions.values()],P0=[...m0.variables.values()],G8=Q0(B.$id)?`return function check(${x})${g} {
|
|
5
|
+
return ${wY(B.$id)}(value)
|
|
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}
|
|
8
|
+
|
|
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={}
|
|
10
|
+
for(const [k,v] of c.request.headers.entries())c.headers[k]=v
|
|
11
|
+
`,parser:{json(Y){if(Y)return`try{c.body=await c.request.json()}catch{}
|
|
12
|
+
`;return`c.body=await c.request.json()
|
|
13
|
+
`},text(){return`c.body=await c.request.text()
|
|
14
|
+
`},urlencoded(){return`c.body=parseQuery(await c.request.text())
|
|
15
|
+
`},arrayBuffer(){return`c.body=await c.request.arrayBuffer()
|
|
16
|
+
`},formData(Y){let X=`
|
|
17
|
+
c.body={}
|
|
18
|
+
`;if(Y)X+="let form;try{form=await c.request.formData()}catch{}";else X+=`const form=await c.request.formData()
|
|
19
|
+
`;return X+`for(const key of form.keys()){if(c.body[key]) continue
|
|
20
|
+
const value=form.getAll(key)
|
|
21
|
+
if(value.length===1)c.body[key]=value[0]
|
|
22
|
+
else c.body[key]=value}`}}},async stop(Y,X){if(!Y.server)throw Error("Elysia isn't running. Call `app.listen` to start the server.");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)}},composeGeneralHandler:{parameters:"r",createContext(Y){let X="",Z="",W=Y.setHeaders;for(let J of Object.keys(Y.decorator))X+=`,'${J}':decorator['${J}']`;let $=Y.config.handler?.standardHostname??!0,Q=!!Y.event.trace?.length;if(Z+=`const u=r.url,s=u.indexOf('/',${$?11:7}),qi=u.indexOf('?',s+1)
|
|
23
|
+
let p
|
|
24
|
+
if(qi===-1)p=u.substring(s)
|
|
25
|
+
else p=u.substring(s, qi)
|
|
26
|
+
`,Q)Z+=`const id=randomId()
|
|
27
|
+
`;if(Z+="const c={request:r,store,qi,path:p,url:u,redirect,status,set:{headers:",Z+=Object.keys(W??{}).length?"Object.assign({},app.setHeaders)":"Object.create(null)",Z+=",status:200}",Y.inference.server)Z+=",get server(){return app.getServer()}";if(Q)Z+=",[ELYSIA_REQUEST_ID]:id";return Z+=X,Z+=`}
|
|
28
|
+
`,Z},error404(Y,X,Z=""){let W="if(route===null){"+Z+`
|
|
29
|
+
return `;if(X)W+=`app.handleError(c,notFound,false,${this.parameters})`;else W+=Y?"new Response(error404Message,{status:c.set.status===200?404:c.set.status,headers:c.set.headers})":"error404.clone()";return W+="}",{declare:X?"":`const error404Message=notFound.message.toString()
|
|
30
|
+
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
|
+
const error404={clone:()=>new Response(error404Message,{status:404})}
|
|
33
|
+
`}}},beforeCompile(Y){for(let X of Y.routes)X.compile()},listen(Y){return(X,Z)=>{console.warn("Cloudflare Worker does not support listen method. Please export default Elysia instance instead."),Y.compile()}}},OH=(Y)=>{if(Y.startsWith("async"))Y=Y.slice(5);Y=Y.trimStart();let X=-1;if(Y.charCodeAt(0)===40){if(X=Y.indexOf("=>",Y.indexOf(")")),X!==-1){let $=X;while($>0)if(Y.charCodeAt(--$)===41)break;let Q=Y.slice(X+2);if(Q.charCodeAt(0)===32)Q=Q.trimStart();return[Y.slice(1,$),Q,{isArrowReturn:Q.charCodeAt(0)!==123}]}}if(/^(\w+)=>/g.test(Y)){if(X=Y.indexOf("=>"),X!==-1){let $=Y.slice(X+2);if($.charCodeAt(0)===32)$=$.trimStart();return[Y.slice(0,X),$,{isArrowReturn:$.charCodeAt(0)!==123}]}}if(Y.startsWith("function")){X=Y.indexOf("(");let $=Y.indexOf(")");return[Y.slice(X+1,$),Y.slice($+2),{isArrowReturn:!1}]}let Z=Y.indexOf("(");if(Z!==-1){let $=Y.indexOf(`
|
|
34
|
+
`,2),Q=Y.slice(0,$),J=Q.lastIndexOf(")")+1,M=Y.slice($+1);return[Q.slice(Z,J),"{"+M,{isArrowReturn:!1}]}let W=Y.split(`
|
|
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
|
+
`,J=(M)=>{if(!(E8 in M)||!M.$ref)return M;if(M[E8]==="This")return MZ(Z.definitions[M.$ref]);else if(M[E8]==="Ref")if(!Z.modules)console.warn(Error("[exact-mirror] modules is required when using nested cyclic reference"));else return Z.modules.Import(M.$ref);return M};for(let M=0;M<Y.length;M++){let z=J(Y[M]);if(Array.isArray(z.anyOf))for(let U=0;U<z.anyOf.length;U++)z.anyOf[U]=J(z.anyOf[U]);else if(z.items)if(Array.isArray(z.items))for(let U=0;U<z.items.length;U++)z.items[U]=J(z.items[U]);else z.items=J(z.items);$.push(HY.Compile(z)),Q+=`if(d.unions[${W}][${M}].Check(${X})){return ${iY(z,X,{...Z,recursion:Z.recursion+1,parentIsOptional:!0})}}
|
|
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
|
+
`;for(let Q=0;Q<Z.optionals.length;Q++){let J=Z.optionals[Q],M=J.slice(1);if($+=`if(${J}===undefined`,Z.unionKeys[J])$+=`||x${M}===undefined`;let z=M.charCodeAt(0)!==63&&Y.type!=="array";$+=`)delete x${z?M.charCodeAt(0)===91?"?.":"?":""}${M}
|
|
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(W,{name:$,total:Q=0}={})=>{if(!$)$="anonymous";let J=W==="error"?"reportErr":"report";for(let M=0;M<X.length;M++)Z(`${J}${M} = trace${M}.${W}({id,event:'${W}',name:'${$}',begin:performance.now(),total:${Q}})
|
|
41
|
+
`);return{resolve(){for(let M=0;M<X.length;M++)Z(`${J}${M}.resolve()
|
|
42
|
+
`)},resolveChild(M){for(let z=0;z<X.length;z++)Z(`${J}Child${z}=${J}${z}.resolveChild?.shift()?.({id,event:'${W}',name:'${M}',begin:performance.now()})
|
|
43
|
+
`);return(z)=>{for(let U=0;U<X.length;U++)if(z)Z(`if(${z} instanceof Error){${J}Child${U}?.(${z}) }else{${J}Child${U}?.()}`);else Z(`${J}Child${U}?.()
|
|
44
|
+
`)}}}}},l1=({schema:Y,name:X,type:Z,typeAlias:W=Z,normalize:$,ignoreTryCatch:Q=!1})=>{if(!$||!Y.Clean)return"";if($===!0||$==="exactMirror"){if(Q)return`${X}=validator.${W}.Clean(${X})
|
|
45
|
+
`;return`try{${X}=validator.${W}.Clean(${X})
|
|
46
|
+
}catch{}`}if($==="typebox")return`${X}=validator.${W}.Clean(${X})
|
|
47
|
+
`;return""},hH=({injectResponse:Y="",normalize:X=!1,validator:Z,encodeSchema:W=!1,isStaticResponse:$=!1,hasSanitize:Q=!1})=>({validate:(J,M=`c.${J}`,z)=>`c.set.status=422;throw new ValidationError('${J}',validator.${J},${M}${z?","+z:""})`,response:(J="r")=>{if($||!Z.response)return"";let M=Y+`
|
|
48
|
+
`;M+=`if(${J} instanceof ElysiaCustomStatusResponse){c.set.status=${J}.code
|
|
49
|
+
${J}=${J}.response}if(${J} instanceof Response === false)switch(c.set.status){`;for(let[z,U]of Object.entries(Z.response)){if(M+=`
|
|
50
|
+
case ${z}:
|
|
51
|
+
`,U.provider==="standard"){M+=`let vare${z}=validator.response[${z}].Check(${J})
|
|
52
|
+
if(vare${z} instanceof Promise)vare${z}=await vare${z}
|
|
53
|
+
if(vare${z}.issues)throw new ValidationError('response',validator.response[${z}],${J},vare${z}.issues)
|
|
54
|
+
${J}=vare${z}.value
|
|
55
|
+
c.set.status=${z}
|
|
56
|
+
break
|
|
57
|
+
`;continue}let G=U.schema?.noValidate===!0;if(!G&&U.schema?.$ref&&U.schema?.$defs){let H=U.schema.$ref,q=typeof H==="string"&&H.includes("/")?H.split("/").pop():H;if(U.schema.$defs[q]?.noValidate===!0)G=!0}let D=G||Q,S=({ignoreTryCatch:H=!1}={})=>l1({name:J,schema:U,type:"response",typeAlias:`response[${z}]`,normalize:X,ignoreTryCatch:H});if(D)M+=S();let N=!D&&X&&!G;if(W&&U.hasTransform&&!G){if(M+=`try{${J}=validator.response[${z}].Encode(${J})
|
|
58
|
+
`,!D)M+=S({ignoreTryCatch:!0});M+=`c.set.status=${z}}catch{`+(N?`try{
|
|
59
|
+
`+S({ignoreTryCatch:!0})+`${J}=validator.response[${z}].Encode(${J})
|
|
60
|
+
}catch{throw new ValidationError('response',validator.response[${z}],${J})}`:`throw new ValidationError('response',validator.response[${z}],${J})`)+"}"}else{if(!D)M+=S();if(!G)M+=`if(validator.response[${z}].Check(${J})===false)throw new ValidationError('response',validator.response[${z}],${J})
|
|
61
|
+
c.set.status=${z}
|
|
62
|
+
`}M+=`break
|
|
63
|
+
`}return M+"}"}}),wX=(Y)=>{return(Y?.fn??Y).constructor.name==="AsyncFunction"},mH=/=>\s?response\.clone\(/,uH=/(?:return|=>)\s?\S+\(|a(?:sync|wait)/,x0=(Y)=>{let X=typeof Y==="object";if(X&&Y.isAsync!==void 0)return Y.isAsync;let Z=X?Y.fn:Y;if(Z.constructor.name==="AsyncFunction")return!0;let W=Z.toString();if(mH.test(W)){if(X)Y.isAsync=!1;return!1}let $=uH.test(W);if(X)Y.isAsync=$;return $},s1=(Y)=>{let X=typeof Y==="object";if(X&&Y.hasReturn!==void 0)return Y.hasReturn;let Z=X?Y.fn.toString():typeof Y==="string"?Y.toString():Y,W=Z.indexOf(")");if(Z.charCodeAt(W+2)===61&&Z.charCodeAt(W+5)!==123){if(X)Y.hasReturn=!0;return!0}let $=Z.includes("return");if(X)Y.hasReturn=$;return $},t6=(Y)=>{let X=Y?.fn??Y;return X.constructor.name==="AsyncGeneratorFunction"||X.constructor.name==="GeneratorFunction"},z1=(Y,X,Z=`c.${X}`)=>`try{${Y}}catch(error){if(error.constructor.name === 'TransformDecodeError'){c.set.status=422
|
|
64
|
+
throw error.error ?? new ValidationError('${X}',validator.${X},${Z})}}`,cH=({app:Y,path:X,method:Z,hooks:W,validator:$,handler:Q,allowMeta:J=!1,inference:M})=>{let z=Y["~adapter"].composeHandler,U=Y["~adapter"].handler,G=typeof Q==="function";if(!G){Q=U.mapResponse(Q,{headers:Y.setHeaders??{}});let d=Q instanceof Response||Q?.constructor?.name==="Response"&&typeof Q?.clone==="function";if(W.parse?.length&&W.transform?.length&&W.beforeHandle?.length&&W.afterHandle?.length){if(d)return Function("a",`"use strict";
|
|
65
|
+
return function(){return a.clone()}`)(Q);return Function("a",`"use strict";
|
|
66
|
+
return function(){return a}`)(Q)}if(d){let k=Q;Q=()=>k.clone()}}let D=G?"handler(c)":"handler",S=!!W.trace?.length,N="";if(M=QZ(Object.assign({handler:Q},W),M,Y.config.sucrose),z.declare){let d=z.declare(M);if(d)N+=d}if(M.server)N+=`Object.defineProperty(c,'server',{get:function(){return getServer()}})
|
|
67
|
+
`;$.createBody?.(),$.createQuery?.(),$.createHeaders?.(),$.createParams?.(),$.createCookie?.(),$.createResponse?.();let H=!!$.body||!!$.headers||!!$.params||!!$.query||!!$.cookie||!!$.response,q=M.query||!!$.query,F=W.parse?.length===1&&W.parse[0].fn==="none",C=Z!==""&&Z!=="GET"&&Z!=="HEAD"&&(M.body||!!$.body||!!W.parse?.length)&&!F,w=Y.setHeaders,h=w&&!!Object.keys(w).length,n=M.headers||!!$.headers||z.preferWebstandardHeaders!==!0&&M.body,s=M.cookie||!!$.cookie,f=$.cookie?.config?DW($?.cookie?.config,Y.config.cookie):Y.config.cookie,T="",y=()=>{if(T)return T;if(f?.sign){if(!f.secrets)throw Error(`t.Cookie required secret which is not set in (${Z}) ${X}.`);let d=!f.secrets?void 0:typeof f.secrets==="string"?f.secrets:f.secrets[0];if(T+=`const _setCookie = c.set.cookie
|
|
68
|
+
if(_setCookie){`,f.sign===!0)T+=`for(const [key, cookie] of Object.entries(_setCookie)){c.set.cookie[key].value=await signCookie(cookie.value,'${d}')}`;else for(let k of f.sign)T+=`if(_setCookie['${k}']?.value)c.set.cookie['${k}'].value=await signCookie(_setCookie['${k}'].value,'${d}')
|
|
69
|
+
`;T+=`}
|
|
70
|
+
`}return T},R=Y.config.normalize,E=Y.config.encodeSchema,b=hH({normalize:R,validator:$,encodeSchema:E,isStaticResponse:Q instanceof Response,hasSanitize:!!Y.config.sanitize});if(n)N+=z.headers;if(S)N+=`const id=c[ELYSIA_REQUEST_ID]
|
|
71
|
+
`;let m=X6({trace:W.trace,addFn:(d)=>{N+=d}});if(N+="try{",s){let d=(B,P)=>{let A=f?.[B]??P;if(!A)return typeof P==="string"?`${B}:"${P}",`:`${B}:${P},`;if(typeof A==="string")return`${B}:'${A}',`;if(A instanceof Date)return`${B}: new Date(${A.getTime()}),`;return`${B}:${A},`},k=f?`{secrets:${f.secrets!==void 0?typeof f.secrets==="string"?`'${f.secrets}'`:"["+f.secrets.reduce((B,P)=>B+`'${P}',`,"")+"]":"undefined"},sign:${f.sign===!0?!0:f.sign!==void 0?"["+f.sign.reduce((B,P)=>B+`'${P}',`,"")+"]":"undefined"},`+d("domain")+d("expires")+d("httpOnly")+d("maxAge")+d("path","/")+d("priority")+d("sameSite")+d("secure")+"}":"undefined";if(n)N+=`
|
|
72
|
+
c.cookie=await parseCookie(c.set,c.headers.cookie,${k})
|
|
73
|
+
`;else N+=`
|
|
74
|
+
c.cookie=await parseCookie(c.set,c.request.headers.get('cookie'),${k})
|
|
75
|
+
`}if(q){let d={},k={},B=!1,P=!1;if($.query?.schema){let A=M1($.query?.schema);if(O in A&&A.properties)for(let[V,x]of Object.entries(A.properties)){if(jY("ArrayQuery",x))d[V]=1,B=!0;if(jY("ObjectString",x))k[V]=1,P=!0}}N+=`if(c.qi===-1){c.query=Object.create(null)}else{c.query=parseQueryFromURL(c.url,c.qi+1,${B?JSON.stringify(d):void 0},${P?JSON.stringify(k):void 0})}`}let c=typeof Q==="function"&&x0(Q),h0=S||W.afterResponse?.length?"c.response=c.responseValue= ":"",o=Object.keys($.response??{}),LX=o.length>1,NZ=o.length===0||o.length===1&&o[0]==="200",L1=s||C||c||!!W.parse?.length||!!W.afterHandle?.some(x0)||!!W.beforeHandle?.some(x0)||!!W.transform?.some(x0)||!!W.mapResponse?.some(x0)||$.body?.provider==="standard"||$.headers?.provider==="standard"||$.query?.provider==="standard"||$.params?.provider==="standard"||$.cookie?.provider==="standard"||Object.values($.response??{}).find((d)=>d.provider==="standard"),J6=(typeof Q==="function"?t6(Q):!1)||!!W.beforeHandle?.some(t6)||!!W.afterHandle?.some(t6)||!!W.transform?.some(t6),KY=M.cookie||M.set||n||S||LX||!NZ||G&&h||J6,m0=()=>{if(!W.afterResponse?.length&&!S)return"";let d="",k=W.afterResponse?.some(x0)?"async ":"";d+=`
|
|
76
|
+
setImmediate(${k}()=>{`;let B=X6({trace:W.trace,addFn:(P)=>{d+=P}})("afterResponse",{total:W.afterResponse?.length});if(W.afterResponse?.length&&W.afterResponse)for(let P=0;P<W.afterResponse.length;P++){let A=B.resolveChild(W.afterResponse[P].fn.name),V=x0(W.afterResponse[P])?"await ":"";d+=`
|
|
77
|
+
${V}e.afterResponse[${P}](c)
|
|
78
|
+
`,A()}return B.resolve(),d+=`})
|
|
79
|
+
`,d},u0=(d="r")=>{let k=m0(),B=`${KY?"mapResponse":"mapCompactResponse"}(${h0}${d}${KY?",c.set":""}${wY})
|
|
80
|
+
`;if(!k)return`return ${B}`;return`const _res=${B}`+k+"return _res"},wY=J6||z.mapResponseContext?`,${z.mapResponseContext}`:"";if(S||M.route)N+=`c.route=\`${X}\`
|
|
81
|
+
`;let rY=m("parse",{total:W.parse?.length});if(C){let d=!!W.parse?.length||M.body||$.body;if(z.parser.declare)N+=z.parser.declare;N+=`
|
|
82
|
+
try{`;let k=typeof W.parse==="string"?W.parse:Array.isArray(W.parse)&&W.parse.length===1?typeof W.parse[0]==="string"?W.parse[0]:typeof W.parse[0].fn==="string"?W.parse[0].fn:void 0:void 0;if(!k&&$.body&&!W.parse?.length){let B=$.body.schema;if(B&&B.anyOf&&B[O]==="Union"&&B.anyOf?.length===2&&B.anyOf?.find((P)=>P[O]==="ElysiaForm"))k="formdata"}if(k&&vH.includes(k)){let B=m("parse",{total:W.parse?.length}),P=!!$.body?.isOptional;switch(k){case"json":case"application/json":N+=z.parser.json(P);break;case"text":case"text/plain":N+=z.parser.text(P);break;case"urlencoded":case"application/x-www-form-urlencoded":N+=z.parser.urlencoded(P);break;case"arrayBuffer":case"application/octet-stream":N+=z.parser.arrayBuffer(P);break;case"formdata":case"multipart/form-data":N+=z.parser.formData(P);break;default:if(k[0]in Y["~parser"])N+=n?"let contentType = c.headers['content-type']":"let contentType = c.request.headers.get('content-type')",N+=`
|
|
83
|
+
if(contentType){const index=contentType.indexOf(';')
|
|
84
|
+
if(index!==-1)contentType=contentType.substring(0,index)}
|
|
85
|
+
else{contentType=''}c.contentType=contentType
|
|
86
|
+
let result=parser['${k}'](c, contentType)
|
|
87
|
+
if(result instanceof Promise)result=await result
|
|
88
|
+
if(result instanceof ElysiaCustomStatusResponse)throw result
|
|
89
|
+
if(result!==undefined)c.body=result
|
|
90
|
+
delete c.contentType
|
|
91
|
+
`;break}B.resolve()}else if(d){N+=`
|
|
92
|
+
`,N+=`let contentType
|
|
93
|
+
if(c.request.body)`,N+=n?`contentType=c.headers['content-type']
|
|
94
|
+
`:`contentType=c.request.headers.get('content-type')
|
|
95
|
+
`;let B=!1;if(W.parse?.length)N+=`if(contentType){
|
|
96
|
+
const index=contentType.indexOf(';')
|
|
97
|
+
|
|
98
|
+
if(index!==-1)contentType=contentType.substring(0,index)}else{contentType=''}let used=false
|
|
99
|
+
c.contentType=contentType
|
|
100
|
+
`;else{B=!0;let A=!!$.body?.isOptional;N+=`if(contentType)switch(contentType.charCodeAt(12)){
|
|
101
|
+
case 106:`+z.parser.json(A)+`break
|
|
102
|
+
case 120:`+z.parser.urlencoded(A)+`break
|
|
103
|
+
case 111:`+z.parser.arrayBuffer(A)+`break
|
|
104
|
+
case 114:`+z.parser.formData(A)+`break
|
|
105
|
+
default:if(contentType.charCodeAt(0)===116){`+z.parser.text(A)+`}break
|
|
106
|
+
}`}let P=m("parse",{total:W.parse?.length});if(W.parse)for(let A=0;A<W.parse.length;A++){let V=`bo${A}`;if(A!==0)N+=`
|
|
107
|
+
if(!used){`;if(typeof W.parse[A].fn==="string"){let x=P.resolveChild(W.parse[A].fn),g=!!$.body?.isOptional;switch(W.parse[A].fn){case"json":case"application/json":B=!0,N+=z.parser.json(g);break;case"text":case"text/plain":B=!0,N+=z.parser.text(g);break;case"urlencoded":case"application/x-www-form-urlencoded":B=!0,N+=z.parser.urlencoded(g);break;case"arrayBuffer":case"application/octet-stream":B=!0,N+=z.parser.arrayBuffer(g);break;case"formdata":case"multipart/form-data":B=!0,N+=z.parser.formData(g);break;default:N+=`let ${V}=parser['${W.parse[A].fn}'](c,contentType)
|
|
108
|
+
if(${V} instanceof Promise)${V}=await ${V}
|
|
109
|
+
if(${V}!==undefined){c.body=${V};used=true;}
|
|
110
|
+
`}x()}else{let x=P.resolveChild(W.parse[A].fn.name);N+=`let ${V}=e.parse[${A}]
|
|
111
|
+
${V}=${V}(c,contentType)
|
|
112
|
+
if(${V} instanceof Promise)${V}=await ${V}
|
|
113
|
+
if(${V}!==undefined){c.body=${V};used=true}`,x()}if(A!==0)N+="}";if(B)break}if(P.resolve(),!B){let A=!!$.body?.isOptional;if(W.parse?.length)N+=`
|
|
114
|
+
if(!used){
|
|
115
|
+
`;N+=`switch(contentType){case 'application/json':
|
|
116
|
+
`+z.parser.json(A)+`break
|
|
117
|
+
case 'text/plain':`+z.parser.text(A)+`break
|
|
118
|
+
case 'application/x-www-form-urlencoded':`+z.parser.urlencoded(A)+`break
|
|
119
|
+
case 'application/octet-stream':`+z.parser.arrayBuffer(A)+`break
|
|
120
|
+
case 'multipart/form-data':`+z.parser.formData(A)+`break
|
|
121
|
+
`;for(let V of Object.keys(Y["~parser"]))N+=`case '${V}':let bo${V}=parser['${V}'](c,contentType)
|
|
122
|
+
if(bo${V} instanceof Promise)bo${V}=await bo${V}
|
|
123
|
+
if(bo${V} instanceof ElysiaCustomStatusResponse){`+u0(`bo${V}`)+`}if(bo${V}!==undefined)c.body=bo${V}
|
|
124
|
+
break
|
|
125
|
+
`;if(W.parse?.length)N+="}";N+="}"}if(W.parse?.length)N+=`
|
|
126
|
+
delete c.contentType`}N+="}catch(error){throw new ParseError(error)}"}if(rY.resolve(),W?.transform||S){let d=m("transform",{total:W.transform?.length});if(W.transform?.length){N+=`let transformed
|
|
127
|
+
`;for(let k=0;k<W.transform.length;k++){let B=W.transform[k],P=d.resolveChild(B.fn.name);if(N+=x0(B)?`transformed=await e.transform[${k}](c)
|
|
128
|
+
`:`transformed=e.transform[${k}](c)
|
|
129
|
+
`,B.subType==="mapDerive")N+="if(transformed instanceof ElysiaCustomStatusResponse){"+u0("transformed")+`}else{transformed.request=c.request
|
|
130
|
+
transformed.store=c.store
|
|
131
|
+
transformed.qi=c.qi
|
|
132
|
+
transformed.path=c.path
|
|
133
|
+
transformed.url=c.url
|
|
134
|
+
transformed.redirect=c.redirect
|
|
135
|
+
transformed.set=c.set
|
|
136
|
+
transformed.error=c.error
|
|
137
|
+
c=transformed}`;else N+="if(transformed instanceof ElysiaCustomStatusResponse){"+u0("transformed")+`}else Object.assign(c,transformed)
|
|
138
|
+
`;P()}}d.resolve()}let CY=[];if($){if($.headers){if($.headers.hasDefault)for(let[d,k]of Object.entries(O0.Default($.headers.schema,{}))){let B=typeof k==="object"?JSON.stringify(k):typeof k==="string"?`'${k}'`:k;if(B!==void 0)N+=`c.headers['${d}']??=${B}
|
|
139
|
+
`}if(N+=l1({name:"c.headers",schema:$.headers,type:"headers",normalize:R}),$.headers.isOptional)N+="if(isNotEmpty(c.headers)){";if($.headers?.provider==="standard")N+=`let vah=validator.headers.Check(c.headers)
|
|
140
|
+
if(vah instanceof Promise)vah=await vah
|
|
141
|
+
if(vah.issues){`+b.validate("headers",void 0,"vah.issues")+`}else{c.headers=vah.value}
|
|
142
|
+
`;else if($.headers?.schema?.noValidate!==!0)N+="if(validator.headers.Check(c.headers) === false){"+b.validate("headers")+"}";if($.headers.hasTransform)N+=z1(`c.headers=validator.headers.Decode(c.headers)
|
|
143
|
+
`,"headers");if($.headers.isOptional)N+="}"}if($.params){if($.params.hasDefault)for(let[d,k]of Object.entries(O0.Default($.params.schema,{}))){let B=typeof k==="object"?JSON.stringify(k):typeof k==="string"?`'${k}'`:k;if(B!==void 0)N+=`c.params['${d}']??=${B}
|
|
144
|
+
`}if($.params.provider==="standard")N+=`let vap=validator.params.Check(c.params)
|
|
145
|
+
if(vap instanceof Promise)vap=await vap
|
|
146
|
+
if(vap.issues){`+b.validate("params",void 0,"vap.issues")+`}else{c.params=vap.value}
|
|
147
|
+
`;else if($.params?.schema?.noValidate!==!0)N+="if(validator.params.Check(c.params)===false){"+b.validate("params")+"}";if($.params.hasTransform)N+=z1(`c.params=validator.params.Decode(c.params)
|
|
148
|
+
`,"params")}if($.query){if(O in $.query?.schema&&$.query.hasDefault)for(let[d,k]of Object.entries(O0.Default($.query.schema,{}))){let B=typeof k==="object"?JSON.stringify(k):typeof k==="string"?`'${k}'`:k;if(B!==void 0)N+=`if(c.query['${d}']===undefined)c.query['${d}']=${B}
|
|
149
|
+
`}if(N+=l1({name:"c.query",schema:$.query,type:"query",normalize:R}),$.query.isOptional)N+="if(isNotEmpty(c.query)){";if($.query.provider==="standard")N+=`let vaq=validator.query.Check(c.query)
|
|
150
|
+
if(vaq instanceof Promise)vaq=await vaq
|
|
151
|
+
if(vaq.issues){`+b.validate("query",void 0,"vaq.issues")+`}else{c.query=vaq.value}
|
|
152
|
+
`;else if($.query?.schema?.noValidate!==!0)N+="if(validator.query.Check(c.query)===false){"+b.validate("query")+"}";if($.query.hasTransform)N+=z1(`c.query=validator.query.Decode(c.query)
|
|
153
|
+
`,"query"),N+=z1(`c.query=validator.query.Decode(c.query)
|
|
154
|
+
`,"query");if($.query.isOptional)N+="}"}if(C&&$.body){if($.body.hasTransform||$.body.isOptional)N+=`const isNotEmptyObject=c.body&&(typeof c.body==="object"&&(isNotEmpty(c.body)||c.body instanceof ArrayBuffer))
|
|
155
|
+
`;let d=fH($.body.schema),k=!1;if($.body.hasDefault){let B=O0.Default($.body.schema,$.body.schema.type==="object"||M1($.body.schema)[O]==="Object"?{}:void 0),P=M1($.body.schema);if(!d&&B&&typeof B==="object"&&(HX("File",P)||HX("Files",P))){k=!0;for(let[V,x]of Object.entries(B))if(x==="File"||x==="Files")delete B[V];if(!V0(B))B=void 0}let A=typeof B==="object"?JSON.stringify(B):typeof B==="string"?`'${B}'`:B;if(B!==void 0&&B!==null)if(Array.isArray(B))N+=`if(!c.body)c.body=${A}
|
|
156
|
+
`;else if(typeof B==="object")N+=`c.body=Object.assign(${A},c.body)
|
|
157
|
+
`;else N+=`c.body=${A}
|
|
158
|
+
`;if(N+=l1({name:"c.body",schema:$.body,type:"body",normalize:R}),$.body.provider==="standard")N+=`let vab=validator.body.Check(c.body)
|
|
159
|
+
if(vab instanceof Promise)vab=await vab
|
|
160
|
+
if(vab.issues){`+b.validate("body",void 0,"vab.issues")+`}else{c.body=vab.value}
|
|
161
|
+
`;else if($.body?.schema?.noValidate!==!0)if($.body.isOptional)N+="if(isNotEmptyObject&&validator.body.Check(c.body)===false){"+b.validate("body")+"}";else N+="if(validator.body.Check(c.body)===false){"+b.validate("body")+"}"}else if(N+=l1({name:"c.body",schema:$.body,type:"body",normalize:R}),$.body.provider==="standard")N+=`let vab=validator.body.Check(c.body)
|
|
162
|
+
if(vab instanceof Promise)vab=await vab
|
|
163
|
+
if(vab.issues){`+b.validate("body",void 0,"vab.issues")+`}else{c.body=vab.value}
|
|
164
|
+
`;else if($.body?.schema?.noValidate!==!0)if($.body.isOptional)N+="if(isNotEmptyObject&&validator.body.Check(c.body)===false){"+b.validate("body")+"}";else N+="if(validator.body.Check(c.body)===false){"+b.validate("body")+"}";if($.body.hasTransform)N+=z1(`if(isNotEmptyObject)c.body=validator.body.Decode(c.body)
|
|
165
|
+
`,"body");if(d&&$.body.schema.anyOf?.length){let B=Object.values($.body.schema.anyOf);for(let P=0;P<B.length;P++){let A=B[P];if(HX("File",A)||HX("Files",A)){let V=e0(A,{modules:Y.definitions.typebox,dynamic:!Y.config.aot,models:Y.definitions.type,normalize:Y.config.normalize,additionalCoerce:PW(),sanitize:()=>Y.config.sanitize});if(V){let x=CY.length===0,g=Object.entries(A.properties),r=x?`
|
|
166
|
+
`:" else ";r+=`if(fileUnions[${CY.length}].Check(c.body)){`;let P0="",G8=0;for(let $8=0;$8<g.length;$8++){let[V8,RY]=g[$8];if(!RY.extension||RY[O]!=="File"&&RY[O]!=="Files")continue;if(G8)P0+=",";P0+=`fileType(c.body.${V8},${JSON.stringify(RY.extension)},'body.${V8}')`,G8++}if(P0){if(G8===1)r+=`await ${P0}
|
|
167
|
+
`;else if(G8>1)r+=`await Promise.all([${P0}])
|
|
168
|
+
`;r+="}",N+=r,CY.push(V)}}}}}else if(k||!d&&(HX("File",M1($.body.schema))||HX("Files",M1($.body.schema)))){let B="",P=0;for(let[A,V]of Object.entries(M1($.body.schema).properties)){if(!V.extension||V[O]!=="File"&&V[O]!=="Files")continue;if(P)B+=",";B+=`fileType(c.body.${A},${JSON.stringify(V.extension)},'body.${A}')`,P++}if(P)N+=`
|
|
169
|
+
`;if(P===1)N+=`await ${B}
|
|
170
|
+
`;else if(P>1)N+=`await Promise.all([${B}])
|
|
171
|
+
`}}if($.cookie){if($.cookie.config=DW($.cookie.config,$.cookie?.config??{}),N+=`let cookieValue={}
|
|
172
|
+
for(const [key,value] of Object.entries(c.cookie))cookieValue[key]=value.value
|
|
173
|
+
`,$.cookie.isOptional)N+="if(isNotEmpty(c.cookie)){";if($.cookie.provider==="standard")N+=`let vac=validator.cookie.Check(cookieValue)
|
|
174
|
+
if(vac instanceof Promise)vac=await vac
|
|
175
|
+
if(vac.issues){`+b.validate("cookie",void 0,"vac.issues")+`}else{cookieValue=vac.value}
|
|
176
|
+
`,N+=`for(const k of Object.keys(cookieValue))c.cookie[k].value=cookieValue[k]
|
|
177
|
+
`;else if($.body?.schema?.noValidate!==!0){if(N+="if(validator.cookie.Check(cookieValue)===false){"+b.validate("cookie","cookieValue")+"}",$.cookie.hasTransform)N+=z1("for(const [key,value] of Object.entries(validator.cookie.Decode(cookieValue))){c.cookie[key].value=value}","cookie")}if($.cookie.isOptional)N+="}"}}if(W?.beforeHandle||S){let d=m("beforeHandle",{total:W.beforeHandle?.length}),k=!1;if(W.beforeHandle?.length)for(let B=0;B<W.beforeHandle.length;B++){let P=W.beforeHandle[B],A=d.resolveChild(P.fn.name),V=s1(P);if(P.subType==="resolve"||P.subType==="mapResolve"){if(!k)k=!0,N+=`
|
|
178
|
+
let resolved
|
|
179
|
+
`;if(N+=x0(P)?`resolved=await e.beforeHandle[${B}](c);
|
|
180
|
+
`:`resolved=e.beforeHandle[${B}](c);
|
|
181
|
+
`,P.subType==="mapResolve")N+="if(resolved instanceof ElysiaCustomStatusResponse){"+u0("resolved")+`}else{resolved.request=c.request
|
|
182
|
+
resolved.store=c.store
|
|
183
|
+
resolved.qi=c.qi
|
|
184
|
+
resolved.path=c.path
|
|
185
|
+
resolved.url=c.url
|
|
186
|
+
resolved.redirect=c.redirect
|
|
187
|
+
resolved.set=c.set
|
|
188
|
+
resolved.error=c.error
|
|
189
|
+
c=resolved}`;else N+="if(resolved instanceof ElysiaCustomStatusResponse){"+u0("resolved")+`}else Object.assign(c, resolved)
|
|
190
|
+
`;A()}else if(!V)N+=x0(P)?`await e.beforeHandle[${B}](c)
|
|
191
|
+
`:`e.beforeHandle[${B}](c)
|
|
192
|
+
`,A();else{if(N+=x0(P)?`be=await e.beforeHandle[${B}](c)
|
|
193
|
+
`:`be=e.beforeHandle[${B}](c)
|
|
194
|
+
`,A("be"),N+="if(be!==undefined){",d.resolve(),W.afterHandle?.length||S){m("handle",{name:G?Q.name:void 0}).resolve();let g=m("afterHandle",{total:W.afterHandle?.length});if(W.afterHandle?.length)for(let r=0;r<W.afterHandle.length;r++){let P0=W.afterHandle[r],G8=s1(P0),$8=g.resolveChild(P0.fn.name);if(N+=`c.response = be
|
|
195
|
+
`,!G8)N+=x0(P0.fn)?`await e.afterHandle[${r}](c, be)
|
|
196
|
+
`:`e.afterHandle[${r}](c, be)
|
|
197
|
+
`;else N+=x0(P0.fn)?`af=await e.afterHandle[${r}](c)
|
|
198
|
+
`:`af=e.afterHandle[${r}](c)
|
|
199
|
+
`,N+=`if(af!==undefined) c.response=c.responseValue=be=af
|
|
200
|
+
`;$8("af")}g.resolve()}if($.response)N+=b.response("be");let x=m("mapResponse",{total:W.mapResponse?.length});if(W.mapResponse?.length){N+=`c.response=c.responseValue=be
|
|
201
|
+
`;for(let g=0;g<W.mapResponse.length;g++){let r=W.mapResponse[g],P0=x.resolveChild(r.fn.name);N+=`if(mr===undefined){mr=${wX(r)?"await ":""}e.mapResponse[${g}](c)
|
|
202
|
+
if(mr!==undefined)be=c.response=c.responseValue=mr}`,P0()}}x.resolve(),N+=y(),N+=`return mapEarlyResponse(${h0}be,c.set${wY})}
|
|
203
|
+
`}}d.resolve()}if(W.afterHandle?.length||S){let d=m("handle",{name:G?Q.name:void 0});if(W.afterHandle?.length)N+=c?`let r=c.response=c.responseValue=await ${D}
|
|
204
|
+
`:`let r=c.response=c.responseValue=${D}
|
|
205
|
+
`;else N+=c?`let r=await ${D}
|
|
206
|
+
`:`let r=${D}
|
|
207
|
+
`;d.resolve();let k=m("afterHandle",{total:W.afterHandle?.length});if(W.afterHandle?.length)for(let P=0;P<W.afterHandle.length;P++){let A=W.afterHandle[P],V=s1(A),x=k.resolveChild(A.fn.name);if(!V)N+=x0(A.fn)?`await e.afterHandle[${P}](c)
|
|
208
|
+
`:`e.afterHandle[${P}](c)
|
|
209
|
+
`,x();else if(N+=x0(A.fn)?`af=await e.afterHandle[${P}](c)
|
|
210
|
+
`:`af=e.afterHandle[${P}](c)
|
|
211
|
+
`,x("af"),$.response)N+="if(af!==undefined){",k.resolve(),N+=b.response("af"),N+="c.response=c.responseValue=af}";else N+="if(af!==undefined){",k.resolve(),N+="c.response=c.responseValue=af}"}if(k.resolve(),W.afterHandle?.length)N+=`r=c.response
|
|
212
|
+
`;if($.response)N+=b.response();N+=y();let B=m("mapResponse",{total:W.mapResponse?.length});if(W.mapResponse?.length)for(let P=0;P<W.mapResponse.length;P++){let A=W.mapResponse[P],V=B.resolveChild(A.fn.name);N+=`mr=${wX(A)?"await ":""}e.mapResponse[${P}](c)
|
|
213
|
+
if(mr!==undefined)r=c.response=c.responseValue=mr
|
|
214
|
+
`,V()}B.resolve(),N+=u0()}else{let d=m("handle",{name:G?Q.name:void 0});if($.response||W.mapResponse?.length||S){if(N+=c?`let r=await ${D}
|
|
215
|
+
`:`let r=${D}
|
|
216
|
+
`,d.resolve(),$.response)N+=b.response();let k=m("mapResponse",{total:W.mapResponse?.length});if(W.mapResponse?.length){N+=`
|
|
217
|
+
c.response=c.responseValue=r
|
|
218
|
+
`;for(let B=0;B<W.mapResponse.length;B++){let P=W.mapResponse[B],A=k.resolveChild(P.fn.name);N+=`
|
|
219
|
+
if(mr===undefined){mr=${wX(P)?"await ":""}e.mapResponse[${B}](c)
|
|
220
|
+
if(mr!==undefined)r=c.response=c.responseValue=mr}
|
|
221
|
+
`,A()}}if(k.resolve(),N+=y(),Q instanceof Response)N+=m0(),N+=M.set?`if(isNotEmpty(c.set.headers)||c.set.status!==200||c.set.redirect||c.set.cookie)return mapResponse(${h0}${D}.clone(),c.set${wY})
|
|
222
|
+
else return ${D}.clone()`:`return ${D}.clone()`,N+=`
|
|
223
|
+
`;else N+=u0()}else if(s||S){N+=c?`let r=await ${D}
|
|
224
|
+
`:`let r=${D}
|
|
225
|
+
`,d.resolve();let k=m("mapResponse",{total:W.mapResponse?.length});if(W.mapResponse?.length){N+=`c.response=c.responseValue= r
|
|
226
|
+
`;for(let B=0;B<W.mapResponse.length;B++){let P=W.mapResponse[B],A=k.resolveChild(P.fn.name);N+=`if(mr===undefined){mr=${wX(P)?"await ":""}e.mapResponse[${B}](c)
|
|
227
|
+
if(mr!==undefined)r=c.response=c.responseValue=mr}`,A()}}k.resolve(),N+=y()+u0()}else{d.resolve();let k=c?`await ${D}`:D;if(Q instanceof Response)N+=m0(),N+=M.set?`if(isNotEmpty(c.set.headers)||c.set.status!==200||c.set.redirect||c.set.cookie)return mapResponse(${h0}${D}.clone(),c.set${wY})
|
|
228
|
+
else return ${D}.clone()
|
|
229
|
+
`:`return ${D}.clone()
|
|
230
|
+
`;else N+=u0(k)}}if(N+=`
|
|
231
|
+
}catch(error){`,!L1&&W.error?.length)N+="return(async()=>{";if(N+=`const set=c.set
|
|
232
|
+
if(!set.status||set.status<300)set.status=error?.status||500
|
|
233
|
+
`,s)N+=y();if(S&&W.trace)for(let d=0;d<W.trace.length;d++)N+=`report${d}?.resolve(error);reportChild${d}?.(error)
|
|
234
|
+
`;let aY=m("error",{total:W.error?.length});if(W.error?.length){if(N+=`c.error=error
|
|
235
|
+
`,H)N+=`if(error instanceof TypeBoxError){c.code="VALIDATION"
|
|
236
|
+
c.set.status=422}else{c.code=error.code??error[ERROR_CODE]??"UNKNOWN"}`;else N+=`c.code=error.code??error[ERROR_CODE]??"UNKNOWN"
|
|
237
|
+
`;if(N+=`let er
|
|
238
|
+
`,W.mapResponse?.length)N+=`let mep
|
|
239
|
+
`;for(let d=0;d<W.error.length;d++){let k=aY.resolveChild(W.error[d].fn.name);if(x0(W.error[d]))N+=`er=await e.error[${d}](c)
|
|
240
|
+
`;else N+=`er=e.error[${d}](c)
|
|
241
|
+
if(er instanceof Promise)er=await er
|
|
242
|
+
`;if(k(),W.mapResponse?.length){let B=m("mapResponse",{total:W.mapResponse?.length});for(let P=0;P<W.mapResponse.length;P++){let A=W.mapResponse[P],V=B.resolveChild(A.fn.name);N+=`c.response=c.responseValue=er
|
|
243
|
+
mep=e.mapResponse[${P}](c)
|
|
244
|
+
if(mep instanceof Promise)er=await er
|
|
245
|
+
if(mep!==undefined)er=mep
|
|
246
|
+
`,V()}B.resolve()}if(N+=`er=mapEarlyResponse(er,set${wY})
|
|
247
|
+
`,N+="if(er){",S&&W.trace){for(let B=0;B<W.trace.length;B++)N+=`report${B}.resolve()
|
|
248
|
+
`;aY.resolve()}N+="return er}"}}if(aY.resolve(),N+="return handleError(c,error,true)",!L1&&W.error?.length)N+="})()";N+="}";let M6=z.inject?Object.keys(z.inject).join(",")+",":"",eY="const {handler,handleError,hooks:e, "+f0("validator,",H)+"mapResponse,mapCompactResponse,mapEarlyResponse,isNotEmpty,utils:{"+f0("parseQuery,",C)+f0("parseQueryFromURL,",q)+"},error:{"+f0("ValidationError,",H)+f0("ParseError",C)+"},fileType,schema,definitions,ERROR_CODE,"+f0("parseCookie,",s)+f0("signCookie,",s)+f0("decodeURIComponent,",q)+"ElysiaCustomStatusResponse,"+f0("ELYSIA_TRACE,",S)+f0("ELYSIA_REQUEST_ID,",S)+f0("parser,",W.parse?.length)+f0("getServer,",M.server)+f0("fileUnions,",CY.length)+M6+f0("TypeBoxError",H)+`}=hooks
|
|
249
|
+
const trace=e.trace
|
|
250
|
+
return ${L1?"async ":""}function handle(c){`;if(W.beforeHandle?.length)eY+=`let be
|
|
251
|
+
`;if(W.afterHandle?.length)eY+=`let af
|
|
252
|
+
`;if(W.mapResponse?.length)eY+=`let mr
|
|
253
|
+
`;if(J)eY+=`c.schema=schema
|
|
254
|
+
c.defs=definitions
|
|
255
|
+
`;N=eY+N+"}",eY="";try{return Function("hooks",`"use strict";
|
|
256
|
+
`+N)({handler:Q,hooks:p9(W),validator:H?$:void 0,handleError:Y.handleError,mapResponse:U.mapResponse,mapCompactResponse:U.mapCompactResponse,mapEarlyResponse:U.mapEarlyResponse,isNotEmpty:V0,utils:{parseQuery:C?G1:void 0,parseQueryFromURL:q?$.query?.provider==="standard"?EH:CQ:void 0},error:{ValidationError:H?A0:void 0,ParseError:C?DQ:void 0},fileType:wQ,schema:Y.router.history,definitions:Y.definitions.type,ERROR_CODE:YZ,parseCookie:s?OQ:void 0,signCookie:s?e6:void 0,decodeURIComponent:q?bH.default:void 0,ElysiaCustomStatusResponse:z8,ELYSIA_TRACE:S?BZ:void 0,ELYSIA_REQUEST_ID:S?W6:void 0,getServer:M.server?()=>Y.getServer():void 0,fileUnions:CY.length?CY:void 0,TypeBoxError:H?i:void 0,parser:Y["~parser"],...z.inject})}catch(d){let k=p9(W);console.log("[Composer] failed to generate optimized handler"),console.log("---"),console.log({handler:typeof Q==="function"?Q.toString():Q,instruction:N,hooks:{...k,transform:k?.transform?.map?.((B)=>B.toString()),resolve:k?.resolve?.map?.((B)=>B.toString()),beforeHandle:k?.beforeHandle?.map?.((B)=>B.toString()),afterHandle:k?.afterHandle?.map?.((B)=>B.toString()),mapResponse:k?.mapResponse?.map?.((B)=>B.toString()),parse:k?.parse?.map?.((B)=>B.toString()),error:k?.error?.map?.((B)=>B.toString()),afterResponse:k?.afterResponse?.map?.((B)=>B.toString()),stop:k?.stop?.map?.((B)=>B.toString())},validator:$,definitions:Y.definitions.type,error:d}),console.log("---"),process.exit(1)}},VQ=(Y,X)=>{let Z="",W=X6({trace:Y.event.trace,addFn:X??(($)=>{Z+=$})})("request",{total:Y.event.request?.length});if(Y.event.request?.length){Z+="try{";for(let $=0;$<Y.event.request.length;$++){let Q=Y.event.request[$],J=s1(Q),M=x0(Q),z=W.resolveChild(Y.event.request[$].fn.name);if(J)Z+=`re=mapEarlyResponse(${M?"await ":""}onRequest[${$}](c),c.set)
|
|
257
|
+
`,z("re"),Z+=`if(re!==undefined)return re
|
|
258
|
+
`;else Z+=`${M?"await ":""}onRequest[${$}](c)
|
|
259
|
+
`,z()}Z+="}catch(error){return app.handleError(c,error,false)}"}return W.resolve(),Z},IQ=(Y,X="map")=>{let Z=Y.extender.higherOrderFunctions;if(!Z.length)return"return "+X;let W=Y["~adapter"].composeGeneralHandler,$=X;for(let Q=0;Q<Z.length;Q++)$=`hoc[${Q}](${$},${W.parameters})`;return`return function hocMap(${W.parameters}){return ${$}(${W.parameters})}`},UW=(Y)=>{let X=Y["~adapter"].composeGeneralHandler;Y.router.http.build();let Z=Y["~adapter"].isWebStandard,W=Y.event.trace?.length,$="",Q=Y.router,J=Q.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)";if(J+=Q.http.root.ALL?`??router.find('ALL',p)
|
|
260
|
+
`:`
|
|
261
|
+
`,Z)J+=`if(r.method==='HEAD'){const route=router.find('GET',p)
|
|
262
|
+
if(route){c.params=route.params
|
|
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=`
|
|
268
|
+
c.error=notFound
|
|
269
|
+
`;let H=Y.event.afterResponse.some(x0)?"async":"";M+=`
|
|
270
|
+
setImmediate(${H}()=>{`;for(let q=0;q<Y.event.afterResponse.length;q++){let F=Y.event.afterResponse[q].fn;M+=`
|
|
271
|
+
${wX(F)?"await ":""}afterResponse[${q}](c)
|
|
272
|
+
`}M+=`})
|
|
273
|
+
`}if(Y.inference.query)M+=`
|
|
274
|
+
if(c.qi===-1){c.query={}}else{c.query=parseQueryFromURL(c.url,c.qi+1)}`;let z=X.error404(!!Y.event.request?.length,!!Y.event.error?.length,M);J+=z.code,J+=`
|
|
275
|
+
c.params=route.params
|
|
276
|
+
if(route.store.handler)return route.store.handler(c)
|
|
277
|
+
return route.store.compile()(c)
|
|
278
|
+
`;let U="";for(let[H,q]of Object.entries(Q.static)){if(U+=`case'${H}':`,Y.config.strictPath!==!0)U+=`case'${c1(H)}':`;let F=p1(H);if(H!==F)U+=`case'${F}':`;if(U+="switch(r.method){","GET"in q||"WS"in q){if(U+="case 'GET':","WS"in q){if(U+=`if(r.headers.get('upgrade')==='websocket')return ht[${q.WS}].composed(c)
|
|
279
|
+
`,"GET"in q===!1)if("ALL"in q)U+=`return ht[${q.ALL}].composed(c)
|
|
280
|
+
`;else U+=`break map
|
|
281
|
+
`}if("GET"in q)U+=`return ht[${q.GET}].composed(c)
|
|
282
|
+
`}if(Z&&(("GET"in q)||("ALL"in q))&&"HEAD"in q===!1)U+=`case 'HEAD':const _res=ht[${q.GET??q.ALL}].composed(c)
|
|
283
|
+
return getResponseLength(_res).then((length)=>{_res.headers.set('content-length', length)
|
|
284
|
+
return new Response(null,{status:_res.status,statusText:_res.statusText,headers:_res.headers})
|
|
285
|
+
})
|
|
286
|
+
`;for(let[C,w]of Object.entries(q)){if(C==="ALL"||C==="GET"||C==="WS")continue;U+=`case '${C}':return ht[${w}].composed(c)
|
|
287
|
+
`}if("ALL"in q)U+=`default:return ht[${q.ALL}].composed(c)
|
|
288
|
+
`;else U+=`default:break map
|
|
289
|
+
`;U+="}"}let G=!!Y.event.request?.some(x0),D=X.inject?Object.keys(X.inject).join(",")+",":"";if($+=`
|
|
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
|
|
291
|
+
const store=app.singleton.store
|
|
292
|
+
const decorator=app.singleton.decorator
|
|
293
|
+
const staticRouter=app.router.static.http
|
|
294
|
+
const ht=app.router.history
|
|
295
|
+
const router=app.router.http
|
|
296
|
+
const trace=app.event.trace?.map(x=>typeof x==='function'?x:x.fn)??[]
|
|
297
|
+
const notFound=new NotFoundError()
|
|
298
|
+
const hoc=app.extender.higherOrderFunctions.map(x=>x.fn)
|
|
299
|
+
`,Y.event.request?.length)$+=`const onRequest=app.event.request.map(x=>x.fn)
|
|
300
|
+
`;if(Y.event.afterResponse?.length)$+=`const afterResponse=app.event.afterResponse.map(x=>x.fn)
|
|
301
|
+
`;if($+=z.declare,Y.event.trace?.length)$+="const "+Y.event.trace.map((H,q)=>`tr${q}=app.event.trace[${q}].fn`).join(",")+`
|
|
302
|
+
`;if($+=`${G?"async ":""}function map(${X.parameters}){`,Y.event.request?.length)$+=`let re
|
|
303
|
+
`;if($+=X.createContext(Y),Y.event.trace?.length)$+="c[ELYSIA_TRACE]=["+Y.event.trace.map((H,q)=>`tr${q}(c)`).join(",")+`]
|
|
304
|
+
`;if($+=VQ(Y),U)$+=`
|
|
305
|
+
map: switch(p){
|
|
306
|
+
`+U+"}";$+=J+`}
|
|
307
|
+
`+IQ(Y);let S=TQ(Y);Y.handleError=S;let N=Function("data",`"use strict";
|
|
308
|
+
`+$)({app:Y,mapEarlyResponse:Y["~adapter"].handler.mapEarlyResponse,NotFoundError:jW,randomId:GZ,handleError:S,status:a1,redirect:UZ,getResponseLength:UH,parseQueryFromURL:Y.inference.query?CQ:void 0,ELYSIA_TRACE:W?BZ:void 0,ELYSIA_REQUEST_ID:W?W6:void 0,...X.inject});if(H1)Bun.gc(!1);return N},TQ=(Y)=>{let X=Y.event,Z="",W=Y["~adapter"].composeError,$=W.inject?Object.keys(W.inject).join(",")+",":"",Q=!!Y.event.trace?.length;if(Z+="const {mapResponse,ERROR_CODE,ElysiaCustomStatusResponse,"+f0("onError,",Y.event.error)+f0("afterResponse,",Y.event.afterResponse)+f0("trace,",Y.event.trace)+f0("onMapResponse,",Y.event.mapResponse)+f0("ELYSIA_TRACE,",Q)+f0("ELYSIA_REQUEST_ID,",Q)+$+`}=inject
|
|
309
|
+
`,Z+=`return ${Y.event.error?.find(x0)||Y.event.mapResponse?.find(x0)?"async ":""}function(context,error,skipGlobal){`,Z+="",Q)Z+=`const id=context[ELYSIA_REQUEST_ID]
|
|
310
|
+
`;let J=X6({context:"context",trace:X.trace,addFn:(D)=>{Z+=D}}),M=()=>{if(!X.afterResponse?.length&&!Q)return"";let D="",S=X.afterResponse?.some(x0)?"async":"";D+=`
|
|
311
|
+
setImmediate(${S}()=>{`;let N=X6({context:"context",trace:X.trace,addFn:(H)=>{D+=H}})("afterResponse",{total:X.afterResponse?.length,name:"context"});if(X.afterResponse?.length&&X.afterResponse)for(let H=0;H<X.afterResponse.length;H++){let q=X.afterResponse[H].fn,F=N.resolveChild(q.name);D+=`
|
|
312
|
+
${wX(q)?"await ":""}afterResponse[${H}](context)
|
|
313
|
+
`,F()}return N.resolve(),D+=`})
|
|
314
|
+
`,D};if(Z+=`const set=context.set
|
|
315
|
+
let _r
|
|
316
|
+
if(!context.code)context.code=error.code??error[ERROR_CODE]
|
|
317
|
+
if(!(context.error instanceof Error))context.error=error
|
|
318
|
+
if(error instanceof ElysiaCustomStatusResponse){set.status=error.status=error.code
|
|
319
|
+
error.message=error.response}`,W.declare)Z+=W.declare;let z=Q||!!X.afterResponse?.length?"context.response = ":"";if(Y.event.error)for(let D=0;D<Y.event.error.length;D++){let S=Y.event.error[D],N=`${x0(S)?"await ":""}onError[${D}](context)
|
|
320
|
+
`;if(Z+="if(skipGlobal!==true){",s1(S)){Z+=`_r=${N}
|
|
321
|
+
if(_r!==undefined){if(_r instanceof Response){`+M()+`return mapResponse(_r,set${W.mapResponseContext})}if(_r instanceof ElysiaCustomStatusResponse){error.status=error.code
|
|
322
|
+
error.message = error.response}if(set.status===200||!set.status)set.status=error.status
|
|
323
|
+
`;let H=J("mapResponse",{total:X.mapResponse?.length,name:"context"});if(X.mapResponse?.length)for(let q=0;q<X.mapResponse.length;q++){let F=X.mapResponse[q],C=H.resolveChild(F.fn.name);Z+=`context.response=context.responseValue=_r_r=${wX(F)?"await ":""}onMapResponse[${q}](context)
|
|
324
|
+
`,C()}H.resolve(),Z+=M()+`return mapResponse(${z}_r,set${W.mapResponseContext})}`}else Z+=N;Z+="}"}Z+=`if(error.constructor.name==="ValidationError"||error.constructor.name==="TransformDecodeError"){
|
|
325
|
+
if(error.error)error=error.error
|
|
326
|
+
set.status=error.status??422
|
|
327
|
+
`+M()+W.validationError+`
|
|
328
|
+
}
|
|
329
|
+
`,Z+="if(error instanceof Error){"+M()+`
|
|
330
|
+
if(typeof error.toResponse==='function')return context.response=context.responseValue=error.toResponse()
|
|
331
|
+
`+W.unknownError+`
|
|
332
|
+
}`;let U=J("mapResponse",{total:X.mapResponse?.length,name:"context"});if(Z+=`
|
|
333
|
+
if(!context.response)context.response=context.responseValue=error.message??error
|
|
334
|
+
`,X.mapResponse?.length){Z+=`let mr
|
|
335
|
+
`;for(let D=0;D<X.mapResponse.length;D++){let S=X.mapResponse[D],N=U.resolveChild(S.fn.name);Z+=`if(mr===undefined){mr=${wX(S)?"await ":""}onMapResponse[${D}](context)
|
|
336
|
+
if(mr!==undefined)error=context.response=context.responseValue=mr}`,N()}}U.resolve(),Z+=M()+`
|
|
337
|
+
return mapResponse(${z}error,set${W.mapResponseContext})}`;let G=(D)=>typeof D==="function"?D:D.fn;return Function("inject",`"use strict";
|
|
338
|
+
`+Z)({mapResponse:Y["~adapter"].handler.mapResponse,ERROR_CODE:YZ,ElysiaCustomStatusResponse:z8,onError:Y.event.error?.map(G),afterResponse:Y.event.afterResponse?.map(G),trace:Y.event.trace?.map(G),onMapResponse:Y.event.mapResponse?.map(G),ELYSIA_TRACE:Q?BZ:void 0,ELYSIA_REQUEST_ID:Q?W6:void 0,...W.inject})},lY=(Y,X)=>X?Y:"",ZQ=(Y,X,Z,W=!1)=>{let $="",Q=Y.setHeaders,J=!!Y.event.trace?.length;if(J)$+=`const id=randomId()
|
|
339
|
+
`;let M=/[:*]/.test(X.path),z=`const u=request.url,s=u.indexOf('/',${Y.config.handler?.standardHostname??!0?11:7}),qi=u.indexOf('?', s + 1)
|
|
340
|
+
`,U=Z.query||!!X.hooks.query||!!X.hooks.standaloneValidator?.find((D)=>D.query)||Y.event.request?.length;if(U)$+=z;let G=!Z.path?"":!M?`path:'${X.path}',`:"get path(){"+(U?"":z)+`if(qi===-1)return u.substring(s)
|
|
341
|
+
return u.substring(s,qi)
|
|
342
|
+
},`;if($+=lY("const c=",!W)+"{request,store,"+lY("qi,",U)+lY("params:request.params,",M)+G+lY("url:request.url,",J||Z.url||U)+"redirect,status,set:{headers:"+(V0(Q)?"Object.assign({},app.setHeaders)":"Object.create(null)")+",status:200}",Z.server)$+=",get server(){return app.getServer()}";if(J)$+=",[ELYSIA_REQUEST_ID]:id";{let D="";for(let S of Object.keys(Y.singleton.decorator))D+=`,'${S}':decorator['${S}']`;$+=D}return $+=`}
|
|
343
|
+
`,$},GW=(Y,X)=>{let Z=!!Y.event.trace?.length,W=!!Y.extender.higherOrderFunctions.length,$=QZ(X.hooks,Y.inference);$=QZ({handler:X.handler},$);let Q="const handler=data.handler,app=data.app,store=data.store,decorator=data.decorator,redirect=data.redirect,route=data.route,mapEarlyResponse=data.mapEarlyResponse,"+lY("randomId=data.randomId,",Z)+lY("ELYSIA_REQUEST_ID=data.ELYSIA_REQUEST_ID,",Z)+lY("ELYSIA_TRACE=data.ELYSIA_TRACE,",Z)+lY("trace=data.trace,",Z)+lY("hoc=data.hoc,",W)+`status=data.status
|
|
344
|
+
`;if(Y.event.request?.length)Q+=`const onRequest=app.event.request.map(x=>x.fn)
|
|
345
|
+
`;Q+=`${Y.event.request?.find(x0)?"async":""} function map(request){`;let J=$.query||!!X.hooks.query||!!X.hooks.standaloneValidator?.find((M)=>M.query);if(Z||J||Y.event.request?.length)Q+=ZQ(Y,X,$),Q+=VQ(Y),Q+="return handler(c)}";else Q+=`return handler(${ZQ(Y,X,$,!0)})}`;return Q+=IQ(Y),Function("data",Q)({app:Y,handler:X.compile?.()??X.composed,redirect:UZ,status:a1,hoc:Y.extender.higherOrderFunctions.map((M)=>M.fn),store:Y.store,decorator:Y.decorator,route:X.path,randomId:Z?GZ:void 0,ELYSIA_TRACE:Z?BZ:void 0,ELYSIA_REQUEST_ID:Z?W6:void 0,trace:Z?Y.event.trace?.map((M)=>M?.fn??M):void 0,mapEarlyResponse:O8})},pH=(Y,X,Z)=>{if(typeof Y==="function"||Y instanceof Blob)return;if(_W(Y))return()=>Y;let W=S8(Y,Z??{headers:{}});if(!X.parse?.length&&!X.transform?.length&&!X.beforeHandle?.length&&!X.afterHandle?.length){if(W instanceof Promise)return W.then(($)=>{if(!$)return;if(!$.headers.has("content-type"))$.headers.append("content-type","text/plain");return $.clone()});if(!W.headers.has("content-type"))W.headers.append("content-type","text/plain");return()=>W.clone()}},WQ={open(Y){Y.data.open?.(Y)},message(Y,X){Y.data.message?.(Y,X)},drain(Y){Y.data.drain?.(Y)},close(Y,X,Z){Y.data.close?.(Y,X,Z)}};class n1{raw;data;body;constructor(Y,X,Z=void 0){this.raw=Y,this.data=X,this.body=Z,this.validator=Y.data?.validator,this.sendText=Y.sendText.bind(Y),this.sendBinary=Y.sendBinary.bind(Y),this.close=Y.close.bind(Y),this.terminate=Y.terminate.bind(Y),this.publishText=Y.publishText.bind(Y),this.publishBinary=Y.publishBinary.bind(Y),this.subscribe=Y.subscribe.bind(Y),this.unsubscribe=Y.unsubscribe.bind(Y),this.isSubscribed=Y.isSubscribed.bind(Y),this.cork=Y.cork.bind(Y),this.remoteAddress=Y.remoteAddress,this.binaryType=Y.binaryType,this.data=Y.data,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(Y,X){if(Buffer.isBuffer(Y))return this.raw.send(Y,X);if(this.validator?.Check(Y)===!1)return this.raw.send(new A0("message",this.validator,Y).message);if(typeof Y==="object")Y=JSON.stringify(Y);return this.raw.send(Y,X)}ping(Y){if(Buffer.isBuffer(Y))return this.raw.ping(Y);if(this.validator?.Check(Y)===!1)return this.raw.send(new A0("message",this.validator,Y).message);if(typeof Y==="object")Y=JSON.stringify(Y);return this.raw.ping(Y)}pong(Y){if(Buffer.isBuffer(Y))return this.raw.pong(Y);if(this.validator?.Check(Y)===!1)return this.raw.send(new A0("message",this.validator,Y).message);if(typeof Y==="object")Y=JSON.stringify(Y);return this.raw.pong(Y)}publish(Y,X,Z){if(Buffer.isBuffer(X))return this.raw.publish(Y,X,Z);if(this.validator?.Check(X)===!1)return this.raw.send(new A0("message",this.validator,X).message);if(typeof X==="object")X=JSON.stringify(X);return this.raw.publish(Y,X,Z)}sendText;sendBinary;close;terminate;publishText;publishBinary;subscribe;unsubscribe;isSubscribed;cork;remoteAddress;binaryType;get readyState(){return this.raw.readyState}validator;["~types"];get id(){return this.data.id}}var iH=(Y)=>{let X=typeof Y==="function"?[Y]:Y;return async function(Z,W){if(typeof W==="string"){let $=W?.charCodeAt(0);if($===34||$===47||$===91||$===123)try{W=JSON.parse(W)}catch{}else if(HQ(W))W=+W;else if(W==="true")W=!0;else if(W==="false")W=!1;else if(W==="null")W=null}if(X)for(let $=0;$<X.length;$++){let Q=X[$](Z,W);if(Q instanceof Promise)Q=await Q;if(Q!==void 0)return Q}return W}},lH=(Y)=>{let X=(Z,W)=>{if(W instanceof Promise)return W.then((J)=>X(Z,J));if(Buffer.isBuffer(W))return Z.send(W.toString());if(W===void 0)return;let $=(J)=>{if(Y?.Check(J)===!1)return Z.send(new A0("message",Y,J).message);if(typeof J==="object")return Z.send(JSON.stringify(J));Z.send(J)};if(typeof W?.next!=="function")return void $(W);let Q=W.next();if(Q instanceof Promise)return(async()=>{let J=await Q;if(Y?.Check(J)===!1)return Z.send(new A0("message",Y,J).message);if($(J.value),!J.done)for await(let M of W)$(M)})();if($(Q.value),!Q.done)for(let J of W)$(J)};return X},nH=/:.+?\?(?=\/|$)/,xQ=(Y)=>{let X=nH.exec(Y);if(!X)return[Y];let Z=[],W=Y.slice(0,X.index),$=X[0].slice(0,-1),Q=Y.slice(X.index+X[0].length);Z.push(W.slice(0,-1)),Z.push(W+$);for(let J of xQ(Q)){if(!J)continue;if(!J.startsWith("/:"))Z.push(W.slice(0,-1)+J);Z.push(W+$+J)}return Z},_W=(Y)=>{return typeof Y==="object"&&Y!==null&&(Y.toString()==="[object HTMLBundle]"||typeof Y.index==="string")},kQ={GET:!0,HEAD:!0,OPTIONS:!0,DELETE:!0,PATCH:!0,POST:!0,PUT:!0},BW=(Y)=>{if(!Y.config.aot||!Y.config.systemRouter)return;let X={},Z=($,Q)=>{let J=encodeURI($.path);if(X[J]){if(!X[J][$.method])X[J][$.method]=Q}else X[J]={[$.method]:Q}},W=Y.routeTree;for(let $ of Y.router.history){if(typeof $.handler!=="function")continue;let Q=$.method;if(Q==="GET"&&`WS_${$.path}`in W||Q==="WS"||$.path.charCodeAt($.path.length-1)===42||!(Q in kQ))continue;if(Q==="ALL"){if(!(`WS_${$.path}`in W))X[$.path]=$.hooks?.config?.mount?$.hooks.trace||Y.event.trace||Y.extender.higherOrderFunctions?GW(Y,$):$.hooks.mount||$.handler:$.handler;continue}let J,M=Y.config.precompile?GW(Y,$):(z)=>{if(J)return J(z);return(J=GW(Y,$))(z)};for(let z of xQ($.path))Z({method:Q,path:z},M)}return X},U1=(Y,X)=>{if(!X)return Y;for(let Z of Object.keys(X)){if(Y[Z]===X[Z])continue;if(!Y[Z]){Y[Z]=X[Z];continue}if(Y[Z]&&X[Z]){if(typeof Y[Z]==="function"||Y[Z]instanceof Response){Y[Z]=X[Z];continue}Y[Z]={...Y[Z],...X[Z]}}}return Y},oH={...N1,name:"bun",handler:{mapResponse:S8,mapEarlyResponse:O8,mapCompactResponse:oY,createStaticHandler:RH,createNativeStaticHandler:pH},composeHandler:{...N1.composeHandler,headers:qW?`c.headers=c.request.headers.toJSON()
|
|
346
|
+
`:`c.headers={}
|
|
347
|
+
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};
|