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.
- package/aws-lambda/index.js +20 -29
- package/build.zig +118 -2
- package/build.zig.zon +13 -2
- package/cloudflare/index.js +1768 -1954
- package/index.js +190 -218
- package/{pkg/ziex/src/react → jsx}/dom.d.ts +5 -9
- package/{pkg/ziex/src/react → jsx}/index.d.ts +1 -1
- package/{react → jsx}/index.js +19 -25
- package/{pkg/ziex/src/react → jsx}/types.d.ts +14 -9
- package/package.json +6 -14
- package/vercel/index.js +0 -15
- package/wasm/index.js +259 -239
- package/wasm/init.dev.js +249 -191
- package/wasm/init.js +3 -3
- package/pkg/ziex/src/zx.d.ts +0 -1
- package/vendor/jsz/js/src/index.d.ts +0 -1
- package/vendor/jsz/js/src/zigjs.d.ts +0 -107
- /package/{pkg/ziex/src/app.d.ts → app.d.ts} +0 -0
- /package/{pkg/ziex/src/aws-lambda → aws-lambda}/index.d.ts +0 -0
- /package/{pkg/ziex/src/browser → browser}/kv.d.ts +0 -0
- /package/{pkg/ziex/src/cloudflare → cloudflare}/app.d.ts +0 -0
- /package/{pkg/ziex/src/cloudflare → cloudflare}/db.d.ts +0 -0
- /package/{pkg/ziex/src/cloudflare → cloudflare}/do.d.ts +0 -0
- /package/{pkg/ziex/src/cloudflare → cloudflare}/index.d.ts +0 -0
- /package/{pkg/ziex/src/cloudflare → cloudflare}/kv.d.ts +0 -0
- /package/{pkg/ziex/src/cloudflare → cloudflare}/worker.d.ts +0 -0
- /package/{pkg/ziex/src/db.d.ts → db.d.ts} +0 -0
- /package/{pkg/ziex/src/fetch.d.ts → fetch.d.ts} +0 -0
- /package/{pkg/ziex/src/index.d.ts → index.d.ts} +0 -0
- /package/{pkg/ziex/src/kv.d.ts → kv.d.ts} +0 -0
- /package/{pkg/ziex/src/runtime.d.ts → runtime.d.ts} +0 -0
- /package/{pkg/ziex/src/vercel → vercel}/index.d.ts +0 -0
- /package/{pkg/ziex/src/wasi.d.ts → wasi.d.ts} +0 -0
- /package/{pkg/ziex/src/wasm → wasm}/core.d.ts +0 -0
- /package/{pkg/ziex/src/wasm → wasm}/dom.d.ts +0 -0
- /package/{pkg/ziex/src/wasm → wasm}/index.d.ts +0 -0
- /package/{pkg/ziex/src/wasm → wasm}/init.d.ts +0 -0
- /package/{pkg/ziex/src/wasm → wasm}/types.d.ts +0 -0
- /package/{pkg/ziex/src/wasm → wasm}/wasi.d.ts +0 -0
package/wasm/init.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var
|
|
2
|
-
`)){let
|
|
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();
|
package/pkg/ziex/src/zx.d.ts
DELETED
|
@@ -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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|