barejs 0.1.28 → 0.1.30

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/README.md CHANGED
@@ -35,11 +35,11 @@ BareJS is the definitive baseline for speed in the JavaScript ecosystem. By ruth
35
35
 
36
36
  | Framework | Latency | Speed |
37
37
  | :--- | :--- | :--- |
38
- | **BareJS** | **538.73 ns** | **Baseline** |
39
- | Elysia | 2.26 µs | 4.19x slower |
40
- | Hono | 4.02 µs | 7.46x slower |
38
+ | **BareJS** | **621.69 ns** | **Baseline** |
39
+ | Elysia | 2.28 µs | 3.67x slower |
40
+ | Hono | 3.83 µs | 6.16x slower |
41
41
 
42
- > Last Updated: Tue, 07 Jan 2026 14:19:23:27 GMT
42
+ > Last Updated: Wed, 07 Jan 2026 08:53:13 GMT
43
43
 
44
44
  <!-- MARKER: PERFORMANCE_TABLE_END -->
45
45
 
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // @bun
2
- var h8=Object.defineProperty;var y0=(Q,Z)=>{for(var Y in Z)h8(Q,Y,{get:Z[Y],enumerable:!0,configurable:!0,set:(G)=>Z[Y]=()=>G})};class P0{req;params;_status=200;store=Object.create(null);body=null;_headers={};_searchParams=null;_cookies=null;reset(Q,Z){this.req=Q,this.params=Z,this._status=200,this.body=null,this._headers={},this._searchParams=null,this._cookies=null;for(let Y in this.store)delete this.store[Y];return this}header(Q){return this.req.headers.get(Q)}query(Q){if(!this._searchParams)this._searchParams=new URL(this.req.url).searchParams;return this._searchParams.get(Q)}cookie(Q){if(!this._cookies){this._cookies=new Map;let Z=this.req.headers.get("cookie");if(Z){let Y=Z.matchAll(/([^=\s]+)=([^;]+)/g);for(let G of Y)if(G[1]&&G[2])this._cookies.set(G[1],G[2])}}return this._cookies.get(Q)}get ip(){return this.req.headers.get("x-forwarded-for")||null}status(Q){return this._status=Q,this}setHeader(Q,Z){return this._headers[Q.toLowerCase()]=Z,this}set(Q,Z){if(typeof Z==="string")return this._headers[Q.toLowerCase()]=Z,this;this.store[Q]=Z}get(Q){return this.store[Q]}setCookie(Q,Z,Y=""){return this.setHeader("set-cookie",`${Q}=${Z}; ${Y}`),this}json(Q){return this._headers["content-type"]="application/json",Q}text(Q){return this._headers["content-type"]="text/plain; charset=utf-8",Q}html(Q){return this._headers["content-type"]="text/html; charset=utf-8",Q}redirect(Q,Z=302){return this._status=Z,this.setHeader("location",Q),null}}class E1{prefix;groupMiddleware;routes=[];constructor(Q="",Z=[]){this.prefix=Q;this.groupMiddleware=Z}_add(Q,Z,Y){let G=(this.prefix+Z).replace(/\/+/g,"/")||"/";return this.routes.push({method:Q.toUpperCase(),path:G,handlers:[...this.groupMiddleware,...Y]}),this}get=(Q,...Z)=>this._add("GET",Q,Z);post=(Q,...Z)=>this._add("POST",Q,Z);put=(Q,...Z)=>this._add("PUT",Q,Z);patch=(Q,...Z)=>this._add("PATCH",Q,Z);delete=(Q,...Z)=>this._add("DELETE",Q,Z);group=(Q,...Z)=>{let Y=Z.pop(),G=Z,W=new E1((this.prefix+Q).replace(/\/+/g,"/"),[...this.groupMiddleware,...G]);return Y(W),this.routes.push(...W.routes),this}}function Z0(Q){return r(Q)&&globalThis.Symbol.asyncIterator in Q}function G0(Q){return r(Q)&&globalThis.Symbol.iterator in Q}function W0(Q){return Q instanceof globalThis.Promise}function V1(Q){return Q instanceof Date&&globalThis.Number.isFinite(Q.getTime())}function T1(Q){return Q instanceof globalThis.Uint8Array}function X0(Q,Z){return Z in Q}function r(Q){return Q!==null&&typeof Q==="object"}function V(Q){return globalThis.Array.isArray(Q)&&!globalThis.ArrayBuffer.isView(Q)}function v(Q){return Q===void 0}function S1(Q){return Q===null}function b1(Q){return typeof Q==="boolean"}function D(Q){return typeof Q==="number"}function $0(Q){return globalThis.Number.isInteger(Q)}function e(Q){return typeof Q==="bigint"}function f(Q){return typeof Q==="string"}function z0(Q){return typeof Q==="function"}function C1(Q){return typeof Q==="symbol"}function J0(Q){return e(Q)||b1(Q)||S1(Q)||D(Q)||f(Q)||C1(Q)||v(Q)}var _;(function(Q){Q.InstanceMode="default",Q.ExactOptionalPropertyTypes=!1,Q.AllowArrayObject=!1,Q.AllowNaN=!1,Q.AllowNullVoid=!1;function Z(J,H){return Q.ExactOptionalPropertyTypes?H in J:J[H]!==void 0}Q.IsExactOptionalProperty=Z;function Y(J){let H=r(J);return Q.AllowArrayObject?H:H&&!V(J)}Q.IsObjectLike=Y;function G(J){return Y(J)&&!(J instanceof Date)&&!(J instanceof Uint8Array)}Q.IsRecordLike=G;function W(J){return Q.AllowNaN?D(J):Number.isFinite(J)}Q.IsNumberLike=W;function X(J){let H=v(J);return Q.AllowNullVoid?H||J===null:H}Q.IsVoidLike=X})(_||(_={}));var Y1={};y0(Y1,{Set:()=>l8,Has:()=>u8,Get:()=>s8,Entries:()=>t8,Delete:()=>c8,Clear:()=>v8});var I1=new Map;function t8(){return new Map(I1)}function v8(){return I1.clear()}function c8(Q){return I1.delete(Q)}function u8(Q){return I1.has(Q)}function l8(Q,Z){I1.set(Q,Z)}function s8(Q){return I1.get(Q)}var a={};y0(a,{Set:()=>YQ,Has:()=>QQ,Get:()=>ZQ,Entries:()=>r8,Delete:()=>e8,Clear:()=>a8});var d1=new Map;function r8(){return new Map(d1)}function a8(){return d1.clear()}function e8(Q){return d1.delete(Q)}function QQ(Q){return d1.has(Q)}function YQ(Q,Z){d1.set(Q,Z)}function ZQ(Q){return d1.get(Q)}function Z1(Q){return Array.isArray(Q)}function p0(Q){return typeof Q==="bigint"}function q0(Q){return typeof Q==="boolean"}function H0(Q){return Q instanceof globalThis.Date}function R1(Q){return typeof Q==="number"}function I(Q){return typeof Q==="object"&&Q!==null}function L0(Q){return Q instanceof globalThis.RegExp}function n(Q){return typeof Q==="string"}function M0(Q){return Q instanceof globalThis.Uint8Array}function J1(Q){return Q===void 0}function GQ(Q){return globalThis.Object.freeze(Q).map((Z)=>h1(Z))}function WQ(Q){return Q}function XQ(Q){return Q}function $Q(Q){return Q}function zQ(Q){let Z={};for(let Y of Object.getOwnPropertyNames(Q))Z[Y]=h1(Q[Y]);for(let Y of Object.getOwnPropertySymbols(Q))Z[Y]=h1(Q[Y]);return globalThis.Object.freeze(Z)}function h1(Q){return Z1(Q)?GQ(Q):H0(Q)?WQ(Q):M0(Q)?XQ(Q):L0(Q)?$Q(Q):I(Q)?zQ(Q):Q}function JQ(Q){return Q.map((Z)=>A0(Z))}function qQ(Q){return new Date(Q.getTime())}function HQ(Q){return new Uint8Array(Q)}function LQ(Q){return new RegExp(Q.source,Q.flags)}function MQ(Q){let Z={};for(let Y of Object.getOwnPropertyNames(Q))Z[Y]=A0(Q[Y]);for(let Y of Object.getOwnPropertySymbols(Q))Z[Y]=A0(Q[Y]);return Z}function A0(Q){return Z1(Q)?JQ(Q):H0(Q)?qQ(Q):M0(Q)?HQ(Q):L0(Q)?LQ(Q):I(Q)?MQ(Q):Q}function o0(Q){return A0(Q)}function m(Q,Z){let Y=Z!==void 0?{...Z,...Q}:Q;switch(_.InstanceMode){case"freeze":return h1(Y);case"clone":return o0(Y);default:return Y}}var B1=Symbol.for("TypeBox.Transform");var q1=Symbol.for("TypeBox.Optional");var B=Symbol.for("TypeBox.Kind");class T extends Error{constructor(Q){super(Q)}}function n0(Q){return m({[B]:"MappedResult",properties:Q})}function UQ(Q,Z){let{[Z]:Y,...G}=Q;return G}function f1(Q,Z){return Z.reduce((Y,G)=>UQ(Y,G),Q)}function c(Q){return m({[B]:"Never",not:{}},Q)}function i1(Q){return I(Q)&&Q[q1]==="Optional"}function BQ(Q){return b(Q,"Any")}function wQ(Q){return b(Q,"Argument")}function t1(Q){return b(Q,"Array")}function jQ(Q){return b(Q,"AsyncIterator")}function DQ(Q){return b(Q,"BigInt")}function NQ(Q){return b(Q,"Boolean")}function PQ(Q){return b(Q,"Computed")}function SQ(Q){return b(Q,"Constructor")}function bQ(Q){return b(Q,"Date")}function CQ(Q){return b(Q,"Function")}function OQ(Q){return b(Q,"Integer")}function v1(Q){return b(Q,"Intersect")}function FQ(Q){return b(Q,"Iterator")}function b(Q,Z){return I(Q)&&B in Q&&Q[B]===Z}function xQ(Q){return b(Q,"Literal")}function m0(Q){return b(Q,"MappedKey")}function R0(Q){return b(Q,"MappedResult")}function B0(Q){return b(Q,"Never")}function KQ(Q){return b(Q,"Not")}function gQ(Q){return b(Q,"Null")}function _Q(Q){return b(Q,"Number")}function O1(Q){return b(Q,"Object")}function kQ(Q){return b(Q,"Promise")}function S0(Q){return b(Q,"Record")}function h0(Q){return b(Q,"Ref")}function EQ(Q){return b(Q,"RegExp")}function VQ(Q){return b(Q,"String")}function TQ(Q){return b(Q,"Symbol")}function IQ(Q){return b(Q,"TemplateLiteral")}function dQ(Q){return b(Q,"This")}function x(Q){return I(Q)&&B1 in Q}function c1(Q){return b(Q,"Tuple")}function u1(Q){return b(Q,"Undefined")}function l1(Q){return b(Q,"Union")}function fQ(Q){return b(Q,"Uint8Array")}function iQ(Q){return b(Q,"Unknown")}function yQ(Q){return b(Q,"Unsafe")}function pQ(Q){return b(Q,"Void")}function oQ(Q){return I(Q)&&B in Q&&n(Q[B])}function u(Q){return BQ(Q)||wQ(Q)||t1(Q)||NQ(Q)||DQ(Q)||jQ(Q)||PQ(Q)||SQ(Q)||bQ(Q)||CQ(Q)||OQ(Q)||v1(Q)||FQ(Q)||xQ(Q)||m0(Q)||R0(Q)||B0(Q)||KQ(Q)||gQ(Q)||_Q(Q)||O1(Q)||kQ(Q)||S0(Q)||h0(Q)||EQ(Q)||VQ(Q)||TQ(Q)||IQ(Q)||dQ(Q)||c1(Q)||u1(Q)||l1(Q)||fQ(Q)||iQ(Q)||yQ(Q)||pQ(Q)||oQ(Q)}function nQ(Q){return m(f1(Q,[q1]))}function mQ(Q){return m({...Q,[q1]:"Optional"})}function hQ(Q,Z){return Z===!1?nQ(Q):mQ(Q)}function y1(Q,Z){let Y=Z??!0;return R0(Q)?t0(Q,Y):hQ(Q,Y)}function tQ(Q,Z){let Y={};for(let G of globalThis.Object.getOwnPropertyNames(Q))Y[G]=y1(Q[G],Z);return Y}function vQ(Q,Z){return tQ(Q.properties,Z)}function t0(Q,Z){let Y=vQ(Q,Z);return n0(Y)}function b0(Q,Z={}){let Y=Q.every((W)=>O1(W)),G=u(Z.unevaluatedProperties)?{unevaluatedProperties:Z.unevaluatedProperties}:{};return m(Z.unevaluatedProperties===!1||u(Z.unevaluatedProperties)||Y?{...G,[B]:"Intersect",type:"object",allOf:Q}:{...G,[B]:"Intersect",allOf:Q},Z)}function cQ(Q){return Q.every((Z)=>i1(Z))}function uQ(Q){return f1(Q,[q1])}function v0(Q){return Q.map((Z)=>i1(Z)?uQ(Z):Z)}function lQ(Q,Z){return cQ(Q)?y1(b0(v0(Q),Z)):b0(v0(Q),Z)}function c0(Q,Z={}){if(Q.length===1)return m(Q[0],Z);if(Q.length===0)return c(Z);if(Q.some((Y)=>x(Y)))throw Error("Cannot intersect transform types");return lQ(Q,Z)}function C0(Q,Z){return m({[B]:"Union",anyOf:Q},Z)}function sQ(Q){return Q.some((Z)=>i1(Z))}function u0(Q){return Q.map((Z)=>i1(Z)?rQ(Z):Z)}function rQ(Q){return f1(Q,[q1])}function aQ(Q,Z){return sQ(Q)?y1(C0(u0(Q),Z)):C0(u0(Q),Z)}function O0(Q,Z){return Q.length===1?m(Q[0],Z):Q.length===0?c(Z):aQ(Q,Z)}function l0(Q,Z){return Q.map((Y)=>s0(Y,Z))}function eQ(Q){return Q.filter((Z)=>!B0(Z))}function QY(Q,Z){return c0(eQ(l0(Q,Z)))}function YY(Q){return Q.some((Z)=>B0(Z))?[]:Q}function ZY(Q,Z){return O0(YY(l0(Q,Z)))}function GY(Q,Z){return Z in Q?Q[Z]:Z==="[number]"?O0(Q):c()}function WY(Q,Z){return Z==="[number]"?Q:c()}function XY(Q,Z){return Z in Q?Q[Z]:c()}function s0(Q,Z){return v1(Q)?QY(Q.allOf,Z):l1(Q)?ZY(Q.anyOf,Z):c1(Q)?GY(Q.items??[],Z):t1(Q)?WY(Q.items,Z):O1(Q)?XY(Q.properties,Z):c()}function r0(Q,Z){return Z.map((Y)=>s0(Q,Y))}function $Y(Q,Z){return Q.filter((Y)=>Z.includes(Y))}function zY(Q,Z){return Q.reduce((Y,G)=>{return $Y(Y,G)},Z)}function a0(Q){return Q.length===1?Q[0]:Q.length>1?zY(Q.slice(1),Q[0]):[]}function e0(Q){let Z=[];for(let Y of Q)Z.push(...Y);return Z}function Q8(...Q){let[Z,Y]=typeof Q[0]==="string"?[Q[0],Q[1]]:[Q[0].$id,Q[1]];if(typeof Z!=="string")throw new T("Ref: $ref must be a string");return m({[B]:"Ref",$ref:Z},Y)}function Y8(Q){let Z=[];for(let Y of Q)Z.push(w1(Y));return Z}function JY(Q){let Z=Y8(Q);return e0(Z)}function qY(Q){let Z=Y8(Q);return a0(Z)}function HY(Q){return Q.map((Z,Y)=>Y.toString())}function LY(Q){return["[number]"]}function MY(Q){return globalThis.Object.getOwnPropertyNames(Q)}function UY(Q){if(!F0)return[];return globalThis.Object.getOwnPropertyNames(Q).map((Y)=>{return Y[0]==="^"&&Y[Y.length-1]==="$"?Y.slice(1,Y.length-1):Y})}function w1(Q){return v1(Q)?JY(Q.allOf):l1(Q)?qY(Q.anyOf):c1(Q)?HY(Q.items??[]):t1(Q)?LY(Q.items):O1(Q)?MY(Q.properties):S0(Q)?UY(Q.patternProperties):[]}var F0=!1;function L1(Q){F0=!0;let Z=w1(Q);return F0=!1,`^(${Z.map((G)=>`(${G})`).join("|")})$`}function w0(Q){let Z=w1(Q),Y=r0(Q,Z);return Z.map((G,W)=>[Z[W],Y[W]])}function AY(Q){return Q.allOf.every((Z)=>M1(Z))}function RY(Q){return Q.anyOf.some((Z)=>M1(Z))}function BY(Q){return!M1(Q.not)}function M1(Q){return Q[B]==="Intersect"?AY(Q):Q[B]==="Union"?RY(Q):Q[B]==="Not"?BY(Q):Q[B]==="Undefined"?!0:!1}function wY(Q){switch(Q.errorType){case q.ArrayContains:return"Expected array to contain at least one matching value";case q.ArrayMaxContains:return`Expected array to contain no more than ${Q.schema.maxContains} matching values`;case q.ArrayMinContains:return`Expected array to contain at least ${Q.schema.minContains} matching values`;case q.ArrayMaxItems:return`Expected array length to be less or equal to ${Q.schema.maxItems}`;case q.ArrayMinItems:return`Expected array length to be greater or equal to ${Q.schema.minItems}`;case q.ArrayUniqueItems:return"Expected array elements to be unique";case q.Array:return"Expected array";case q.AsyncIterator:return"Expected AsyncIterator";case q.BigIntExclusiveMaximum:return`Expected bigint to be less than ${Q.schema.exclusiveMaximum}`;case q.BigIntExclusiveMinimum:return`Expected bigint to be greater than ${Q.schema.exclusiveMinimum}`;case q.BigIntMaximum:return`Expected bigint to be less or equal to ${Q.schema.maximum}`;case q.BigIntMinimum:return`Expected bigint to be greater or equal to ${Q.schema.minimum}`;case q.BigIntMultipleOf:return`Expected bigint to be a multiple of ${Q.schema.multipleOf}`;case q.BigInt:return"Expected bigint";case q.Boolean:return"Expected boolean";case q.DateExclusiveMinimumTimestamp:return`Expected Date timestamp to be greater than ${Q.schema.exclusiveMinimumTimestamp}`;case q.DateExclusiveMaximumTimestamp:return`Expected Date timestamp to be less than ${Q.schema.exclusiveMaximumTimestamp}`;case q.DateMinimumTimestamp:return`Expected Date timestamp to be greater or equal to ${Q.schema.minimumTimestamp}`;case q.DateMaximumTimestamp:return`Expected Date timestamp to be less or equal to ${Q.schema.maximumTimestamp}`;case q.DateMultipleOfTimestamp:return`Expected Date timestamp to be a multiple of ${Q.schema.multipleOfTimestamp}`;case q.Date:return"Expected Date";case q.Function:return"Expected function";case q.IntegerExclusiveMaximum:return`Expected integer to be less than ${Q.schema.exclusiveMaximum}`;case q.IntegerExclusiveMinimum:return`Expected integer to be greater than ${Q.schema.exclusiveMinimum}`;case q.IntegerMaximum:return`Expected integer to be less or equal to ${Q.schema.maximum}`;case q.IntegerMinimum:return`Expected integer to be greater or equal to ${Q.schema.minimum}`;case q.IntegerMultipleOf:return`Expected integer to be a multiple of ${Q.schema.multipleOf}`;case q.Integer:return"Expected integer";case q.IntersectUnevaluatedProperties:return"Unexpected property";case q.Intersect:return"Expected all values to match";case q.Iterator:return"Expected Iterator";case q.Literal:return`Expected ${typeof Q.schema.const==="string"?`'${Q.schema.const}'`:Q.schema.const}`;case q.Never:return"Never";case q.Not:return"Value should not match";case q.Null:return"Expected null";case q.NumberExclusiveMaximum:return`Expected number to be less than ${Q.schema.exclusiveMaximum}`;case q.NumberExclusiveMinimum:return`Expected number to be greater than ${Q.schema.exclusiveMinimum}`;case q.NumberMaximum:return`Expected number to be less or equal to ${Q.schema.maximum}`;case q.NumberMinimum:return`Expected number to be greater or equal to ${Q.schema.minimum}`;case q.NumberMultipleOf:return`Expected number to be a multiple of ${Q.schema.multipleOf}`;case q.Number:return"Expected number";case q.Object:return"Expected object";case q.ObjectAdditionalProperties:return"Unexpected property";case q.ObjectMaxProperties:return`Expected object to have no more than ${Q.schema.maxProperties} properties`;case q.ObjectMinProperties:return`Expected object to have at least ${Q.schema.minProperties} properties`;case q.ObjectRequiredProperty:return"Expected required property";case q.Promise:return"Expected Promise";case q.RegExp:return"Expected string to match regular expression";case q.StringFormatUnknown:return`Unknown format '${Q.schema.format}'`;case q.StringFormat:return`Expected string to match '${Q.schema.format}' format`;case q.StringMaxLength:return`Expected string length less or equal to ${Q.schema.maxLength}`;case q.StringMinLength:return`Expected string length greater or equal to ${Q.schema.minLength}`;case q.StringPattern:return`Expected string to match '${Q.schema.pattern}'`;case q.String:return"Expected string";case q.Symbol:return"Expected symbol";case q.TupleLength:return`Expected tuple to have ${Q.schema.maxItems||0} elements`;case q.Tuple:return"Expected tuple";case q.Uint8ArrayMaxByteLength:return`Expected byte length less or equal to ${Q.schema.maxByteLength}`;case q.Uint8ArrayMinByteLength:return`Expected byte length greater or equal to ${Q.schema.minByteLength}`;case q.Uint8Array:return"Expected Uint8Array";case q.Undefined:return"Expected undefined";case q.Union:return"Expected union value";case q.Void:return"Expected void";case q.Kind:return`Expected kind '${Q.schema[B]}'`;default:return"Unknown error type"}}var jY=wY;function Z8(){return jY}class G8 extends T{constructor(Q){super(`Unable to dereference schema with $id '${Q.$ref}'`);this.schema=Q}}function DY(Q,Z){let Y=Z.find((G)=>G.$id===Q.$ref);if(Y===void 0)throw new G8(Q);return i(Y,Z)}function j1(Q,Z){if(!f(Q.$id)||Z.some((Y)=>Y.$id===Q.$id))return Z;return Z.push(Q),Z}function i(Q,Z){return Q[B]==="This"||Q[B]==="Ref"?DY(Q,Z):Q}class W8 extends T{constructor(Q){super("Unable to hash value");this.value=Q}}var Q1;(function(Q){Q[Q.Undefined=0]="Undefined",Q[Q.Null=1]="Null",Q[Q.Boolean=2]="Boolean",Q[Q.Number=3]="Number",Q[Q.String=4]="String",Q[Q.Object=5]="Object",Q[Q.Array=6]="Array",Q[Q.Date=7]="Date",Q[Q.Uint8Array=8]="Uint8Array",Q[Q.Symbol=9]="Symbol",Q[Q.BigInt=10]="BigInt"})(Q1||(Q1={}));var p1=BigInt("14695981039346656037"),[NY,PY]=[BigInt("1099511628211"),BigInt("18446744073709551616")],SY=Array.from({length:256}).map((Q,Z)=>BigInt(Z)),X8=new Float64Array(1),$8=new DataView(X8.buffer),z8=new Uint8Array(X8.buffer);function*bY(Q){let Z=Q===0?1:Math.ceil(Math.floor(Math.log2(Q)+1)/8);for(let Y=0;Y<Z;Y++)yield Q>>8*(Z-1-Y)&255}function CY(Q){t(Q1.Array);for(let Z of Q)o1(Z)}function OY(Q){t(Q1.Boolean),t(Q?1:0)}function FY(Q){t(Q1.BigInt),$8.setBigInt64(0,Q);for(let Z of z8)t(Z)}function xY(Q){t(Q1.Date),o1(Q.getTime())}function KY(Q){t(Q1.Null)}function gY(Q){t(Q1.Number),$8.setFloat64(0,Q);for(let Z of z8)t(Z)}function _Y(Q){t(Q1.Object);for(let Z of globalThis.Object.getOwnPropertyNames(Q).sort())o1(Z),o1(Q[Z])}function kY(Q){t(Q1.String);for(let Z=0;Z<Q.length;Z++)for(let Y of bY(Q.charCodeAt(Z)))t(Y)}function EY(Q){t(Q1.Symbol),o1(Q.description)}function VY(Q){t(Q1.Uint8Array);for(let Z=0;Z<Q.length;Z++)t(Q[Z])}function TY(Q){return t(Q1.Undefined)}function o1(Q){if(V(Q))return CY(Q);if(b1(Q))return OY(Q);if(e(Q))return FY(Q);if(V1(Q))return xY(Q);if(S1(Q))return KY(Q);if(D(Q))return gY(Q);if(r(Q))return _Y(Q);if(f(Q))return kY(Q);if(C1(Q))return EY(Q);if(T1(Q))return VY(Q);if(v(Q))return TY(Q);throw new W8(Q)}function t(Q){p1=p1^SY[Q],p1=p1*NY%PY}function n1(Q){return p1=BigInt("14695981039346656037"),o1(Q),p1}var IY=["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 J8(Q){try{return new RegExp(Q),!0}catch{return!1}}function x0(Q){if(!n(Q))return!1;for(let Z=0;Z<Q.length;Z++){let Y=Q.charCodeAt(Z);if(Y>=7&&Y<=13||Y===27||Y===127)return!1}return!0}function q8(Q){return K0(Q)||k(Q)}function s1(Q){return J1(Q)||p0(Q)}function K(Q){return J1(Q)||R1(Q)}function K0(Q){return J1(Q)||q0(Q)}function F(Q){return J1(Q)||n(Q)}function dY(Q){return J1(Q)||n(Q)&&x0(Q)&&J8(Q)}function fY(Q){return J1(Q)||n(Q)&&x0(Q)}function H8(Q){return J1(Q)||k(Q)}function iY(Q){return C(Q,"Any")&&F(Q.$id)}function yY(Q){return C(Q,"Argument")&&R1(Q.index)}function pY(Q){return C(Q,"Array")&&Q.type==="array"&&F(Q.$id)&&k(Q.items)&&K(Q.minItems)&&K(Q.maxItems)&&K0(Q.uniqueItems)&&H8(Q.contains)&&K(Q.minContains)&&K(Q.maxContains)}function oY(Q){return C(Q,"AsyncIterator")&&Q.type==="AsyncIterator"&&F(Q.$id)&&k(Q.items)}function nY(Q){return C(Q,"BigInt")&&Q.type==="bigint"&&F(Q.$id)&&s1(Q.exclusiveMaximum)&&s1(Q.exclusiveMinimum)&&s1(Q.maximum)&&s1(Q.minimum)&&s1(Q.multipleOf)}function mY(Q){return C(Q,"Boolean")&&Q.type==="boolean"&&F(Q.$id)}function hY(Q){return C(Q,"Computed")&&n(Q.target)&&Z1(Q.parameters)&&Q.parameters.every((Z)=>k(Z))}function tY(Q){return C(Q,"Constructor")&&Q.type==="Constructor"&&F(Q.$id)&&Z1(Q.parameters)&&Q.parameters.every((Z)=>k(Z))&&k(Q.returns)}function vY(Q){return C(Q,"Date")&&Q.type==="Date"&&F(Q.$id)&&K(Q.exclusiveMaximumTimestamp)&&K(Q.exclusiveMinimumTimestamp)&&K(Q.maximumTimestamp)&&K(Q.minimumTimestamp)&&K(Q.multipleOfTimestamp)}function cY(Q){return C(Q,"Function")&&Q.type==="Function"&&F(Q.$id)&&Z1(Q.parameters)&&Q.parameters.every((Z)=>k(Z))&&k(Q.returns)}function uY(Q){return C(Q,"Integer")&&Q.type==="integer"&&F(Q.$id)&&K(Q.exclusiveMaximum)&&K(Q.exclusiveMinimum)&&K(Q.maximum)&&K(Q.minimum)&&K(Q.multipleOf)}function L8(Q){return I(Q)&&Object.entries(Q).every(([Z,Y])=>x0(Z)&&k(Y))}function lY(Q){return C(Q,"Intersect")&&(n(Q.type)&&Q.type!=="object"?!1:!0)&&Z1(Q.allOf)&&Q.allOf.every((Z)=>k(Z)&&!AZ(Z))&&F(Q.type)&&(K0(Q.unevaluatedProperties)||H8(Q.unevaluatedProperties))&&F(Q.$id)}function sY(Q){return C(Q,"Iterator")&&Q.type==="Iterator"&&F(Q.$id)&&k(Q.items)}function C(Q,Z){return I(Q)&&B in Q&&Q[B]===Z}function rY(Q){return C(Q,"Literal")&&F(Q.$id)&&aY(Q.const)}function aY(Q){return q0(Q)||R1(Q)||n(Q)}function eY(Q){return C(Q,"MappedKey")&&Z1(Q.keys)&&Q.keys.every((Z)=>R1(Z)||n(Z))}function QZ(Q){return C(Q,"MappedResult")&&L8(Q.properties)}function YZ(Q){return C(Q,"Never")&&I(Q.not)&&Object.getOwnPropertyNames(Q.not).length===0}function ZZ(Q){return C(Q,"Not")&&k(Q.not)}function GZ(Q){return C(Q,"Null")&&Q.type==="null"&&F(Q.$id)}function WZ(Q){return C(Q,"Number")&&Q.type==="number"&&F(Q.$id)&&K(Q.exclusiveMaximum)&&K(Q.exclusiveMinimum)&&K(Q.maximum)&&K(Q.minimum)&&K(Q.multipleOf)}function XZ(Q){return C(Q,"Object")&&Q.type==="object"&&F(Q.$id)&&L8(Q.properties)&&q8(Q.additionalProperties)&&K(Q.minProperties)&&K(Q.maxProperties)}function $Z(Q){return C(Q,"Promise")&&Q.type==="Promise"&&F(Q.$id)&&k(Q.item)}function zZ(Q){return C(Q,"Record")&&Q.type==="object"&&F(Q.$id)&&q8(Q.additionalProperties)&&I(Q.patternProperties)&&((Z)=>{let Y=Object.getOwnPropertyNames(Z.patternProperties);return Y.length===1&&J8(Y[0])&&I(Z.patternProperties)&&k(Z.patternProperties[Y[0]])})(Q)}function JZ(Q){return C(Q,"Ref")&&F(Q.$id)&&n(Q.$ref)}function qZ(Q){return C(Q,"RegExp")&&F(Q.$id)&&n(Q.source)&&n(Q.flags)&&K(Q.maxLength)&&K(Q.minLength)}function HZ(Q){return C(Q,"String")&&Q.type==="string"&&F(Q.$id)&&K(Q.minLength)&&K(Q.maxLength)&&dY(Q.pattern)&&fY(Q.format)}function LZ(Q){return C(Q,"Symbol")&&Q.type==="symbol"&&F(Q.$id)}function MZ(Q){return C(Q,"TemplateLiteral")&&Q.type==="string"&&n(Q.pattern)&&Q.pattern[0]==="^"&&Q.pattern[Q.pattern.length-1]==="$"}function UZ(Q){return C(Q,"This")&&F(Q.$id)&&n(Q.$ref)}function AZ(Q){return I(Q)&&B1 in Q}function RZ(Q){return C(Q,"Tuple")&&Q.type==="array"&&F(Q.$id)&&R1(Q.minItems)&&R1(Q.maxItems)&&Q.minItems===Q.maxItems&&(J1(Q.items)&&J1(Q.additionalItems)&&Q.minItems===0||Z1(Q.items)&&Q.items.every((Z)=>k(Z)))}function BZ(Q){return C(Q,"Undefined")&&Q.type==="undefined"&&F(Q.$id)}function wZ(Q){return C(Q,"Union")&&F(Q.$id)&&I(Q)&&Z1(Q.anyOf)&&Q.anyOf.every((Z)=>k(Z))}function jZ(Q){return C(Q,"Uint8Array")&&Q.type==="Uint8Array"&&F(Q.$id)&&K(Q.minByteLength)&&K(Q.maxByteLength)}function DZ(Q){return C(Q,"Unknown")&&F(Q.$id)}function NZ(Q){return C(Q,"Unsafe")}function PZ(Q){return C(Q,"Void")&&Q.type==="void"&&F(Q.$id)}function SZ(Q){return I(Q)&&B in Q&&n(Q[B])&&!IY.includes(Q[B])}function k(Q){return I(Q)&&(iY(Q)||yY(Q)||pY(Q)||mY(Q)||nY(Q)||oY(Q)||hY(Q)||tY(Q)||vY(Q)||cY(Q)||uY(Q)||lY(Q)||sY(Q)||rY(Q)||eY(Q)||QZ(Q)||YZ(Q)||ZZ(Q)||GZ(Q)||WZ(Q)||XZ(Q)||$Z(Q)||zZ(Q)||JZ(Q)||qZ(Q)||HZ(Q)||LZ(Q)||MZ(Q)||UZ(Q)||RZ(Q)||BZ(Q)||wZ(Q)||jZ(Q)||DZ(Q)||NZ(Q)||PZ(Q)||SZ(Q))}class M8 extends T{constructor(Q){super("Unknown type");this.schema=Q}}function bZ(Q){return Q[B]==="Any"||Q[B]==="Unknown"}function P(Q){return Q!==void 0}function CZ(Q,Z,Y){return!0}function OZ(Q,Z,Y){return!0}function FZ(Q,Z,Y){if(!V(Y))return!1;if(P(Q.minItems)&&!(Y.length>=Q.minItems))return!1;if(P(Q.maxItems)&&!(Y.length<=Q.maxItems))return!1;if(!Y.every((X)=>y(Q.items,Z,X)))return!1;if(Q.uniqueItems===!0&&!function(){let X=new Set;for(let J of Y){let H=n1(J);if(X.has(H))return!1;else X.add(H)}return!0}())return!1;if(!(P(Q.contains)||D(Q.minContains)||D(Q.maxContains)))return!0;let G=P(Q.contains)?Q.contains:c(),W=Y.reduce((X,J)=>y(G,Z,J)?X+1:X,0);if(W===0)return!1;if(D(Q.minContains)&&W<Q.minContains)return!1;if(D(Q.maxContains)&&W>Q.maxContains)return!1;return!0}function xZ(Q,Z,Y){return Z0(Y)}function KZ(Q,Z,Y){if(!e(Y))return!1;if(P(Q.exclusiveMaximum)&&!(Y<Q.exclusiveMaximum))return!1;if(P(Q.exclusiveMinimum)&&!(Y>Q.exclusiveMinimum))return!1;if(P(Q.maximum)&&!(Y<=Q.maximum))return!1;if(P(Q.minimum)&&!(Y>=Q.minimum))return!1;if(P(Q.multipleOf)&&Y%Q.multipleOf!==BigInt(0))return!1;return!0}function gZ(Q,Z,Y){return b1(Y)}function _Z(Q,Z,Y){return y(Q.returns,Z,Y.prototype)}function kZ(Q,Z,Y){if(!V1(Y))return!1;if(P(Q.exclusiveMaximumTimestamp)&&!(Y.getTime()<Q.exclusiveMaximumTimestamp))return!1;if(P(Q.exclusiveMinimumTimestamp)&&!(Y.getTime()>Q.exclusiveMinimumTimestamp))return!1;if(P(Q.maximumTimestamp)&&!(Y.getTime()<=Q.maximumTimestamp))return!1;if(P(Q.minimumTimestamp)&&!(Y.getTime()>=Q.minimumTimestamp))return!1;if(P(Q.multipleOfTimestamp)&&Y.getTime()%Q.multipleOfTimestamp!==0)return!1;return!0}function EZ(Q,Z,Y){return z0(Y)}function VZ(Q,Z,Y){let G=globalThis.Object.values(Q.$defs),W=Q.$defs[Q.$ref];return y(W,[...Z,...G],Y)}function TZ(Q,Z,Y){if(!$0(Y))return!1;if(P(Q.exclusiveMaximum)&&!(Y<Q.exclusiveMaximum))return!1;if(P(Q.exclusiveMinimum)&&!(Y>Q.exclusiveMinimum))return!1;if(P(Q.maximum)&&!(Y<=Q.maximum))return!1;if(P(Q.minimum)&&!(Y>=Q.minimum))return!1;if(P(Q.multipleOf)&&Y%Q.multipleOf!==0)return!1;return!0}function IZ(Q,Z,Y){let G=Q.allOf.every((W)=>y(W,Z,Y));if(Q.unevaluatedProperties===!1){let W=new RegExp(L1(Q)),X=Object.getOwnPropertyNames(Y).every((J)=>W.test(J));return G&&X}else if(u(Q.unevaluatedProperties)){let W=new RegExp(L1(Q)),X=Object.getOwnPropertyNames(Y).every((J)=>W.test(J)||y(Q.unevaluatedProperties,Z,Y[J]));return G&&X}else return G}function dZ(Q,Z,Y){return G0(Y)}function fZ(Q,Z,Y){return Y===Q.const}function iZ(Q,Z,Y){return!1}function yZ(Q,Z,Y){return!y(Q.not,Z,Y)}function pZ(Q,Z,Y){return S1(Y)}function oZ(Q,Z,Y){if(!_.IsNumberLike(Y))return!1;if(P(Q.exclusiveMaximum)&&!(Y<Q.exclusiveMaximum))return!1;if(P(Q.exclusiveMinimum)&&!(Y>Q.exclusiveMinimum))return!1;if(P(Q.minimum)&&!(Y>=Q.minimum))return!1;if(P(Q.maximum)&&!(Y<=Q.maximum))return!1;if(P(Q.multipleOf)&&Y%Q.multipleOf!==0)return!1;return!0}function nZ(Q,Z,Y){if(!_.IsObjectLike(Y))return!1;if(P(Q.minProperties)&&!(Object.getOwnPropertyNames(Y).length>=Q.minProperties))return!1;if(P(Q.maxProperties)&&!(Object.getOwnPropertyNames(Y).length<=Q.maxProperties))return!1;let G=Object.getOwnPropertyNames(Q.properties);for(let W of G){let X=Q.properties[W];if(Q.required&&Q.required.includes(W)){if(!y(X,Z,Y[W]))return!1;if((M1(X)||bZ(X))&&!(W in Y))return!1}else if(_.IsExactOptionalProperty(Y,W)&&!y(X,Z,Y[W]))return!1}if(Q.additionalProperties===!1){let W=Object.getOwnPropertyNames(Y);if(Q.required&&Q.required.length===G.length&&W.length===G.length)return!0;else return W.every((X)=>G.includes(X))}else if(typeof Q.additionalProperties==="object")return Object.getOwnPropertyNames(Y).every((X)=>G.includes(X)||y(Q.additionalProperties,Z,Y[X]));else return!0}function mZ(Q,Z,Y){return W0(Y)}function hZ(Q,Z,Y){if(!_.IsRecordLike(Y))return!1;if(P(Q.minProperties)&&!(Object.getOwnPropertyNames(Y).length>=Q.minProperties))return!1;if(P(Q.maxProperties)&&!(Object.getOwnPropertyNames(Y).length<=Q.maxProperties))return!1;let[G,W]=Object.entries(Q.patternProperties)[0],X=new RegExp(G),J=Object.entries(Y).every(([N,R])=>{return X.test(N)?y(W,Z,R):!0}),H=typeof Q.additionalProperties==="object"?Object.entries(Y).every(([N,R])=>{return!X.test(N)?y(Q.additionalProperties,Z,R):!0}):!0,w=Q.additionalProperties===!1?Object.getOwnPropertyNames(Y).every((N)=>{return X.test(N)}):!0;return J&&H&&w}function tZ(Q,Z,Y){return y(i(Q,Z),Z,Y)}function vZ(Q,Z,Y){let G=new RegExp(Q.source,Q.flags);if(P(Q.minLength)){if(!(Y.length>=Q.minLength))return!1}if(P(Q.maxLength)){if(!(Y.length<=Q.maxLength))return!1}return G.test(Y)}function cZ(Q,Z,Y){if(!f(Y))return!1;if(P(Q.minLength)){if(!(Y.length>=Q.minLength))return!1}if(P(Q.maxLength)){if(!(Y.length<=Q.maxLength))return!1}if(P(Q.pattern)){if(!new RegExp(Q.pattern).test(Y))return!1}if(P(Q.format)){if(!Y1.Has(Q.format))return!1;return Y1.Get(Q.format)(Y)}return!0}function uZ(Q,Z,Y){return C1(Y)}function lZ(Q,Z,Y){return f(Y)&&new RegExp(Q.pattern).test(Y)}function sZ(Q,Z,Y){return y(i(Q,Z),Z,Y)}function rZ(Q,Z,Y){if(!V(Y))return!1;if(Q.items===void 0&&Y.length!==0)return!1;if(Y.length!==Q.maxItems)return!1;if(!Q.items)return!0;for(let G=0;G<Q.items.length;G++)if(!y(Q.items[G],Z,Y[G]))return!1;return!0}function aZ(Q,Z,Y){return v(Y)}function eZ(Q,Z,Y){return Q.anyOf.some((G)=>y(G,Z,Y))}function Q6(Q,Z,Y){if(!T1(Y))return!1;if(P(Q.maxByteLength)&&!(Y.length<=Q.maxByteLength))return!1;if(P(Q.minByteLength)&&!(Y.length>=Q.minByteLength))return!1;return!0}function Y6(Q,Z,Y){return!0}function Z6(Q,Z,Y){return _.IsVoidLike(Y)}function G6(Q,Z,Y){if(!a.Has(Q[B]))return!1;return a.Get(Q[B])(Q,Y)}function y(Q,Z,Y){let G=P(Q.$id)?j1(Q,Z):Z,W=Q;switch(W[B]){case"Any":return CZ(W,G,Y);case"Argument":return OZ(W,G,Y);case"Array":return FZ(W,G,Y);case"AsyncIterator":return xZ(W,G,Y);case"BigInt":return KZ(W,G,Y);case"Boolean":return gZ(W,G,Y);case"Constructor":return _Z(W,G,Y);case"Date":return kZ(W,G,Y);case"Function":return EZ(W,G,Y);case"Import":return VZ(W,G,Y);case"Integer":return TZ(W,G,Y);case"Intersect":return IZ(W,G,Y);case"Iterator":return dZ(W,G,Y);case"Literal":return fZ(W,G,Y);case"Never":return iZ(W,G,Y);case"Not":return yZ(W,G,Y);case"Null":return pZ(W,G,Y);case"Number":return oZ(W,G,Y);case"Object":return nZ(W,G,Y);case"Promise":return mZ(W,G,Y);case"Record":return hZ(W,G,Y);case"Ref":return tZ(W,G,Y);case"RegExp":return vZ(W,G,Y);case"String":return cZ(W,G,Y);case"Symbol":return uZ(W,G,Y);case"TemplateLiteral":return lZ(W,G,Y);case"This":return sZ(W,G,Y);case"Tuple":return rZ(W,G,Y);case"Undefined":return aZ(W,G,Y);case"Union":return eZ(W,G,Y);case"Uint8Array":return Q6(W,G,Y);case"Unknown":return Y6(W,G,Y);case"Void":return Z6(W,G,Y);default:if(!a.Has(W[B]))throw new M8(W);return G6(W,G,Y)}}function F1(...Q){return Q.length===3?y(Q[0],Q[1],Q[2]):y(Q[0],[],Q[1])}var q;(function(Q){Q[Q.ArrayContains=0]="ArrayContains",Q[Q.ArrayMaxContains=1]="ArrayMaxContains",Q[Q.ArrayMaxItems=2]="ArrayMaxItems",Q[Q.ArrayMinContains=3]="ArrayMinContains",Q[Q.ArrayMinItems=4]="ArrayMinItems",Q[Q.ArrayUniqueItems=5]="ArrayUniqueItems",Q[Q.Array=6]="Array",Q[Q.AsyncIterator=7]="AsyncIterator",Q[Q.BigIntExclusiveMaximum=8]="BigIntExclusiveMaximum",Q[Q.BigIntExclusiveMinimum=9]="BigIntExclusiveMinimum",Q[Q.BigIntMaximum=10]="BigIntMaximum",Q[Q.BigIntMinimum=11]="BigIntMinimum",Q[Q.BigIntMultipleOf=12]="BigIntMultipleOf",Q[Q.BigInt=13]="BigInt",Q[Q.Boolean=14]="Boolean",Q[Q.DateExclusiveMaximumTimestamp=15]="DateExclusiveMaximumTimestamp",Q[Q.DateExclusiveMinimumTimestamp=16]="DateExclusiveMinimumTimestamp",Q[Q.DateMaximumTimestamp=17]="DateMaximumTimestamp",Q[Q.DateMinimumTimestamp=18]="DateMinimumTimestamp",Q[Q.DateMultipleOfTimestamp=19]="DateMultipleOfTimestamp",Q[Q.Date=20]="Date",Q[Q.Function=21]="Function",Q[Q.IntegerExclusiveMaximum=22]="IntegerExclusiveMaximum",Q[Q.IntegerExclusiveMinimum=23]="IntegerExclusiveMinimum",Q[Q.IntegerMaximum=24]="IntegerMaximum",Q[Q.IntegerMinimum=25]="IntegerMinimum",Q[Q.IntegerMultipleOf=26]="IntegerMultipleOf",Q[Q.Integer=27]="Integer",Q[Q.IntersectUnevaluatedProperties=28]="IntersectUnevaluatedProperties",Q[Q.Intersect=29]="Intersect",Q[Q.Iterator=30]="Iterator",Q[Q.Kind=31]="Kind",Q[Q.Literal=32]="Literal",Q[Q.Never=33]="Never",Q[Q.Not=34]="Not",Q[Q.Null=35]="Null",Q[Q.NumberExclusiveMaximum=36]="NumberExclusiveMaximum",Q[Q.NumberExclusiveMinimum=37]="NumberExclusiveMinimum",Q[Q.NumberMaximum=38]="NumberMaximum",Q[Q.NumberMinimum=39]="NumberMinimum",Q[Q.NumberMultipleOf=40]="NumberMultipleOf",Q[Q.Number=41]="Number",Q[Q.ObjectAdditionalProperties=42]="ObjectAdditionalProperties",Q[Q.ObjectMaxProperties=43]="ObjectMaxProperties",Q[Q.ObjectMinProperties=44]="ObjectMinProperties",Q[Q.ObjectRequiredProperty=45]="ObjectRequiredProperty",Q[Q.Object=46]="Object",Q[Q.Promise=47]="Promise",Q[Q.RegExp=48]="RegExp",Q[Q.StringFormatUnknown=49]="StringFormatUnknown",Q[Q.StringFormat=50]="StringFormat",Q[Q.StringMaxLength=51]="StringMaxLength",Q[Q.StringMinLength=52]="StringMinLength",Q[Q.StringPattern=53]="StringPattern",Q[Q.String=54]="String",Q[Q.Symbol=55]="Symbol",Q[Q.TupleLength=56]="TupleLength",Q[Q.Tuple=57]="Tuple",Q[Q.Uint8ArrayMaxByteLength=58]="Uint8ArrayMaxByteLength",Q[Q.Uint8ArrayMinByteLength=59]="Uint8ArrayMinByteLength",Q[Q.Uint8Array=60]="Uint8Array",Q[Q.Undefined=61]="Undefined",Q[Q.Union=62]="Union",Q[Q.Void=63]="Void"})(q||(q={}));class U8 extends T{constructor(Q){super("Unknown type");this.schema=Q}}function U1(Q){return Q.replace(/~/g,"~0").replace(/\//g,"~1")}function S(Q){return Q!==void 0}class g0{constructor(Q){this.iterator=Q}[Symbol.iterator](){return this.iterator}First(){let Q=this.iterator.next();return Q.done?void 0:Q.value}}function L(Q,Z,Y,G,W=[]){return{type:Q,schema:Z,path:Y,value:G,message:Z8()({errorType:Q,path:Y,schema:Z,value:G,errors:W}),errors:W}}function*W6(Q,Z,Y,G){}function*X6(Q,Z,Y,G){}function*$6(Q,Z,Y,G){if(!V(G))return yield L(q.Array,Q,Y,G);if(S(Q.minItems)&&!(G.length>=Q.minItems))yield L(q.ArrayMinItems,Q,Y,G);if(S(Q.maxItems)&&!(G.length<=Q.maxItems))yield L(q.ArrayMaxItems,Q,Y,G);for(let J=0;J<G.length;J++)yield*p(Q.items,Z,`${Y}/${J}`,G[J]);if(Q.uniqueItems===!0&&!function(){let J=new Set;for(let H of G){let w=n1(H);if(J.has(w))return!1;else J.add(w)}return!0}())yield L(q.ArrayUniqueItems,Q,Y,G);if(!(S(Q.contains)||S(Q.minContains)||S(Q.maxContains)))return;let W=S(Q.contains)?Q.contains:c(),X=G.reduce((J,H,w)=>p(W,Z,`${Y}${w}`,H).next().done===!0?J+1:J,0);if(X===0)yield L(q.ArrayContains,Q,Y,G);if(D(Q.minContains)&&X<Q.minContains)yield L(q.ArrayMinContains,Q,Y,G);if(D(Q.maxContains)&&X>Q.maxContains)yield L(q.ArrayMaxContains,Q,Y,G)}function*z6(Q,Z,Y,G){if(!Z0(G))yield L(q.AsyncIterator,Q,Y,G)}function*J6(Q,Z,Y,G){if(!e(G))return yield L(q.BigInt,Q,Y,G);if(S(Q.exclusiveMaximum)&&!(G<Q.exclusiveMaximum))yield L(q.BigIntExclusiveMaximum,Q,Y,G);if(S(Q.exclusiveMinimum)&&!(G>Q.exclusiveMinimum))yield L(q.BigIntExclusiveMinimum,Q,Y,G);if(S(Q.maximum)&&!(G<=Q.maximum))yield L(q.BigIntMaximum,Q,Y,G);if(S(Q.minimum)&&!(G>=Q.minimum))yield L(q.BigIntMinimum,Q,Y,G);if(S(Q.multipleOf)&&G%Q.multipleOf!==BigInt(0))yield L(q.BigIntMultipleOf,Q,Y,G)}function*q6(Q,Z,Y,G){if(!b1(G))yield L(q.Boolean,Q,Y,G)}function*H6(Q,Z,Y,G){yield*p(Q.returns,Z,Y,G.prototype)}function*L6(Q,Z,Y,G){if(!V1(G))return yield L(q.Date,Q,Y,G);if(S(Q.exclusiveMaximumTimestamp)&&!(G.getTime()<Q.exclusiveMaximumTimestamp))yield L(q.DateExclusiveMaximumTimestamp,Q,Y,G);if(S(Q.exclusiveMinimumTimestamp)&&!(G.getTime()>Q.exclusiveMinimumTimestamp))yield L(q.DateExclusiveMinimumTimestamp,Q,Y,G);if(S(Q.maximumTimestamp)&&!(G.getTime()<=Q.maximumTimestamp))yield L(q.DateMaximumTimestamp,Q,Y,G);if(S(Q.minimumTimestamp)&&!(G.getTime()>=Q.minimumTimestamp))yield L(q.DateMinimumTimestamp,Q,Y,G);if(S(Q.multipleOfTimestamp)&&G.getTime()%Q.multipleOfTimestamp!==0)yield L(q.DateMultipleOfTimestamp,Q,Y,G)}function*M6(Q,Z,Y,G){if(!z0(G))yield L(q.Function,Q,Y,G)}function*U6(Q,Z,Y,G){let W=globalThis.Object.values(Q.$defs),X=Q.$defs[Q.$ref];yield*p(X,[...Z,...W],Y,G)}function*A6(Q,Z,Y,G){if(!$0(G))return yield L(q.Integer,Q,Y,G);if(S(Q.exclusiveMaximum)&&!(G<Q.exclusiveMaximum))yield L(q.IntegerExclusiveMaximum,Q,Y,G);if(S(Q.exclusiveMinimum)&&!(G>Q.exclusiveMinimum))yield L(q.IntegerExclusiveMinimum,Q,Y,G);if(S(Q.maximum)&&!(G<=Q.maximum))yield L(q.IntegerMaximum,Q,Y,G);if(S(Q.minimum)&&!(G>=Q.minimum))yield L(q.IntegerMinimum,Q,Y,G);if(S(Q.multipleOf)&&G%Q.multipleOf!==0)yield L(q.IntegerMultipleOf,Q,Y,G)}function*R6(Q,Z,Y,G){let W=!1;for(let X of Q.allOf)for(let J of p(X,Z,Y,G))W=!0,yield J;if(W)return yield L(q.Intersect,Q,Y,G);if(Q.unevaluatedProperties===!1){let X=new RegExp(L1(Q));for(let J of Object.getOwnPropertyNames(G))if(!X.test(J))yield L(q.IntersectUnevaluatedProperties,Q,`${Y}/${J}`,G)}if(typeof Q.unevaluatedProperties==="object"){let X=new RegExp(L1(Q));for(let J of Object.getOwnPropertyNames(G))if(!X.test(J)){let H=p(Q.unevaluatedProperties,Z,`${Y}/${J}`,G[J]).next();if(!H.done)yield H.value}}}function*B6(Q,Z,Y,G){if(!G0(G))yield L(q.Iterator,Q,Y,G)}function*w6(Q,Z,Y,G){if(G!==Q.const)yield L(q.Literal,Q,Y,G)}function*j6(Q,Z,Y,G){yield L(q.Never,Q,Y,G)}function*D6(Q,Z,Y,G){if(p(Q.not,Z,Y,G).next().done===!0)yield L(q.Not,Q,Y,G)}function*N6(Q,Z,Y,G){if(!S1(G))yield L(q.Null,Q,Y,G)}function*P6(Q,Z,Y,G){if(!_.IsNumberLike(G))return yield L(q.Number,Q,Y,G);if(S(Q.exclusiveMaximum)&&!(G<Q.exclusiveMaximum))yield L(q.NumberExclusiveMaximum,Q,Y,G);if(S(Q.exclusiveMinimum)&&!(G>Q.exclusiveMinimum))yield L(q.NumberExclusiveMinimum,Q,Y,G);if(S(Q.maximum)&&!(G<=Q.maximum))yield L(q.NumberMaximum,Q,Y,G);if(S(Q.minimum)&&!(G>=Q.minimum))yield L(q.NumberMinimum,Q,Y,G);if(S(Q.multipleOf)&&G%Q.multipleOf!==0)yield L(q.NumberMultipleOf,Q,Y,G)}function*S6(Q,Z,Y,G){if(!_.IsObjectLike(G))return yield L(q.Object,Q,Y,G);if(S(Q.minProperties)&&!(Object.getOwnPropertyNames(G).length>=Q.minProperties))yield L(q.ObjectMinProperties,Q,Y,G);if(S(Q.maxProperties)&&!(Object.getOwnPropertyNames(G).length<=Q.maxProperties))yield L(q.ObjectMaxProperties,Q,Y,G);let W=Array.isArray(Q.required)?Q.required:[],X=Object.getOwnPropertyNames(Q.properties),J=Object.getOwnPropertyNames(G);for(let H of W){if(J.includes(H))continue;yield L(q.ObjectRequiredProperty,Q.properties[H],`${Y}/${U1(H)}`,void 0)}if(Q.additionalProperties===!1){for(let H of J)if(!X.includes(H))yield L(q.ObjectAdditionalProperties,Q,`${Y}/${U1(H)}`,G[H])}if(typeof Q.additionalProperties==="object")for(let H of J){if(X.includes(H))continue;yield*p(Q.additionalProperties,Z,`${Y}/${U1(H)}`,G[H])}for(let H of X){let w=Q.properties[H];if(Q.required&&Q.required.includes(H)){if(yield*p(w,Z,`${Y}/${U1(H)}`,G[H]),M1(Q)&&!(H in G))yield L(q.ObjectRequiredProperty,w,`${Y}/${U1(H)}`,void 0)}else if(_.IsExactOptionalProperty(G,H))yield*p(w,Z,`${Y}/${U1(H)}`,G[H])}}function*b6(Q,Z,Y,G){if(!W0(G))yield L(q.Promise,Q,Y,G)}function*C6(Q,Z,Y,G){if(!_.IsRecordLike(G))return yield L(q.Object,Q,Y,G);if(S(Q.minProperties)&&!(Object.getOwnPropertyNames(G).length>=Q.minProperties))yield L(q.ObjectMinProperties,Q,Y,G);if(S(Q.maxProperties)&&!(Object.getOwnPropertyNames(G).length<=Q.maxProperties))yield L(q.ObjectMaxProperties,Q,Y,G);let[W,X]=Object.entries(Q.patternProperties)[0],J=new RegExp(W);for(let[H,w]of Object.entries(G))if(J.test(H))yield*p(X,Z,`${Y}/${U1(H)}`,w);if(typeof Q.additionalProperties==="object"){for(let[H,w]of Object.entries(G))if(!J.test(H))yield*p(Q.additionalProperties,Z,`${Y}/${U1(H)}`,w)}if(Q.additionalProperties===!1)for(let[H,w]of Object.entries(G)){if(J.test(H))continue;return yield L(q.ObjectAdditionalProperties,Q,`${Y}/${U1(H)}`,w)}}function*O6(Q,Z,Y,G){yield*p(i(Q,Z),Z,Y,G)}function*F6(Q,Z,Y,G){if(!f(G))return yield L(q.String,Q,Y,G);if(S(Q.minLength)&&!(G.length>=Q.minLength))yield L(q.StringMinLength,Q,Y,G);if(S(Q.maxLength)&&!(G.length<=Q.maxLength))yield L(q.StringMaxLength,Q,Y,G);if(!new RegExp(Q.source,Q.flags).test(G))return yield L(q.RegExp,Q,Y,G)}function*x6(Q,Z,Y,G){if(!f(G))return yield L(q.String,Q,Y,G);if(S(Q.minLength)&&!(G.length>=Q.minLength))yield L(q.StringMinLength,Q,Y,G);if(S(Q.maxLength)&&!(G.length<=Q.maxLength))yield L(q.StringMaxLength,Q,Y,G);if(f(Q.pattern)){if(!new RegExp(Q.pattern).test(G))yield L(q.StringPattern,Q,Y,G)}if(f(Q.format)){if(!Y1.Has(Q.format))yield L(q.StringFormatUnknown,Q,Y,G);else if(!Y1.Get(Q.format)(G))yield L(q.StringFormat,Q,Y,G)}}function*K6(Q,Z,Y,G){if(!C1(G))yield L(q.Symbol,Q,Y,G)}function*g6(Q,Z,Y,G){if(!f(G))return yield L(q.String,Q,Y,G);if(!new RegExp(Q.pattern).test(G))yield L(q.StringPattern,Q,Y,G)}function*_6(Q,Z,Y,G){yield*p(i(Q,Z),Z,Y,G)}function*k6(Q,Z,Y,G){if(!V(G))return yield L(q.Tuple,Q,Y,G);if(Q.items===void 0&&G.length!==0)return yield L(q.TupleLength,Q,Y,G);if(G.length!==Q.maxItems)return yield L(q.TupleLength,Q,Y,G);if(!Q.items)return;for(let W=0;W<Q.items.length;W++)yield*p(Q.items[W],Z,`${Y}/${W}`,G[W])}function*E6(Q,Z,Y,G){if(!v(G))yield L(q.Undefined,Q,Y,G)}function*V6(Q,Z,Y,G){if(F1(Q,Z,G))return;let W=Q.anyOf.map((X)=>new g0(p(X,Z,Y,G)));yield L(q.Union,Q,Y,G,W)}function*T6(Q,Z,Y,G){if(!T1(G))return yield L(q.Uint8Array,Q,Y,G);if(S(Q.maxByteLength)&&!(G.length<=Q.maxByteLength))yield L(q.Uint8ArrayMaxByteLength,Q,Y,G);if(S(Q.minByteLength)&&!(G.length>=Q.minByteLength))yield L(q.Uint8ArrayMinByteLength,Q,Y,G)}function*I6(Q,Z,Y,G){}function*d6(Q,Z,Y,G){if(!_.IsVoidLike(G))yield L(q.Void,Q,Y,G)}function*f6(Q,Z,Y,G){if(!a.Get(Q[B])(Q,G))yield L(q.Kind,Q,Y,G)}function*p(Q,Z,Y,G){let W=S(Q.$id)?[...Z,Q]:Z,X=Q;switch(X[B]){case"Any":return yield*W6(X,W,Y,G);case"Argument":return yield*X6(X,W,Y,G);case"Array":return yield*$6(X,W,Y,G);case"AsyncIterator":return yield*z6(X,W,Y,G);case"BigInt":return yield*J6(X,W,Y,G);case"Boolean":return yield*q6(X,W,Y,G);case"Constructor":return yield*H6(X,W,Y,G);case"Date":return yield*L6(X,W,Y,G);case"Function":return yield*M6(X,W,Y,G);case"Import":return yield*U6(X,W,Y,G);case"Integer":return yield*A6(X,W,Y,G);case"Intersect":return yield*R6(X,W,Y,G);case"Iterator":return yield*B6(X,W,Y,G);case"Literal":return yield*w6(X,W,Y,G);case"Never":return yield*j6(X,W,Y,G);case"Not":return yield*D6(X,W,Y,G);case"Null":return yield*N6(X,W,Y,G);case"Number":return yield*P6(X,W,Y,G);case"Object":return yield*S6(X,W,Y,G);case"Promise":return yield*b6(X,W,Y,G);case"Record":return yield*C6(X,W,Y,G);case"Ref":return yield*O6(X,W,Y,G);case"RegExp":return yield*F6(X,W,Y,G);case"String":return yield*x6(X,W,Y,G);case"Symbol":return yield*K6(X,W,Y,G);case"TemplateLiteral":return yield*g6(X,W,Y,G);case"This":return yield*_6(X,W,Y,G);case"Tuple":return yield*k6(X,W,Y,G);case"Undefined":return yield*E6(X,W,Y,G);case"Union":return yield*V6(X,W,Y,G);case"Uint8Array":return yield*T6(X,W,Y,G);case"Unknown":return yield*I6(X,W,Y,G);case"Void":return yield*d6(X,W,Y,G);default:if(!a.Has(X[B]))throw new U8(Q);return yield*f6(X,W,Y,G)}}function A8(...Q){let Z=Q.length===3?p(Q[0],Q[1],"",Q[2]):p(Q[0],[],"",Q[1]);return new g0(Z)}class _0 extends T{constructor(Q,Z,Y){super("Unable to decode value as it does not match the expected schema");this.schema=Q,this.value=Z,this.error=Y}}class R8 extends T{constructor(Q,Z,Y,G){super(G instanceof Error?G.message:"Unknown error");this.schema=Q,this.path=Z,this.value=Y,this.error=G}}function E(Q,Z,Y){try{return x(Q)?Q[B1].Decode(Y):Y}catch(G){throw new R8(Q,Z,Y,G)}}function i6(Q,Z,Y,G){return V(G)?E(Q,Y,G.map((W,X)=>X1(Q.items,Z,`${Y}/${X}`,W))):E(Q,Y,G)}function y6(Q,Z,Y,G){if(!r(G)||J0(G))return E(Q,Y,G);let W=w0(Q),X=W.map((R)=>R[0]),J={...G};for(let[R,O]of W)if(R in J)J[R]=X1(O,Z,`${Y}/${R}`,J[R]);if(!x(Q.unevaluatedProperties))return E(Q,Y,J);let H=Object.getOwnPropertyNames(J),w=Q.unevaluatedProperties,N={...J};for(let R of H)if(!X.includes(R))N[R]=E(w,`${Y}/${R}`,N[R]);return E(Q,Y,N)}function p6(Q,Z,Y,G){let W=globalThis.Object.values(Q.$defs),X=Q.$defs[Q.$ref],J=X1(X,[...Z,...W],Y,G);return E(Q,Y,J)}function o6(Q,Z,Y,G){return E(Q,Y,X1(Q.not,Z,Y,G))}function n6(Q,Z,Y,G){if(!r(G))return E(Q,Y,G);let W=w1(Q),X={...G};for(let N of W){if(!X0(X,N))continue;if(v(X[N])&&(!u1(Q.properties[N])||_.IsExactOptionalProperty(X,N)))continue;X[N]=X1(Q.properties[N],Z,`${Y}/${N}`,X[N])}if(!u(Q.additionalProperties))return E(Q,Y,X);let J=Object.getOwnPropertyNames(X),H=Q.additionalProperties,w={...X};for(let N of J)if(!W.includes(N))w[N]=E(H,`${Y}/${N}`,w[N]);return E(Q,Y,w)}function m6(Q,Z,Y,G){if(!r(G))return E(Q,Y,G);let W=Object.getOwnPropertyNames(Q.patternProperties)[0],X=new RegExp(W),J={...G};for(let R of Object.getOwnPropertyNames(G))if(X.test(R))J[R]=X1(Q.patternProperties[W],Z,`${Y}/${R}`,J[R]);if(!u(Q.additionalProperties))return E(Q,Y,J);let H=Object.getOwnPropertyNames(J),w=Q.additionalProperties,N={...J};for(let R of H)if(!X.test(R))N[R]=E(w,`${Y}/${R}`,N[R]);return E(Q,Y,N)}function h6(Q,Z,Y,G){let W=i(Q,Z);return E(Q,Y,X1(W,Z,Y,G))}function t6(Q,Z,Y,G){let W=i(Q,Z);return E(Q,Y,X1(W,Z,Y,G))}function v6(Q,Z,Y,G){return V(G)&&V(Q.items)?E(Q,Y,Q.items.map((W,X)=>X1(W,Z,`${Y}/${X}`,G[X]))):E(Q,Y,G)}function c6(Q,Z,Y,G){for(let W of Q.anyOf){if(!F1(W,Z,G))continue;let X=X1(W,Z,Y,G);return E(Q,Y,X)}return E(Q,Y,G)}function X1(Q,Z,Y,G){let W=j1(Q,Z),X=Q;switch(Q[B]){case"Array":return i6(X,W,Y,G);case"Import":return p6(X,W,Y,G);case"Intersect":return y6(X,W,Y,G);case"Not":return o6(X,W,Y,G);case"Object":return n6(X,W,Y,G);case"Record":return m6(X,W,Y,G);case"Ref":return h6(X,W,Y,G);case"Symbol":return E(X,Y,G);case"This":return t6(X,W,Y,G);case"Tuple":return v6(X,W,Y,G);case"Union":return c6(X,W,Y,G);default:return E(X,Y,G)}}function B8(Q,Z,Y){return X1(Q,Z,"",Y)}class k0 extends T{constructor(Q,Z,Y){super("The encoded value does not match the expected schema");this.schema=Q,this.value=Z,this.error=Y}}class w8 extends T{constructor(Q,Z,Y,G){super(`${G instanceof Error?G.message:"Unknown error"}`);this.schema=Q,this.path=Z,this.value=Y,this.error=G}}function h(Q,Z,Y){try{return x(Q)?Q[B1].Encode(Y):Y}catch(G){throw new w8(Q,Z,Y,G)}}function u6(Q,Z,Y,G){let W=h(Q,Y,G);return V(W)?W.map((X,J)=>$1(Q.items,Z,`${Y}/${J}`,X)):W}function l6(Q,Z,Y,G){let W=globalThis.Object.values(Q.$defs),X=Q.$defs[Q.$ref],J=h(Q,Y,G);return $1(X,[...Z,...W],Y,J)}function s6(Q,Z,Y,G){let W=h(Q,Y,G);if(!r(G)||J0(G))return W;let X=w0(Q),J=X.map((O)=>O[0]),H={...W};for(let[O,K1]of X)if(O in H)H[O]=$1(K1,Z,`${Y}/${O}`,H[O]);if(!x(Q.unevaluatedProperties))return H;let w=Object.getOwnPropertyNames(H),N=Q.unevaluatedProperties,R={...H};for(let O of w)if(!J.includes(O))R[O]=h(N,`${Y}/${O}`,R[O]);return R}function r6(Q,Z,Y,G){return h(Q.not,Y,h(Q,Y,G))}function a6(Q,Z,Y,G){let W=h(Q,Y,G);if(!r(W))return W;let X=w1(Q),J={...W};for(let R of X){if(!X0(J,R))continue;if(v(J[R])&&(!u1(Q.properties[R])||_.IsExactOptionalProperty(J,R)))continue;J[R]=$1(Q.properties[R],Z,`${Y}/${R}`,J[R])}if(!u(Q.additionalProperties))return J;let H=Object.getOwnPropertyNames(J),w=Q.additionalProperties,N={...J};for(let R of H)if(!X.includes(R))N[R]=h(w,`${Y}/${R}`,N[R]);return N}function e6(Q,Z,Y,G){let W=h(Q,Y,G);if(!r(G))return W;let X=Object.getOwnPropertyNames(Q.patternProperties)[0],J=new RegExp(X),H={...W};for(let O of Object.getOwnPropertyNames(G))if(J.test(O))H[O]=$1(Q.patternProperties[X],Z,`${Y}/${O}`,H[O]);if(!u(Q.additionalProperties))return H;let w=Object.getOwnPropertyNames(H),N=Q.additionalProperties,R={...H};for(let O of w)if(!J.test(O))R[O]=h(N,`${Y}/${O}`,R[O]);return R}function QG(Q,Z,Y,G){let W=i(Q,Z),X=$1(W,Z,Y,G);return h(Q,Y,X)}function YG(Q,Z,Y,G){let W=i(Q,Z),X=$1(W,Z,Y,G);return h(Q,Y,X)}function ZG(Q,Z,Y,G){let W=h(Q,Y,G);return V(Q.items)?Q.items.map((X,J)=>$1(X,Z,`${Y}/${J}`,W[J])):[]}function GG(Q,Z,Y,G){for(let W of Q.anyOf){if(!F1(W,Z,G))continue;let X=$1(W,Z,Y,G);return h(Q,Y,X)}for(let W of Q.anyOf){let X=$1(W,Z,Y,G);if(!F1(Q,Z,X))continue;return h(Q,Y,X)}return h(Q,Y,G)}function $1(Q,Z,Y,G){let W=j1(Q,Z),X=Q;switch(Q[B]){case"Array":return u6(X,W,Y,G);case"Import":return l6(X,W,Y,G);case"Intersect":return s6(X,W,Y,G);case"Not":return r6(X,W,Y,G);case"Object":return a6(X,W,Y,G);case"Record":return e6(X,W,Y,G);case"Ref":return QG(X,W,Y,G);case"This":return YG(X,W,Y,G);case"Tuple":return ZG(X,W,Y,G);case"Union":return GG(X,W,Y,G);default:return h(X,Y,G)}}function j8(Q,Z,Y){return $1(Q,Z,"",Y)}function WG(Q,Z){return x(Q)||d(Q.items,Z)}function XG(Q,Z){return x(Q)||d(Q.items,Z)}function $G(Q,Z){return x(Q)||d(Q.returns,Z)||Q.parameters.some((Y)=>d(Y,Z))}function zG(Q,Z){return x(Q)||d(Q.returns,Z)||Q.parameters.some((Y)=>d(Y,Z))}function JG(Q,Z){return x(Q)||x(Q.unevaluatedProperties)||Q.allOf.some((Y)=>d(Y,Z))}function qG(Q,Z){let Y=globalThis.Object.getOwnPropertyNames(Q.$defs).reduce((W,X)=>[...W,Q.$defs[X]],[]),G=Q.$defs[Q.$ref];return x(Q)||d(G,[...Y,...Z])}function HG(Q,Z){return x(Q)||d(Q.items,Z)}function LG(Q,Z){return x(Q)||d(Q.not,Z)}function MG(Q,Z){return x(Q)||Object.values(Q.properties).some((Y)=>d(Y,Z))||u(Q.additionalProperties)&&d(Q.additionalProperties,Z)}function UG(Q,Z){return x(Q)||d(Q.item,Z)}function AG(Q,Z){let Y=Object.getOwnPropertyNames(Q.patternProperties)[0],G=Q.patternProperties[Y];return x(Q)||d(G,Z)||u(Q.additionalProperties)&&x(Q.additionalProperties)}function RG(Q,Z){if(x(Q))return!0;return d(i(Q,Z),Z)}function BG(Q,Z){if(x(Q))return!0;return d(i(Q,Z),Z)}function wG(Q,Z){return x(Q)||!v(Q.items)&&Q.items.some((Y)=>d(Y,Z))}function jG(Q,Z){return x(Q)||Q.anyOf.some((Y)=>d(Y,Z))}function d(Q,Z){let Y=j1(Q,Z),G=Q;if(Q.$id&&E0.has(Q.$id))return!1;if(Q.$id)E0.add(Q.$id);switch(Q[B]){case"Array":return WG(G,Y);case"AsyncIterator":return XG(G,Y);case"Constructor":return $G(G,Y);case"Function":return zG(G,Y);case"Import":return qG(G,Y);case"Intersect":return JG(G,Y);case"Iterator":return HG(G,Y);case"Not":return LG(G,Y);case"Object":return MG(G,Y);case"Promise":return UG(G,Y);case"Record":return AG(G,Y);case"Ref":return RG(G,Y);case"This":return BG(G,Y);case"Tuple":return wG(G,Y);case"Union":return jG(G,Y);default:return x(Q)}}var E0=new Set;function D8(Q,Z){return E0.clear(),d(Q,Z)}class N8{constructor(Q,Z,Y,G){this.schema=Q,this.references=Z,this.checkFunc=Y,this.code=G,this.hasTransform=D8(Q,Z)}Code(){return this.code}Schema(){return this.schema}References(){return this.references}Errors(Q){return A8(this.schema,this.references,Q)}Check(Q){return this.checkFunc(Q)}Decode(Q){if(!this.checkFunc(Q))throw new _0(this.schema,Q,this.Errors(Q).First());return this.hasTransform?B8(this.schema,this.references,Q):Q}Encode(Q){let Z=this.hasTransform?j8(this.schema,this.references,Q):Q;if(!this.checkFunc(Z))throw new k0(this.schema,Q,this.Errors(Q).First());return Z}}var A1;(function(Q){function Z(X){return X===36}Q.DollarSign=Z;function Y(X){return X===95}Q.IsUnderscore=Y;function G(X){return X>=65&&X<=90||X>=97&&X<=122}Q.IsAlpha=G;function W(X){return X>=48&&X<=57}Q.IsNumeric=W})(A1||(A1={}));var j0;(function(Q){function Z(X){if(X.length===0)return!1;return A1.IsNumeric(X.charCodeAt(0))}function Y(X){if(Z(X))return!1;for(let J=0;J<X.length;J++){let H=X.charCodeAt(J);if(!(A1.IsAlpha(H)||A1.IsNumeric(H)||A1.DollarSign(H)||A1.IsUnderscore(H)))return!1}return!0}function G(X){return X.replace(/'/g,"\\'")}function W(X,J){return Y(J)?`${X}.${J}`:`${X}['${G(J)}']`}Q.Encode=W})(j0||(j0={}));var V0;(function(Q){function Z(Y){let G=[];for(let W=0;W<Y.length;W++){let X=Y.charCodeAt(W);if(A1.IsNumeric(X)||A1.IsAlpha(X))G.push(Y.charAt(W));else G.push(`_${X}_`)}return G.join("").replace(/__/g,"_")}Q.Encode=Z})(V0||(V0={}));var T0;(function(Q){function Z(Y){return Y.replace(/'/g,"\\'")}Q.Escape=Z})(T0||(T0={}));class P8 extends T{constructor(Q){super("Unknown type");this.schema=Q}}class I0 extends T{constructor(Q){super("Preflight validation check failed to guard for the given schema");this.schema=Q}}var x1;(function(Q){function Z(J,H,w){return _.ExactOptionalPropertyTypes?`('${H}' in ${J} ? ${w} : true)`:`(${j0.Encode(J,H)} !== undefined ? ${w} : true)`}Q.IsExactOptionalProperty=Z;function Y(J){return!_.AllowArrayObject?`(typeof ${J} === 'object' && ${J} !== null && !Array.isArray(${J}))`:`(typeof ${J} === 'object' && ${J} !== null)`}Q.IsObjectLike=Y;function G(J){return!_.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))`}Q.IsRecordLike=G;function W(J){return _.AllowNaN?`typeof ${J} === 'number'`:`Number.isFinite(${J})`}Q.IsNumberLike=W;function X(J){return _.AllowNullVoid?`(${J} === undefined || ${J} === null)`:`${J} === undefined`}Q.IsVoidLike=X})(x1||(x1={}));var D0;(function(Q){function Z($){return $[B]==="Any"||$[B]==="Unknown"}function*Y($,M,z){yield"true"}function*G($,M,z){yield"true"}function*W($,M,z){yield`Array.isArray(${z})`;let[j,U]=[Q0("value","any"),Q0("acc","number")];if(D($.maxItems))yield`${z}.length <= ${$.maxItems}`;if(D($.minItems))yield`${z}.length >= ${$.minItems}`;let A=G1($.items,M,"value");if(yield`${z}.every((${j}) => ${A})`,k($.contains)||D($.minContains)||D($.maxContains)){let g=k($.contains)?$.contains:c(),s=G1(g,M,"value"),H1=D($.minContains)?[`(count >= ${$.minContains})`]:[],W1=D($.maxContains)?[`(count <= ${$.maxContains})`]:[],z1=`const count = value.reduce((${U}, ${j}) => ${s} ? acc + 1 : acc, 0)`,Y0=["(count > 0)",...H1,...W1].join(" && ");yield`((${j}) => { ${z1}; return ${Y0}})(${z})`}if($.uniqueItems===!0)yield`((${j}) => { 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 } )(${z})`}function*X($,M,z){yield`(typeof value === 'object' && Symbol.asyncIterator in ${z})`}function*J($,M,z){if(yield`(typeof ${z} === 'bigint')`,e($.exclusiveMaximum))yield`${z} < BigInt(${$.exclusiveMaximum})`;if(e($.exclusiveMinimum))yield`${z} > BigInt(${$.exclusiveMinimum})`;if(e($.maximum))yield`${z} <= BigInt(${$.maximum})`;if(e($.minimum))yield`${z} >= BigInt(${$.minimum})`;if(e($.multipleOf))yield`(${z} % BigInt(${$.multipleOf})) === 0`}function*H($,M,z){yield`(typeof ${z} === 'boolean')`}function*w($,M,z){yield*_1($.returns,M,`${z}.prototype`)}function*N($,M,z){if(yield`(${z} instanceof Date) && Number.isFinite(${z}.getTime())`,D($.exclusiveMaximumTimestamp))yield`${z}.getTime() < ${$.exclusiveMaximumTimestamp}`;if(D($.exclusiveMinimumTimestamp))yield`${z}.getTime() > ${$.exclusiveMinimumTimestamp}`;if(D($.maximumTimestamp))yield`${z}.getTime() <= ${$.maximumTimestamp}`;if(D($.minimumTimestamp))yield`${z}.getTime() >= ${$.minimumTimestamp}`;if(D($.multipleOfTimestamp))yield`(${z}.getTime() % ${$.multipleOfTimestamp}) === 0`}function*R($,M,z){yield`(typeof ${z} === 'function')`}function*O($,M,z){let j=globalThis.Object.getOwnPropertyNames($.$defs).reduce((U,A)=>{return[...U,$.$defs[A]]},[]);yield*_1(Q8($.$ref),[...M,...j],z)}function*K1($,M,z){if(yield`Number.isInteger(${z})`,D($.exclusiveMaximum))yield`${z} < ${$.exclusiveMaximum}`;if(D($.exclusiveMinimum))yield`${z} > ${$.exclusiveMinimum}`;if(D($.maximum))yield`${z} <= ${$.maximum}`;if(D($.minimum))yield`${z} >= ${$.minimum}`;if(D($.multipleOf))yield`(${z} % ${$.multipleOf}) === 0`}function*l($,M,z){let j=$.allOf.map((U)=>G1(U,M,z)).join(" && ");if($.unevaluatedProperties===!1){let U=k1(`${new RegExp(L1($))};`),A=`Object.getOwnPropertyNames(${z}).every(key => ${U}.test(key))`;yield`(${j} && ${A})`}else if(k($.unevaluatedProperties)){let U=k1(`${new RegExp(L1($))};`),A=`Object.getOwnPropertyNames(${z}).every(key => ${U}.test(key) || ${G1($.unevaluatedProperties,M,`${z}[key]`)})`;yield`(${j} && ${A})`}else yield`(${j})`}function*D1($,M,z){yield`(typeof value === 'object' && Symbol.iterator in ${z})`}function*N1($,M,z){if(typeof $.const==="number"||typeof $.const==="boolean")yield`(${z} === ${$.const})`;else yield`(${z} === '${T0.Escape($.const)}')`}function*N0($,M,z){yield"false"}function*P1($,M,z){yield`(!${G1($.not,M,z)})`}function*r1($,M,z){yield`(${z} === null)`}function*a1($,M,z){if(yield x1.IsNumberLike(z),D($.exclusiveMaximum))yield`${z} < ${$.exclusiveMaximum}`;if(D($.exclusiveMinimum))yield`${z} > ${$.exclusiveMinimum}`;if(D($.maximum))yield`${z} <= ${$.maximum}`;if(D($.minimum))yield`${z} >= ${$.minimum}`;if(D($.multipleOf))yield`(${z} % ${$.multipleOf}) === 0`}function*g1($,M,z){if(yield x1.IsObjectLike(z),D($.minProperties))yield`Object.getOwnPropertyNames(${z}).length >= ${$.minProperties}`;if(D($.maxProperties))yield`Object.getOwnPropertyNames(${z}).length <= ${$.maxProperties}`;let j=Object.getOwnPropertyNames($.properties);for(let U of j){let A=j0.Encode(z,U),g=$.properties[U];if($.required&&$.required.includes(U)){if(yield*_1(g,M,A),M1(g)||Z(g))yield`('${U}' in ${z})`}else{let s=G1(g,M,A);yield x1.IsExactOptionalProperty(z,U,s)}}if($.additionalProperties===!1)if($.required&&$.required.length===j.length)yield`Object.getOwnPropertyNames(${z}).length === ${j.length}`;else{let U=`[${j.map((A)=>`'${A}'`).join(", ")}]`;yield`Object.getOwnPropertyNames(${z}).every(key => ${U}.includes(key))`}if(typeof $.additionalProperties==="object"){let U=G1($.additionalProperties,M,`${z}[key]`),A=`[${j.map((g)=>`'${g}'`).join(", ")}]`;yield`(Object.getOwnPropertyNames(${z}).every(key => ${A}.includes(key) || ${U}))`}}function*O8($,M,z){yield`${z} instanceof Promise`}function*F8($,M,z){if(yield x1.IsRecordLike(z),D($.minProperties))yield`Object.getOwnPropertyNames(${z}).length >= ${$.minProperties}`;if(D($.maxProperties))yield`Object.getOwnPropertyNames(${z}).length <= ${$.maxProperties}`;let[j,U]=Object.entries($.patternProperties)[0],A=k1(`${new RegExp(j)}`),g=G1(U,M,"value"),s=k($.additionalProperties)?G1($.additionalProperties,M,z):$.additionalProperties===!1?"false":"true",H1=`(${A}.test(key) ? ${g} : ${s})`;yield`(Object.entries(${z}).every(([key, value]) => ${H1}))`}function*x8($,M,z){let j=i($,M);if(o.functions.has($.$ref))return yield`${e1($.$ref)}(${z})`;yield*_1(j,M,z)}function*K8($,M,z){let j=k1(`${new RegExp($.source,$.flags)};`);if(yield`(typeof ${z} === 'string')`,D($.maxLength))yield`${z}.length <= ${$.maxLength}`;if(D($.minLength))yield`${z}.length >= ${$.minLength}`;yield`${j}.test(${z})`}function*g8($,M,z){if(yield`(typeof ${z} === 'string')`,D($.maxLength))yield`${z}.length <= ${$.maxLength}`;if(D($.minLength))yield`${z}.length >= ${$.minLength}`;if($.pattern!==void 0)yield`${k1(`${new RegExp($.pattern)};`)}.test(${z})`;if($.format!==void 0)yield`format('${$.format}', ${z})`}function*_8($,M,z){yield`(typeof ${z} === 'symbol')`}function*k8($,M,z){yield`(typeof ${z} === 'string')`,yield`${k1(`${new RegExp($.pattern)};`)}.test(${z})`}function*E8($,M,z){yield`${e1($.$ref)}(${z})`}function*V8($,M,z){if(yield`Array.isArray(${z})`,$.items===void 0)return yield`${z}.length === 0`;yield`(${z}.length === ${$.maxItems})`;for(let j=0;j<$.items.length;j++)yield`${G1($.items[j],M,`${z}[${j}]`)}`}function*T8($,M,z){yield`${z} === undefined`}function*I8($,M,z){yield`(${$.anyOf.map((U)=>G1(U,M,z)).join(" || ")})`}function*d8($,M,z){if(yield`${z} instanceof Uint8Array`,D($.maxByteLength))yield`(${z}.length <= ${$.maxByteLength})`;if(D($.minByteLength))yield`(${z}.length >= ${$.minByteLength})`}function*f8($,M,z){yield"true"}function*i8($,M,z){yield x1.IsVoidLike(z)}function*y8($,M,z){let j=o.instances.size;o.instances.set(j,$),yield`kind('${$[B]}', ${j}, ${z})`}function*_1($,M,z,j=!0){let U=f($.$id)?[...M,$]:M,A=$;if(j&&f($.$id)){let g=e1($.$id);if(o.functions.has(g))return yield`${g}(${z})`;else{o.functions.set(g,"<deferred>");let s=d0(g,$,M,"value",!1);return o.functions.set(g,s),yield`${g}(${z})`}}switch(A[B]){case"Any":return yield*Y(A,U,z);case"Argument":return yield*G(A,U,z);case"Array":return yield*W(A,U,z);case"AsyncIterator":return yield*X(A,U,z);case"BigInt":return yield*J(A,U,z);case"Boolean":return yield*H(A,U,z);case"Constructor":return yield*w(A,U,z);case"Date":return yield*N(A,U,z);case"Function":return yield*R(A,U,z);case"Import":return yield*O(A,U,z);case"Integer":return yield*K1(A,U,z);case"Intersect":return yield*l(A,U,z);case"Iterator":return yield*D1(A,U,z);case"Literal":return yield*N1(A,U,z);case"Never":return yield*N0(A,U,z);case"Not":return yield*P1(A,U,z);case"Null":return yield*r1(A,U,z);case"Number":return yield*a1(A,U,z);case"Object":return yield*g1(A,U,z);case"Promise":return yield*O8(A,U,z);case"Record":return yield*F8(A,U,z);case"Ref":return yield*x8(A,U,z);case"RegExp":return yield*K8(A,U,z);case"String":return yield*g8(A,U,z);case"Symbol":return yield*_8(A,U,z);case"TemplateLiteral":return yield*k8(A,U,z);case"This":return yield*E8(A,U,z);case"Tuple":return yield*V8(A,U,z);case"Undefined":return yield*T8(A,U,z);case"Union":return yield*I8(A,U,z);case"Uint8Array":return yield*d8(A,U,z);case"Unknown":return yield*f8(A,U,z);case"Void":return yield*i8(A,U,z);default:if(!a.Has(A[B]))throw new P8($);return yield*y8(A,U,z)}}let o={language:"javascript",functions:new Map,variables:new Map,instances:new Map};function G1($,M,z,j=!0){return`(${[..._1($,M,z,j)].join(" && ")})`}function e1($){return`check_${V0.Encode($)}`}function k1($){let M=`local_${o.variables.size}`;return o.variables.set(M,`const ${M} = ${$}`),M}function d0($,M,z,j,U=!0){let[A,g]=[`
3
- `,(z1)=>"".padStart(z1," ")],s=Q0("value","any"),H1=f0("boolean"),W1=[..._1(M,z,j,U)].map((z1)=>`${g(4)}${z1}`).join(` &&${A}`);return`function ${$}(${s})${H1} {${A}${g(2)}return (${A}${W1}${A}${g(2)})
4
- }`}function Q0($,M){let z=o.language==="typescript"?`: ${M}`:"";return`${$}${z}`}function f0($){return o.language==="typescript"?`: ${$}`:""}function p8($,M,z){let j=d0("check",$,M,"value"),U=Q0("value","any"),A=f0("boolean"),g=[...o.functions.values()],s=[...o.variables.values()],H1=f($.$id)?`return function check(${U})${A} {
2
+ var h8=Object.defineProperty;var p0=(Q,G)=>{for(var Y in G)h8(Q,Y,{get:G[Y],enumerable:!0,configurable:!0,set:(W)=>G[Y]=()=>W})};class S0{req;params;_status=200;store=Object.create(null);body=null;_headers={};_searchParams=null;_cookies=null;reset(Q,G){this.req=Q,this.params=G,this._status=200,this.body=null,this._headers={},this._searchParams=null,this._cookies=null;for(let Y in this.store)delete this.store[Y];return this}header(Q){return this.req.headers.get(Q)}query(Q){if(!this._searchParams)this._searchParams=new URL(this.req.url).searchParams;return this._searchParams.get(Q)}cookie(Q){if(!this._cookies){this._cookies=new Map;let G=this.req.headers.get("cookie");if(G){let Y=G.matchAll(/([^=\s]+)=([^;]+)/g);for(let W of Y)if(W[1]&&W[2])this._cookies.set(W[1],W[2])}}return this._cookies.get(Q)}get ip(){return this.req.headers.get("x-forwarded-for")||null}status(Q){return this._status=Q,this}setHeader(Q,G){return this._headers[Q.toLowerCase()]=G,this}set(Q,G){if(typeof G==="string")return this._headers[Q.toLowerCase()]=G,this;this.store[Q]=G}get(Q){return this.store[Q]}setCookie(Q,G,Y=""){return this.setHeader("set-cookie",`${Q}=${G}; ${Y}`),this}json(Q){return this._headers["content-type"]="application/json",Q}text(Q){return this._headers["content-type"]="text/plain; charset=utf-8",Q}html(Q){return this._headers["content-type"]="text/html; charset=utf-8",Q}redirect(Q,G=302){return this._status=G,this.setHeader("location",Q),null}get user(){return this.store.user||null}}class k1{prefix;groupMiddleware;routes=[];constructor(Q="",G=[]){this.prefix=Q;this.groupMiddleware=G}_add(Q,G,Y){let W=(this.prefix+G).replace(/\/+/g,"/")||"/";return this.routes.push({method:Q.toUpperCase(),path:W,handlers:[...this.groupMiddleware,...Y]}),this}get=(Q,...G)=>this._add("GET",Q,G);post=(Q,...G)=>this._add("POST",Q,G);put=(Q,...G)=>this._add("PUT",Q,G);patch=(Q,...G)=>this._add("PATCH",Q,G);delete=(Q,...G)=>this._add("DELETE",Q,G);group=(Q,...G)=>{let Y=G.pop(),W=G,X=new k1((this.prefix+Q).replace(/\/+/g,"/"),[...this.groupMiddleware,...W]);return Y(X),this.routes.push(...X.routes),this}}function G0(Q){return r(Q)&&globalThis.Symbol.asyncIterator in Q}function W0(Q){return r(Q)&&globalThis.Symbol.iterator in Q}function X0(Q){return Q instanceof globalThis.Promise}function V1(Q){return Q instanceof Date&&globalThis.Number.isFinite(Q.getTime())}function T1(Q){return Q instanceof globalThis.Uint8Array}function Z0(Q,G){return G in Q}function r(Q){return Q!==null&&typeof Q==="object"}function V(Q){return globalThis.Array.isArray(Q)&&!globalThis.ArrayBuffer.isView(Q)}function v(Q){return Q===void 0}function S1(Q){return Q===null}function b1(Q){return typeof Q==="boolean"}function D(Q){return typeof Q==="number"}function $0(Q){return globalThis.Number.isInteger(Q)}function e(Q){return typeof Q==="bigint"}function f(Q){return typeof Q==="string"}function z0(Q){return typeof Q==="function"}function C1(Q){return typeof Q==="symbol"}function J0(Q){return e(Q)||b1(Q)||S1(Q)||D(Q)||f(Q)||C1(Q)||v(Q)}var _;(function(Q){Q.InstanceMode="default",Q.ExactOptionalPropertyTypes=!1,Q.AllowArrayObject=!1,Q.AllowNaN=!1,Q.AllowNullVoid=!1;function G(J,H){return Q.ExactOptionalPropertyTypes?H in J:J[H]!==void 0}Q.IsExactOptionalProperty=G;function Y(J){let H=r(J);return Q.AllowArrayObject?H:H&&!V(J)}Q.IsObjectLike=Y;function W(J){return Y(J)&&!(J instanceof Date)&&!(J instanceof Uint8Array)}Q.IsRecordLike=W;function X(J){return Q.AllowNaN?D(J):Number.isFinite(J)}Q.IsNumberLike=X;function Z(J){let H=v(J);return Q.AllowNullVoid?H||J===null:H}Q.IsVoidLike=Z})(_||(_={}));var Y1={};p0(Y1,{Set:()=>l8,Has:()=>u8,Get:()=>s8,Entries:()=>t8,Delete:()=>c8,Clear:()=>v8});var I1=new Map;function t8(){return new Map(I1)}function v8(){return I1.clear()}function c8(Q){return I1.delete(Q)}function u8(Q){return I1.has(Q)}function l8(Q,G){I1.set(Q,G)}function s8(Q){return I1.get(Q)}var a={};p0(a,{Set:()=>YQ,Has:()=>QQ,Get:()=>GQ,Entries:()=>r8,Delete:()=>e8,Clear:()=>a8});var d1=new Map;function r8(){return new Map(d1)}function a8(){return d1.clear()}function e8(Q){return d1.delete(Q)}function QQ(Q){return d1.has(Q)}function YQ(Q,G){d1.set(Q,G)}function GQ(Q){return d1.get(Q)}function G1(Q){return Array.isArray(Q)}function o0(Q){return typeof Q==="bigint"}function q0(Q){return typeof Q==="boolean"}function H0(Q){return Q instanceof globalThis.Date}function R1(Q){return typeof Q==="number"}function I(Q){return typeof Q==="object"&&Q!==null}function L0(Q){return Q instanceof globalThis.RegExp}function n(Q){return typeof Q==="string"}function M0(Q){return Q instanceof globalThis.Uint8Array}function J1(Q){return Q===void 0}function WQ(Q){return globalThis.Object.freeze(Q).map((G)=>h1(G))}function XQ(Q){return Q}function ZQ(Q){return Q}function $Q(Q){return Q}function zQ(Q){let G={};for(let Y of Object.getOwnPropertyNames(Q))G[Y]=h1(Q[Y]);for(let Y of Object.getOwnPropertySymbols(Q))G[Y]=h1(Q[Y]);return globalThis.Object.freeze(G)}function h1(Q){return G1(Q)?WQ(Q):H0(Q)?XQ(Q):M0(Q)?ZQ(Q):L0(Q)?$Q(Q):I(Q)?zQ(Q):Q}function JQ(Q){return Q.map((G)=>A0(G))}function qQ(Q){return new Date(Q.getTime())}function HQ(Q){return new Uint8Array(Q)}function LQ(Q){return new RegExp(Q.source,Q.flags)}function MQ(Q){let G={};for(let Y of Object.getOwnPropertyNames(Q))G[Y]=A0(Q[Y]);for(let Y of Object.getOwnPropertySymbols(Q))G[Y]=A0(Q[Y]);return G}function A0(Q){return G1(Q)?JQ(Q):H0(Q)?qQ(Q):M0(Q)?HQ(Q):L0(Q)?LQ(Q):I(Q)?MQ(Q):Q}function n0(Q){return A0(Q)}function m(Q,G){let Y=G!==void 0?{...G,...Q}:Q;switch(_.InstanceMode){case"freeze":return h1(Y);case"clone":return n0(Y);default:return Y}}var B1=Symbol.for("TypeBox.Transform");var q1=Symbol.for("TypeBox.Optional");var B=Symbol.for("TypeBox.Kind");class T extends Error{constructor(Q){super(Q)}}function m0(Q){return m({[B]:"MappedResult",properties:Q})}function UQ(Q,G){let{[G]:Y,...W}=Q;return W}function f1(Q,G){return G.reduce((Y,W)=>UQ(Y,W),Q)}function c(Q){return m({[B]:"Never",not:{}},Q)}function i1(Q){return I(Q)&&Q[q1]==="Optional"}function BQ(Q){return b(Q,"Any")}function wQ(Q){return b(Q,"Argument")}function t1(Q){return b(Q,"Array")}function jQ(Q){return b(Q,"AsyncIterator")}function DQ(Q){return b(Q,"BigInt")}function NQ(Q){return b(Q,"Boolean")}function PQ(Q){return b(Q,"Computed")}function SQ(Q){return b(Q,"Constructor")}function bQ(Q){return b(Q,"Date")}function CQ(Q){return b(Q,"Function")}function OQ(Q){return b(Q,"Integer")}function v1(Q){return b(Q,"Intersect")}function FQ(Q){return b(Q,"Iterator")}function b(Q,G){return I(Q)&&B in Q&&Q[B]===G}function xQ(Q){return b(Q,"Literal")}function h0(Q){return b(Q,"MappedKey")}function R0(Q){return b(Q,"MappedResult")}function B0(Q){return b(Q,"Never")}function KQ(Q){return b(Q,"Not")}function gQ(Q){return b(Q,"Null")}function _Q(Q){return b(Q,"Number")}function O1(Q){return b(Q,"Object")}function EQ(Q){return b(Q,"Promise")}function b0(Q){return b(Q,"Record")}function t0(Q){return b(Q,"Ref")}function kQ(Q){return b(Q,"RegExp")}function VQ(Q){return b(Q,"String")}function TQ(Q){return b(Q,"Symbol")}function IQ(Q){return b(Q,"TemplateLiteral")}function dQ(Q){return b(Q,"This")}function x(Q){return I(Q)&&B1 in Q}function c1(Q){return b(Q,"Tuple")}function u1(Q){return b(Q,"Undefined")}function l1(Q){return b(Q,"Union")}function fQ(Q){return b(Q,"Uint8Array")}function iQ(Q){return b(Q,"Unknown")}function yQ(Q){return b(Q,"Unsafe")}function pQ(Q){return b(Q,"Void")}function oQ(Q){return I(Q)&&B in Q&&n(Q[B])}function u(Q){return BQ(Q)||wQ(Q)||t1(Q)||NQ(Q)||DQ(Q)||jQ(Q)||PQ(Q)||SQ(Q)||bQ(Q)||CQ(Q)||OQ(Q)||v1(Q)||FQ(Q)||xQ(Q)||h0(Q)||R0(Q)||B0(Q)||KQ(Q)||gQ(Q)||_Q(Q)||O1(Q)||EQ(Q)||b0(Q)||t0(Q)||kQ(Q)||VQ(Q)||TQ(Q)||IQ(Q)||dQ(Q)||c1(Q)||u1(Q)||l1(Q)||fQ(Q)||iQ(Q)||yQ(Q)||pQ(Q)||oQ(Q)}function nQ(Q){return m(f1(Q,[q1]))}function mQ(Q){return m({...Q,[q1]:"Optional"})}function hQ(Q,G){return G===!1?nQ(Q):mQ(Q)}function y1(Q,G){let Y=G??!0;return R0(Q)?v0(Q,Y):hQ(Q,Y)}function tQ(Q,G){let Y={};for(let W of globalThis.Object.getOwnPropertyNames(Q))Y[W]=y1(Q[W],G);return Y}function vQ(Q,G){return tQ(Q.properties,G)}function v0(Q,G){let Y=vQ(Q,G);return m0(Y)}function C0(Q,G={}){let Y=Q.every((X)=>O1(X)),W=u(G.unevaluatedProperties)?{unevaluatedProperties:G.unevaluatedProperties}:{};return m(G.unevaluatedProperties===!1||u(G.unevaluatedProperties)||Y?{...W,[B]:"Intersect",type:"object",allOf:Q}:{...W,[B]:"Intersect",allOf:Q},G)}function cQ(Q){return Q.every((G)=>i1(G))}function uQ(Q){return f1(Q,[q1])}function c0(Q){return Q.map((G)=>i1(G)?uQ(G):G)}function lQ(Q,G){return cQ(Q)?y1(C0(c0(Q),G)):C0(c0(Q),G)}function u0(Q,G={}){if(Q.length===1)return m(Q[0],G);if(Q.length===0)return c(G);if(Q.some((Y)=>x(Y)))throw Error("Cannot intersect transform types");return lQ(Q,G)}function O0(Q,G){return m({[B]:"Union",anyOf:Q},G)}function sQ(Q){return Q.some((G)=>i1(G))}function l0(Q){return Q.map((G)=>i1(G)?rQ(G):G)}function rQ(Q){return f1(Q,[q1])}function aQ(Q,G){return sQ(Q)?y1(O0(l0(Q),G)):O0(l0(Q),G)}function F0(Q,G){return Q.length===1?m(Q[0],G):Q.length===0?c(G):aQ(Q,G)}function s0(Q,G){return Q.map((Y)=>r0(Y,G))}function eQ(Q){return Q.filter((G)=>!B0(G))}function QY(Q,G){return u0(eQ(s0(Q,G)))}function YY(Q){return Q.some((G)=>B0(G))?[]:Q}function GY(Q,G){return F0(YY(s0(Q,G)))}function WY(Q,G){return G in Q?Q[G]:G==="[number]"?F0(Q):c()}function XY(Q,G){return G==="[number]"?Q:c()}function ZY(Q,G){return G in Q?Q[G]:c()}function r0(Q,G){return v1(Q)?QY(Q.allOf,G):l1(Q)?GY(Q.anyOf,G):c1(Q)?WY(Q.items??[],G):t1(Q)?XY(Q.items,G):O1(Q)?ZY(Q.properties,G):c()}function a0(Q,G){return G.map((Y)=>r0(Q,Y))}function $Y(Q,G){return Q.filter((Y)=>G.includes(Y))}function zY(Q,G){return Q.reduce((Y,W)=>{return $Y(Y,W)},G)}function e0(Q){return Q.length===1?Q[0]:Q.length>1?zY(Q.slice(1),Q[0]):[]}function Q8(Q){let G=[];for(let Y of Q)G.push(...Y);return G}function Y8(...Q){let[G,Y]=typeof Q[0]==="string"?[Q[0],Q[1]]:[Q[0].$id,Q[1]];if(typeof G!=="string")throw new T("Ref: $ref must be a string");return m({[B]:"Ref",$ref:G},Y)}function G8(Q){let G=[];for(let Y of Q)G.push(w1(Y));return G}function JY(Q){let G=G8(Q);return Q8(G)}function qY(Q){let G=G8(Q);return e0(G)}function HY(Q){return Q.map((G,Y)=>Y.toString())}function LY(Q){return["[number]"]}function MY(Q){return globalThis.Object.getOwnPropertyNames(Q)}function UY(Q){if(!x0)return[];return globalThis.Object.getOwnPropertyNames(Q).map((Y)=>{return Y[0]==="^"&&Y[Y.length-1]==="$"?Y.slice(1,Y.length-1):Y})}function w1(Q){return v1(Q)?JY(Q.allOf):l1(Q)?qY(Q.anyOf):c1(Q)?HY(Q.items??[]):t1(Q)?LY(Q.items):O1(Q)?MY(Q.properties):b0(Q)?UY(Q.patternProperties):[]}var x0=!1;function L1(Q){x0=!0;let G=w1(Q);return x0=!1,`^(${G.map((W)=>`(${W})`).join("|")})$`}function w0(Q){let G=w1(Q),Y=a0(Q,G);return G.map((W,X)=>[G[X],Y[X]])}function AY(Q){return Q.allOf.every((G)=>M1(G))}function RY(Q){return Q.anyOf.some((G)=>M1(G))}function BY(Q){return!M1(Q.not)}function M1(Q){return Q[B]==="Intersect"?AY(Q):Q[B]==="Union"?RY(Q):Q[B]==="Not"?BY(Q):Q[B]==="Undefined"?!0:!1}function wY(Q){switch(Q.errorType){case q.ArrayContains:return"Expected array to contain at least one matching value";case q.ArrayMaxContains:return`Expected array to contain no more than ${Q.schema.maxContains} matching values`;case q.ArrayMinContains:return`Expected array to contain at least ${Q.schema.minContains} matching values`;case q.ArrayMaxItems:return`Expected array length to be less or equal to ${Q.schema.maxItems}`;case q.ArrayMinItems:return`Expected array length to be greater or equal to ${Q.schema.minItems}`;case q.ArrayUniqueItems:return"Expected array elements to be unique";case q.Array:return"Expected array";case q.AsyncIterator:return"Expected AsyncIterator";case q.BigIntExclusiveMaximum:return`Expected bigint to be less than ${Q.schema.exclusiveMaximum}`;case q.BigIntExclusiveMinimum:return`Expected bigint to be greater than ${Q.schema.exclusiveMinimum}`;case q.BigIntMaximum:return`Expected bigint to be less or equal to ${Q.schema.maximum}`;case q.BigIntMinimum:return`Expected bigint to be greater or equal to ${Q.schema.minimum}`;case q.BigIntMultipleOf:return`Expected bigint to be a multiple of ${Q.schema.multipleOf}`;case q.BigInt:return"Expected bigint";case q.Boolean:return"Expected boolean";case q.DateExclusiveMinimumTimestamp:return`Expected Date timestamp to be greater than ${Q.schema.exclusiveMinimumTimestamp}`;case q.DateExclusiveMaximumTimestamp:return`Expected Date timestamp to be less than ${Q.schema.exclusiveMaximumTimestamp}`;case q.DateMinimumTimestamp:return`Expected Date timestamp to be greater or equal to ${Q.schema.minimumTimestamp}`;case q.DateMaximumTimestamp:return`Expected Date timestamp to be less or equal to ${Q.schema.maximumTimestamp}`;case q.DateMultipleOfTimestamp:return`Expected Date timestamp to be a multiple of ${Q.schema.multipleOfTimestamp}`;case q.Date:return"Expected Date";case q.Function:return"Expected function";case q.IntegerExclusiveMaximum:return`Expected integer to be less than ${Q.schema.exclusiveMaximum}`;case q.IntegerExclusiveMinimum:return`Expected integer to be greater than ${Q.schema.exclusiveMinimum}`;case q.IntegerMaximum:return`Expected integer to be less or equal to ${Q.schema.maximum}`;case q.IntegerMinimum:return`Expected integer to be greater or equal to ${Q.schema.minimum}`;case q.IntegerMultipleOf:return`Expected integer to be a multiple of ${Q.schema.multipleOf}`;case q.Integer:return"Expected integer";case q.IntersectUnevaluatedProperties:return"Unexpected property";case q.Intersect:return"Expected all values to match";case q.Iterator:return"Expected Iterator";case q.Literal:return`Expected ${typeof Q.schema.const==="string"?`'${Q.schema.const}'`:Q.schema.const}`;case q.Never:return"Never";case q.Not:return"Value should not match";case q.Null:return"Expected null";case q.NumberExclusiveMaximum:return`Expected number to be less than ${Q.schema.exclusiveMaximum}`;case q.NumberExclusiveMinimum:return`Expected number to be greater than ${Q.schema.exclusiveMinimum}`;case q.NumberMaximum:return`Expected number to be less or equal to ${Q.schema.maximum}`;case q.NumberMinimum:return`Expected number to be greater or equal to ${Q.schema.minimum}`;case q.NumberMultipleOf:return`Expected number to be a multiple of ${Q.schema.multipleOf}`;case q.Number:return"Expected number";case q.Object:return"Expected object";case q.ObjectAdditionalProperties:return"Unexpected property";case q.ObjectMaxProperties:return`Expected object to have no more than ${Q.schema.maxProperties} properties`;case q.ObjectMinProperties:return`Expected object to have at least ${Q.schema.minProperties} properties`;case q.ObjectRequiredProperty:return"Expected required property";case q.Promise:return"Expected Promise";case q.RegExp:return"Expected string to match regular expression";case q.StringFormatUnknown:return`Unknown format '${Q.schema.format}'`;case q.StringFormat:return`Expected string to match '${Q.schema.format}' format`;case q.StringMaxLength:return`Expected string length less or equal to ${Q.schema.maxLength}`;case q.StringMinLength:return`Expected string length greater or equal to ${Q.schema.minLength}`;case q.StringPattern:return`Expected string to match '${Q.schema.pattern}'`;case q.String:return"Expected string";case q.Symbol:return"Expected symbol";case q.TupleLength:return`Expected tuple to have ${Q.schema.maxItems||0} elements`;case q.Tuple:return"Expected tuple";case q.Uint8ArrayMaxByteLength:return`Expected byte length less or equal to ${Q.schema.maxByteLength}`;case q.Uint8ArrayMinByteLength:return`Expected byte length greater or equal to ${Q.schema.minByteLength}`;case q.Uint8Array:return"Expected Uint8Array";case q.Undefined:return"Expected undefined";case q.Union:return"Expected union value";case q.Void:return"Expected void";case q.Kind:return`Expected kind '${Q.schema[B]}'`;default:return"Unknown error type"}}var jY=wY;function W8(){return jY}class X8 extends T{constructor(Q){super(`Unable to dereference schema with $id '${Q.$ref}'`);this.schema=Q}}function DY(Q,G){let Y=G.find((W)=>W.$id===Q.$ref);if(Y===void 0)throw new X8(Q);return i(Y,G)}function j1(Q,G){if(!f(Q.$id)||G.some((Y)=>Y.$id===Q.$id))return G;return G.push(Q),G}function i(Q,G){return Q[B]==="This"||Q[B]==="Ref"?DY(Q,G):Q}class Z8 extends T{constructor(Q){super("Unable to hash value");this.value=Q}}var Q1;(function(Q){Q[Q.Undefined=0]="Undefined",Q[Q.Null=1]="Null",Q[Q.Boolean=2]="Boolean",Q[Q.Number=3]="Number",Q[Q.String=4]="String",Q[Q.Object=5]="Object",Q[Q.Array=6]="Array",Q[Q.Date=7]="Date",Q[Q.Uint8Array=8]="Uint8Array",Q[Q.Symbol=9]="Symbol",Q[Q.BigInt=10]="BigInt"})(Q1||(Q1={}));var p1=BigInt("14695981039346656037"),[NY,PY]=[BigInt("1099511628211"),BigInt("18446744073709551616")],SY=Array.from({length:256}).map((Q,G)=>BigInt(G)),$8=new Float64Array(1),z8=new DataView($8.buffer),J8=new Uint8Array($8.buffer);function*bY(Q){let G=Q===0?1:Math.ceil(Math.floor(Math.log2(Q)+1)/8);for(let Y=0;Y<G;Y++)yield Q>>8*(G-1-Y)&255}function CY(Q){t(Q1.Array);for(let G of Q)o1(G)}function OY(Q){t(Q1.Boolean),t(Q?1:0)}function FY(Q){t(Q1.BigInt),z8.setBigInt64(0,Q);for(let G of J8)t(G)}function xY(Q){t(Q1.Date),o1(Q.getTime())}function KY(Q){t(Q1.Null)}function gY(Q){t(Q1.Number),z8.setFloat64(0,Q);for(let G of J8)t(G)}function _Y(Q){t(Q1.Object);for(let G of globalThis.Object.getOwnPropertyNames(Q).sort())o1(G),o1(Q[G])}function EY(Q){t(Q1.String);for(let G=0;G<Q.length;G++)for(let Y of bY(Q.charCodeAt(G)))t(Y)}function kY(Q){t(Q1.Symbol),o1(Q.description)}function VY(Q){t(Q1.Uint8Array);for(let G=0;G<Q.length;G++)t(Q[G])}function TY(Q){return t(Q1.Undefined)}function o1(Q){if(V(Q))return CY(Q);if(b1(Q))return OY(Q);if(e(Q))return FY(Q);if(V1(Q))return xY(Q);if(S1(Q))return KY(Q);if(D(Q))return gY(Q);if(r(Q))return _Y(Q);if(f(Q))return EY(Q);if(C1(Q))return kY(Q);if(T1(Q))return VY(Q);if(v(Q))return TY(Q);throw new Z8(Q)}function t(Q){p1=p1^SY[Q],p1=p1*NY%PY}function n1(Q){return p1=BigInt("14695981039346656037"),o1(Q),p1}var IY=["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 q8(Q){try{return new RegExp(Q),!0}catch{return!1}}function K0(Q){if(!n(Q))return!1;for(let G=0;G<Q.length;G++){let Y=Q.charCodeAt(G);if(Y>=7&&Y<=13||Y===27||Y===127)return!1}return!0}function H8(Q){return g0(Q)||E(Q)}function s1(Q){return J1(Q)||o0(Q)}function K(Q){return J1(Q)||R1(Q)}function g0(Q){return J1(Q)||q0(Q)}function F(Q){return J1(Q)||n(Q)}function dY(Q){return J1(Q)||n(Q)&&K0(Q)&&q8(Q)}function fY(Q){return J1(Q)||n(Q)&&K0(Q)}function L8(Q){return J1(Q)||E(Q)}function iY(Q){return C(Q,"Any")&&F(Q.$id)}function yY(Q){return C(Q,"Argument")&&R1(Q.index)}function pY(Q){return C(Q,"Array")&&Q.type==="array"&&F(Q.$id)&&E(Q.items)&&K(Q.minItems)&&K(Q.maxItems)&&g0(Q.uniqueItems)&&L8(Q.contains)&&K(Q.minContains)&&K(Q.maxContains)}function oY(Q){return C(Q,"AsyncIterator")&&Q.type==="AsyncIterator"&&F(Q.$id)&&E(Q.items)}function nY(Q){return C(Q,"BigInt")&&Q.type==="bigint"&&F(Q.$id)&&s1(Q.exclusiveMaximum)&&s1(Q.exclusiveMinimum)&&s1(Q.maximum)&&s1(Q.minimum)&&s1(Q.multipleOf)}function mY(Q){return C(Q,"Boolean")&&Q.type==="boolean"&&F(Q.$id)}function hY(Q){return C(Q,"Computed")&&n(Q.target)&&G1(Q.parameters)&&Q.parameters.every((G)=>E(G))}function tY(Q){return C(Q,"Constructor")&&Q.type==="Constructor"&&F(Q.$id)&&G1(Q.parameters)&&Q.parameters.every((G)=>E(G))&&E(Q.returns)}function vY(Q){return C(Q,"Date")&&Q.type==="Date"&&F(Q.$id)&&K(Q.exclusiveMaximumTimestamp)&&K(Q.exclusiveMinimumTimestamp)&&K(Q.maximumTimestamp)&&K(Q.minimumTimestamp)&&K(Q.multipleOfTimestamp)}function cY(Q){return C(Q,"Function")&&Q.type==="Function"&&F(Q.$id)&&G1(Q.parameters)&&Q.parameters.every((G)=>E(G))&&E(Q.returns)}function uY(Q){return C(Q,"Integer")&&Q.type==="integer"&&F(Q.$id)&&K(Q.exclusiveMaximum)&&K(Q.exclusiveMinimum)&&K(Q.maximum)&&K(Q.minimum)&&K(Q.multipleOf)}function M8(Q){return I(Q)&&Object.entries(Q).every(([G,Y])=>K0(G)&&E(Y))}function lY(Q){return C(Q,"Intersect")&&(n(Q.type)&&Q.type!=="object"?!1:!0)&&G1(Q.allOf)&&Q.allOf.every((G)=>E(G)&&!AG(G))&&F(Q.type)&&(g0(Q.unevaluatedProperties)||L8(Q.unevaluatedProperties))&&F(Q.$id)}function sY(Q){return C(Q,"Iterator")&&Q.type==="Iterator"&&F(Q.$id)&&E(Q.items)}function C(Q,G){return I(Q)&&B in Q&&Q[B]===G}function rY(Q){return C(Q,"Literal")&&F(Q.$id)&&aY(Q.const)}function aY(Q){return q0(Q)||R1(Q)||n(Q)}function eY(Q){return C(Q,"MappedKey")&&G1(Q.keys)&&Q.keys.every((G)=>R1(G)||n(G))}function QG(Q){return C(Q,"MappedResult")&&M8(Q.properties)}function YG(Q){return C(Q,"Never")&&I(Q.not)&&Object.getOwnPropertyNames(Q.not).length===0}function GG(Q){return C(Q,"Not")&&E(Q.not)}function WG(Q){return C(Q,"Null")&&Q.type==="null"&&F(Q.$id)}function XG(Q){return C(Q,"Number")&&Q.type==="number"&&F(Q.$id)&&K(Q.exclusiveMaximum)&&K(Q.exclusiveMinimum)&&K(Q.maximum)&&K(Q.minimum)&&K(Q.multipleOf)}function ZG(Q){return C(Q,"Object")&&Q.type==="object"&&F(Q.$id)&&M8(Q.properties)&&H8(Q.additionalProperties)&&K(Q.minProperties)&&K(Q.maxProperties)}function $G(Q){return C(Q,"Promise")&&Q.type==="Promise"&&F(Q.$id)&&E(Q.item)}function zG(Q){return C(Q,"Record")&&Q.type==="object"&&F(Q.$id)&&H8(Q.additionalProperties)&&I(Q.patternProperties)&&((G)=>{let Y=Object.getOwnPropertyNames(G.patternProperties);return Y.length===1&&q8(Y[0])&&I(G.patternProperties)&&E(G.patternProperties[Y[0]])})(Q)}function JG(Q){return C(Q,"Ref")&&F(Q.$id)&&n(Q.$ref)}function qG(Q){return C(Q,"RegExp")&&F(Q.$id)&&n(Q.source)&&n(Q.flags)&&K(Q.maxLength)&&K(Q.minLength)}function HG(Q){return C(Q,"String")&&Q.type==="string"&&F(Q.$id)&&K(Q.minLength)&&K(Q.maxLength)&&dY(Q.pattern)&&fY(Q.format)}function LG(Q){return C(Q,"Symbol")&&Q.type==="symbol"&&F(Q.$id)}function MG(Q){return C(Q,"TemplateLiteral")&&Q.type==="string"&&n(Q.pattern)&&Q.pattern[0]==="^"&&Q.pattern[Q.pattern.length-1]==="$"}function UG(Q){return C(Q,"This")&&F(Q.$id)&&n(Q.$ref)}function AG(Q){return I(Q)&&B1 in Q}function RG(Q){return C(Q,"Tuple")&&Q.type==="array"&&F(Q.$id)&&R1(Q.minItems)&&R1(Q.maxItems)&&Q.minItems===Q.maxItems&&(J1(Q.items)&&J1(Q.additionalItems)&&Q.minItems===0||G1(Q.items)&&Q.items.every((G)=>E(G)))}function BG(Q){return C(Q,"Undefined")&&Q.type==="undefined"&&F(Q.$id)}function wG(Q){return C(Q,"Union")&&F(Q.$id)&&I(Q)&&G1(Q.anyOf)&&Q.anyOf.every((G)=>E(G))}function jG(Q){return C(Q,"Uint8Array")&&Q.type==="Uint8Array"&&F(Q.$id)&&K(Q.minByteLength)&&K(Q.maxByteLength)}function DG(Q){return C(Q,"Unknown")&&F(Q.$id)}function NG(Q){return C(Q,"Unsafe")}function PG(Q){return C(Q,"Void")&&Q.type==="void"&&F(Q.$id)}function SG(Q){return I(Q)&&B in Q&&n(Q[B])&&!IY.includes(Q[B])}function E(Q){return I(Q)&&(iY(Q)||yY(Q)||pY(Q)||mY(Q)||nY(Q)||oY(Q)||hY(Q)||tY(Q)||vY(Q)||cY(Q)||uY(Q)||lY(Q)||sY(Q)||rY(Q)||eY(Q)||QG(Q)||YG(Q)||GG(Q)||WG(Q)||XG(Q)||ZG(Q)||$G(Q)||zG(Q)||JG(Q)||qG(Q)||HG(Q)||LG(Q)||MG(Q)||UG(Q)||RG(Q)||BG(Q)||wG(Q)||jG(Q)||DG(Q)||NG(Q)||PG(Q)||SG(Q))}class U8 extends T{constructor(Q){super("Unknown type");this.schema=Q}}function bG(Q){return Q[B]==="Any"||Q[B]==="Unknown"}function P(Q){return Q!==void 0}function CG(Q,G,Y){return!0}function OG(Q,G,Y){return!0}function FG(Q,G,Y){if(!V(Y))return!1;if(P(Q.minItems)&&!(Y.length>=Q.minItems))return!1;if(P(Q.maxItems)&&!(Y.length<=Q.maxItems))return!1;if(!Y.every((Z)=>y(Q.items,G,Z)))return!1;if(Q.uniqueItems===!0&&!function(){let Z=new Set;for(let J of Y){let H=n1(J);if(Z.has(H))return!1;else Z.add(H)}return!0}())return!1;if(!(P(Q.contains)||D(Q.minContains)||D(Q.maxContains)))return!0;let W=P(Q.contains)?Q.contains:c(),X=Y.reduce((Z,J)=>y(W,G,J)?Z+1:Z,0);if(X===0)return!1;if(D(Q.minContains)&&X<Q.minContains)return!1;if(D(Q.maxContains)&&X>Q.maxContains)return!1;return!0}function xG(Q,G,Y){return G0(Y)}function KG(Q,G,Y){if(!e(Y))return!1;if(P(Q.exclusiveMaximum)&&!(Y<Q.exclusiveMaximum))return!1;if(P(Q.exclusiveMinimum)&&!(Y>Q.exclusiveMinimum))return!1;if(P(Q.maximum)&&!(Y<=Q.maximum))return!1;if(P(Q.minimum)&&!(Y>=Q.minimum))return!1;if(P(Q.multipleOf)&&Y%Q.multipleOf!==BigInt(0))return!1;return!0}function gG(Q,G,Y){return b1(Y)}function _G(Q,G,Y){return y(Q.returns,G,Y.prototype)}function EG(Q,G,Y){if(!V1(Y))return!1;if(P(Q.exclusiveMaximumTimestamp)&&!(Y.getTime()<Q.exclusiveMaximumTimestamp))return!1;if(P(Q.exclusiveMinimumTimestamp)&&!(Y.getTime()>Q.exclusiveMinimumTimestamp))return!1;if(P(Q.maximumTimestamp)&&!(Y.getTime()<=Q.maximumTimestamp))return!1;if(P(Q.minimumTimestamp)&&!(Y.getTime()>=Q.minimumTimestamp))return!1;if(P(Q.multipleOfTimestamp)&&Y.getTime()%Q.multipleOfTimestamp!==0)return!1;return!0}function kG(Q,G,Y){return z0(Y)}function VG(Q,G,Y){let W=globalThis.Object.values(Q.$defs),X=Q.$defs[Q.$ref];return y(X,[...G,...W],Y)}function TG(Q,G,Y){if(!$0(Y))return!1;if(P(Q.exclusiveMaximum)&&!(Y<Q.exclusiveMaximum))return!1;if(P(Q.exclusiveMinimum)&&!(Y>Q.exclusiveMinimum))return!1;if(P(Q.maximum)&&!(Y<=Q.maximum))return!1;if(P(Q.minimum)&&!(Y>=Q.minimum))return!1;if(P(Q.multipleOf)&&Y%Q.multipleOf!==0)return!1;return!0}function IG(Q,G,Y){let W=Q.allOf.every((X)=>y(X,G,Y));if(Q.unevaluatedProperties===!1){let X=new RegExp(L1(Q)),Z=Object.getOwnPropertyNames(Y).every((J)=>X.test(J));return W&&Z}else if(u(Q.unevaluatedProperties)){let X=new RegExp(L1(Q)),Z=Object.getOwnPropertyNames(Y).every((J)=>X.test(J)||y(Q.unevaluatedProperties,G,Y[J]));return W&&Z}else return W}function dG(Q,G,Y){return W0(Y)}function fG(Q,G,Y){return Y===Q.const}function iG(Q,G,Y){return!1}function yG(Q,G,Y){return!y(Q.not,G,Y)}function pG(Q,G,Y){return S1(Y)}function oG(Q,G,Y){if(!_.IsNumberLike(Y))return!1;if(P(Q.exclusiveMaximum)&&!(Y<Q.exclusiveMaximum))return!1;if(P(Q.exclusiveMinimum)&&!(Y>Q.exclusiveMinimum))return!1;if(P(Q.minimum)&&!(Y>=Q.minimum))return!1;if(P(Q.maximum)&&!(Y<=Q.maximum))return!1;if(P(Q.multipleOf)&&Y%Q.multipleOf!==0)return!1;return!0}function nG(Q,G,Y){if(!_.IsObjectLike(Y))return!1;if(P(Q.minProperties)&&!(Object.getOwnPropertyNames(Y).length>=Q.minProperties))return!1;if(P(Q.maxProperties)&&!(Object.getOwnPropertyNames(Y).length<=Q.maxProperties))return!1;let W=Object.getOwnPropertyNames(Q.properties);for(let X of W){let Z=Q.properties[X];if(Q.required&&Q.required.includes(X)){if(!y(Z,G,Y[X]))return!1;if((M1(Z)||bG(Z))&&!(X in Y))return!1}else if(_.IsExactOptionalProperty(Y,X)&&!y(Z,G,Y[X]))return!1}if(Q.additionalProperties===!1){let X=Object.getOwnPropertyNames(Y);if(Q.required&&Q.required.length===W.length&&X.length===W.length)return!0;else return X.every((Z)=>W.includes(Z))}else if(typeof Q.additionalProperties==="object")return Object.getOwnPropertyNames(Y).every((Z)=>W.includes(Z)||y(Q.additionalProperties,G,Y[Z]));else return!0}function mG(Q,G,Y){return X0(Y)}function hG(Q,G,Y){if(!_.IsRecordLike(Y))return!1;if(P(Q.minProperties)&&!(Object.getOwnPropertyNames(Y).length>=Q.minProperties))return!1;if(P(Q.maxProperties)&&!(Object.getOwnPropertyNames(Y).length<=Q.maxProperties))return!1;let[W,X]=Object.entries(Q.patternProperties)[0],Z=new RegExp(W),J=Object.entries(Y).every(([N,R])=>{return Z.test(N)?y(X,G,R):!0}),H=typeof Q.additionalProperties==="object"?Object.entries(Y).every(([N,R])=>{return!Z.test(N)?y(Q.additionalProperties,G,R):!0}):!0,w=Q.additionalProperties===!1?Object.getOwnPropertyNames(Y).every((N)=>{return Z.test(N)}):!0;return J&&H&&w}function tG(Q,G,Y){return y(i(Q,G),G,Y)}function vG(Q,G,Y){let W=new RegExp(Q.source,Q.flags);if(P(Q.minLength)){if(!(Y.length>=Q.minLength))return!1}if(P(Q.maxLength)){if(!(Y.length<=Q.maxLength))return!1}return W.test(Y)}function cG(Q,G,Y){if(!f(Y))return!1;if(P(Q.minLength)){if(!(Y.length>=Q.minLength))return!1}if(P(Q.maxLength)){if(!(Y.length<=Q.maxLength))return!1}if(P(Q.pattern)){if(!new RegExp(Q.pattern).test(Y))return!1}if(P(Q.format)){if(!Y1.Has(Q.format))return!1;return Y1.Get(Q.format)(Y)}return!0}function uG(Q,G,Y){return C1(Y)}function lG(Q,G,Y){return f(Y)&&new RegExp(Q.pattern).test(Y)}function sG(Q,G,Y){return y(i(Q,G),G,Y)}function rG(Q,G,Y){if(!V(Y))return!1;if(Q.items===void 0&&Y.length!==0)return!1;if(Y.length!==Q.maxItems)return!1;if(!Q.items)return!0;for(let W=0;W<Q.items.length;W++)if(!y(Q.items[W],G,Y[W]))return!1;return!0}function aG(Q,G,Y){return v(Y)}function eG(Q,G,Y){return Q.anyOf.some((W)=>y(W,G,Y))}function QW(Q,G,Y){if(!T1(Y))return!1;if(P(Q.maxByteLength)&&!(Y.length<=Q.maxByteLength))return!1;if(P(Q.minByteLength)&&!(Y.length>=Q.minByteLength))return!1;return!0}function YW(Q,G,Y){return!0}function GW(Q,G,Y){return _.IsVoidLike(Y)}function WW(Q,G,Y){if(!a.Has(Q[B]))return!1;return a.Get(Q[B])(Q,Y)}function y(Q,G,Y){let W=P(Q.$id)?j1(Q,G):G,X=Q;switch(X[B]){case"Any":return CG(X,W,Y);case"Argument":return OG(X,W,Y);case"Array":return FG(X,W,Y);case"AsyncIterator":return xG(X,W,Y);case"BigInt":return KG(X,W,Y);case"Boolean":return gG(X,W,Y);case"Constructor":return _G(X,W,Y);case"Date":return EG(X,W,Y);case"Function":return kG(X,W,Y);case"Import":return VG(X,W,Y);case"Integer":return TG(X,W,Y);case"Intersect":return IG(X,W,Y);case"Iterator":return dG(X,W,Y);case"Literal":return fG(X,W,Y);case"Never":return iG(X,W,Y);case"Not":return yG(X,W,Y);case"Null":return pG(X,W,Y);case"Number":return oG(X,W,Y);case"Object":return nG(X,W,Y);case"Promise":return mG(X,W,Y);case"Record":return hG(X,W,Y);case"Ref":return tG(X,W,Y);case"RegExp":return vG(X,W,Y);case"String":return cG(X,W,Y);case"Symbol":return uG(X,W,Y);case"TemplateLiteral":return lG(X,W,Y);case"This":return sG(X,W,Y);case"Tuple":return rG(X,W,Y);case"Undefined":return aG(X,W,Y);case"Union":return eG(X,W,Y);case"Uint8Array":return QW(X,W,Y);case"Unknown":return YW(X,W,Y);case"Void":return GW(X,W,Y);default:if(!a.Has(X[B]))throw new U8(X);return WW(X,W,Y)}}function F1(...Q){return Q.length===3?y(Q[0],Q[1],Q[2]):y(Q[0],[],Q[1])}var q;(function(Q){Q[Q.ArrayContains=0]="ArrayContains",Q[Q.ArrayMaxContains=1]="ArrayMaxContains",Q[Q.ArrayMaxItems=2]="ArrayMaxItems",Q[Q.ArrayMinContains=3]="ArrayMinContains",Q[Q.ArrayMinItems=4]="ArrayMinItems",Q[Q.ArrayUniqueItems=5]="ArrayUniqueItems",Q[Q.Array=6]="Array",Q[Q.AsyncIterator=7]="AsyncIterator",Q[Q.BigIntExclusiveMaximum=8]="BigIntExclusiveMaximum",Q[Q.BigIntExclusiveMinimum=9]="BigIntExclusiveMinimum",Q[Q.BigIntMaximum=10]="BigIntMaximum",Q[Q.BigIntMinimum=11]="BigIntMinimum",Q[Q.BigIntMultipleOf=12]="BigIntMultipleOf",Q[Q.BigInt=13]="BigInt",Q[Q.Boolean=14]="Boolean",Q[Q.DateExclusiveMaximumTimestamp=15]="DateExclusiveMaximumTimestamp",Q[Q.DateExclusiveMinimumTimestamp=16]="DateExclusiveMinimumTimestamp",Q[Q.DateMaximumTimestamp=17]="DateMaximumTimestamp",Q[Q.DateMinimumTimestamp=18]="DateMinimumTimestamp",Q[Q.DateMultipleOfTimestamp=19]="DateMultipleOfTimestamp",Q[Q.Date=20]="Date",Q[Q.Function=21]="Function",Q[Q.IntegerExclusiveMaximum=22]="IntegerExclusiveMaximum",Q[Q.IntegerExclusiveMinimum=23]="IntegerExclusiveMinimum",Q[Q.IntegerMaximum=24]="IntegerMaximum",Q[Q.IntegerMinimum=25]="IntegerMinimum",Q[Q.IntegerMultipleOf=26]="IntegerMultipleOf",Q[Q.Integer=27]="Integer",Q[Q.IntersectUnevaluatedProperties=28]="IntersectUnevaluatedProperties",Q[Q.Intersect=29]="Intersect",Q[Q.Iterator=30]="Iterator",Q[Q.Kind=31]="Kind",Q[Q.Literal=32]="Literal",Q[Q.Never=33]="Never",Q[Q.Not=34]="Not",Q[Q.Null=35]="Null",Q[Q.NumberExclusiveMaximum=36]="NumberExclusiveMaximum",Q[Q.NumberExclusiveMinimum=37]="NumberExclusiveMinimum",Q[Q.NumberMaximum=38]="NumberMaximum",Q[Q.NumberMinimum=39]="NumberMinimum",Q[Q.NumberMultipleOf=40]="NumberMultipleOf",Q[Q.Number=41]="Number",Q[Q.ObjectAdditionalProperties=42]="ObjectAdditionalProperties",Q[Q.ObjectMaxProperties=43]="ObjectMaxProperties",Q[Q.ObjectMinProperties=44]="ObjectMinProperties",Q[Q.ObjectRequiredProperty=45]="ObjectRequiredProperty",Q[Q.Object=46]="Object",Q[Q.Promise=47]="Promise",Q[Q.RegExp=48]="RegExp",Q[Q.StringFormatUnknown=49]="StringFormatUnknown",Q[Q.StringFormat=50]="StringFormat",Q[Q.StringMaxLength=51]="StringMaxLength",Q[Q.StringMinLength=52]="StringMinLength",Q[Q.StringPattern=53]="StringPattern",Q[Q.String=54]="String",Q[Q.Symbol=55]="Symbol",Q[Q.TupleLength=56]="TupleLength",Q[Q.Tuple=57]="Tuple",Q[Q.Uint8ArrayMaxByteLength=58]="Uint8ArrayMaxByteLength",Q[Q.Uint8ArrayMinByteLength=59]="Uint8ArrayMinByteLength",Q[Q.Uint8Array=60]="Uint8Array",Q[Q.Undefined=61]="Undefined",Q[Q.Union=62]="Union",Q[Q.Void=63]="Void"})(q||(q={}));class A8 extends T{constructor(Q){super("Unknown type");this.schema=Q}}function U1(Q){return Q.replace(/~/g,"~0").replace(/\//g,"~1")}function S(Q){return Q!==void 0}class _0{constructor(Q){this.iterator=Q}[Symbol.iterator](){return this.iterator}First(){let Q=this.iterator.next();return Q.done?void 0:Q.value}}function L(Q,G,Y,W,X=[]){return{type:Q,schema:G,path:Y,value:W,message:W8()({errorType:Q,path:Y,schema:G,value:W,errors:X}),errors:X}}function*XW(Q,G,Y,W){}function*ZW(Q,G,Y,W){}function*$W(Q,G,Y,W){if(!V(W))return yield L(q.Array,Q,Y,W);if(S(Q.minItems)&&!(W.length>=Q.minItems))yield L(q.ArrayMinItems,Q,Y,W);if(S(Q.maxItems)&&!(W.length<=Q.maxItems))yield L(q.ArrayMaxItems,Q,Y,W);for(let J=0;J<W.length;J++)yield*p(Q.items,G,`${Y}/${J}`,W[J]);if(Q.uniqueItems===!0&&!function(){let J=new Set;for(let H of W){let w=n1(H);if(J.has(w))return!1;else J.add(w)}return!0}())yield L(q.ArrayUniqueItems,Q,Y,W);if(!(S(Q.contains)||S(Q.minContains)||S(Q.maxContains)))return;let X=S(Q.contains)?Q.contains:c(),Z=W.reduce((J,H,w)=>p(X,G,`${Y}${w}`,H).next().done===!0?J+1:J,0);if(Z===0)yield L(q.ArrayContains,Q,Y,W);if(D(Q.minContains)&&Z<Q.minContains)yield L(q.ArrayMinContains,Q,Y,W);if(D(Q.maxContains)&&Z>Q.maxContains)yield L(q.ArrayMaxContains,Q,Y,W)}function*zW(Q,G,Y,W){if(!G0(W))yield L(q.AsyncIterator,Q,Y,W)}function*JW(Q,G,Y,W){if(!e(W))return yield L(q.BigInt,Q,Y,W);if(S(Q.exclusiveMaximum)&&!(W<Q.exclusiveMaximum))yield L(q.BigIntExclusiveMaximum,Q,Y,W);if(S(Q.exclusiveMinimum)&&!(W>Q.exclusiveMinimum))yield L(q.BigIntExclusiveMinimum,Q,Y,W);if(S(Q.maximum)&&!(W<=Q.maximum))yield L(q.BigIntMaximum,Q,Y,W);if(S(Q.minimum)&&!(W>=Q.minimum))yield L(q.BigIntMinimum,Q,Y,W);if(S(Q.multipleOf)&&W%Q.multipleOf!==BigInt(0))yield L(q.BigIntMultipleOf,Q,Y,W)}function*qW(Q,G,Y,W){if(!b1(W))yield L(q.Boolean,Q,Y,W)}function*HW(Q,G,Y,W){yield*p(Q.returns,G,Y,W.prototype)}function*LW(Q,G,Y,W){if(!V1(W))return yield L(q.Date,Q,Y,W);if(S(Q.exclusiveMaximumTimestamp)&&!(W.getTime()<Q.exclusiveMaximumTimestamp))yield L(q.DateExclusiveMaximumTimestamp,Q,Y,W);if(S(Q.exclusiveMinimumTimestamp)&&!(W.getTime()>Q.exclusiveMinimumTimestamp))yield L(q.DateExclusiveMinimumTimestamp,Q,Y,W);if(S(Q.maximumTimestamp)&&!(W.getTime()<=Q.maximumTimestamp))yield L(q.DateMaximumTimestamp,Q,Y,W);if(S(Q.minimumTimestamp)&&!(W.getTime()>=Q.minimumTimestamp))yield L(q.DateMinimumTimestamp,Q,Y,W);if(S(Q.multipleOfTimestamp)&&W.getTime()%Q.multipleOfTimestamp!==0)yield L(q.DateMultipleOfTimestamp,Q,Y,W)}function*MW(Q,G,Y,W){if(!z0(W))yield L(q.Function,Q,Y,W)}function*UW(Q,G,Y,W){let X=globalThis.Object.values(Q.$defs),Z=Q.$defs[Q.$ref];yield*p(Z,[...G,...X],Y,W)}function*AW(Q,G,Y,W){if(!$0(W))return yield L(q.Integer,Q,Y,W);if(S(Q.exclusiveMaximum)&&!(W<Q.exclusiveMaximum))yield L(q.IntegerExclusiveMaximum,Q,Y,W);if(S(Q.exclusiveMinimum)&&!(W>Q.exclusiveMinimum))yield L(q.IntegerExclusiveMinimum,Q,Y,W);if(S(Q.maximum)&&!(W<=Q.maximum))yield L(q.IntegerMaximum,Q,Y,W);if(S(Q.minimum)&&!(W>=Q.minimum))yield L(q.IntegerMinimum,Q,Y,W);if(S(Q.multipleOf)&&W%Q.multipleOf!==0)yield L(q.IntegerMultipleOf,Q,Y,W)}function*RW(Q,G,Y,W){let X=!1;for(let Z of Q.allOf)for(let J of p(Z,G,Y,W))X=!0,yield J;if(X)return yield L(q.Intersect,Q,Y,W);if(Q.unevaluatedProperties===!1){let Z=new RegExp(L1(Q));for(let J of Object.getOwnPropertyNames(W))if(!Z.test(J))yield L(q.IntersectUnevaluatedProperties,Q,`${Y}/${J}`,W)}if(typeof Q.unevaluatedProperties==="object"){let Z=new RegExp(L1(Q));for(let J of Object.getOwnPropertyNames(W))if(!Z.test(J)){let H=p(Q.unevaluatedProperties,G,`${Y}/${J}`,W[J]).next();if(!H.done)yield H.value}}}function*BW(Q,G,Y,W){if(!W0(W))yield L(q.Iterator,Q,Y,W)}function*wW(Q,G,Y,W){if(W!==Q.const)yield L(q.Literal,Q,Y,W)}function*jW(Q,G,Y,W){yield L(q.Never,Q,Y,W)}function*DW(Q,G,Y,W){if(p(Q.not,G,Y,W).next().done===!0)yield L(q.Not,Q,Y,W)}function*NW(Q,G,Y,W){if(!S1(W))yield L(q.Null,Q,Y,W)}function*PW(Q,G,Y,W){if(!_.IsNumberLike(W))return yield L(q.Number,Q,Y,W);if(S(Q.exclusiveMaximum)&&!(W<Q.exclusiveMaximum))yield L(q.NumberExclusiveMaximum,Q,Y,W);if(S(Q.exclusiveMinimum)&&!(W>Q.exclusiveMinimum))yield L(q.NumberExclusiveMinimum,Q,Y,W);if(S(Q.maximum)&&!(W<=Q.maximum))yield L(q.NumberMaximum,Q,Y,W);if(S(Q.minimum)&&!(W>=Q.minimum))yield L(q.NumberMinimum,Q,Y,W);if(S(Q.multipleOf)&&W%Q.multipleOf!==0)yield L(q.NumberMultipleOf,Q,Y,W)}function*SW(Q,G,Y,W){if(!_.IsObjectLike(W))return yield L(q.Object,Q,Y,W);if(S(Q.minProperties)&&!(Object.getOwnPropertyNames(W).length>=Q.minProperties))yield L(q.ObjectMinProperties,Q,Y,W);if(S(Q.maxProperties)&&!(Object.getOwnPropertyNames(W).length<=Q.maxProperties))yield L(q.ObjectMaxProperties,Q,Y,W);let X=Array.isArray(Q.required)?Q.required:[],Z=Object.getOwnPropertyNames(Q.properties),J=Object.getOwnPropertyNames(W);for(let H of X){if(J.includes(H))continue;yield L(q.ObjectRequiredProperty,Q.properties[H],`${Y}/${U1(H)}`,void 0)}if(Q.additionalProperties===!1){for(let H of J)if(!Z.includes(H))yield L(q.ObjectAdditionalProperties,Q,`${Y}/${U1(H)}`,W[H])}if(typeof Q.additionalProperties==="object")for(let H of J){if(Z.includes(H))continue;yield*p(Q.additionalProperties,G,`${Y}/${U1(H)}`,W[H])}for(let H of Z){let w=Q.properties[H];if(Q.required&&Q.required.includes(H)){if(yield*p(w,G,`${Y}/${U1(H)}`,W[H]),M1(Q)&&!(H in W))yield L(q.ObjectRequiredProperty,w,`${Y}/${U1(H)}`,void 0)}else if(_.IsExactOptionalProperty(W,H))yield*p(w,G,`${Y}/${U1(H)}`,W[H])}}function*bW(Q,G,Y,W){if(!X0(W))yield L(q.Promise,Q,Y,W)}function*CW(Q,G,Y,W){if(!_.IsRecordLike(W))return yield L(q.Object,Q,Y,W);if(S(Q.minProperties)&&!(Object.getOwnPropertyNames(W).length>=Q.minProperties))yield L(q.ObjectMinProperties,Q,Y,W);if(S(Q.maxProperties)&&!(Object.getOwnPropertyNames(W).length<=Q.maxProperties))yield L(q.ObjectMaxProperties,Q,Y,W);let[X,Z]=Object.entries(Q.patternProperties)[0],J=new RegExp(X);for(let[H,w]of Object.entries(W))if(J.test(H))yield*p(Z,G,`${Y}/${U1(H)}`,w);if(typeof Q.additionalProperties==="object"){for(let[H,w]of Object.entries(W))if(!J.test(H))yield*p(Q.additionalProperties,G,`${Y}/${U1(H)}`,w)}if(Q.additionalProperties===!1)for(let[H,w]of Object.entries(W)){if(J.test(H))continue;return yield L(q.ObjectAdditionalProperties,Q,`${Y}/${U1(H)}`,w)}}function*OW(Q,G,Y,W){yield*p(i(Q,G),G,Y,W)}function*FW(Q,G,Y,W){if(!f(W))return yield L(q.String,Q,Y,W);if(S(Q.minLength)&&!(W.length>=Q.minLength))yield L(q.StringMinLength,Q,Y,W);if(S(Q.maxLength)&&!(W.length<=Q.maxLength))yield L(q.StringMaxLength,Q,Y,W);if(!new RegExp(Q.source,Q.flags).test(W))return yield L(q.RegExp,Q,Y,W)}function*xW(Q,G,Y,W){if(!f(W))return yield L(q.String,Q,Y,W);if(S(Q.minLength)&&!(W.length>=Q.minLength))yield L(q.StringMinLength,Q,Y,W);if(S(Q.maxLength)&&!(W.length<=Q.maxLength))yield L(q.StringMaxLength,Q,Y,W);if(f(Q.pattern)){if(!new RegExp(Q.pattern).test(W))yield L(q.StringPattern,Q,Y,W)}if(f(Q.format)){if(!Y1.Has(Q.format))yield L(q.StringFormatUnknown,Q,Y,W);else if(!Y1.Get(Q.format)(W))yield L(q.StringFormat,Q,Y,W)}}function*KW(Q,G,Y,W){if(!C1(W))yield L(q.Symbol,Q,Y,W)}function*gW(Q,G,Y,W){if(!f(W))return yield L(q.String,Q,Y,W);if(!new RegExp(Q.pattern).test(W))yield L(q.StringPattern,Q,Y,W)}function*_W(Q,G,Y,W){yield*p(i(Q,G),G,Y,W)}function*EW(Q,G,Y,W){if(!V(W))return yield L(q.Tuple,Q,Y,W);if(Q.items===void 0&&W.length!==0)return yield L(q.TupleLength,Q,Y,W);if(W.length!==Q.maxItems)return yield L(q.TupleLength,Q,Y,W);if(!Q.items)return;for(let X=0;X<Q.items.length;X++)yield*p(Q.items[X],G,`${Y}/${X}`,W[X])}function*kW(Q,G,Y,W){if(!v(W))yield L(q.Undefined,Q,Y,W)}function*VW(Q,G,Y,W){if(F1(Q,G,W))return;let X=Q.anyOf.map((Z)=>new _0(p(Z,G,Y,W)));yield L(q.Union,Q,Y,W,X)}function*TW(Q,G,Y,W){if(!T1(W))return yield L(q.Uint8Array,Q,Y,W);if(S(Q.maxByteLength)&&!(W.length<=Q.maxByteLength))yield L(q.Uint8ArrayMaxByteLength,Q,Y,W);if(S(Q.minByteLength)&&!(W.length>=Q.minByteLength))yield L(q.Uint8ArrayMinByteLength,Q,Y,W)}function*IW(Q,G,Y,W){}function*dW(Q,G,Y,W){if(!_.IsVoidLike(W))yield L(q.Void,Q,Y,W)}function*fW(Q,G,Y,W){if(!a.Get(Q[B])(Q,W))yield L(q.Kind,Q,Y,W)}function*p(Q,G,Y,W){let X=S(Q.$id)?[...G,Q]:G,Z=Q;switch(Z[B]){case"Any":return yield*XW(Z,X,Y,W);case"Argument":return yield*ZW(Z,X,Y,W);case"Array":return yield*$W(Z,X,Y,W);case"AsyncIterator":return yield*zW(Z,X,Y,W);case"BigInt":return yield*JW(Z,X,Y,W);case"Boolean":return yield*qW(Z,X,Y,W);case"Constructor":return yield*HW(Z,X,Y,W);case"Date":return yield*LW(Z,X,Y,W);case"Function":return yield*MW(Z,X,Y,W);case"Import":return yield*UW(Z,X,Y,W);case"Integer":return yield*AW(Z,X,Y,W);case"Intersect":return yield*RW(Z,X,Y,W);case"Iterator":return yield*BW(Z,X,Y,W);case"Literal":return yield*wW(Z,X,Y,W);case"Never":return yield*jW(Z,X,Y,W);case"Not":return yield*DW(Z,X,Y,W);case"Null":return yield*NW(Z,X,Y,W);case"Number":return yield*PW(Z,X,Y,W);case"Object":return yield*SW(Z,X,Y,W);case"Promise":return yield*bW(Z,X,Y,W);case"Record":return yield*CW(Z,X,Y,W);case"Ref":return yield*OW(Z,X,Y,W);case"RegExp":return yield*FW(Z,X,Y,W);case"String":return yield*xW(Z,X,Y,W);case"Symbol":return yield*KW(Z,X,Y,W);case"TemplateLiteral":return yield*gW(Z,X,Y,W);case"This":return yield*_W(Z,X,Y,W);case"Tuple":return yield*EW(Z,X,Y,W);case"Undefined":return yield*kW(Z,X,Y,W);case"Union":return yield*VW(Z,X,Y,W);case"Uint8Array":return yield*TW(Z,X,Y,W);case"Unknown":return yield*IW(Z,X,Y,W);case"Void":return yield*dW(Z,X,Y,W);default:if(!a.Has(Z[B]))throw new A8(Q);return yield*fW(Z,X,Y,W)}}function R8(...Q){let G=Q.length===3?p(Q[0],Q[1],"",Q[2]):p(Q[0],[],"",Q[1]);return new _0(G)}class E0 extends T{constructor(Q,G,Y){super("Unable to decode value as it does not match the expected schema");this.schema=Q,this.value=G,this.error=Y}}class B8 extends T{constructor(Q,G,Y,W){super(W instanceof Error?W.message:"Unknown error");this.schema=Q,this.path=G,this.value=Y,this.error=W}}function k(Q,G,Y){try{return x(Q)?Q[B1].Decode(Y):Y}catch(W){throw new B8(Q,G,Y,W)}}function iW(Q,G,Y,W){return V(W)?k(Q,Y,W.map((X,Z)=>Z1(Q.items,G,`${Y}/${Z}`,X))):k(Q,Y,W)}function yW(Q,G,Y,W){if(!r(W)||J0(W))return k(Q,Y,W);let X=w0(Q),Z=X.map((R)=>R[0]),J={...W};for(let[R,O]of X)if(R in J)J[R]=Z1(O,G,`${Y}/${R}`,J[R]);if(!x(Q.unevaluatedProperties))return k(Q,Y,J);let H=Object.getOwnPropertyNames(J),w=Q.unevaluatedProperties,N={...J};for(let R of H)if(!Z.includes(R))N[R]=k(w,`${Y}/${R}`,N[R]);return k(Q,Y,N)}function pW(Q,G,Y,W){let X=globalThis.Object.values(Q.$defs),Z=Q.$defs[Q.$ref],J=Z1(Z,[...G,...X],Y,W);return k(Q,Y,J)}function oW(Q,G,Y,W){return k(Q,Y,Z1(Q.not,G,Y,W))}function nW(Q,G,Y,W){if(!r(W))return k(Q,Y,W);let X=w1(Q),Z={...W};for(let N of X){if(!Z0(Z,N))continue;if(v(Z[N])&&(!u1(Q.properties[N])||_.IsExactOptionalProperty(Z,N)))continue;Z[N]=Z1(Q.properties[N],G,`${Y}/${N}`,Z[N])}if(!u(Q.additionalProperties))return k(Q,Y,Z);let J=Object.getOwnPropertyNames(Z),H=Q.additionalProperties,w={...Z};for(let N of J)if(!X.includes(N))w[N]=k(H,`${Y}/${N}`,w[N]);return k(Q,Y,w)}function mW(Q,G,Y,W){if(!r(W))return k(Q,Y,W);let X=Object.getOwnPropertyNames(Q.patternProperties)[0],Z=new RegExp(X),J={...W};for(let R of Object.getOwnPropertyNames(W))if(Z.test(R))J[R]=Z1(Q.patternProperties[X],G,`${Y}/${R}`,J[R]);if(!u(Q.additionalProperties))return k(Q,Y,J);let H=Object.getOwnPropertyNames(J),w=Q.additionalProperties,N={...J};for(let R of H)if(!Z.test(R))N[R]=k(w,`${Y}/${R}`,N[R]);return k(Q,Y,N)}function hW(Q,G,Y,W){let X=i(Q,G);return k(Q,Y,Z1(X,G,Y,W))}function tW(Q,G,Y,W){let X=i(Q,G);return k(Q,Y,Z1(X,G,Y,W))}function vW(Q,G,Y,W){return V(W)&&V(Q.items)?k(Q,Y,Q.items.map((X,Z)=>Z1(X,G,`${Y}/${Z}`,W[Z]))):k(Q,Y,W)}function cW(Q,G,Y,W){for(let X of Q.anyOf){if(!F1(X,G,W))continue;let Z=Z1(X,G,Y,W);return k(Q,Y,Z)}return k(Q,Y,W)}function Z1(Q,G,Y,W){let X=j1(Q,G),Z=Q;switch(Q[B]){case"Array":return iW(Z,X,Y,W);case"Import":return pW(Z,X,Y,W);case"Intersect":return yW(Z,X,Y,W);case"Not":return oW(Z,X,Y,W);case"Object":return nW(Z,X,Y,W);case"Record":return mW(Z,X,Y,W);case"Ref":return hW(Z,X,Y,W);case"Symbol":return k(Z,Y,W);case"This":return tW(Z,X,Y,W);case"Tuple":return vW(Z,X,Y,W);case"Union":return cW(Z,X,Y,W);default:return k(Z,Y,W)}}function w8(Q,G,Y){return Z1(Q,G,"",Y)}class k0 extends T{constructor(Q,G,Y){super("The encoded value does not match the expected schema");this.schema=Q,this.value=G,this.error=Y}}class j8 extends T{constructor(Q,G,Y,W){super(`${W instanceof Error?W.message:"Unknown error"}`);this.schema=Q,this.path=G,this.value=Y,this.error=W}}function h(Q,G,Y){try{return x(Q)?Q[B1].Encode(Y):Y}catch(W){throw new j8(Q,G,Y,W)}}function uW(Q,G,Y,W){let X=h(Q,Y,W);return V(X)?X.map((Z,J)=>$1(Q.items,G,`${Y}/${J}`,Z)):X}function lW(Q,G,Y,W){let X=globalThis.Object.values(Q.$defs),Z=Q.$defs[Q.$ref],J=h(Q,Y,W);return $1(Z,[...G,...X],Y,J)}function sW(Q,G,Y,W){let X=h(Q,Y,W);if(!r(W)||J0(W))return X;let Z=w0(Q),J=Z.map((O)=>O[0]),H={...X};for(let[O,K1]of Z)if(O in H)H[O]=$1(K1,G,`${Y}/${O}`,H[O]);if(!x(Q.unevaluatedProperties))return H;let w=Object.getOwnPropertyNames(H),N=Q.unevaluatedProperties,R={...H};for(let O of w)if(!J.includes(O))R[O]=h(N,`${Y}/${O}`,R[O]);return R}function rW(Q,G,Y,W){return h(Q.not,Y,h(Q,Y,W))}function aW(Q,G,Y,W){let X=h(Q,Y,W);if(!r(X))return X;let Z=w1(Q),J={...X};for(let R of Z){if(!Z0(J,R))continue;if(v(J[R])&&(!u1(Q.properties[R])||_.IsExactOptionalProperty(J,R)))continue;J[R]=$1(Q.properties[R],G,`${Y}/${R}`,J[R])}if(!u(Q.additionalProperties))return J;let H=Object.getOwnPropertyNames(J),w=Q.additionalProperties,N={...J};for(let R of H)if(!Z.includes(R))N[R]=h(w,`${Y}/${R}`,N[R]);return N}function eW(Q,G,Y,W){let X=h(Q,Y,W);if(!r(W))return X;let Z=Object.getOwnPropertyNames(Q.patternProperties)[0],J=new RegExp(Z),H={...X};for(let O of Object.getOwnPropertyNames(W))if(J.test(O))H[O]=$1(Q.patternProperties[Z],G,`${Y}/${O}`,H[O]);if(!u(Q.additionalProperties))return H;let w=Object.getOwnPropertyNames(H),N=Q.additionalProperties,R={...H};for(let O of w)if(!J.test(O))R[O]=h(N,`${Y}/${O}`,R[O]);return R}function Q6(Q,G,Y,W){let X=i(Q,G),Z=$1(X,G,Y,W);return h(Q,Y,Z)}function Y6(Q,G,Y,W){let X=i(Q,G),Z=$1(X,G,Y,W);return h(Q,Y,Z)}function G6(Q,G,Y,W){let X=h(Q,Y,W);return V(Q.items)?Q.items.map((Z,J)=>$1(Z,G,`${Y}/${J}`,X[J])):[]}function W6(Q,G,Y,W){for(let X of Q.anyOf){if(!F1(X,G,W))continue;let Z=$1(X,G,Y,W);return h(Q,Y,Z)}for(let X of Q.anyOf){let Z=$1(X,G,Y,W);if(!F1(Q,G,Z))continue;return h(Q,Y,Z)}return h(Q,Y,W)}function $1(Q,G,Y,W){let X=j1(Q,G),Z=Q;switch(Q[B]){case"Array":return uW(Z,X,Y,W);case"Import":return lW(Z,X,Y,W);case"Intersect":return sW(Z,X,Y,W);case"Not":return rW(Z,X,Y,W);case"Object":return aW(Z,X,Y,W);case"Record":return eW(Z,X,Y,W);case"Ref":return Q6(Z,X,Y,W);case"This":return Y6(Z,X,Y,W);case"Tuple":return G6(Z,X,Y,W);case"Union":return W6(Z,X,Y,W);default:return h(Z,Y,W)}}function D8(Q,G,Y){return $1(Q,G,"",Y)}function X6(Q,G){return x(Q)||d(Q.items,G)}function Z6(Q,G){return x(Q)||d(Q.items,G)}function $6(Q,G){return x(Q)||d(Q.returns,G)||Q.parameters.some((Y)=>d(Y,G))}function z6(Q,G){return x(Q)||d(Q.returns,G)||Q.parameters.some((Y)=>d(Y,G))}function J6(Q,G){return x(Q)||x(Q.unevaluatedProperties)||Q.allOf.some((Y)=>d(Y,G))}function q6(Q,G){let Y=globalThis.Object.getOwnPropertyNames(Q.$defs).reduce((X,Z)=>[...X,Q.$defs[Z]],[]),W=Q.$defs[Q.$ref];return x(Q)||d(W,[...Y,...G])}function H6(Q,G){return x(Q)||d(Q.items,G)}function L6(Q,G){return x(Q)||d(Q.not,G)}function M6(Q,G){return x(Q)||Object.values(Q.properties).some((Y)=>d(Y,G))||u(Q.additionalProperties)&&d(Q.additionalProperties,G)}function U6(Q,G){return x(Q)||d(Q.item,G)}function A6(Q,G){let Y=Object.getOwnPropertyNames(Q.patternProperties)[0],W=Q.patternProperties[Y];return x(Q)||d(W,G)||u(Q.additionalProperties)&&x(Q.additionalProperties)}function R6(Q,G){if(x(Q))return!0;return d(i(Q,G),G)}function B6(Q,G){if(x(Q))return!0;return d(i(Q,G),G)}function w6(Q,G){return x(Q)||!v(Q.items)&&Q.items.some((Y)=>d(Y,G))}function j6(Q,G){return x(Q)||Q.anyOf.some((Y)=>d(Y,G))}function d(Q,G){let Y=j1(Q,G),W=Q;if(Q.$id&&V0.has(Q.$id))return!1;if(Q.$id)V0.add(Q.$id);switch(Q[B]){case"Array":return X6(W,Y);case"AsyncIterator":return Z6(W,Y);case"Constructor":return $6(W,Y);case"Function":return z6(W,Y);case"Import":return q6(W,Y);case"Intersect":return J6(W,Y);case"Iterator":return H6(W,Y);case"Not":return L6(W,Y);case"Object":return M6(W,Y);case"Promise":return U6(W,Y);case"Record":return A6(W,Y);case"Ref":return R6(W,Y);case"This":return B6(W,Y);case"Tuple":return w6(W,Y);case"Union":return j6(W,Y);default:return x(Q)}}var V0=new Set;function N8(Q,G){return V0.clear(),d(Q,G)}class P8{constructor(Q,G,Y,W){this.schema=Q,this.references=G,this.checkFunc=Y,this.code=W,this.hasTransform=N8(Q,G)}Code(){return this.code}Schema(){return this.schema}References(){return this.references}Errors(Q){return R8(this.schema,this.references,Q)}Check(Q){return this.checkFunc(Q)}Decode(Q){if(!this.checkFunc(Q))throw new E0(this.schema,Q,this.Errors(Q).First());return this.hasTransform?w8(this.schema,this.references,Q):Q}Encode(Q){let G=this.hasTransform?D8(this.schema,this.references,Q):Q;if(!this.checkFunc(G))throw new k0(this.schema,Q,this.Errors(Q).First());return G}}var A1;(function(Q){function G(Z){return Z===36}Q.DollarSign=G;function Y(Z){return Z===95}Q.IsUnderscore=Y;function W(Z){return Z>=65&&Z<=90||Z>=97&&Z<=122}Q.IsAlpha=W;function X(Z){return Z>=48&&Z<=57}Q.IsNumeric=X})(A1||(A1={}));var j0;(function(Q){function G(Z){if(Z.length===0)return!1;return A1.IsNumeric(Z.charCodeAt(0))}function Y(Z){if(G(Z))return!1;for(let J=0;J<Z.length;J++){let H=Z.charCodeAt(J);if(!(A1.IsAlpha(H)||A1.IsNumeric(H)||A1.DollarSign(H)||A1.IsUnderscore(H)))return!1}return!0}function W(Z){return Z.replace(/'/g,"\\'")}function X(Z,J){return Y(J)?`${Z}.${J}`:`${Z}['${W(J)}']`}Q.Encode=X})(j0||(j0={}));var T0;(function(Q){function G(Y){let W=[];for(let X=0;X<Y.length;X++){let Z=Y.charCodeAt(X);if(A1.IsNumeric(Z)||A1.IsAlpha(Z))W.push(Y.charAt(X));else W.push(`_${Z}_`)}return W.join("").replace(/__/g,"_")}Q.Encode=G})(T0||(T0={}));var I0;(function(Q){function G(Y){return Y.replace(/'/g,"\\'")}Q.Escape=G})(I0||(I0={}));class S8 extends T{constructor(Q){super("Unknown type");this.schema=Q}}class d0 extends T{constructor(Q){super("Preflight validation check failed to guard for the given schema");this.schema=Q}}var x1;(function(Q){function G(J,H,w){return _.ExactOptionalPropertyTypes?`('${H}' in ${J} ? ${w} : true)`:`(${j0.Encode(J,H)} !== undefined ? ${w} : true)`}Q.IsExactOptionalProperty=G;function Y(J){return!_.AllowArrayObject?`(typeof ${J} === 'object' && ${J} !== null && !Array.isArray(${J}))`:`(typeof ${J} === 'object' && ${J} !== null)`}Q.IsObjectLike=Y;function W(J){return!_.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))`}Q.IsRecordLike=W;function X(J){return _.AllowNaN?`typeof ${J} === 'number'`:`Number.isFinite(${J})`}Q.IsNumberLike=X;function Z(J){return _.AllowNullVoid?`(${J} === undefined || ${J} === null)`:`${J} === undefined`}Q.IsVoidLike=Z})(x1||(x1={}));var D0;(function(Q){function G($){return $[B]==="Any"||$[B]==="Unknown"}function*Y($,M,z){yield"true"}function*W($,M,z){yield"true"}function*X($,M,z){yield`Array.isArray(${z})`;let[j,U]=[Q0("value","any"),Q0("acc","number")];if(D($.maxItems))yield`${z}.length <= ${$.maxItems}`;if(D($.minItems))yield`${z}.length >= ${$.minItems}`;let A=W1($.items,M,"value");if(yield`${z}.every((${j}) => ${A})`,E($.contains)||D($.minContains)||D($.maxContains)){let g=E($.contains)?$.contains:c(),s=W1(g,M,"value"),H1=D($.minContains)?[`(count >= ${$.minContains})`]:[],X1=D($.maxContains)?[`(count <= ${$.maxContains})`]:[],z1=`const count = value.reduce((${U}, ${j}) => ${s} ? acc + 1 : acc, 0)`,Y0=["(count > 0)",...H1,...X1].join(" && ");yield`((${j}) => { ${z1}; return ${Y0}})(${z})`}if($.uniqueItems===!0)yield`((${j}) => { 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 } )(${z})`}function*Z($,M,z){yield`(typeof value === 'object' && Symbol.asyncIterator in ${z})`}function*J($,M,z){if(yield`(typeof ${z} === 'bigint')`,e($.exclusiveMaximum))yield`${z} < BigInt(${$.exclusiveMaximum})`;if(e($.exclusiveMinimum))yield`${z} > BigInt(${$.exclusiveMinimum})`;if(e($.maximum))yield`${z} <= BigInt(${$.maximum})`;if(e($.minimum))yield`${z} >= BigInt(${$.minimum})`;if(e($.multipleOf))yield`(${z} % BigInt(${$.multipleOf})) === 0`}function*H($,M,z){yield`(typeof ${z} === 'boolean')`}function*w($,M,z){yield*_1($.returns,M,`${z}.prototype`)}function*N($,M,z){if(yield`(${z} instanceof Date) && Number.isFinite(${z}.getTime())`,D($.exclusiveMaximumTimestamp))yield`${z}.getTime() < ${$.exclusiveMaximumTimestamp}`;if(D($.exclusiveMinimumTimestamp))yield`${z}.getTime() > ${$.exclusiveMinimumTimestamp}`;if(D($.maximumTimestamp))yield`${z}.getTime() <= ${$.maximumTimestamp}`;if(D($.minimumTimestamp))yield`${z}.getTime() >= ${$.minimumTimestamp}`;if(D($.multipleOfTimestamp))yield`(${z}.getTime() % ${$.multipleOfTimestamp}) === 0`}function*R($,M,z){yield`(typeof ${z} === 'function')`}function*O($,M,z){let j=globalThis.Object.getOwnPropertyNames($.$defs).reduce((U,A)=>{return[...U,$.$defs[A]]},[]);yield*_1(Y8($.$ref),[...M,...j],z)}function*K1($,M,z){if(yield`Number.isInteger(${z})`,D($.exclusiveMaximum))yield`${z} < ${$.exclusiveMaximum}`;if(D($.exclusiveMinimum))yield`${z} > ${$.exclusiveMinimum}`;if(D($.maximum))yield`${z} <= ${$.maximum}`;if(D($.minimum))yield`${z} >= ${$.minimum}`;if(D($.multipleOf))yield`(${z} % ${$.multipleOf}) === 0`}function*l($,M,z){let j=$.allOf.map((U)=>W1(U,M,z)).join(" && ");if($.unevaluatedProperties===!1){let U=E1(`${new RegExp(L1($))};`),A=`Object.getOwnPropertyNames(${z}).every(key => ${U}.test(key))`;yield`(${j} && ${A})`}else if(E($.unevaluatedProperties)){let U=E1(`${new RegExp(L1($))};`),A=`Object.getOwnPropertyNames(${z}).every(key => ${U}.test(key) || ${W1($.unevaluatedProperties,M,`${z}[key]`)})`;yield`(${j} && ${A})`}else yield`(${j})`}function*D1($,M,z){yield`(typeof value === 'object' && Symbol.iterator in ${z})`}function*N1($,M,z){if(typeof $.const==="number"||typeof $.const==="boolean")yield`(${z} === ${$.const})`;else yield`(${z} === '${I0.Escape($.const)}')`}function*P0($,M,z){yield"false"}function*P1($,M,z){yield`(!${W1($.not,M,z)})`}function*r1($,M,z){yield`(${z} === null)`}function*a1($,M,z){if(yield x1.IsNumberLike(z),D($.exclusiveMaximum))yield`${z} < ${$.exclusiveMaximum}`;if(D($.exclusiveMinimum))yield`${z} > ${$.exclusiveMinimum}`;if(D($.maximum))yield`${z} <= ${$.maximum}`;if(D($.minimum))yield`${z} >= ${$.minimum}`;if(D($.multipleOf))yield`(${z} % ${$.multipleOf}) === 0`}function*g1($,M,z){if(yield x1.IsObjectLike(z),D($.minProperties))yield`Object.getOwnPropertyNames(${z}).length >= ${$.minProperties}`;if(D($.maxProperties))yield`Object.getOwnPropertyNames(${z}).length <= ${$.maxProperties}`;let j=Object.getOwnPropertyNames($.properties);for(let U of j){let A=j0.Encode(z,U),g=$.properties[U];if($.required&&$.required.includes(U)){if(yield*_1(g,M,A),M1(g)||G(g))yield`('${U}' in ${z})`}else{let s=W1(g,M,A);yield x1.IsExactOptionalProperty(z,U,s)}}if($.additionalProperties===!1)if($.required&&$.required.length===j.length)yield`Object.getOwnPropertyNames(${z}).length === ${j.length}`;else{let U=`[${j.map((A)=>`'${A}'`).join(", ")}]`;yield`Object.getOwnPropertyNames(${z}).every(key => ${U}.includes(key))`}if(typeof $.additionalProperties==="object"){let U=W1($.additionalProperties,M,`${z}[key]`),A=`[${j.map((g)=>`'${g}'`).join(", ")}]`;yield`(Object.getOwnPropertyNames(${z}).every(key => ${A}.includes(key) || ${U}))`}}function*O8($,M,z){yield`${z} instanceof Promise`}function*F8($,M,z){if(yield x1.IsRecordLike(z),D($.minProperties))yield`Object.getOwnPropertyNames(${z}).length >= ${$.minProperties}`;if(D($.maxProperties))yield`Object.getOwnPropertyNames(${z}).length <= ${$.maxProperties}`;let[j,U]=Object.entries($.patternProperties)[0],A=E1(`${new RegExp(j)}`),g=W1(U,M,"value"),s=E($.additionalProperties)?W1($.additionalProperties,M,z):$.additionalProperties===!1?"false":"true",H1=`(${A}.test(key) ? ${g} : ${s})`;yield`(Object.entries(${z}).every(([key, value]) => ${H1}))`}function*x8($,M,z){let j=i($,M);if(o.functions.has($.$ref))return yield`${e1($.$ref)}(${z})`;yield*_1(j,M,z)}function*K8($,M,z){let j=E1(`${new RegExp($.source,$.flags)};`);if(yield`(typeof ${z} === 'string')`,D($.maxLength))yield`${z}.length <= ${$.maxLength}`;if(D($.minLength))yield`${z}.length >= ${$.minLength}`;yield`${j}.test(${z})`}function*g8($,M,z){if(yield`(typeof ${z} === 'string')`,D($.maxLength))yield`${z}.length <= ${$.maxLength}`;if(D($.minLength))yield`${z}.length >= ${$.minLength}`;if($.pattern!==void 0)yield`${E1(`${new RegExp($.pattern)};`)}.test(${z})`;if($.format!==void 0)yield`format('${$.format}', ${z})`}function*_8($,M,z){yield`(typeof ${z} === 'symbol')`}function*E8($,M,z){yield`(typeof ${z} === 'string')`,yield`${E1(`${new RegExp($.pattern)};`)}.test(${z})`}function*k8($,M,z){yield`${e1($.$ref)}(${z})`}function*V8($,M,z){if(yield`Array.isArray(${z})`,$.items===void 0)return yield`${z}.length === 0`;yield`(${z}.length === ${$.maxItems})`;for(let j=0;j<$.items.length;j++)yield`${W1($.items[j],M,`${z}[${j}]`)}`}function*T8($,M,z){yield`${z} === undefined`}function*I8($,M,z){yield`(${$.anyOf.map((U)=>W1(U,M,z)).join(" || ")})`}function*d8($,M,z){if(yield`${z} instanceof Uint8Array`,D($.maxByteLength))yield`(${z}.length <= ${$.maxByteLength})`;if(D($.minByteLength))yield`(${z}.length >= ${$.minByteLength})`}function*f8($,M,z){yield"true"}function*i8($,M,z){yield x1.IsVoidLike(z)}function*y8($,M,z){let j=o.instances.size;o.instances.set(j,$),yield`kind('${$[B]}', ${j}, ${z})`}function*_1($,M,z,j=!0){let U=f($.$id)?[...M,$]:M,A=$;if(j&&f($.$id)){let g=e1($.$id);if(o.functions.has(g))return yield`${g}(${z})`;else{o.functions.set(g,"<deferred>");let s=f0(g,$,M,"value",!1);return o.functions.set(g,s),yield`${g}(${z})`}}switch(A[B]){case"Any":return yield*Y(A,U,z);case"Argument":return yield*W(A,U,z);case"Array":return yield*X(A,U,z);case"AsyncIterator":return yield*Z(A,U,z);case"BigInt":return yield*J(A,U,z);case"Boolean":return yield*H(A,U,z);case"Constructor":return yield*w(A,U,z);case"Date":return yield*N(A,U,z);case"Function":return yield*R(A,U,z);case"Import":return yield*O(A,U,z);case"Integer":return yield*K1(A,U,z);case"Intersect":return yield*l(A,U,z);case"Iterator":return yield*D1(A,U,z);case"Literal":return yield*N1(A,U,z);case"Never":return yield*P0(A,U,z);case"Not":return yield*P1(A,U,z);case"Null":return yield*r1(A,U,z);case"Number":return yield*a1(A,U,z);case"Object":return yield*g1(A,U,z);case"Promise":return yield*O8(A,U,z);case"Record":return yield*F8(A,U,z);case"Ref":return yield*x8(A,U,z);case"RegExp":return yield*K8(A,U,z);case"String":return yield*g8(A,U,z);case"Symbol":return yield*_8(A,U,z);case"TemplateLiteral":return yield*E8(A,U,z);case"This":return yield*k8(A,U,z);case"Tuple":return yield*V8(A,U,z);case"Undefined":return yield*T8(A,U,z);case"Union":return yield*I8(A,U,z);case"Uint8Array":return yield*d8(A,U,z);case"Unknown":return yield*f8(A,U,z);case"Void":return yield*i8(A,U,z);default:if(!a.Has(A[B]))throw new S8($);return yield*y8(A,U,z)}}let o={language:"javascript",functions:new Map,variables:new Map,instances:new Map};function W1($,M,z,j=!0){return`(${[..._1($,M,z,j)].join(" && ")})`}function e1($){return`check_${T0.Encode($)}`}function E1($){let M=`local_${o.variables.size}`;return o.variables.set(M,`const ${M} = ${$}`),M}function f0($,M,z,j,U=!0){let[A,g]=[`
3
+ `,(z1)=>"".padStart(z1," ")],s=Q0("value","any"),H1=i0("boolean"),X1=[..._1(M,z,j,U)].map((z1)=>`${g(4)}${z1}`).join(` &&${A}`);return`function ${$}(${s})${H1} {${A}${g(2)}return (${A}${X1}${A}${g(2)})
4
+ }`}function Q0($,M){let z=o.language==="typescript"?`: ${M}`:"";return`${$}${z}`}function i0($){return o.language==="typescript"?`: ${$}`:""}function p8($,M,z){let j=f0("check",$,M,"value"),U=Q0("value","any"),A=i0("boolean"),g=[...o.functions.values()],s=[...o.variables.values()],H1=f($.$id)?`return function check(${U})${A} {
5
5
  return ${e1($.$id)}(value)
6
6
  }`:`return ${j}`;return[...s,...g,H1].join(`
7
- `)}function i0(...$){let M={language:"javascript"},[z,j,U]=$.length===2&&V($[1])?[$[0],$[1],M]:$.length===2&&!V($[1])?[$[0],[],$[1]]:$.length===3?[$[0],$[1],$[2]]:$.length===1?[$[0],[],M]:[null,[],M];if(o.language=U.language,o.variables.clear(),o.functions.clear(),o.instances.clear(),!k(z))throw new I0(z);for(let A of j)if(!k(A))throw new I0(A);return p8(z,j,U)}Q.Code=i0;function o8($,M=[]){let z=i0($,M,{language:"javascript"}),j=globalThis.Function("kind","format","hash",z),U=new Map(o.instances);function A(W1,z1,Y0){if(!a.Has(W1)||!U.has(z1))return!1;let n8=a.Get(W1),m8=U.get(z1);return n8(m8,Y0)}function g(W1,z1){if(!Y1.Has(W1))return!1;return Y1.Get(W1)(z1)}function s(W1){return n1(W1)}let H1=j(A,g,s);return new N8($,M,H1,z)}Q.Compile=o8})(D0||(D0={}));var m1=(Q,Z=400)=>new Response(JSON.stringify(Q),{status:Z,headers:{"Content-Type":"application/json"}}),DG=(Q)=>{let Z=D0.Compile(Q);return async(Y,G)=>{try{let W=await Y.req.json();if(!Z.Check(W)){let X=Z.Errors(W).First();return m1({status:"error",code:"VALIDATION_FAILED",message:X?.message||"Invalid input",path:X?.path||"body"})}return Y.body=W,G?G():void 0}catch{return m1({status:"error",message:"Invalid JSON payload"})}}},NG=(Q)=>{let Z=Q.properties||{},Y=Object.keys(Z),G=Y.length;return async(X,J)=>{try{let H=X instanceof Object&&"req"in X,N=await(H?X.req:X).json();for(let R=0;R<G;R++){let O=Y[R];if(typeof N[O]!==Z[O]?.type)return m1({status:"error",code:"TYPE_MISMATCH",message:`Field '${O}' must be of type ${Z[O]?.type}`,field:O})}if(H)X.body=N;return J?J():void 0}catch{return m1({status:"error",message:"Invalid JSON payload"})}}},PG=(Q)=>{return async(Y,G)=>{try{let W=Y instanceof Object&&"req"in Y,J=await(W?Y.req:Y).json(),H=Q.safeParse(J);if(!H.success)return m1({status:"error",code:"ZOD_ERROR",errors:H.error.format()});if(W)Y.body=H.data;return G?G():void 0}catch{return m1({status:"error",message:"Invalid JSON payload"})}}};class S8 extends E1{_server=null;_reusePort=!0;wsHandler=null;router={GET:{},POST:{},PUT:{},PATCH:{},DELETE:{}};dynamicRoutes=[];poolIdx=0;pool;poolMask;defaultHandler=(Q)=>new Response("404 Not Found",{status:404});constructor(Q){super();let Z=Q?.poolSize||Number(process.env.BARE_POOL_SIZE)||1024;if((Z&Z-1)!==0)Z=Math.pow(2,Math.ceil(Math.log2(Z)));this.poolMask=Z-1,this.pool=Array.from({length:Z},()=>new P0)}get server(){return this._server}set server(Q){this._server=Q}use(Q){if(Q instanceof E1)this.routes.push(...Q.routes);else if(Q&&typeof Q==="object"&&"install"in Q)Q.install(this);else this.groupMiddleware.push(Q);return this}compileHandler(Q,Z){let Y=[...Z,Q];return(G)=>{let W=-1,X=(J)=>{if(J<=W)throw Error("next() called multiple times");W=J;let H=Y[J];if(!H)return;if(H.length===1)return H(G);if(H.length>2)return H(G.req,G.params,()=>X(J+1));return H(G,()=>X(J+1))};return X(0)}}ws=(Q,Z)=>{return this.wsHandler={path:Q,handlers:Z},this};fetch=(Q,Z)=>{let Y=Q.url,G=Y.indexOf("/",8),W=G===-1?"/":Y.slice(G),X=Q.method,J=this.pool[this.poolIdx++&this.poolMask],H,w=this.router[X]?.[W];if(w)H=w(J.reset(Q,{}));else{let l=!1,D1=this.dynamicRoutes;for(let N1=0,N0=D1.length;N1<N0;N1++){let P1=D1[N1];if(P1.m===X){let r1=P1.r.exec(W);if(r1){let a1=Object.create(null);for(let g1=0;g1<P1.p.length;g1++)a1[P1.p[g1]]=r1[g1+1];H=P1.c(J.reset(Q,a1)),l=!0;break}}}if(!l)H=this.defaultHandler(J.reset(Q,{}))}if(H instanceof Response)return H;let N=J._status,R=new Headers,O=J._headers;for(let l in O)R.set(l.toLowerCase(),O[l]);let K1=(l)=>{if(l instanceof Response)return l;let D1=l!==null&&typeof l==="object";if(D1&&!R.has("content-type"))R.set("content-type","application/json");let N1=D1?JSON.stringify(l):l??"";return new Response(N1,{status:N,headers:R})};return H instanceof Promise?H.then(K1):K1(H)};compile(){for(let Q of this.routes){let Z=[...Q.handlers],Y=Z.pop()||((X)=>new Response("Not Found",{status:404})),G=Z,W=this.compileHandler(Y,G);if(Q.path.includes(":")){let X=[],J=Q.path.replace(/:([^/]+)/g,(H,w)=>{return X.push(w),"([^/]+)"});this.dynamicRoutes.push({m:Q.method,r:new RegExp(`^${J}$`),p:X,c:W})}else{if(!this.router[Q.method])this.router[Q.method]={};this.router[Q.method][Q.path]=W}}this.defaultHandler=this.compileHandler((Q)=>new Response("404 Not Found",{status:404}),this.groupMiddleware)}async listen(Q,Z){this.compile();let Y=Number(process.env.PORT)||3000,G=process.env.HOST||"0.0.0.0";if(typeof Q==="number")Y=Q;if(typeof Q==="string")G=Q;if(typeof Z==="number")Y=Z;return this._server=Bun.serve({hostname:G,port:Y,reusePort:this._reusePort,fetch:(W)=>this.fetch(W)}),console.log(`[BAREJS] \uD83D\uDE80 Server running at http://${G}:${Y}`),this._server}}var SG=async(Q,Z,Y)=>{let G=performance.now(),W=new URL(Q.url).pathname,X=await Y?.(),J=(performance.now()-G).toFixed(2),H=X instanceof Response?X.status:200,w=H>=500?"\x1B[31m":H>=400?"\x1B[33m":"\x1B[32m";return console.log(` \x1B[90m${new Date().toLocaleTimeString()}\x1B[0m \x1B[1m\x1B[38;5;117m${Q.method.padEnd(7)}\x1B[0m \x1B[38;5;250m${W}\x1B[0m ${w}${H}\x1B[0m \x1B[90m(${J}ms)\x1B[0m`),X};var bG=(Q={})=>{let Z=Q.origin||"*",Y=Q.methods||"GET,POST,PUT,PATCH,DELETE,OPTIONS";return async(W,X,J)=>{if(W.method==="OPTIONS")return new Response(null,{status:204,headers:{"Access-Control-Allow-Origin":Z,"Access-Control-Allow-Methods":Y,"Access-Control-Allow-Headers":"Content-Type, Authorization"}});let H=await J?.();if(H instanceof Response)H.headers.set("Access-Control-Allow-Origin",Z),H.headers.set("Access-Control-Allow-Methods",Y);return H}};import{join as CG}from"path";var OG=(Q="public")=>{return async(Z,Y)=>{if(Z.req.method!=="GET"&&Z.req.method!=="HEAD")return Y();let G=new URL(Z.req.url),W=decodeURIComponent(G.pathname).replace(/^\//,""),X=CG(process.cwd(),Q,W),J=Bun.file(X);if(await J.exists())return new Response(J);return Y()}};var b8=new TextEncoder,C8=async(Q,Z)=>{let Y=Bun.crypto.hmac("sha256",Z,Q);return Buffer.from(Y).toString("hex")},FG=async(Q,Z,Y)=>{let G=await C8(Q,Y);return Bun.crypto.timingSafeEqual(b8.encode(Z),b8.encode(G))},xG=(Q)=>{return async(Z,Y)=>{let G=Z.req.headers.get("Authorization");if(!G?.startsWith("Bearer "))return Z.status(401).json({status:"error",message:"Bearer token required"});let W=G.split(" ")[1];if(!W)return Z.status(401).json({status:"error",message:"Invalid token format"});let X=W.split(".");if(X.length!==2)return Z.status(401).json({status:"error",message:"Malformed token"});let[J,H]=X;try{let w=Buffer.from(J,"base64").toString();if(!await FG(w,H,Q))return Z.status(401).json({status:"error",message:"Invalid signature"});return Z.set("user",JSON.parse(w)),Y()}catch(w){return Z.status(401).json({status:"error",message:"Token verification failed"})}}};var KG={hash:(Q)=>Bun.password.hash(Q,{algorithm:"argon2id"}),verify:(Q,Z)=>Bun.password.verify(Q,Z)},gG=async(Q,Z)=>{let Y=JSON.stringify(Q),G=Buffer.from(Y).toString("base64"),W=await C8(Y,Z);return`${G}.${W}`};export{PG as zod,DG as typebox,OG as staticFile,NG as native,SG as logger,gG as createToken,bG as cors,xG as bareAuth,KG as Password,E1 as BareRouter,S8 as BareJS};
7
+ `)}function y0(...$){let M={language:"javascript"},[z,j,U]=$.length===2&&V($[1])?[$[0],$[1],M]:$.length===2&&!V($[1])?[$[0],[],$[1]]:$.length===3?[$[0],$[1],$[2]]:$.length===1?[$[0],[],M]:[null,[],M];if(o.language=U.language,o.variables.clear(),o.functions.clear(),o.instances.clear(),!E(z))throw new d0(z);for(let A of j)if(!E(A))throw new d0(A);return p8(z,j,U)}Q.Code=y0;function o8($,M=[]){let z=y0($,M,{language:"javascript"}),j=globalThis.Function("kind","format","hash",z),U=new Map(o.instances);function A(X1,z1,Y0){if(!a.Has(X1)||!U.has(z1))return!1;let n8=a.Get(X1),m8=U.get(z1);return n8(m8,Y0)}function g(X1,z1){if(!Y1.Has(X1))return!1;return Y1.Get(X1)(z1)}function s(X1){return n1(X1)}let H1=j(A,g,s);return new P8($,M,H1,z)}Q.Compile=o8})(D0||(D0={}));var m1=(Q,G=400)=>new Response(JSON.stringify(Q),{status:G,headers:{"Content-Type":"application/json"}}),D6=(Q)=>{let G=D0.Compile(Q);return async(Y,W)=>{try{let X=await Y.req.json();if(!G.Check(X)){let Z=G.Errors(X).First();return m1({status:"error",code:"VALIDATION_FAILED",message:Z?.message||"Invalid input",path:Z?.path||"body"})}return Y.body=X,W?W():void 0}catch{return m1({status:"error",message:"Invalid JSON payload"})}}},N6=(Q)=>{let G=Q.properties||{},Y=Object.keys(G),W=Y.length;return async(Z,J)=>{try{let H=Z instanceof Object&&"req"in Z,N=await(H?Z.req:Z).json();for(let R=0;R<W;R++){let O=Y[R];if(typeof N[O]!==G[O]?.type)return m1({status:"error",code:"TYPE_MISMATCH",message:`Field '${O}' must be of type ${G[O]?.type}`,field:O})}if(H)Z.body=N;return J?J():void 0}catch{return m1({status:"error",message:"Invalid JSON payload"})}}},P6=(Q)=>{return async(Y,W)=>{try{let X=Y instanceof Object&&"req"in Y,J=await(X?Y.req:Y).json(),H=Q.safeParse(J);if(!H.success)return m1({status:"error",code:"ZOD_ERROR",errors:H.error.format()});if(X)Y.body=H.data;return W?W():void 0}catch{return m1({status:"error",message:"Invalid JSON payload"})}}};class b8 extends k1{_server=null;_reusePort=!0;wsHandler=null;router={GET:{},POST:{},PUT:{},PATCH:{},DELETE:{}};dynamicRoutes=[];poolIdx=0;pool;poolMask;defaultHandler=(Q)=>new Response("404 Not Found",{status:404});constructor(Q){super();let G=Q?.poolSize||Number(process.env.BARE_POOL_SIZE)||1024;if((G&G-1)!==0)G=Math.pow(2,Math.ceil(Math.log2(G)));this.poolMask=G-1,this.pool=Array.from({length:G},()=>new S0)}get server(){return this._server}set server(Q){this._server=Q}use(Q){if(Q instanceof k1)this.routes.push(...Q.routes);else if(Q&&typeof Q==="object"&&"install"in Q)Q.install(this);else this.groupMiddleware.push(Q);return this}compileHandler(Q,G){let Y=[...G,Q];return(W)=>{let X=-1,Z=(J)=>{if(J<=X)throw Error("next() called multiple times");X=J;let H=Y[J];if(!H)return;if(H.length===1)return H(W);if(H.length>2)return H(W.req,W.params,()=>Z(J+1));return H(W,()=>Z(J+1))};return Z(0)}}ws=(Q,G)=>{return this.wsHandler={path:Q,handlers:G},this};fetch=(Q,G)=>{let Y=Q.url,W=Y.indexOf("/",8),X=W===-1?"/":Y.slice(W),Z=Q.method,J=this.pool[this.poolIdx++&this.poolMask],H,w=this.router[Z]?.[X];if(w)H=w(J.reset(Q,{}));else{let l=!1,D1=this.dynamicRoutes;for(let N1=0,P0=D1.length;N1<P0;N1++){let P1=D1[N1];if(P1.m===Z){let r1=P1.r.exec(X);if(r1){let a1=Object.create(null);for(let g1=0;g1<P1.p.length;g1++)a1[P1.p[g1]]=r1[g1+1];H=P1.c(J.reset(Q,a1)),l=!0;break}}}if(!l)H=this.defaultHandler(J.reset(Q,{}))}if(H instanceof Response)return H;let N=J._status,R=new Headers,O=J._headers;for(let l in O)R.set(l.toLowerCase(),O[l]);let K1=(l)=>{if(l instanceof Response)return l;let D1=l!==null&&typeof l==="object";if(D1&&!R.has("content-type"))R.set("content-type","application/json");let N1=D1?JSON.stringify(l):l??"";return new Response(N1,{status:N,headers:R})};return H instanceof Promise?H.then(K1):K1(H)};compile(){for(let Q of this.routes){let G=[...Q.handlers],Y=G.pop()||((Z)=>new Response("Not Found",{status:404})),W=G,X=this.compileHandler(Y,W);if(Q.path.includes(":")){let Z=[],J=Q.path.replace(/:([^/]+)/g,(H,w)=>{return Z.push(w),"([^/]+)"});this.dynamicRoutes.push({m:Q.method,r:new RegExp(`^${J}$`),p:Z,c:X})}else{if(!this.router[Q.method])this.router[Q.method]={};this.router[Q.method][Q.path]=X}}this.defaultHandler=this.compileHandler((Q)=>new Response("404 Not Found",{status:404}),this.groupMiddleware)}async listen(Q,G){this.compile();let Y=Number(process.env.PORT)||3000,W=process.env.HOST||"0.0.0.0";if(typeof Q==="number")Y=Q;if(typeof Q==="string")W=Q;if(typeof G==="number")Y=G;return this._server=Bun.serve({hostname:W,port:Y,reusePort:this._reusePort,fetch:(X)=>this.fetch(X)}),console.log(`[BAREJS] \uD83D\uDE80 Server running at http://${W}:${Y}`),this._server}}var S6=async(Q,G,Y)=>{let W=performance.now(),X=new URL(Q.url).pathname,Z=await Y?.(),J=(performance.now()-W).toFixed(2),H=Z instanceof Response?Z.status:200,w=H>=500?"\x1B[31m":H>=400?"\x1B[33m":"\x1B[32m";return console.log(` \x1B[90m${new Date().toLocaleTimeString()}\x1B[0m \x1B[1m\x1B[38;5;117m${Q.method.padEnd(7)}\x1B[0m \x1B[38;5;250m${X}\x1B[0m ${w}${H}\x1B[0m \x1B[90m(${J}ms)\x1B[0m`),Z};var b6=(Q={})=>{let G=Q.origin||"*",Y=Q.methods||"GET,POST,PUT,PATCH,DELETE,OPTIONS";return async(X,Z,J)=>{if(X.method==="OPTIONS")return new Response(null,{status:204,headers:{"Access-Control-Allow-Origin":G,"Access-Control-Allow-Methods":Y,"Access-Control-Allow-Headers":"Content-Type, Authorization"}});let H=await J?.();if(H instanceof Response)H.headers.set("Access-Control-Allow-Origin",G),H.headers.set("Access-Control-Allow-Methods",Y);return H}};import{join as C6}from"path";var O6=(Q="public")=>{return async(G,Y)=>{if(G.req.method!=="GET"&&G.req.method!=="HEAD")return Y();let W=new URL(G.req.url),X=decodeURIComponent(W.pathname).replace(/^\//,""),Z=C6(process.cwd(),Q,X),J=Bun.file(Z);if(await J.exists())return new Response(J);return Y()}};var N0=new TextEncoder,C8=async(Q,G)=>{let Y=await crypto.subtle.importKey("raw",N0.encode(G),{name:"HMAC",hash:"SHA-256"},!1,["sign"]),W=await crypto.subtle.sign("HMAC",Y,N0.encode(Q));return Buffer.from(W).toString("hex")},F6=async(Q,G,Y)=>{let W=await C8(Q,Y),X=N0.encode(G),Z=N0.encode(W);if(X.byteLength!==Z.byteLength)return!1;return Bun.crypto.timingSafeEqual(X,Z)},x6=(Q)=>{return async(G,Y)=>{let W=G.req.headers.get("Authorization");if(!W?.startsWith("Bearer "))return G.status(401).json({status:"error",message:"Bearer token required"});let X=W.split(" ")[1];if(!X)return G.status(401).json({status:"error",message:"Invalid token format"});let Z=X.split(".");if(Z.length!==2)return G.status(401).json({status:"error",message:"Malformed token"});let[J,H]=Z;try{let w=Buffer.from(J,"base64").toString();if(!await F6(w,H,Q))return G.status(401).json({status:"error",message:"Invalid signature"});let R=JSON.parse(w);return G.set("user",R),Y()}catch(w){return console.error("[Auth] Verification Error:",w),G.status(401).json({status:"error",message:"Token verification failed"})}}};var K6={hash:(Q)=>Bun.password.hash(Q,{algorithm:"argon2id",memoryCost:65536,timeCost:2}),verify:(Q,G)=>Bun.password.verify(Q,G)},g6=async(Q,G)=>{let Y=JSON.stringify(Q),W=Buffer.from(Y).toString("base64"),X=await C8(Y,G);return`${W}.${X}`};export{P6 as zod,D6 as typebox,O6 as staticFile,N6 as native,S6 as logger,g6 as createToken,b6 as cors,x6 as bareAuth,K6 as Password,k1 as BareRouter,b8 as BareJS};
@@ -1,10 +1,12 @@
1
1
  import type { Next } from './context';
2
2
  /**
3
- * 1. BARE TOKEN AUTH (High Performance JWT-like)
3
+ * 1. BARE TOKEN AUTH (Stateless Middleware)
4
+ * High-performance JWT alternative for BareJS
4
5
  */
5
6
  export declare const bareAuth: (secret: string) => (ctx: any, next: Next) => Promise<any>;
6
7
  /**
7
8
  * 2. BASIC AUTH
9
+ * Useful for internal tools and simple admin panels
8
10
  */
9
11
  export declare const basicAuth: (credentials: {
10
12
  user: string;
@@ -12,6 +14,7 @@ export declare const basicAuth: (credentials: {
12
14
  }) => (ctx: any, next: Next) => Promise<any>;
13
15
  /**
14
16
  * 3. PASSWORD UTILS (Bun Native)
17
+ * Uses Argon2id - the gold standard for password hashing
15
18
  */
16
19
  export declare const Password: {
17
20
  hash: (password: string) => Promise<string>;
@@ -19,5 +22,11 @@ export declare const Password: {
19
22
  };
20
23
  /**
21
24
  * 4. TOKEN GENERATOR
25
+ * Creates a "Bare Token" consisting of base64(payload).hex(signature)
22
26
  */
23
27
  export declare const createToken: (payload: object, secret: string) => Promise<string>;
28
+ /**
29
+ * 5. ROLE AUTHORIZATION (Bonus Max Function)
30
+ * Ensures user has specific permissions after bareAuth
31
+ */
32
+ export declare const hasRole: (role: string) => (ctx: any, next: Next) => Promise<any>;
@@ -8,6 +8,12 @@ export type GroupCallback = (router: any) => void;
8
8
  export type Middleware = ((ctx: Context) => Promise<any> | any) | ((ctx: Context, next: Next) => Promise<any> | any) | ((req: Request, params: Params, next: Next) => Promise<any> | any);
9
9
  export type ContextHandler = (ctx: Context) => Promise<any> | any;
10
10
  export type NativeHandler = (req: Request, params: Params) => Promise<any> | any;
11
+ export interface AuthUser {
12
+ id: number;
13
+ username: string;
14
+ role: string;
15
+ tier?: string;
16
+ }
11
17
  export type Handler = ContextHandler | NativeHandler;
12
18
  export declare class Context {
13
19
  req: Request;
@@ -37,6 +43,7 @@ export declare class Context {
37
43
  text(data: string): string;
38
44
  html(data: string): string;
39
45
  redirect(url: string, code?: number): null;
46
+ get user(): AuthUser | null;
40
47
  }
41
48
  export interface WSHandlers {
42
49
  open?: (ws: any) => void;
@@ -2,7 +2,7 @@ export { BareJS } from './bare';
2
2
  export interface BarePlugin {
3
3
  install: (app: any) => void;
4
4
  }
5
- export type { Middleware, Handler, Next, WSHandlers, Context, Params } from './context';
5
+ export type { Middleware, Handler, Next, WSHandlers, Context, Params, AuthUser } from './context';
6
6
  export { typebox, native, zod } from './validators';
7
7
  export { logger } from './logger';
8
8
  export { cors } from './cors';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "barejs",
3
- "version": "0.1.28",
3
+ "version": "0.1.30",
4
4
  "author": "xarhang",
5
5
  "description": "High-performance JIT-specialized web framework for Bun",
6
6
  "main": "./dist/index.js",
package/src/auth.ts CHANGED
@@ -1,39 +1,67 @@
1
- import type { Next } from './context';
1
+ import type { AuthUser, Next } from './context';
2
2
 
3
3
  /**
4
4
  * UTILS: Internal Crypto Helpers using Native Web Crypto
5
- * This approach is Type-safe and highly compatible with Bun
5
+ * Optimized for Bun performance and type safety.
6
6
  */
7
7
  const encoder = new TextEncoder();
8
8
 
9
+ /**
10
+ * SIGN: Creates a HMAC-SHA256 signature
11
+ */
9
12
  const signData = async (data: string, secret: string): Promise<string> => {
10
- // Using Bun.crypto.hmac with 'any' cast to bypass version-specific type issues
11
- const hmac = (Bun as any).crypto.hmac("sha256", secret, data);
12
- return Buffer.from(hmac).toString("hex");
13
+ const key = await crypto.subtle.importKey(
14
+ "raw",
15
+ encoder.encode(secret),
16
+ { name: "HMAC", hash: "SHA-256" },
17
+ false,
18
+ ["sign"]
19
+ );
20
+
21
+ const signature = await crypto.subtle.sign(
22
+ "HMAC",
23
+ key,
24
+ encoder.encode(data)
25
+ );
26
+
27
+ return Buffer.from(signature).toString("hex");
13
28
  };
14
29
 
30
+ /**
31
+ * VERIFY: Checks signature integrity using Constant-Time comparison
32
+ */
15
33
  const verifyData = async (data: string, signature: string, secret: string): Promise<boolean> => {
16
34
  const expectedSignature = await signData(data, secret);
17
- // Using crypto.subtle.timingSafeEqual or Bun's native timingSafeEqual
18
- return (Bun as any).crypto.timingSafeEqual(
19
- encoder.encode(signature),
20
- encoder.encode(expectedSignature)
21
- );
35
+
36
+ const a = encoder.encode(signature);
37
+ const b = encoder.encode(expectedSignature);
38
+
39
+ // Critical: timingSafeEqual requires buffers of identical length
40
+ if (a.byteLength !== b.byteLength) return false;
41
+
42
+ return (Bun as any).crypto.timingSafeEqual(a, b);
22
43
  };
23
44
 
24
45
  /**
25
- * 1. BARE TOKEN AUTH (High Performance JWT-like)
46
+ * 1. BARE TOKEN AUTH (Stateless Middleware)
47
+ * High-performance JWT alternative for BareJS
26
48
  */
27
49
  export const bareAuth = (secret: string) => {
28
50
  return async (ctx: any, next: Next) => {
51
+ // 1. Extract Header
29
52
  const authHeader = ctx.req.headers.get('Authorization');
53
+
30
54
  if (!authHeader?.startsWith('Bearer ')) {
31
55
  return ctx.status(401).json({ status: 'error', message: 'Bearer token required' });
32
56
  }
33
57
 
58
+ // 2. Extract Token
34
59
  const token = authHeader.split(' ')[1];
35
- if (!token) return ctx.status(401).json({ status: 'error', message: 'Invalid token format' });
60
+ if (!token) {
61
+ return ctx.status(401).json({ status: 'error', message: 'Invalid token format' });
62
+ }
36
63
 
64
+ // 3. Split Payload and Signature
37
65
  const parts = token.split('.');
38
66
  if (parts.length !== 2) {
39
67
  return ctx.status(401).json({ status: 'error', message: 'Malformed token' });
@@ -42,16 +70,20 @@ export const bareAuth = (secret: string) => {
42
70
  const [payloadBase64, signature] = parts;
43
71
 
44
72
  try {
73
+ // 4. Decode and Verify
45
74
  const payloadRaw = Buffer.from(payloadBase64!, 'base64').toString();
46
75
  const isValid = await verifyData(payloadRaw, signature!, secret);
47
76
 
48
77
  if (!isValid) {
49
78
  return ctx.status(401).json({ status: 'error', message: 'Invalid signature' });
50
79
  }
80
+ // 5. Attach User to Context
81
+ const user: AuthUser = JSON.parse(payloadRaw);
82
+ ctx.set('user', user);
51
83
 
52
- ctx.set('user', JSON.parse(payloadRaw));
53
84
  return next();
54
85
  } catch (e) {
86
+ console.error("[Auth] Verification Error:", e);
55
87
  return ctx.status(401).json({ status: 'error', message: 'Token verification failed' });
56
88
  }
57
89
  };
@@ -59,6 +91,7 @@ export const bareAuth = (secret: string) => {
59
91
 
60
92
  /**
61
93
  * 2. BASIC AUTH
94
+ * Useful for internal tools and simple admin panels
62
95
  */
63
96
  export const basicAuth = (credentials: { user: string; pass: string }) => {
64
97
  return async (ctx: any, next: Next) => {
@@ -83,18 +116,38 @@ export const basicAuth = (credentials: { user: string; pass: string }) => {
83
116
 
84
117
  /**
85
118
  * 3. PASSWORD UTILS (Bun Native)
119
+ * Uses Argon2id - the gold standard for password hashing
86
120
  */
87
121
  export const Password = {
88
- hash: (password: string) => Bun.password.hash(password, { algorithm: "argon2id" }),
122
+ hash: (password: string) => Bun.password.hash(password, {
123
+ algorithm: "argon2id",
124
+ memoryCost: 65536, // 64MB
125
+ timeCost: 2
126
+ }),
89
127
  verify: (password: string, hash: string) => Bun.password.verify(password, hash)
90
128
  };
91
129
 
92
130
  /**
93
131
  * 4. TOKEN GENERATOR
132
+ * Creates a "Bare Token" consisting of base64(payload).hex(signature)
94
133
  */
95
134
  export const createToken = async (payload: object, secret: string): Promise<string> => {
96
135
  const payloadStr = JSON.stringify(payload);
97
136
  const payloadBase64 = Buffer.from(payloadStr).toString('base64');
98
137
  const signature = await signData(payloadStr, secret);
99
138
  return `${payloadBase64}.${signature}`;
139
+ };
140
+
141
+ /**
142
+ * 5. ROLE AUTHORIZATION (Bonus Max Function)
143
+ * Ensures user has specific permissions after bareAuth
144
+ */
145
+ export const hasRole = (role: string) => {
146
+ return async (ctx: any, next: Next) => {
147
+ const user = ctx.get('user');
148
+ if (!user || user.role !== role) {
149
+ return ctx.status(403).json({ status: 'error', message: `Required role: ${role}` });
150
+ }
151
+ return next();
152
+ };
100
153
  };
package/src/bare.ts CHANGED
@@ -184,7 +184,7 @@
184
184
 
185
185
  // All comments in English
186
186
  import { Context, type Middleware, type Handler, type WSHandlers, type Next } from './context';
187
- import { typebox, zod, native } from './validators';
187
+ // import { typebox, zod, native } from './validators';
188
188
  import { BareRouter } from './router'; // Import your new router
189
189
 
190
190
  export * from './context';
package/src/context.ts CHANGED
@@ -15,7 +15,12 @@ export type Middleware =
15
15
  // export type Handler = (ctx: Context) => Promise<any> | any;
16
16
  export type ContextHandler = (ctx: Context) => Promise<any> | any;
17
17
  export type NativeHandler = (req: Request, params: Params) => Promise<any> | any;
18
-
18
+ export interface AuthUser {
19
+ id: number;
20
+ username: string;
21
+ role: string;
22
+ tier?: string;
23
+ }
19
24
  // 2. The Final Handler: This allows either (ctx) OR (req, params)
20
25
  export type Handler = ContextHandler | NativeHandler;
21
26
  export class Context {
@@ -146,6 +151,9 @@ export class Context {
146
151
  this.setHeader('location', url);
147
152
  return null;
148
153
  }
154
+ get user(): AuthUser | null {
155
+ return this.store['user'] || null;
156
+ }
149
157
  }
150
158
 
151
159
  export interface WSHandlers {
package/src/index.ts CHANGED
@@ -12,7 +12,8 @@ export type {
12
12
  Next,
13
13
  WSHandlers ,
14
14
  Context,
15
- Params
15
+ Params,
16
+ AuthUser
16
17
  } from './context';
17
18
 
18
19
  // Validation Middlewares