UNPKG

bknd

Version:

Lightweight Firebase/Supabase alternative built to run anywhere — incl. Next.js, React Router, Astro, Cloudflare, Bun, Node, AWS Lambda & more.

3 lines 29.7 kB
import {getRuntimeKey}from'hono/adapter';import {XMLParser}from'fast-xml-parser';import*as a from'@sinclair/typebox';import {SetErrorFunction,DefaultErrorFunction,Errors}from'@sinclair/typebox/errors';export{Errors}from'@sinclair/typebox/errors';import {Default,Check}from'@sinclair/typebox/value';export{Check,Default,Value}from'@sinclair/typebox/value';import Te from'dayjs';export{default as dayjs}from'dayjs';import or from'dayjs/plugin/weekOfYear.js';var be=Object.create;var Q=Object.defineProperty;var Oe=Object.getOwnPropertyDescriptor;var Ee=Object.getOwnPropertyNames;var we=Object.getPrototypeOf,Ae=Object.prototype.hasOwnProperty;var Re=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var ke=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of Ee(r))!Ae.call(e,o)&&o!==t&&Q(e,o,{get:()=>r[o],enumerable:!(n=Oe(r,o))||n.enumerable});return e};var Se=(e,r,t)=>(t=e!=null?be(we(e)):{},ke(Q(t,"default",{value:e,enumerable:true}),e));var le=Re((yn,P)=>{var c=String,ce=function(){return {isColorSupported:false,reset:c,bold:c,dim:c,italic:c,underline:c,inverse:c,hidden:c,strikethrough:c,black:c,red:c,green:c,yellow:c,blue:c,magenta:c,cyan:c,white:c,gray:c,bgBlack:c,bgRed:c,bgGreen:c,bgYellow:c,bgBlue:c,bgMagenta:c,bgCyan:c,bgWhite:c,blackBright:c,redBright:c,greenBright:c,yellowBright:c,blueBright:c,magentaBright:c,cyanBright:c,whiteBright:c,bgBlackBright:c,bgRedBright:c,bgGreenBright:c,bgYellowBright:c,bgBlueBright:c,bgMagentaBright:c,bgCyanBright:c,bgWhiteBright:c}};P.exports=ce();P.exports.createColors=ce;});function Mr(){return (navigator.userAgent.indexOf("Opera")||navigator.userAgent.indexOf("OPR"))!==-1?"Opera":navigator.userAgent.indexOf("Edg")!==-1?"Edge":navigator.userAgent.indexOf("Chrome")!==-1?"Chrome":navigator.userAgent.indexOf("Safari")!==-1?"Safari":navigator.userAgent.indexOf("Firefox")!==-1?"Firefox":navigator.userAgent.indexOf("MSIE")!==-1||document.documentMode?"IE":"unknown"}function $r(e){return Object.keys(e).map(r=>({key:r,value:e[r]}))}function F(e){return !e||e.length===0?e:e.charAt(0).toUpperCase()+e.slice(1)}function Ie(e,r=" "){return !e||e.length===0?e:e.split(r).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(r)}function Z(e,r=false){let o="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"+(r?"!@#$%^&*()_+{}:\"<>?|[];',./`~":""),s="";for(let l=0;l<e;l++)s+=o[Math.floor(Math.random()*o.length)];return s}function N(e){return !e||e.length===0?e:e.split("_").map(r=>r.charAt(0).toUpperCase()+r.slice(1).toLowerCase()).join(" ")}function E(e){return e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function _e(e){return /^[a-z]+(_[a-z]+)*$/.test(e)?"snake_case":/^[A-Z][a-zA-Z]*$/.test(e)?"PascalCase":/^[a-z][a-zA-Z]*$/.test(e)?"camelCase":/^[a-z]+(-[a-z]+)*$/.test(e)?"kebab-case":/^[A-Z]+(_[A-Z]+)*$/.test(e)?"SCREAMING_SNAKE_CASE":"unknown"}function Ce(e){switch(_e(e)){case "snake_case":return N(e);case "PascalCase":return C(E(e));case "camelCase":return F(C(E(e)));case "kebab-case":return C(e);case "SCREAMING_SNAKE_CASE":return N(e.toLowerCase());case "unknown":return F(e)}}function Gr(e){return Ce(e)}function C(e){return e.split("-").map(F).join(" ")}function Kr(e,r=" "){return Ie(N(e),r)}function zr(e,r){return e.replace(/\{\$(\w+)\}/g,(t,n)=>n in r?r[n]:t)}function qr(e,r){return r instanceof RegExp?r.test(e):typeof r=="string"&&r.startsWith("/")?new RegExp(r).test(e):typeof r=="string"?e.startsWith(r):false}function Yr(e){return String(e).normalize("NFKD").replace(/[\u0300-\u036f]/g,"").trim().toLowerCase().replace(/[^a-z0-9 -]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-")}function Wr(e,r=50,t="..."){return e.length<=r?e:e.substring(0,r)+t}function Jr(e,r=2){return JSON.stringify(e,null,r)}function ne(e){return Object.prototype.toString.call(e)==="[object Object]"}function b(e){return e!==null&&typeof e=="object"}function Xr(e,r){let t=new Set(r),n={};for(let[o,s]of Object.entries(e))t.has(o)||(n[o]=s);return n}function Hr(e){return Object.entries(e).reduce((r,[t,n])=>{try{r[t]=JSON.parse(n);}catch{r[t]=n;}return r},{})}function en(e,r){return Object.keys(r).reduce((t,n)=>(r[n]!==e[n]&&(t[n]=r[n]),t),{})}function J(e,r=[]){return e===null||typeof e!="object"?e:Array.isArray(e)?e.map(t=>J(t,r)):Object.keys(e).reduce((t,n)=>{let o=r.includes(n)?n:E(n);return t[o]=J(e[n],r),t},{})}function Fe(e,r){let t={};for(let n in e)r.some(s=>n.includes(s))||(typeof e[n]=="object"&&e[n]!==null&&!Array.isArray(e[n])?t[n]=Fe(e[n],r):t[n]=e[n]);return t}function Ne(e,r){return Object.entries(e).reduce((t,[n,o])=>{let s=r(o,n);return typeof s<"u"&&(t[n]=s),t},{})}var rn=Ne;function nn(e,r){Object.entries(e).forEach(([t,n])=>{r(n,t);},{});}function X(e,...r){if(!r.length)return e;let t=r.shift();if(b(e)&&b(t))for(let n in t)b(t[n])?(e[n]||Object.assign(e,{[n]:{}}),X(e[n],t[n])):Object.assign(e,{[n]:t[n]});return X(e,...r)}function De(e,r=""){let t=[];for(let n in e){let o=r?`${r}.${n}`:n;t.push(o),typeof e[n]=="object"&&e[n]!==null&&(t=t.concat(De(e[n],o)));}return t}function H(e,r="",t={}){for(let n in e)if(n in e){let o=r?`${r}.${n}`:n;typeof e[n]=="object"&&e[n]!==null&&!Array.isArray(e[n])?H(e[n],o,t):Array.isArray(e[n])?e[n].forEach((s,l)=>{let u=`${o}.${l}`;typeof s=="object"&&s!==null?H(s,u,t):t[u]=s;}):t[o]=e[n];}return t}function Ue(e){let r=1;for(let t in e)if(typeof e[t]=="object"){let n=Ue(e[t])+1;r=Math.max(n,r);}return r}function ee(e){return e&&Object.entries(e).reduce((r,[t,n])=>{if(n&&Array.isArray(n)&&n.some(o=>typeof o=="object")){let o=n.map(ee);o.length>0&&(r[t]=o);}else if(n&&typeof n=="object"&&!Array.isArray(n)){let o=ee(n);Object.keys(o).length>0&&(r[t]=o);}else n!==""&&n!==null&&n!==void 0&&(r[t]=n);return r},{})}function je(e,...r){for(let t of r)for(let[n,o]of Object.entries(t))o!==void 0&&(!ne(o)&&!Array.isArray(o)||Array.isArray(o)&&!Array.isArray(e[n])?e[n]=o:b(e[n])?je(e[n],o):e[n]=o);return e}function ve(e,r,t){for(let[n,o]of Object.entries(r)){let s=t(e[n],o,n,e,r);if(s!==void 0){e[n]=s;continue}o!==void 0&&(!ne(o)&&!Array.isArray(o)||Array.isArray(o)&&!Array.isArray(e[n])?e[n]=o:b(e[n])?ve(e[n],o,t):e[n]=o);}return e}function D(e,r){let t=o=>{if(o!==Object(o))return "primitive";if(Array.isArray(o))return "array";if(o instanceof Map)return "map";if(o!=null&&[null,Object.prototype].includes(Object.getPrototypeOf(o)))return "plainObject";if(o instanceof Function)return "function";throw new Error(`deeply comparing an instance of type ${e.constructor?.name} is not supported.`)},n=t(e);if(n!==t(r))return false;if(n==="primitive")return e===r||Number.isNaN(e)&&Number.isNaN(r);if(n==="array")return e.length===r.length&&e.every((o,s)=>D(o,r[s]));if(n==="map")return e.size===r.size&&[...e].every(([o,s])=>r.has(o)&&D(s,r.get(o)));if(n==="plainObject"){let o=new Map(Object.entries(e)),s=new Map(Object.entries(r));return o.size===s.size&&[...o].every(([l,u])=>s.has(l)&&D(u,s.get(l)))}else {if(n==="function")return e.toString()===r.toString();throw new Error("Unreachable")}}function Pe(e,r,t=void 0){let n=typeof r=="string"?r.split(/[.\[\]\"]+/).filter(o=>o):r;if(n.length===0)return e;try{let[o,...s]=n;return !o||!(o in e)?t:Pe(e[o],s,t)}catch{if(typeof t<"u")return t;throw new Error(`Invalid path: ${n.join(".")}`)}}function re(e,r=0,t=0){let n=r?` `:"",o=d=>r?" ".repeat(r*d):"",s=o(t+1),l=o(t);if(e===null)return "null";if(e===void 0)return "undefined";let u=typeof e;if(u==="string")return JSON.stringify(e);if(u==="number"||u==="boolean")return String(e);if(Array.isArray(e)){let d=e.map(h=>re(h,r,t+1)).join(", "+(r?n+s:""));return "["+(r&&e.length?n+s:"")+d+(r&&e.length?n+l:"")+"]"}if(u==="object"){let d=Object.entries(e).map(([_,he])=>(/^[A-Za-z_$][\w$]*$/.test(_)?_:JSON.stringify(_))+": "+re(he,r,t+1)),h=d.join(", "+(r?n+s:""));return "{"+(r&&d.length?n+s:"")+h+(r&&d.length?n+l:"")+"}"}throw new TypeError(`Unsupported data type: ${u}`)}function tn(e,r){return r.reduce((t,n)=>(n in e&&(t[n]=e[n]),t),{})}var te=class e{marks=[];startTime;endTime=null;constructor(){this.startTime=performance.now();}static start(){return new e}mark(r){if(this.endTime!==null)throw new Error("Cannot add marks after perf measurement has been closed.");let t=performance.now(),n=this.marks.length>0?this.marks[this.marks.length-1].time:this.startTime,o=t-n;this.marks.push({mark:r,time:o});}close(){if(this.endTime!==null)throw new Error("Perf measurement has already been closed.");this.endTime=performance.now();}result(){if(this.endTime===null)throw new Error("Perf measurement has not been closed yet.");let r=this.endTime-this.startTime;return {total:Number.parseFloat(r.toFixed(2)),marks:this.marks.map(t=>({mark:t.mark,time:Number.parseFloat(t.time.toFixed(2))}))}}static async execute(r,t=1){let n=e.start();for(let o=0;o<t;o++)await r(),n.mark(`iteration-${o}`);return n.close(),n.result()}};var U={video:["mp4","webm"],audio:["ogg"],image:["jpeg","png","gif","webp","bmp","tiff","avif","heic","heif"],text:["html","css","mdx","yaml","vcard","csv","vtt"],application:["zip","xml","toml","json","json5"],font:["woff","woff2","ttf","otf"]},f={vnd:"vnd.openxmlformats-officedocument",z:"application/x-7z-compressed",t:(e="plain")=>`text/${e}`,a:(e="octet-stream")=>`application/${e}`,i:e=>`image/${e}`,v:e=>`video/${e}`},j=new Map([["7z",f.z],["7zip",f.z],["ai",f.a("pdf")],["apk",f.a("vnd.android.package-archive")],["doc",f.a("msword")],["docx",`${f.vnd}.wordprocessingml.document`],["eps",f.a("postscript")],["epub",f.a("epub+zip")],["ini",f.t()],["jar",f.a("java-archive")],["jsonld",f.a("ld+json")],["jpg",f.i("jpeg")],["log",f.t()],["m3u",f.t()],["m3u8",f.a("vnd.apple.mpegurl")],["manifest",f.t("cache-manifest")],["md",f.t("markdown")],["mkv",f.v("x-matroska")],["mp3",f.a("mpeg")],["mobi",f.a("x-mobipocket-ebook")],["ppt",f.a("powerpoint")],["pptx",`${f.vnd}.presentationml.presentation`],["qt",f.v("quicktime")],["svg",f.i("svg+xml")],["tif",f.i("tiff")],["tsv",f.t("tab-separated-values")],["tgz",f.a("x-tar")],["txt",f.t()],["text",f.t()],["vcd",f.a("x-cdlink")],["vcs",f.t("x-vcalendar")],["wav",f.a("x-wav")],["webmanifest",f.a("manifest+json")],["xls",f.a("vnd.ms-excel")],["xlsx",`${f.vnd}.spreadsheetml.sheet`],["yml",f.t("yaml")]]);function oe(e){try{let r=e.split(".").pop();if(!r)return f.a();for(let[t,n]of Object.entries(U))if(n.includes(r))return `${t}/${r}`;return j.get(r)}catch{return f.a()}}function ie(e,r=[]){let t=e.toLowerCase();if(r.includes(t))return false;if(Object.entries(U).flatMap(([n,o])=>o.map(s=>`${n}/${s}`)).includes(t))return true;for(let[n,o]of j.entries())if(o===t&&!r.includes(n))return true;return false}function se(e){let r=e.toLowerCase();for(let[t,n]of Object.entries(U))for(let o of n)if(r===`${t}/${o}`)return o;for(let[t,n]of j.entries())if(n===r)return t;return ""}function Be(){let e=globalThis;return e?.process?.env?.NEXT_RUNTIME==="nodejs"?"nextjs":e?.process?.env?.NEXT_RUNTIME==="edge"?"nextjs-edge":typeof window<"u"&&window.__NEXT_DATA__?"nextjs-client":getRuntimeKey()}var ae={redirects_non_fq:true};function ln(e){return Be().startsWith("nextjs")&&(ae.redirects_non_fq=false),ae[e]}function fn(){try{return global?.process?.release?.name==="node"}catch{return false}}function v(e,r){if(!e)throw new Error(r)}var p=Se(le());function Me(e){return e?{...Object.fromEntries(e.entries())}:{}}function pn(e,r){let t=Me(e),n={};for(let o of r)t[o]&&(n[o]=t[o]);return n}function mn(e,r){let t=new Headers;for(let n of r)e.has(n)&&t.set(n,e.get(n));return t}var dn=(e,r)=>{let t=e;for(let[n,o]of Object.entries(r)){let s=new RegExp(`/:${n}(?:{[^/]+})?`);t=t.replace(s,`/${o}`);}return t};function gn(e,r){let t="";function n(o){return r?.encode?encodeURIComponent(o):o}for(let o in e){let s=e[o];if(s!==void 0)if(Array.isArray(s))for(let l=0;l<s.length;l++)t.length>0&&(t+="&"),t+=`${n(o)}=${n(s[l])}`;else typeof s=="object"&&(s=JSON.stringify(s)),t.length>0&&(t+="&"),t+=`${n(o)}=${n(s)}`;}return (r?.prefix||"")+t}function Tn(e){function r(l){if(!l)return "";let u=decodeURIComponent(l);if(u==="false")return false;if(u==="true")return true;try{return JSON.parse(u)}catch{return +u*0===0?+u:u}}let t,n,o={},s=e.split("&");for(;t=s.shift();)t=t.split("="),n=t.shift(),o[n]!==void 0?o[n]=[].concat(o[n],r(t.shift())):o[n]=r(t.shift());return o}var Ve=(i=>(i[i.CONTINUE=100]="CONTINUE",i[i.PROCESSING=102]="PROCESSING",i[i.EARLY_HINTS=103]="EARLY_HINTS",i[i.OK=200]="OK",i[i.CREATED=201]="CREATED",i[i.ACCEPTED=202]="ACCEPTED",i[i.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",i[i.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",i[i.MULTI_STATUS=207]="MULTI_STATUS",i[i.ALREADY_REPORTED=208]="ALREADY_REPORTED",i[i.IM_USED=226]="IM_USED",i[i.MULTIPLE_CHOICES=300]="MULTIPLE_CHOICES",i[i.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",i[i.FOUND=302]="FOUND",i[i.SEE_OTHER=303]="SEE_OTHER",i[i.USE_PROXY=305]="USE_PROXY",i[i.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",i[i.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",i[i.BAD_REQUEST=400]="BAD_REQUEST",i[i.UNAUTHORIZED=401]="UNAUTHORIZED",i[i.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",i[i.FORBIDDEN=403]="FORBIDDEN",i[i.NOT_FOUND=404]="NOT_FOUND",i[i.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",i[i.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",i[i.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",i[i.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",i[i.CONFLICT=409]="CONFLICT",i[i.GONE=410]="GONE",i[i.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",i[i.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",i[i.PAYLOAD_TOO_LARGE=413]="PAYLOAD_TOO_LARGE",i[i.URI_TOO_LONG=414]="URI_TOO_LONG",i[i.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",i[i.RANGE_NOT_SATISFIABLE=416]="RANGE_NOT_SATISFIABLE",i[i.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",i[i.IM_A_TEAPOT=418]="IM_A_TEAPOT",i[i.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",i[i.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",i[i.LOCKED=423]="LOCKED",i[i.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",i[i.TOO_EARLY=425]="TOO_EARLY",i[i.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",i[i.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",i[i.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",i[i.REQUEST_HEADER_FIELDS_TOO_LARGE=431]="REQUEST_HEADER_FIELDS_TOO_LARGE",i[i.UNAVAILABLE_FOR_LEGAL_REASONS=451]="UNAVAILABLE_FOR_LEGAL_REASONS",i[i.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",i[i.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",i[i.BAD_GATEWAY=502]="BAD_GATEWAY",i[i.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",i[i.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",i[i.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",i[i.VARIANT_ALSO_NEGOTIATES=506]="VARIANT_ALSO_NEGOTIATES",i[i.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",i[i.LOOP_DETECTED=508]="LOOP_DETECTED",i[i.NOT_EXTENDED=510]="NOT_EXTENDED",i[i.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED",i))(Ve||{}),$e=(o=>(o[o.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",o[o.NO_CONTENT=204]="NO_CONTENT",o[o.RESET_CONTENT=205]="RESET_CONTENT",o[o.NOT_MODIFIED=304]="NOT_MODIFIED",o))($e||{});var fe=(e,r)=>typeof e=="string"?[1,"1","true"].includes(e):!!(e||r);var Ge={cli_log_level:{key:"BKND_CLI_LOG_LEVEL",validate:e=>{if(typeof e=="string"&&["log","info","warn","error","debug"].includes(e.toLowerCase()))return e.toLowerCase()}},cli_create_ref:{key:"BKND_CLI_CREATE_REF",validate:e=>typeof e=="string"?e:void 0},cli_telemetry:{key:"BKND_CLI_TELEMETRY",validate:e=>{if(!(typeof e>"u"))return fe(e,true)}},modules_debug:{key:"BKND_MODULES_DEBUG",validate:fe}},L=(e,r,t)=>{try{let n=t?.source??process.env,o=Ge[e],s=n[o.key],l=o.validate(s);if(typeof l<"u")return t?.onValid?.(l),l;t?.onFallback?.(s);}catch{}return r};function On(e){return new XMLParser().parse(e)}function ze(){try{let e=process||{},r=e.argv||[],t=e.env||{};return !(t.NO_COLOR||r.includes("--no-color"))&&(!!t.FORCE_COLOR||r.includes("--color")||e.platform==="win32"||(e.stdout||{}).isTTY&&t.TERM!=="dumb"||!!t.CI)}catch{return false}}var B={critical:{prefix:"CRT",color:p.default.red,args_color:p.default.red,original:console.error},error:{prefix:"ERR",color:p.default.red,args_color:p.default.red,original:console.error},warn:{prefix:"WRN",color:p.default.yellow,args_color:p.default.yellow,original:console.warn},info:{prefix:"INF",color:p.default.cyan,original:console.info},log:{prefix:"LOG",color:p.default.dim,args_color:p.default.dim,original:console.log},debug:{prefix:"DBG",color:p.default.yellow,args_color:p.default.dim,original:console.debug}};function qe(e,r){let t=ze(),n=B[e],o=n.color(`[${n.prefix}]`),s=r.map(l=>"args_color"in n&&t&&typeof l=="string"?n.args_color(l):l);return n.original(o,p.default.gray(pe()),...s)}var ye=L("cli_log_level","log"),w=globalThis.__consoleConfig??={level:ye},ue=Object.keys(B),T=new Proxy(w,{get:(e,r)=>{switch(r){case "original":return console;case "setLevel":return o=>{w.level=o;};case "resetLevel":return ()=>{w.level=ye;}}let t=ue.indexOf(w.level),n=ue.indexOf(r);return r in B&&n<=t?(...o)=>qe(r,o):()=>null}});function Ye(e){let r="";typeof e=="string"?r=e:e instanceof Headers?r=e.get("Content-Disposition")||"":e instanceof Request&&(r=e.headers.get("Content-Disposition")||"");let t=r.match(/filename\*?=(?:UTF-8'')?("?)([^";]+)\1/);return t?t[2]:void 0}function We(e){return typeof e=="object"&&e!==null&&typeof e.getReader=="function"}function A(e){return typeof e=="object"&&e!==null&&typeof e.arrayBuffer=="function"&&typeof e.type=="string"}function R(e){return A(e)&&typeof e.name=="string"&&typeof e.lastModified=="number"}function Qe(e){return typeof e=="object"&&e!==null&&Object.prototype.toString.call(e)==="[object ArrayBuffer]"}function Ze(e){return typeof e=="object"&&e!==null&&ArrayBuffer.isView(e)}var Je={"89504E47":"image/png",FFD8FF:"image/jpeg",47494638:"image/gif","49492A00":"image/tiff","4D4D002A":"image/tiff","52494646????57454250":"image/webp","504B0304":"application/zip",25504446:"application/pdf","00000020667479706D70":"video/mp4","000001BA":"video/mpeg","000001B3":"video/mpeg","1A45DFA3":"video/webm","4F676753":"audio/ogg",494433:"audio/mpeg",FFF1:"audio/aac",FFF9:"audio/aac","52494646????41564920":"audio/wav","52494646????57415645":"audio/wave","52494646????415550":"audio/aiff"};async function Xe(e){if(!e)return;let r;if(We(e)){let n=e.getReader(),{value:o}=await n.read();if(!o)return;r=new Uint8Array(o);}else if(A(e)||R(e))r=new Uint8Array(await e.slice(0,12).arrayBuffer());else if(Qe(e))r=new Uint8Array(e);else if(Ze(e))r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength);else if(typeof e=="string")r=new TextEncoder().encode(e);else return;let t=Array.from(r.slice(0,12)).map(n=>n.toString(16).padStart(2,"0").toUpperCase()).join("");for(let[n,o]of Object.entries(Je))if(new RegExp("^"+n.replace(/\?\?/g,"..")).test(t))return o}async function He(e){let r=e.req.header("Content-Type")??"application/octet-stream";if(r?.startsWith("multipart/form-data")||r?.startsWith("application/x-www-form-urlencoded"))try{let t=await e.req.formData();if([...t.values()].length>0){let n=[...t.values()][0];return await me(n)}}catch(t){T.warn("Error parsing form data",t);}else try{let t=await e.req.blob();if(R(t))return t;if(A(t))return await me(t,{name:Ye(e.req.raw),type:r})}catch(t){T.warn("Error parsing blob",t);}throw new Error("No file found in request")}async function jn(e){let r=e.req.header("Content-Type")??"application/octet-stream";if(!r?.startsWith("multipart/form-data")&&!r?.startsWith("application/x-www-form-urlencoded")){let t=e.req.raw.body;if(t)return t}return He(e)}async function vn(e,r){let t=R(e),n=t?e.type:r;v(n&&typeof n=="string"&&n.startsWith("image/"),"type must be image/*");let o=t?await e.arrayBuffer():e;v(o.byteLength>=128,"Buffer must be at least 128 bytes");let s=new DataView(o);if(n==="image/jpeg"){let l=2;for(;l<s.byteLength;){let u=s.getUint16(l);if(l+=2,u===65472||u===65474)return {width:s.getUint16(l+5),height:s.getUint16(l+3)};l+=s.getUint16(l);}}else {if(n==="image/png")return {width:s.getUint32(16),height:s.getUint32(20)};if(n==="image/gif")return {width:s.getUint16(6),height:s.getUint16(8)};if(n==="image/tiff"){let l=s.getUint16(0)===18761,u=s.getUint32(4,l),d=s.getUint32(u+18,l),h=s.getUint32(u+10,l);return {width:d,height:h}}}throw new Error("Unsupported image format")}async function me(e,r={}){if(R(e))return e;if(!A(e))throw new Error("Not a Blob");let t=ie(r.type,["application/octet-stream"])?r.type:await Xe(e),n=t?se(t):"",o=r.name||[Z(16),n].filter(Boolean).join(".");return new File([e],o,{type:t||oe(o),lastModified:Date.now()})}var V=Symbol("tb-parse-validation"),k=class extends Error{constructor(t,n,o){super(o??`Invalid: ${JSON.stringify(n)}`);this.schema=t;this.data=n;this.errors=[...Errors(t,n)];}errors;first(){return this.errors[0]}firstToString(){let t=this.first();return `${t.message} at "${t.path}"`}toJSON(){return {message:this.message,schema:this.schema,data:this.data,errors:this.errors}}};function Vn(e){let r=structuredClone(e);return $(r,false),r}function $(e,r=true){if(typeof e=="object"&&e!==null&&!Array.isArray(e)){r?e[V]=true:delete e[V];for(let t in e)typeof e[t]=="object"&&e[t]!==null&&$(e[t],r);}}function nr(e,r,t){if(!t?.forceParse&&typeof r=="object"&&V in r)return t?.useDefaults===false?r:Default(e,r);let n=t?.useDefaults===false?r:Default(e,r);if(Check(e,n))return t?.skipMark!==true&&$(n,true),n;if(t?.onError)t.onError(Errors(e,r));else throw new k(e,r)}function $n(e,r){let t=Default(e,r);if(Check(e,t))return t;throw new k(e,r)}function Gn(e,r,t){return nr(e,r,t)}function tr(e){e.Set("StringEnum",(r,t)=>typeof t=="string"&&r.enum.includes(t));}tr(a.TypeRegistry);var Kn=(e,r)=>a.Type.Unsafe({[a.Kind]:"StringEnum",type:"string",enum:e,...r}),zn=(e,r)=>a.Type.Object({},{...r,additionalProperties:e}),qn=(e,r)=>a.Type.Literal(e,{...r,default:e,const:e,readOnly:true}),Yn=a.Type.String({pattern:"^[a-zA-Z_][a-zA-Z0-9_]*$",minLength:2,maxLength:150}),Wn=(e,r)=>a.Type.Object(e,{...r,additionalProperties:false});SetErrorFunction(e=>e?.schema?.errorMessage?e.schema.errorMessage:e?.schema?.[a.Kind]==="StringEnum"?`Expected: ${e.schema.enum.map(r=>`"${r}"`).join(", ")}`:DefaultErrorFunction(e));Te.extend(or);function pe(e){return Te(e).format("YYYY-MM-DD HH:mm:ss")}function Xn(e){return (e?new Date(e):new Date).toISOString().replace("T"," ").split(".")[0]}function Hn(){return new Date().getTimezoneOffset()}function et(){return Intl.DateTimeFormat().resolvedOptions().timeZone}var ir=["SHA-1","SHA-256","SHA-384","SHA-512"];async function G(e,r,t,n){if(!ir.includes(e))throw new Error(`Invalid hash algorithm: ${e}`);let o=new TextEncoder().encode((t??"")+r+(n??"")),s=await crypto.subtle.digest(e,o);return Array.from(new Uint8Array(s)).map(u=>u.toString(16).padStart(2,"0")).join("")}var nt={sha256:async(e,r,t)=>G("SHA-256",e,r,t),sha1:async(e,r,t)=>G("SHA-1",e,r,t)};async function tt(e){let r=typeof e=="string"?e:JSON.stringify(e);return await G("SHA-1",r)}function ot(e){let r=new Uint8Array(e);return crypto.getRandomValues(r),Array.from(r,t=>String.fromCharCode(33+t%94)).join("")}var y=[];for(let e=0;e<256;++e)y.push((e+256).toString(16).slice(1));function S(e,r=0){return (y[e[r+0]]+y[e[r+1]]+y[e[r+2]]+y[e[r+3]]+"-"+y[e[r+4]]+y[e[r+5]]+"-"+y[e[r+6]]+y[e[r+7]]+"-"+y[e[r+8]]+y[e[r+9]]+"-"+y[e[r+10]]+y[e[r+11]]+y[e[r+12]]+y[e[r+13]]+y[e[r+14]]+y[e[r+15]]).toLowerCase()}var K,sr=new Uint8Array(16);function x(){if(!K){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");K=crypto.getRandomValues.bind(crypto);}return K(sr)}var ar=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),z={randomUUID:ar};function cr(e,r,t){if(z.randomUUID&&!r&&!e)return z.randomUUID();e=e||{};let n=e.random??e.rng?.()??x();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,r){if(t=t||0,t<0||t+16>r.length)throw new RangeError(`UUID byte range ${t}:${t+15} is out of buffer bounds`);for(let o=0;o<16;++o)r[t+o]=n[o];return r}return S(n)}var q=cr;var Y={};function lr(e,r,t){let n;if(e)n=xe(e.random??e.rng?.()??x(),e.msecs,e.seq,r,t);else {let o=Date.now(),s=x();fr(Y,o,s),n=xe(s,Y.msecs,Y.seq,r,t);}return r??S(n)}function fr(e,r,t){return e.msecs??=-1/0,e.seq??=0,r>e.msecs?(e.seq=t[6]<<23|t[7]<<16|t[8]<<8|t[9],e.msecs=r):(e.seq=e.seq+1|0,e.seq===0&&e.msecs++),e}function xe(e,r,t,n,o=0){if(e.length<16)throw new Error("Random bytes length must be >= 16");if(!n)n=new Uint8Array(16),o=0;else if(o<0||o+16>n.length)throw new RangeError(`UUID byte range ${o}:${o+15} is out of buffer bounds`);return r??=Date.now(),t??=e[6]*127<<24|e[7]<<16|e[8]<<8|e[9],n[o++]=r/1099511627776&255,n[o++]=r/4294967296&255,n[o++]=r/16777216&255,n[o++]=r/65536&255,n[o++]=r/256&255,n[o++]=r&255,n[o++]=112|t>>>28&15,n[o++]=t>>>20&255,n[o++]=128|t>>>14&63,n[o++]=t>>>6&255,n[o++]=t<<2&255|e[10]&3,n[o++]=e[11],n[o++]=e[12],n[o++]=e[13],n[o++]=e[14],n[o++]=e[15],n}var W=lr;function bt(){return q()}function Ot(){return W()}var g=(e,r)=>e===r,ur=e=>a.ValueGuard.IsString(e)||a.ValueGuard.IsNumber(e)||a.ValueGuard.IsBoolean(e),yr=e=>a.ValueGuard.IsObject(e)&&a.ValueGuard.IsArray(e.enum)&&e.enum.every(r=>ur(r)),pr=e=>a.ValueGuard.IsObject(e)&&a.ValueGuard.IsArray(e.allOf),mr=e=>a.ValueGuard.IsObject(e)&&a.ValueGuard.IsArray(e.anyOf),dr=e=>a.ValueGuard.IsObject(e)&&a.ValueGuard.IsArray(e.oneOf),gr=e=>a.ValueGuard.IsObject(e)&&g(e.type,"array")&&a.ValueGuard.IsArray(e.items),Tr=e=>a.ValueGuard.IsObject(e)&&g(e.type,"array")&&!a.ValueGuard.IsArray(e.items)&&a.ValueGuard.IsObject(e.items),xr=e=>a.ValueGuard.IsObject(e)&&a.ValueGuard.IsObject(e.const),hr=e=>a.ValueGuard.IsObject(e)&&g(e.type,"string"),br=e=>a.ValueGuard.IsObject(e)&&g(e.type,"number"),Or=e=>a.ValueGuard.IsObject(e)&&g(e.type,"integer"),Er=e=>a.ValueGuard.IsObject(e)&&g(e.type,"boolean"),wr=e=>a.ValueGuard.IsObject(e)&&g(e.type,"null"),Ar=e=>a.ValueGuard.IsObject(e),Rr=e=>a.ValueGuard.IsObject(e)&&g(e.type,"object")&&Ar(e.properties)&&(e.required===void 0||a.ValueGuard.IsArray(e.required)&&e.required.every(r=>a.ValueGuard.IsString(r)));function I(e){return e.map(r=>O(r))}function kr(e){return e.map(r=>a.Literal(r))}function Sr(e){return a.IntersectEvaluated(I(e.allOf),e)}function Ir(e){return a.UnionEvaluated(I(e.anyOf),e)}function _r(e){return a.UnionEvaluated(I(e.oneOf),e)}function Cr(e){return a.UnionEvaluated(kr(e.enum))}function Fr(e){return a.Tuple(I(e.items),e)}function Nr(e){return a.Array(O(e.items),e)}function Dr(e){return a.Literal(e.const,e)}function Ur(e){let r=globalThis.Object.getOwnPropertyNames(e.properties).reduce((t,n)=>({...t,[n]:e.required?.includes(n)?O(e.properties[n]):a.Optional(O(e.properties[n]))}),{});return a.Object(r,e)}function O(e){return pr(e)?Sr(e):mr(e)?Ir(e):dr(e)?_r(e):yr(e)?Cr(e):Rr(e)?Ur(e):gr(e)?Fr(e):Tr(e)?Nr(e):xr(e)?Dr(e):hr(e)?a.String(e):br(e)?a.Number(e):Or(e)?a.Integer(e):Er(e)?a.Boolean(e):wr(e)?a.Null(e):a.Unknown(e||{})}var jr={log:console.log,warn:console.warn,error:console.error};async function Rt(e,r=["log","warn","error"]){let t={log:console.log,warn:console.warn,error:console.error};vr(r);let n=()=>{Object.entries(t).forEach(([o,s])=>{console[o]=s;});};try{let o=await e();return n(),o}catch(o){throw n(),o}}function vr(e=["log","warn"]){e.forEach(r=>{console[r]=()=>null;}),T.setLevel("critical");}function kt(){Object.entries(jr).forEach(([e,r])=>{console[e]=r;}),T.resetLevel();}function St(){let e=process.memoryUsage();return {rss:e.rss/1024/1024,heapUsed:e.heapUsed/1024/1024,external:e.external/1024/1024,arrayBuffers:e.arrayBuffers/1024/1024}}function _t(e,r,t){let n=Math.min(r,t),o=Math.max(r,t);return Math.max(n,Math.min(e,o))}function Ct(e){return e==null?0:typeof e=="number"?e:Number.parseInt(e,10)}var Ft={fileSize:(e,r=2)=>{if(e===0)return "0 Bytes";let t=1024,n=r<0?0:r,o=["Bytes","KB","MB","GB","TB"],s=Math.floor(Math.log(e)/Math.log(t));return Number.parseFloat((e/t**s).toFixed(n))+" "+o[s]}}; export{qn as Const,O as FromSchema,ir as HashAlgorithms,Ve as HttpStatus,$e as HttpStatusEmpty,te as Perf,Wn as StrictObject,Kn as StringEnum,Yn as StringIdentifier,zn as StringRecord,k as TypeInvalidError,Jr as _jsonp,Gr as autoFormatString,me as blobToFile,tt as checksum,_t as clampNumber,pe as datetimeStringLocal,Xn as datetimeStringUTC,Tn as decodeSearch,_e as detectCase,vn as detectImageDimensions,G as digest,vr as disableConsoleLog,kt as enableConsoleLog,gn as encodeSearch,Ct as ensureInt,Fe as filterKeys,H as flattenObject,St as formatMemoryUsage,Ft as formatNumber,jn as getBodyFromContext,Mr as getBrowser,Ye as getContentName,He as getFileFromContext,De as getFullPathKeys,Pe as getPath,Be as getRuntimeKey,et as getTimezone,Hn as getTimezoneOffset,nt as hash,Me as headersToObject,Ce as identifierToHumanReadable,v as invariant,Qe as isArrayBuffer,Ze as isArrayBufferView,A as isBlob,D as isEqual,R as isFile,fn as isNode,b as isObject,ne as isPlainObject,We as isReadableStream,C as kebabToPascalWithSpaces,en as keepChanged,$ as mark,X as mergeDeep,je as mergeObject,ve as mergeObjectWith,ee as objectCleanEmpty,Ue as objectDepth,nn as objectEach,J as objectKeysPascalToKebab,re as objectToJsLiteral,$r as objectToKeyValueArray,rn as objectTransform,Xr as omitKeys,nr as parse,$n as parseDecode,E as pascalToKebab,qr as patternMatch,tn as pick,pn as pickHeaders,mn as pickHeaders2,Z as randomString,tr as registerCustomTypeboxKinds,zr as replaceSimplePlaceholders,dn as replaceUrlParam,ln as runtimeSupports,Hr as safelyParseObjectValues,ot as secureRandomString,Yr as slugify,N as snakeToPascalWithSpaces,Gn as strictParse,Vn as stripMark,Ne as transformObject,Wr as truncate,F as ucFirst,Ie as ucFirstAll,Kr as ucFirstAllSnakeToPascalWithSpaces,bt as uuid,Ot as uuidv7,Rt as withDisabledConsole,On as xmlToObject};