ziex 0.1.0-dev.1360 → 0.1.0-dev.1377

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.
Files changed (39) hide show
  1. package/aws-lambda/index.js +20 -29
  2. package/build.zig +118 -2
  3. package/build.zig.zon +13 -2
  4. package/cloudflare/index.js +1768 -1954
  5. package/index.js +190 -218
  6. package/{pkg/ziex/src/react → jsx}/dom.d.ts +5 -9
  7. package/{pkg/ziex/src/react → jsx}/index.d.ts +1 -1
  8. package/{react → jsx}/index.js +19 -25
  9. package/{pkg/ziex/src/react → jsx}/types.d.ts +14 -9
  10. package/package.json +6 -14
  11. package/vercel/index.js +0 -15
  12. package/wasm/index.js +259 -239
  13. package/wasm/init.dev.js +249 -191
  14. package/wasm/init.js +3 -3
  15. package/pkg/ziex/src/zx.d.ts +0 -1
  16. package/vendor/jsz/js/src/index.d.ts +0 -1
  17. package/vendor/jsz/js/src/zigjs.d.ts +0 -107
  18. /package/{pkg/ziex/src/app.d.ts → app.d.ts} +0 -0
  19. /package/{pkg/ziex/src/aws-lambda → aws-lambda}/index.d.ts +0 -0
  20. /package/{pkg/ziex/src/browser → browser}/kv.d.ts +0 -0
  21. /package/{pkg/ziex/src/cloudflare → cloudflare}/app.d.ts +0 -0
  22. /package/{pkg/ziex/src/cloudflare → cloudflare}/db.d.ts +0 -0
  23. /package/{pkg/ziex/src/cloudflare → cloudflare}/do.d.ts +0 -0
  24. /package/{pkg/ziex/src/cloudflare → cloudflare}/index.d.ts +0 -0
  25. /package/{pkg/ziex/src/cloudflare → cloudflare}/kv.d.ts +0 -0
  26. /package/{pkg/ziex/src/cloudflare → cloudflare}/worker.d.ts +0 -0
  27. /package/{pkg/ziex/src/db.d.ts → db.d.ts} +0 -0
  28. /package/{pkg/ziex/src/fetch.d.ts → fetch.d.ts} +0 -0
  29. /package/{pkg/ziex/src/index.d.ts → index.d.ts} +0 -0
  30. /package/{pkg/ziex/src/kv.d.ts → kv.d.ts} +0 -0
  31. /package/{pkg/ziex/src/runtime.d.ts → runtime.d.ts} +0 -0
  32. /package/{pkg/ziex/src/vercel → vercel}/index.d.ts +0 -0
  33. /package/{pkg/ziex/src/wasi.d.ts → wasi.d.ts} +0 -0
  34. /package/{pkg/ziex/src/wasm → wasm}/core.d.ts +0 -0
  35. /package/{pkg/ziex/src/wasm → wasm}/dom.d.ts +0 -0
  36. /package/{pkg/ziex/src/wasm → wasm}/index.d.ts +0 -0
  37. /package/{pkg/ziex/src/wasm → wasm}/init.d.ts +0 -0
  38. /package/{pkg/ziex/src/wasm → wasm}/types.d.ts +0 -0
  39. /package/{pkg/ziex/src/wasm → wasm}/wasi.d.ts +0 -0
package/wasm/init.js CHANGED
@@ -1,3 +1,3 @@
1
- var L={nan:0,null:1,true:2,false:3,undefined:4,globalThis:5,runtime:6};var n=new TextEncoder,FK=new TextDecoder("utf-8");class I{memory;values=[NaN,null,!0,!1,void 0,globalThis,this];idPool=[];importObject(){return{"zig-js":{valueGet:this.valueGet.bind(this),valueSet:this.valueSet.bind(this),valueDeinit:this.valueDeinit.bind(this),valueObjectCreate:this.valueObjectCreate.bind(this),valueStringCreate:this.valueStringCreate.bind(this),valueStringLen:this.valueStringLen.bind(this),valueStringCopy:this.valueStringCopy.bind(this),valueNew:this.valueNew.bind(this),funcApply:this.funcApply.bind(this)}}}valueGet(K,$,U,q){let D=this.loadValue($),Y=this.loadString(U,q),F=Reflect.get(D,Y);this.storeValue(K,F)}valueSet(K,$,U,q){let D=this.loadValue(K),Y=this.loadString($,U),F=this.loadRef(q);Reflect.set(D,Y,F)}valueDeinit(K){if(K>6)this.values[K]=null,this.idPool.push(K)}valueObjectCreate(K){this.storeValue(K,{})}valueStringCreate(K,$,U){let q=this.loadString($,U);this.storeValue(K,q)}valueStringLen(K){let $=this.loadValue(K);return n.encode($).byteLength}valueStringCopy(K,$,U){if(this.memory==null)return;let q=this.loadValue(K),D=n.encode(q);if(D.byteLength>U)return;if(D.length===0)return;new Uint8Array(this.memory.buffer,$,D.length).set(D)}valueNew(K,$,U,q){let D=this.loadValue($),Y=[];for(let J=0;J<q;J++)Y.push(this.loadRef(U+J*8));let F=Reflect.construct(D,Y);this.storeValue(K,F)}funcApply(K,$,U,q,D){let Y=this.loadValue($),F=this.loadRef(U),J=[];for(let Q=0;Q<D;Q++)J.push(this.loadRef(q+Q*8));let V=Reflect.apply(Y,F,J);this.storeValue(K,V)}loadValue(K){return this.values[K]}deleteValue(K){let $=this.values[K];return this.valueDeinit(K),$}loadRef(K){if(this.memory==null)return;let U=new DataView(this.memory.buffer).getFloat64(K,!0);if(!isNaN(U))return U;let q=this.loadRefId(K);return this.values[q]}loadRefId(K){if(this.memory==null)return 0;return new DataView(this.memory.buffer).getUint32(K,!0)}storeValue(K,$){if(this.memory==null)return;let U=new DataView(this.memory.buffer);if(typeof $==="number"){if(isNaN($))U.setUint32(K,L.nan,!0),U.setUint32(K+4,2146959360,!0);else U.setFloat64(K,$,!0);return}if($===null){U.setUint32(K,L.null,!0),U.setUint32(K+4,2146959360,!0);return}if($===void 0){U.setUint32(K,L.undefined,!0),U.setUint32(K+4,2146959360,!0);return}if(typeof $==="boolean"){U.setUint32(K,$?L.true:L.false,!0),U.setUint32(K+4,2146959360,!0);return}if(typeof $==="bigint"){U.setFloat64(K,Number($),!0);return}let q=this.idPool.pop();if(q===void 0)q=this.values.length;this.values[q]=$;let D=0;switch(typeof $){case"object":D=1;break;case"string":D=2;break;case"symbol":D=3;break;case"function":D=4;break}U.setUint32(K,Number(q),!0),U.setUint32(K+4,2146959360|D,!0)}loadString(K,$){if(this.memory==null)return"";let q=new Uint8ClampedArray(this.memory.buffer,K,Number($)).slice();return FK.decode(q)}}function _(K){let $=new TextEncoder,U=new TextDecoder;function q(Q,X){return U.decode(new Uint8Array(K().buffer,Q,X))}function D(Q,X,G){if(G.length>X)return-2;return new Uint8Array(K().buffer,Q,G.length).set(G),G.length}function Y(Q,X){return new Uint8Array(K().buffer,Q,X)}function F(Q){let X={};try{X=JSON.parse(Q)}catch{for(let G of Q.split(`
2
- `)){let T=G.indexOf(":");if(T>0)X[G.slice(0,T)]=G.slice(T+1)}}return X}async function J(Q,X,G,T,O,W,Z,B,C,N,S,h){let s=q(Q,X),b=T>0?q(G,T):"GET",DK=W>0?q(O,W):"{}",qK=B>0?Y(Z,B):void 0,l=F(DK),a=new AbortController,y=C>0?setTimeout(()=>a.abort(),C):null;try{let M=await fetch(s,{method:b,headers:Object.keys(l).length>0?l:void 0,body:b!=="GET"&&b!=="HEAD"?qK:void 0,signal:a.signal});if(y)clearTimeout(y);new DataView(K().buffer).setUint16(N,M.status,!0);let m=new Uint8Array(await M.arrayBuffer());return D(S,h,m)}catch(M){if(y)clearTimeout(y);let m=M instanceof Error?M.message:String(M);return console.error(`wasm fetch failed: ${s} (${m})`),-1}}let V=WebAssembly.Suspending;if(typeof V!=="function")return{fetch:(Q,X,G,T,O,W,Z,B,C,N,S,h)=>-1};return{fetch:new V(J)}}var v={Event:0,FetchSuccess:1,FetchError:2,Timeout:3,Interval:4,WebSocketOpen:5,WebSocketMessage:6,WebSocketError:7,WebSocketClose:8},j=new I,d=new ArrayBuffer(8),QK=new DataView(d);function P(K){let $=j.memory;return j.memory={buffer:d},j.storeValue(0,K),j.memory=$,QK.getBigUint64(0,!0)}var k=new TextDecoder,u=new TextEncoder,o=null,t=null;function R(){let K=j.memory.buffer;if(K!==t)t=K,o=new Uint8Array(K);return o}var r=new Map;function YK(K,$){return K*65536+$}function H(K,$){let U=YK(K,$),q=r.get(U);if(q!==void 0)return q;let D=k.decode(R().subarray(K,K+$));return r.set(U,D),D}function c(K,$){R().set($,K)}function E(K){if(!K)return;let $=WebAssembly.promising;if(typeof $!=="function")return K;return $(K)}function z(K,...$){if(!K)return;let U=K(...$);if(U&&typeof U.then==="function")U.then(void 0,(q)=>{console.error(q)})}class x{#K=new Map;_alloc;#U;#D;constructor(K){this._alloc=K.__zx_alloc,this.#U=E(K.__zx_cb);let $=E(K.__zx_fetch_complete);if(!$)throw Error("__zx_fetch_complete not exported from WASM");if(this.#D=$,K.memory)j.memory=K.memory}#$(K,$,U){let q=this.#U;if(!q){console.warn("__zx_cb not exported from WASM");return}let D=P(U);z(q,K,$,D)}fetchAsync(K,$,U,q,D,Y,F,J,V,Q){let X=H(K,$),G=q>0?H(U,q):"GET",T=Y>0?H(D,Y):"{}",O=J>0?R().subarray(F,F+J):void 0,W={};try{W=JSON.parse(T)}catch{for(let N of T.split(`
3
- `)){let S=N.indexOf(":");if(S>0)W[N.slice(0,S)]=N.slice(S+1)}}let Z=new AbortController,B=V>0?setTimeout(()=>Z.abort(),V):null,C={method:G,headers:Object.keys(W).length>0?W:void 0,body:G!=="GET"&&G!=="HEAD"?O:void 0,signal:Z.signal};fetch(X,C).then(async(N)=>{if(B)clearTimeout(B);let S=new Uint8Array(await N.arrayBuffer());this._notifyFetchComplete(Q,N.status,S,!1)}).catch((N)=>{if(B)clearTimeout(B);let h=N.name==="AbortError"?"Request timeout":N.message??"Fetch failed";this._notifyFetchComplete(Q,0,h,!0)})}_notifyFetchComplete(K,$,U,q){let D=this.#D,Y=typeof U==="string"?u.encode(U):U,F=this._alloc(Y.length);c(F,Y),z(D,K,$,F,Y.length,q?1:0)}setTimeout(K,$){setTimeout(()=>{this.#$(v.Timeout,K,null)},$)}setInterval(K,$){let U=setInterval(()=>{this.#$(v.Interval,K,null)},$);this.#K.set(K,U)}clearInterval(K){let $=this.#K.get(K);if($!==void 0)clearInterval($),this.#K.delete(K)}dispose(){for(let K of this.#K.values())clearInterval(K);this.#K.clear()}_writeStringToWasm(K){return this._writeBytesToWasm(u.encode(K))}_writeBytesToWasm(K){let $=this._alloc(K.length);return c($,K),{ptr:$,len:K.length}}static log(K,$,U){let q=k.decode(R().subarray($,$+U));switch(K){case 0:console.error(q);break;case 1:console.warn(q);break;case 3:console.debug(q);break;default:console.log(q);break}}static createImportObject(K){return{...j.importObject(),__zx_net:_(()=>{if(!j.memory)throw Error("WASM memory is not ready");return j.memory}),__zx:{_log:($,U,q)=>x.log($,U,q),_fetchAsync:($,U,q,D,Y,F,J,V,Q,X)=>{K.current?.fetchAsync($,U,q,D,Y,F,J,V,Q,X)},_setTimeout:($,U)=>{K.current?.setTimeout($,U)},_setInterval:($,U)=>{K.current?.setInterval($,U)},_clearInterval:($)=>{K.current?.clearInterval($)}}}}}function VK(K){let $=K;return typeof $.getSync==="function"&&typeof $.putSync==="function"&&typeof $.deleteSync==="function"&&typeof $.listSync==="function"}function e(K,$){let U=new TextEncoder,q=new TextDecoder;function D(V,Q){return q.decode(new Uint8Array($().buffer,V,Q))}function Y(V,Q,X){if(X.length>Q)return-2;return new Uint8Array($().buffer,V,X.length).set(X),X.length}function F(V){return K[V]??K.default??null}let J=WebAssembly.Suspending;if(typeof J!=="function"){let V=function(Q){let X=F(Q);return X&&VK(X)?X:null};return{kv_get:(Q,X,G,T,O,W)=>{let Z=V(D(Q,X));if(!Z)return-1;let B=Z.getSync(D(G,T));if(B===null)return-1;return Y(O,W,U.encode(B))},kv_put:(Q,X,G,T,O,W)=>{let Z=V(D(Q,X));if(!Z)return 0;return Z.putSync(D(G,T),D(O,W)),0},kv_delete:(Q,X,G,T)=>{let O=V(D(Q,X));if(!O)return 0;return O.deleteSync(D(G,T)),0},kv_list:(Q,X,G,T,O,W)=>{let Z=V(D(Q,X));if(!Z)return Y(O,W,U.encode("[]"));let B=D(G,T),C=Z.listSync(B.length>0?{prefix:B}:void 0);return Y(O,W,U.encode(JSON.stringify(C.keys.map((N)=>N.name))))}}}return{kv_get:new J(async(V,Q,X,G,T,O)=>{let W=F(D(V,Q));if(!W)return-1;let Z=await W.get(D(X,G));if(Z===null)return-1;return Y(T,O,U.encode(Z))}),kv_put:new J(async(V,Q,X,G,T,O)=>{let W=F(D(V,Q));if(!W)return-1;return await W.put(D(X,G),D(T,O)),0}),kv_delete:new J(async(V,Q,X,G)=>{let T=F(D(V,Q));if(!T)return-1;return await T.delete(D(X,G)),0}),kv_list:new J(async(V,Q,X,G,T,O)=>{let W=F(D(V,Q));if(!W)return Y(T,O,U.encode("[]"));let Z=D(X,G),B=await W.list(Z.length>0?{prefix:Z}:void 0);return Y(T,O,U.encode(JSON.stringify(B.keys.map((C)=>C.name))))})}}function XK(){if(typeof indexedDB>"u")throw Error("IndexedDB is not available in this environment");return indexedDB}function KK(K){return new Promise(($,U)=>{K.onsuccess=()=>$(K.result),K.onerror=()=>U(K.error??Error("IndexedDB request failed"))})}function g(K){return new Promise(($,U)=>{K.oncomplete=()=>$(),K.onabort=()=>U(K.error??Error("IndexedDB transaction aborted")),K.onerror=()=>U(K.error??Error("IndexedDB transaction failed"))})}function JK(K={}){let $=K.databaseName??"ziex-kv",U=K.storeName??"kv",q=K.namespace??"default",D=new Promise((F,J)=>{let V=XK().open($,1);V.onupgradeneeded=()=>{let Q=V.result;if(!Q.objectStoreNames.contains(U))Q.createObjectStore(U)},V.onsuccess=()=>F(V.result),V.onerror=()=>J(V.error??Error("Failed to open IndexedDB"))}),Y=(F)=>`${q}:${F}`;return{async get(F){let V=(await D).transaction(U,"readonly"),Q=V.objectStore(U),X=await KK(Q.get(Y(F)));return await g(V),console.debug(`KV GET - Key: ${F}, Value: ${X}`),typeof X==="string"?X:null},async put(F,J){let Q=(await D).transaction(U,"readwrite");Q.objectStore(U).put(J,Y(F)),await g(Q),console.debug(`KV PUT - Key: ${F}, Value: ${J}`)},async delete(F){let V=(await D).transaction(U,"readwrite");V.objectStore(U).delete(Y(F)),await g(V)},async list(F){let V=(await D).transaction(U,"readonly"),Q=V.objectStore(U),X=await KK(Q.getAllKeys());await g(V);let G=Y(F?.prefix??"");return{keys:X.filter((T)=>typeof T==="string"&&T.startsWith(G)).map((T)=>({name:T.slice(q.length+1)}))}}}}function GK(){if(typeof localStorage>"u")throw Error("localStorage is not available in this environment");return localStorage}function TK(K={}){let $=GK(),U=K.namespace??"default",q=K.storagePrefix??"ziex-kv",D=(F)=>`${q}:${U}:${F}`,Y=D("");return{getSync(F){return $.getItem(D(F))},async get(F){return this.getSync(F)},putSync(F,J){$.setItem(D(F),J)},async put(F,J){this.putSync(F,J)},deleteSync(F){$.removeItem(D(F))},async delete(F){this.deleteSync(F)},listSync(F){let J=Y+(F?.prefix??""),V=[];for(let Q=0;Q<$.length;Q+=1){let X=$.key(Q);if(!X||!X.startsWith(J))continue;V.push({name:X.slice(Y.length)})}return{keys:V}},async list(F){return this.listSync(F)}}}function WK(){return typeof WebAssembly.Suspending==="function"&&typeof WebAssembly.promising==="function"}function $K(K={}){return{[K.namespace??"default"]:WK()?JK(K):TK(K)}}class p extends x{#K=new Map;#U;#D;#$;#q;#F;#Q;constructor(K){super(K);this.#U=E(K.__zx_ws_onopen),this.#D=E(K.__zx_ws_onmessage),this.#$=E(K.__zx_ws_onerror),this.#q=E(K.__zx_ws_onclose),this.#F=K.__zx_eventbridge,this.#Q=E(K.__zx_eventbridge_async??K.__zx_eventbridge)}eventMaySuspend(K,$){return!!((w.get(K)??0)&1<<$)}setEventHandlerMode(K,$,U){let q=1<<$,D=w.get(K)??0,Y=U?D|q:D&~q;if(Y===0)w.delete(K);else w.set(K,Y)}clearEventHandlerModes(K){w.delete(K)}submitFormActionAsync(K,$,U,q){let D=new FormData(K);D.append("__$states",U),fetch(window.location.href,{method:"POST",headers:{"x-action":String($>>>0)},body:D}).then(async(Y)=>{let F=await Y.text();this._notifyFetchComplete(q,Y.status,F,!1)}).catch((Y)=>{let F=Y instanceof Error?Y.message:"Fetch failed";this._notifyFetchComplete(q,0,F,!0)})}wsConnect(K,$,U,q,D){let Y=H($,U),F=D>0?H(q,D):"",J=F?F.split(",").map((V)=>V.trim()).filter(Boolean):void 0;try{let V=J&&J.length>0?new WebSocket(Y,J):new WebSocket(Y);V.binaryType="arraybuffer",V.onopen=()=>{let Q=this.#U;if(!Q)return;let X=V.protocol||"",{ptr:G,len:T}=this._writeStringToWasm(X);z(Q,K,G,T)},V.onmessage=(Q)=>{let X=this.#D;if(!X)return;let G=Q.data instanceof ArrayBuffer,T=G?new Uint8Array(Q.data):u.encode(Q.data),{ptr:O,len:W}=this._writeBytesToWasm(T);z(X,K,O,W,G?1:0)},V.onerror=(Q)=>{let X=this.#$;if(!X)return;let{ptr:G,len:T}=this._writeStringToWasm("WebSocket error");z(X,K,G,T)},V.onclose=(Q)=>{let X=this.#q;if(!X)return;let G=Q.reason||"",{ptr:T,len:O}=this._writeStringToWasm(G);z(X,K,Q.code,T,O,Q.wasClean?1:0),this.#K.delete(K)},this.#K.set(K,V)}catch(V){let Q=this.#$;if(Q){let X=V instanceof Error?V.message:"WebSocket connection failed",{ptr:G,len:T}=this._writeStringToWasm(X);z(Q,K,G,T)}}}wsSend(K,$,U,q){let D=this.#K.get(K);if(!D||D.readyState!==WebSocket.OPEN)return;let Y=R();if(q)D.send(Y.slice($,$+U));else D.send(k.decode(Y.subarray($,$+U)))}wsClose(K,$,U,q){let D=this.#K.get(K);if(!D)return;let Y=q>0?H(U,q):void 0;try{if(Y)D.close($,Y);else D.close($)}catch{D.close()}}dispose(){super.dispose(),w.clear();for(let K of this.#K.values())try{K.close()}catch{}this.#K.clear()}eventbridge(K,$,U){let q=P(U);if(this.eventMaySuspend(K,$)){z(this.#Q,K,$,q);return}z(this.#F,K,$,q)}static createImportObject(K){return{...j.importObject(),__zx_net:_(()=>{if(!j.memory)throw Error("WASM memory is not ready");return j.memory}),__zx:{_log:($,U,q)=>x.log($,U,q),_setEventHandlerMode:($,U,q)=>{K.current?.setEventHandlerMode($,U,q!==0)},_clearEventHandlerModes:($)=>{K.current?.clearEventHandlerModes($)},_fetchAsync:($,U,q,D,Y,F,J,V,Q,X)=>{K.current?.fetchAsync($,U,q,D,Y,F,J,V,Q,X)},_setTimeout:($,U)=>{K.current?.setTimeout($,U)},_setInterval:($,U)=>{K.current?.setInterval($,U)},_clearInterval:($)=>{K.current?.clearInterval($)},_wsConnect:($,U,q,D,Y)=>{K.current?.wsConnect($,U,q,D,Y)},_wsSend:($,U,q,D)=>{K.current?.wsSend($,U,q,D)},_wsClose:($,U,q,D)=>{K.current?.wsClose($,U,q,D)},_ce:($,U)=>{let q=AK[$],D=$>=OK?document.createElementNS("http://www.w3.org/2000/svg",q):document.createElement(q);return D.__zx_ref=Number(U),A.set(U,D),P(D)},_ct:($,U,q)=>{let D=H($,U),Y=document.createTextNode(D);return Y.__zx_ref=Number(q),A.set(q,Y),P(Y)},_sa:($,U,q,D,Y)=>{A.get($)?.setAttribute(H(U,q),H(D,Y))},_sp:($,U,q,D,Y)=>{let F=A.get($);if(F){let J=H(U,q),V=H(D,Y);if(J==="checked"||J==="selected"||J==="muted")F[J]=V!=="false";else F[J]=V}},_ra:($,U,q)=>{A.get($)?.removeAttribute(H(U,q))},_snv:($,U,q)=>{let D=A.get($);if(D)D.nodeValue=H(U,q)},_srh:($,U,q)=>{let D=A.get($);if(D)D.innerHTML=H(U,q)},_ac:($,U)=>{let q=A.get($),D=A.get(U);if(q&&D)q.appendChild(D)},_ib:($,U,q)=>{let D=A.get($),Y=A.get(U),F=A.get(q)??null;if(D&&Y)D.insertBefore(Y,F)},_rc:($,U)=>{let q=A.get($),D=A.get(U);if(q&&D)q.removeChild(D),i(D)},_rpc:($,U,q)=>{let D=A.get($),Y=A.get(U),F=A.get(q);if(D&&Y&&F)D.replaceChild(Y,F),i(F)},_getLocationHref:($,U)=>{let q=u.encode(window.location.href),D=Math.min(q.length,U);return c($,q.subarray(0,D)),D},_getFormData:($,U,q)=>{let D=A.get($);if(!D||!(D instanceof HTMLFormElement))return 0;let Y=new FormData(D),F=new URLSearchParams(Y).toString(),J=u.encode(F),V=Math.min(J.length,q);return c(U,J.subarray(0,V)),V},_submitFormAction:($,U)=>{let q=A.get($);if(!q||!(q instanceof HTMLFormElement))return;let D=new FormData(q);fetch(window.location.href,{method:"POST",headers:{"x-action":String(U>>>0)},body:D}).catch(()=>{})},_submitFormActionAsync:($,U,q,D,Y)=>{let F=A.get($);if(!F||!(F instanceof HTMLFormElement))return;let J=D>0?H(q,D):"[]";K.current?.submitFormActionAsync(F,U,J,Y)}}}}}var A=new Map;function i(K){let $=K.__zx_ref;if($!==void 0)A.delete(BigInt($));let U=K.childNodes;for(let q=0;q<U.length;q++)i(U[q])}var OK=140,AK=["aside","fragment","iframe","slot","img","html","base","head","link","meta","script","style","title","address","article","body","h1","h6","footer","header","h2","h3","h4","h5","hgroup","nav","section","dd","dl","dt","div","figcaption","figure","hr","li","ol","ul","menu","main","p","picture","pre","a","abbr","b","bdi","bdo","br","cite","code","data","time","dfn","em","i","kbd","mark","q","blockquote","rp","ruby","rt","rtc","rb","s","del","ins","samp","small","span","strong","sub","sup","u","var","wbr","area","map","audio","source","track","video","embed","object","param","canvas","noscript","caption","table","col","colgroup","tbody","tr","thead","tfoot","td","th","button","datalist","option","fieldset","label","form","input","keygen","legend","meter","optgroup","select","output","progress","textarea","details","dialog","menuitem","summary","content","element","shadow","template","acronym","applet","basefont","font","big","blink","center","command","dir","frame","frameset","isindex","listing","marquee","noembed","plaintext","spacer","strike","tt","xmp","animate","animateMotion","animateTransform","circle","clipPath","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","foreignObject","g","image","line","linearGradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialGradient","rect","set","stop","svg","switch","symbol","text","textPath","tspan","use","view"],ZK=[{domType:"click",eventTypeId:0},{domType:"dblclick",eventTypeId:1},{domType:"input",eventTypeId:2},{domType:"change",eventTypeId:3},{domType:"submit",eventTypeId:4},{domType:"focusin",eventTypeId:5},{domType:"focusout",eventTypeId:6},{domType:"keydown",eventTypeId:7},{domType:"keyup",eventTypeId:8},{domType:"keypress",eventTypeId:9},{domType:"mouseenter",eventTypeId:10},{domType:"mouseleave",eventTypeId:11},{domType:"mousedown",eventTypeId:12},{domType:"mouseup",eventTypeId:13},{domType:"mousemove",eventTypeId:14},{domType:"touchstart",eventTypeId:15},{domType:"touchend",eventTypeId:16},{domType:"touchmove",eventTypeId:17},{domType:"scroll",eventTypeId:18}],w=new Map;function jK(K,$="body"){let U=document.querySelector($);if(!U)return()=>{};let q=[];for(let D of ZK){let Y=(J)=>{let V=J.target;while(V&&V!==document.body){let Q=V.__zx_ref;if(Q!==void 0){if(K.eventbridge(BigInt(Q),D.eventTypeId,J),J.cancelBubble)break}V=V.parentElement}},F={passive:D.domType.startsWith("touch")||D.domType==="scroll"};U.addEventListener(D.domType,Y,F),q.push(()=>U.removeEventListener(D.domType,Y,F))}return()=>{for(let D of q)D()}}var HK="/assets/_/main.wasm",f=null;function BK(K={}){return{url:K.url,eventDelegationRoot:K.eventDelegationRoot,importObject:K.importObject,kv:K.kv}}async function UK(K={}){let $=BK(K);if(f)f.dispose(),f=null;let U=K.url??document.getElementById("__$wasmlink")?.href??HK,q={current:null},D=null,Y=K.kv??$K(),F={__zx_kv:e(Y,()=>{if(D)return D;if(j.memory)return j.memory;throw Error("WASM memory is not ready")})},J=Object.assign({},p.createImportObject(q),F,K.importObject),V=await WebAssembly.instantiateStreaming(fetch(U),J),{instance:Q}=V;D=Q.exports.memory,j.memory=D;let X=new p(Q.exports);q.current=X,A.clear();let G=jK(X,K.eventDelegationRoot??"body"),T=E(Q.exports.mainClient);return z(T),f={options:$,dispose:()=>{G(),X.dispose(),A.clear()}},{source:V,bridge:X}}(()=>UK())();
1
+ var N={nan:0,null:1,true:2,false:3,undefined:4,globalThis:5,runtime:6},se=6,Z=new TextEncoder,ae=new TextDecoder("utf-8"),F=class{constructor(){this.values=[NaN,null,!0,!1,void 0,globalThis,this];this.idPool=[]}importObject(){return{"zig-js":{valueGet:this.valueGet.bind(this),valueSet:this.valueSet.bind(this),valueDeinit:this.valueDeinit.bind(this),valueObjectCreate:this.valueObjectCreate.bind(this),valueStringCreate:this.valueStringCreate.bind(this),valueStringLen:this.valueStringLen.bind(this),valueStringCopy:this.valueStringCopy.bind(this),valueNew:this.valueNew.bind(this),funcApply:this.funcApply.bind(this)}}}valueGet(n,e,r,t){let o=this.loadValue(e),i=this.loadString(r,t),c=Reflect.get(o,i);this.storeValue(n,c)}valueSet(n,e,r,t){let o=this.loadValue(n),i=this.loadString(e,r),c=this.loadRef(t);Reflect.set(o,i,c)}valueDeinit(n){n>se&&(this.values[n]=null,this.idPool.push(n))}valueObjectCreate(n){this.storeValue(n,new Object)}valueStringCreate(n,e,r){let t=this.loadString(e,r);this.storeValue(n,t)}valueStringLen(n){let e=this.loadValue(n);return Z.encode(e).byteLength}valueStringCopy(n,e,r){if(this.memory==null)return;let t=this.loadValue(n),o=Z.encode(t);o.byteLength>r||o.length!==0&&new Uint8Array(this.memory.buffer,e,o.length).set(o)}valueNew(n,e,r,t){let o=this.loadValue(e),i=[];for(let m=0;m<t;m++)i.push(this.loadRef(r+m*8));let c=Reflect.construct(o,i);this.storeValue(n,c)}funcApply(n,e,r,t,o){let i=this.loadValue(e),c=this.loadRef(r),m=[];for(let u=0;u<o;u++)m.push(this.loadRef(t+u*8));let s=Reflect.apply(i,c,m);this.storeValue(n,s)}loadValue(n){return this.values[n]}deleteValue(n){let e=this.values[n];return this.valueDeinit(n),e}loadRef(n){if(this.memory==null)return;let r=new DataView(this.memory.buffer).getFloat64(n,!0);if(!isNaN(r))return r;let t=this.loadRefId(n);return this.values[t]}loadRefId(n){return this.memory==null?0:new DataView(this.memory.buffer).getUint32(n,!0)}storeValue(n,e){if(this.memory==null)return;let r=new DataView(this.memory.buffer);if(typeof e=="number"){isNaN(e)?(r.setUint32(n,N.nan,!0),r.setUint32(n+4,2146959360,!0)):r.setFloat64(n,e,!0);return}if(e===null){r.setUint32(n,N.null,!0),r.setUint32(n+4,2146959360,!0);return}if(e===void 0){r.setUint32(n,N.undefined,!0),r.setUint32(n+4,2146959360,!0);return}if(typeof e=="boolean"){r.setUint32(n,e?N.true:N.false,!0),r.setUint32(n+4,2146959360,!0);return}if(typeof e=="bigint"){r.setFloat64(n,Number(e),!0);return}let t=this.idPool.pop();t===void 0&&(t=this.values.length),this.values[t]=e;let o=0;switch(typeof e){case"object":o=1;break;case"string":o=2;break;case"symbol":o=3;break;case"function":o=4;break}r.setUint32(n,Number(t),!0),r.setUint32(n+4,2146959360|o,!0)}loadString(n,e){if(this.memory==null)return"";let t=new Uint8ClampedArray(this.memory.buffer,n,Number(e)).slice();return ae.decode(t)}};function H(a){let n=new TextEncoder,e=new TextDecoder;function r(s,u){return e.decode(new Uint8Array(a().buffer,s,u))}function t(s,u,l){return l.length>u?-2:(new Uint8Array(a().buffer,s,l.length).set(l),l.length)}function o(s,u){return new Uint8Array(a().buffer,s,u)}function i(s){let u={};try{u=JSON.parse(s)}catch{for(let l of s.split(`
2
+ `)){let d=l.indexOf(":");d>0&&(u[l.slice(0,d)]=l.slice(d+1))}}return u}async function c(s,u,l,d,b,f,p,y,h,A,_,T){let M=r(s,u),K=d>0?r(l,d):"GET",oe=f>0?r(b,f):"{}",ie=y>0?o(p,y):void 0,G=i(oe),$=new AbortController,B=h>0?setTimeout(()=>$.abort(),h):null;try{let I=await fetch(M,{method:K,headers:Object.keys(G).length>0?G:void 0,body:K!=="GET"&&K!=="HEAD"?ie:void 0,signal:$.signal});B&&clearTimeout(B),new DataView(a().buffer).setUint16(A,I.status,!0);let z=new Uint8Array(await I.arrayBuffer());return t(_,T,z)}catch(I){B&&clearTimeout(B);let z=I instanceof Error?I.message:String(I);return console.error(`wasm fetch failed: ${M} (${z})`),-1}}let m=WebAssembly.Suspending;return typeof m!="function"?{fetch:(s,u,l,d,b,f,p,y,h,A,_,T)=>-1}:{fetch:new m(c)}}var U={Event:0,FetchSuccess:1,FetchError:2,Timeout:3,Interval:4,WebSocketOpen:5,WebSocketMessage:6,WebSocketError:7,WebSocketClose:8},v=new F,Q=new ArrayBuffer(8),ue=new DataView(Q);function D(a){let n=v.memory;return v.memory={buffer:Q},v.storeValue(0,a),v.memory=n,ue.getBigUint64(0,!0)}var C=new TextDecoder,E=new TextEncoder,X=null,q=null;function k(){let a=v.memory.buffer;return a!==q&&(q=a,X=new Uint8Array(a)),X}var J=new Map;function ce(a,n){return a*65536+n}function w(a,n){let e=ce(a,n),r=J.get(e);if(r!==void 0)return r;let t=C.decode(k().subarray(a,a+n));return J.set(e,t),t}function O(a,n){k().set(n,a)}function S(a){if(!a)return;let n=WebAssembly.promising;return typeof n!="function"?a:n(a)}function x(a,...n){if(!a)return;let e=a(...n);e&&typeof e.then=="function"&&e.then(void 0,r=>{console.error(r)})}var V=class a{#e=new Map;#t;#r;constructor(n){this._alloc=n.__zx_alloc,this.#t=S(n.__zx_cb);let e=S(n.__zx_fetch_complete);if(!e)throw new Error("__zx_fetch_complete not exported from WASM");this.#r=e,n.memory&&(v.memory=n.memory)}#n(n,e,r){let t=this.#t;if(!t){console.warn("__zx_cb not exported from WASM");return}let o=D(r);x(t,n,e,o)}fetchAsync(n,e,r,t,o,i,c,m,s,u){let l=w(n,e),d=t>0?w(r,t):"GET",b=i>0?w(o,i):"{}",f=m>0?k().subarray(c,c+m):void 0,p={};try{p=JSON.parse(b)}catch{for(let _ of b.split(`
3
+ `)){let T=_.indexOf(":");T>0&&(p[_.slice(0,T)]=_.slice(T+1))}}let y=new AbortController,h=s>0?setTimeout(()=>y.abort(),s):null,A={method:d,headers:Object.keys(p).length>0?p:void 0,body:d!=="GET"&&d!=="HEAD"?f:void 0,signal:y.signal};fetch(l,A).then(async _=>{h&&clearTimeout(h);let T=new Uint8Array(await _.arrayBuffer());this._notifyFetchComplete(u,_.status,T,!1)}).catch(_=>{h&&clearTimeout(h);let M=_.name==="AbortError"?"Request timeout":_.message??"Fetch failed";this._notifyFetchComplete(u,0,M,!0)})}_notifyFetchComplete(n,e,r,t){let o=this.#r,i=typeof r=="string"?E.encode(r):r,c=this._alloc(i.length);O(c,i),x(o,n,e,c,i.length,t?1:0)}setTimeout(n,e){setTimeout(()=>{this.#n(U.Timeout,n,null)},e)}setInterval(n,e){let r=setInterval(()=>{this.#n(U.Interval,n,null)},e);this.#e.set(n,r)}clearInterval(n){let e=this.#e.get(n);e!==void 0&&(clearInterval(e),this.#e.delete(n))}dispose(){for(let n of this.#e.values())clearInterval(n);this.#e.clear()}_writeStringToWasm(n){return this._writeBytesToWasm(E.encode(n))}_writeBytesToWasm(n){let e=this._alloc(n.length);return O(e,n),{ptr:e,len:n.length}}static log(n,e,r){let t=C.decode(k().subarray(e,e+r));switch(n){case 0:console.error(t);break;case 1:console.warn(t);break;case 3:console.debug(t);break;default:console.log(t);break}}static createImportObject(n){return{...v.importObject(),__zx_net:H(()=>{if(!v.memory)throw new Error("WASM memory is not ready");return v.memory}),__zx:{_log:(e,r,t)=>a.log(e,r,t),_fetchAsync:(e,r,t,o,i,c,m,s,u,l)=>{n.current?.fetchAsync(e,r,t,o,i,c,m,s,u,l)},_setTimeout:(e,r)=>{n.current?.setTimeout(e,r)},_setInterval:(e,r)=>{n.current?.setInterval(e,r)},_clearInterval:e=>{n.current?.clearInterval(e)}}}}};function Y(a){if(!(a<60))return{expirationTtl:a}}function me(a){let n=a;return typeof n.getSync=="function"&&typeof n.putSync=="function"&&typeof n.deleteSync=="function"&&typeof n.listSync=="function"}function ee(a,n){let e=new TextEncoder,r=new TextDecoder;function t(s,u){return r.decode(new Uint8Array(n().buffer,s,u))}function o(s,u,l){return l.length>u?-2:(new Uint8Array(n().buffer,s,l.length).set(l),l.length)}function i(s){return a[s]??a.default??null}let c=WebAssembly.Suspending;if(typeof c!="function"){let s=function(u){let l=i(u);return l&&me(l)?l:null};var m=s;return{kv_get:(u,l,d,b,f,p)=>{let y=s(t(u,l));if(!y)return-1;let h=y.getSync(t(d,b));return h===null?-1:o(f,p,e.encode(h))},kv_put:(u,l,d,b,f,p,y)=>{let h=s(t(u,l));return h&&h.putSync(t(d,b),t(f,p),Y(y)),0},kv_delete:(u,l,d,b)=>{let f=s(t(u,l));return f&&f.deleteSync(t(d,b)),0},kv_list:(u,l,d,b,f,p)=>{let y=s(t(u,l));if(!y)return o(f,p,e.encode("[]"));let h=t(d,b),A=y.listSync(h.length>0?{prefix:h}:void 0);return o(f,p,e.encode(JSON.stringify(A.keys.map(_=>_.name))))}}}return{kv_get:new c(async(s,u,l,d,b,f)=>{let p=i(t(s,u));if(!p)return-1;let y=await p.get(t(l,d));return y===null?-1:o(b,f,e.encode(y))}),kv_put:new c(async(s,u,l,d,b,f,p)=>{let y=i(t(s,u));return y?(await y.put(t(l,d),t(b,f),Y(p)),0):-1}),kv_delete:new c(async(s,u,l,d)=>{let b=i(t(s,u));return b?(await b.delete(t(l,d)),0):-1}),kv_list:new c(async(s,u,l,d,b,f)=>{let p=i(t(s,u));if(!p)return o(b,f,e.encode("[]"));let y=t(l,d),h=await p.list(y.length>0?{prefix:y}:void 0);return o(b,f,e.encode(JSON.stringify(h.keys.map(A=>A.name))))})}}function le(){if(typeof indexedDB>"u")throw new Error("IndexedDB is not available in this environment");return indexedDB}function ne(a){return new Promise((n,e)=>{a.onsuccess=()=>n(a.result),a.onerror=()=>e(a.error??new Error("IndexedDB request failed"))})}function P(a){return new Promise((n,e)=>{a.oncomplete=()=>n(),a.onabort=()=>e(a.error??new Error("IndexedDB transaction aborted")),a.onerror=()=>e(a.error??new Error("IndexedDB transaction failed"))})}function de(a={}){let n=a.databaseName??"ziex-kv",e=a.storeName??"kv",r=a.namespace??"default",t=new Promise((i,c)=>{let m=le().open(n,1);m.onupgradeneeded=()=>{let s=m.result;s.objectStoreNames.contains(e)||s.createObjectStore(e)},m.onsuccess=()=>i(m.result),m.onerror=()=>c(m.error??new Error("Failed to open IndexedDB"))}),o=i=>`${r}:${i}`;return{async get(i){let m=(await t).transaction(e,"readonly"),s=m.objectStore(e),u=await ne(s.get(o(i)));return await P(m),console.debug(`KV GET - Key: ${i}, Value: ${u}`),typeof u=="string"?u:null},async put(i,c){let s=(await t).transaction(e,"readwrite");s.objectStore(e).put(c,o(i)),await P(s),console.debug(`KV PUT - Key: ${i}, Value: ${c}`)},async delete(i){let m=(await t).transaction(e,"readwrite");m.objectStore(e).delete(o(i)),await P(m)},async list(i){let m=(await t).transaction(e,"readonly"),s=m.objectStore(e),u=await ne(s.getAllKeys());await P(m);let l=o(i?.prefix??"");return{keys:u.filter(d=>typeof d=="string"&&d.startsWith(l)).map(d=>({name:d.slice(r.length+1)}))}}}}function be(){if(typeof localStorage>"u")throw new Error("localStorage is not available in this environment");return localStorage}function fe(a={}){let n=be(),e=a.namespace??"default",r=a.storagePrefix??"ziex-kv",t=i=>`${r}:${e}:${i}`,o=t("");return{getSync(i){return n.getItem(t(i))},async get(i){return this.getSync(i)},putSync(i,c){n.setItem(t(i),c)},async put(i,c){this.putSync(i,c)},deleteSync(i){n.removeItem(t(i))},async delete(i){this.deleteSync(i)},listSync(i){let c=o+(i?.prefix??""),m=[];for(let s=0;s<n.length;s+=1){let u=n.key(s);!u||!u.startsWith(c)||m.push({name:u.slice(o.length)})}return{keys:m}},async list(i){return this.listSync(i)}}}function pe(){return typeof WebAssembly.Suspending=="function"&&typeof WebAssembly.promising=="function"}function te(a={}){return{[a.namespace??"default"]:pe()?de(a):fe(a)}}var L=class extends V{#e=new Map;#t;#r;#n;#o;#i;#s;constructor(n){super(n),this.#t=S(n.__zx_ws_onopen),this.#r=S(n.__zx_ws_onmessage),this.#n=S(n.__zx_ws_onerror),this.#o=S(n.__zx_ws_onclose),this.#i=n.__zx_eventbridge,this.#s=S(n.__zx_eventbridge_async??n.__zx_eventbridge)}eventMaySuspend(n,e){return!!((W.get(n)??0)&1<<e)}setEventHandlerMode(n,e,r){let t=1<<e,o=W.get(n)??0,i=r?o|t:o&~t;i===0?W.delete(n):W.set(n,i)}clearEventHandlerModes(n){W.delete(n)}submitFormActionAsync(n,e,r,t){let o=new FormData(n);o.append("__$states",r),fetch(window.location.href,{method:"POST",headers:{"x-action":String(e>>>0)},body:o}).then(async i=>{let c=await i.text();this._notifyFetchComplete(t,i.status,c,!1)}).catch(i=>{let c=i instanceof Error?i.message:"Fetch failed";this._notifyFetchComplete(t,0,c,!0)})}wsConnect(n,e,r,t,o){let i=w(e,r),c=o>0?w(t,o):"",m=c?c.split(",").map(s=>s.trim()).filter(Boolean):void 0;try{let s=m&&m.length>0?new WebSocket(i,m):new WebSocket(i);s.binaryType="arraybuffer",s.onopen=()=>{let u=this.#t;if(!u)return;let l=s.protocol||"",{ptr:d,len:b}=this._writeStringToWasm(l);x(u,n,d,b)},s.onmessage=u=>{let l=this.#r;if(!l)return;let d=u.data instanceof ArrayBuffer,b=d?new Uint8Array(u.data):E.encode(u.data),{ptr:f,len:p}=this._writeBytesToWasm(b);x(l,n,f,p,d?1:0)},s.onerror=u=>{let l=this.#n;if(!l)return;let{ptr:d,len:b}=this._writeStringToWasm("WebSocket error");x(l,n,d,b)},s.onclose=u=>{let l=this.#o;if(!l)return;let d=u.reason||"",{ptr:b,len:f}=this._writeStringToWasm(d);x(l,n,u.code,b,f,u.wasClean?1:0),this.#e.delete(n)},this.#e.set(n,s)}catch(s){let u=this.#n;if(u){let l=s instanceof Error?s.message:"WebSocket connection failed",{ptr:d,len:b}=this._writeStringToWasm(l);x(u,n,d,b)}}}wsSend(n,e,r,t){let o=this.#e.get(n);if(!o||o.readyState!==WebSocket.OPEN)return;let i=k();t?o.send(i.slice(e,e+r)):o.send(C.decode(i.subarray(e,e+r)))}wsClose(n,e,r,t){let o=this.#e.get(n);if(!o)return;let i=t>0?w(r,t):void 0;try{i?o.close(e,i):o.close(e)}catch{o.close()}}dispose(){super.dispose(),W.clear();for(let n of this.#e.values())try{n.close()}catch{}this.#e.clear()}eventbridge(n,e,r){let t=D(r);if(this.eventMaySuspend(n,e)){x(this.#s,n,e,t);return}x(this.#i,n,e,t)}static createImportObject(n){return{...v.importObject(),__zx_net:H(()=>{if(!v.memory)throw new Error("WASM memory is not ready");return v.memory}),__zx:{_log:(e,r,t)=>V.log(e,r,t),_setEventHandlerMode:(e,r,t)=>{n.current?.setEventHandlerMode(e,r,t!==0)},_clearEventHandlerModes:e=>{n.current?.clearEventHandlerModes(e)},_fetchAsync:(e,r,t,o,i,c,m,s,u,l)=>{n.current?.fetchAsync(e,r,t,o,i,c,m,s,u,l)},_setTimeout:(e,r)=>{n.current?.setTimeout(e,r)},_setInterval:(e,r)=>{n.current?.setInterval(e,r)},_clearInterval:e=>{n.current?.clearInterval(e)},_wsConnect:(e,r,t,o,i)=>{n.current?.wsConnect(e,r,t,o,i)},_wsSend:(e,r,t,o)=>{n.current?.wsSend(e,r,t,o)},_wsClose:(e,r,t,o)=>{n.current?.wsClose(e,r,t,o)},_ce:(e,r)=>{let t=ge[e],o=e>=ye?document.createElementNS("http://www.w3.org/2000/svg",t):document.createElement(t);return o.__zx_ref=Number(r),g.set(r,o),D(o)},_ct:(e,r,t)=>{let o=w(e,r),i=document.createTextNode(o);return i.__zx_ref=Number(t),g.set(t,i),D(i)},_sa:(e,r,t,o,i)=>{g.get(e)?.setAttribute(w(r,t),w(o,i))},_sp:(e,r,t,o,i)=>{let c=g.get(e);if(c){let m=w(r,t),s=w(o,i);m==="checked"||m==="selected"||m==="muted"?c[m]=s!=="false":c[m]=s}},_ra:(e,r,t)=>{g.get(e)?.removeAttribute(w(r,t))},_snv:(e,r,t)=>{let o=g.get(e);o&&(o.nodeValue=w(r,t))},_srh:(e,r,t)=>{let o=g.get(e);o&&(o.innerHTML=w(r,t))},_ac:(e,r)=>{let t=g.get(e),o=g.get(r);t&&o&&t.appendChild(o)},_ib:(e,r,t)=>{let o=g.get(e),i=g.get(r),c=g.get(t)??null;o&&i&&o.insertBefore(i,c)},_rc:(e,r)=>{let t=g.get(e),o=g.get(r);t&&o&&(t.removeChild(o),j(o))},_rpc:(e,r,t)=>{let o=g.get(e),i=g.get(r),c=g.get(t);o&&i&&c&&(o.replaceChild(i,c),j(c))},_getLocationHref:(e,r)=>{let t=E.encode(window.location.href),o=Math.min(t.length,r);return O(e,t.subarray(0,o)),o},_getFormData:(e,r,t)=>{let o=g.get(e);if(!o||!(o instanceof HTMLFormElement))return 0;let i=new FormData(o),c=new URLSearchParams(i).toString(),m=E.encode(c),s=Math.min(m.length,t);return O(r,m.subarray(0,s)),s},_submitFormAction:(e,r)=>{let t=g.get(e);if(!t||!(t instanceof HTMLFormElement))return;let o=new FormData(t);fetch(window.location.href,{method:"POST",headers:{"x-action":String(r>>>0)},body:o}).catch(()=>{})},_submitFormActionAsync:(e,r,t,o,i)=>{let c=g.get(e);if(!c||!(c instanceof HTMLFormElement))return;let m=o>0?w(t,o):"[]";n.current?.submitFormActionAsync(c,r,m,i)}}}}},g=new Map;function j(a){let n=a.__zx_ref;n!==void 0&&g.delete(BigInt(n));let e=a.childNodes;for(let r=0;r<e.length;r++)j(e[r])}var ye=140,ge=["aside","fragment","iframe","slot","img","html","base","head","link","meta","script","style","title","address","article","body","h1","h6","footer","header","h2","h3","h4","h5","hgroup","nav","section","dd","dl","dt","div","figcaption","figure","hr","li","ol","ul","menu","main","p","picture","pre","a","abbr","b","bdi","bdo","br","cite","code","data","time","dfn","em","i","kbd","mark","q","blockquote","rp","ruby","rt","rtc","rb","s","del","ins","samp","small","span","strong","sub","sup","u","var","wbr","area","map","audio","source","track","video","embed","object","param","canvas","noscript","caption","table","col","colgroup","tbody","tr","thead","tfoot","td","th","button","datalist","option","fieldset","label","form","input","keygen","legend","meter","optgroup","select","output","progress","textarea","details","dialog","menuitem","summary","content","element","shadow","template","acronym","applet","basefont","font","big","blink","center","command","dir","frame","frameset","isindex","listing","marquee","noembed","plaintext","spacer","strike","tt","xmp","animate","animateMotion","animateTransform","circle","clipPath","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","foreignObject","g","image","line","linearGradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialGradient","rect","set","stop","svg","switch","symbol","text","textPath","tspan","use","view"],he=[{domType:"click",eventTypeId:0},{domType:"dblclick",eventTypeId:1},{domType:"input",eventTypeId:2},{domType:"change",eventTypeId:3},{domType:"submit",eventTypeId:4},{domType:"focusin",eventTypeId:5},{domType:"focusout",eventTypeId:6},{domType:"keydown",eventTypeId:7},{domType:"keyup",eventTypeId:8},{domType:"keypress",eventTypeId:9},{domType:"mouseenter",eventTypeId:10},{domType:"mouseleave",eventTypeId:11},{domType:"mousedown",eventTypeId:12},{domType:"mouseup",eventTypeId:13},{domType:"mousemove",eventTypeId:14},{domType:"touchstart",eventTypeId:15},{domType:"touchend",eventTypeId:16},{domType:"touchmove",eventTypeId:17},{domType:"scroll",eventTypeId:18}],W=new Map;function ve(a,n="body"){let e=document.querySelector(n);if(!e)return()=>{};let r=[];for(let t of he){let o=c=>{let m=c.target;for(;m&&m!==document.body;){let s=m.__zx_ref;if(s!==void 0&&(a.eventbridge(BigInt(s),t.eventTypeId,c),c.cancelBubble))break;m=m.parentElement}},i={passive:t.domType.startsWith("touch")||t.domType==="scroll"};e.addEventListener(t.domType,o,i),r.push(()=>e.removeEventListener(t.domType,o,i))}return()=>{for(let t of r)t()}}var we="/assets/_/main.wasm",R=null;function _e(a={}){return{url:a.url,eventDelegationRoot:a.eventDelegationRoot,importObject:a.importObject,kv:a.kv}}async function re(a={}){let n=_e(a);R&&(R.dispose(),R=null);let e=a.url??document.getElementById("__$wasmlink")?.href??we,r={current:null},t=null,o=a.kv??te(),i={__zx_kv:ee(o,()=>{if(t)return t;if(v.memory)return v.memory;throw new Error("WASM memory is not ready")})},c=Object.assign({},L.createImportObject(r),i,a.importObject),m=await WebAssembly.instantiateStreaming(fetch(e),c),{instance:s}=m;t=s.exports.memory,v.memory=t;let u=new L(s.exports);r.current=u,g.clear();let l=ve(u,a.eventDelegationRoot??"body"),d=S(s.exports.mainClient);return x(d),R={options:n,dispose:()=>{l(),u.dispose(),g.clear()}},{source:m,bridge:u}}re();
@@ -1 +0,0 @@
1
- export declare function getZxInfo(): any;
@@ -1 +0,0 @@
1
- export * from './zigjs';
@@ -1,107 +0,0 @@
1
- /**
2
- * Predefined references.
3
- * */
4
- export declare const predefined: {
5
- nan: number;
6
- null: number;
7
- true: number;
8
- false: number;
9
- undefined: number;
10
- globalThis: number;
11
- runtime: number;
12
- };
13
- /**
14
- * The main state.
15
- * */
16
- export declare class ZigJS {
17
- /**
18
- * Set this to the memory of your WebAssembly instance prior to making
19
- * any Wasm calls that might interface with JS.
20
- *
21
- * We have to use a Memory object directly (rather than an ArrayBuffer)
22
- * so that we can always access memory even if it is resized. Otherwise,
23
- * a resize could detach the array buffer.
24
- * */
25
- memory?: WebAssembly.Memory;
26
- /**
27
- * The values, indexed by ID (number). Duplicate values can be in this
28
- * if they are loaded multiple times. That just acts as duplicate references.
29
- * */
30
- private values;
31
- /**
32
- * When a value is removed from the values array, its ID is put
33
- * in the pool so that we can use it next. This avoids fragmentation in
34
- * our array keys.
35
- * */
36
- private idPool;
37
- /**
38
- * Returns the import object that should be merged with your import
39
- * object when instantiating your wasm instance. This injects the required
40
- * functions into the wasm environment.
41
- * */
42
- importObject(): ImportObject;
43
- /**
44
- * Get a value from the JS environment.
45
- * */
46
- protected valueGet(out: number, id: number, ptr: number, len: number): void;
47
- /**
48
- * Set a value on an object.
49
- * */
50
- protected valueSet(id: number, ptr: number, len: number, refAddr: number): void;
51
- /**
52
- * Dereference a value, allowing the JS environment to potentially GC it.
53
- * */
54
- protected valueDeinit(id: number): void;
55
- /**
56
- * Create an empty object.
57
- * */
58
- protected valueObjectCreate(out: number): void;
59
- /**
60
- * Creates a string on the JS side from a UTF-8 encoded string in wasm memory.
61
- * */
62
- protected valueStringCreate(out: number, ptr: number, len: number): void;
63
- /**
64
- * Returns the length of the string given by id.
65
- * */
66
- protected valueStringLen(id: number): number;
67
- /**
68
- * Copy the string at id "id" into the shared memory at ptr.
69
- * */
70
- protected valueStringCopy(id: number, ptr: number, max: number): void;
71
- /**
72
- * Call a constructor given by id.
73
- * */
74
- protected valueNew(out: number, id: number, argsAddr: number, argsLen: number): void;
75
- /**
76
- * Call a function given by id.
77
- * */
78
- protected funcApply(out: number, id: number, thisRefAddr: number, argsAddr: number, argsLen: number): void;
79
- /**
80
- * This can be used to load a value given by an ID. A WASM function
81
- * might return a value as an ID. This can be used to retrieve it.
82
- * */
83
- loadValue(id: number): any;
84
- /**
85
- * This removes the value from the values list and returns it. This
86
- * will not remove predefined values but can still be used to retrieve
87
- * them.
88
- * */
89
- deleteValue(id: number): any;
90
- loadRef(refAddr: number): any;
91
- loadRefId(refAddr: number): number;
92
- storeValue(out: number, val: any): void;
93
- loadString(ptr: number, len: number): string;
94
- }
95
- export interface ImportObject {
96
- "zig-js": {
97
- valueGet: (out: number, id: number, ptr: number, len: number) => void;
98
- valueSet: (id: number, ptr: number, len: number, valueRef: number) => void;
99
- valueObjectCreate: (out: number) => void;
100
- valueStringCreate: (out: number, ptr: number, len: number) => void;
101
- valueStringLen: (id: number) => number;
102
- valueStringCopy: (id: number, ptr: number, max: number) => void;
103
- valueDeinit: (id: number) => void;
104
- valueNew: (out: number, funcId: number, argsPtr: number, argsLen: number) => void;
105
- funcApply: (out: number, funcId: number, thisRef: number, argsPtr: number, argsLen: number) => void;
106
- };
107
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes