@componentor/quickjs-wasmfs-release-sync 0.31.13 → 0.31.16
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/dist/emscripten-module.browser.d.ts +9 -5
- package/dist/emscripten-module.browser.mjs +71 -79
- package/dist/emscripten-module.wasm +0 -0
- package/dist/ffi.d.mts +14 -4
- package/dist/ffi.d.ts +14 -4
- package/dist/ffi.js +1 -1
- package/dist/ffi.js.map +1 -1
- package/dist/ffi.mjs +1 -1
- package/dist/ffi.mjs.map +1 -1
- package/dist/index.d.mts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
|
@@ -1,14 +1,18 @@
|
|
|
1
|
-
// Generated from ../../templates/emscripten-module.
|
|
1
|
+
// Generated from ../../templates/emscripten-module.ASYNCIFY.d.ts - WasmFS variant with OPFS support
|
|
2
2
|
import type {
|
|
3
3
|
EmscriptenModuleLoader,
|
|
4
|
-
|
|
4
|
+
QuickJSAsyncEmscriptenModule,
|
|
5
5
|
} from "@componentor/quickjs-ffi-types"
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
7
|
+
* Emscripten module built from [`quickjs/quickjs.h`](../quickjs/quickjs.h) and
|
|
8
|
+
* our FFI support functions [c/interface.c](../c/interface.c), compiled with -s
|
|
9
|
+
* ASYNCIFY=1.
|
|
10
|
+
*
|
|
11
|
+
* Because this version is built with ASYNCIFY, the C code can call asynchronous
|
|
12
|
+
* Javascript functions as though they were synchronous.
|
|
9
13
|
*
|
|
10
14
|
* Note that emscripten modules returned by a `MODULARIZE=1` emscripten build
|
|
11
15
|
* (like this one) load asynchronously.
|
|
12
16
|
*/
|
|
13
|
-
declare const ModuleLoader: EmscriptenModuleLoader<
|
|
17
|
+
declare const ModuleLoader: EmscriptenModuleLoader<QuickJSAsyncEmscriptenModule>
|
|
14
18
|
export default ModuleLoader
|
|
@@ -8,91 +8,83 @@ function(moduleArg = {}) {
|
|
|
8
8
|
|
|
9
9
|
var aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(a==Array.prototype||a==Object.prototype)return a;a[b]=c.value;return a};function ba(a){a=["object"==typeof globalThis&&globalThis,a,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var b=0;b<a.length;++b){var c=a[b];if(c&&c.Math==Math)return c}throw Error("Cannot find global object");}var ca=ba(this);
|
|
10
10
|
function d(a,b){if(b)a:{var c=ca;a=a.split(".");for(var e=0;e<a.length-1;e++){var f=a[e];if(!(f in c))break a;c=c[f]}a=a[a.length-1];e=c[a];b=b(e);b!=e&&null!=b&&aa(c,a,{configurable:!0,writable:!0,value:b})}}function da(a){a=Math.trunc(a)||0;0>a&&(a+=this.length);if(!(0>a||a>=this.length))return this[a]}d("Array.prototype.at",function(a){return a?a:da});function g(a){return a?a:da}d("Int8Array.prototype.at",g);d("Uint8Array.prototype.at",g);d("Uint8ClampedArray.prototype.at",g);
|
|
11
|
-
d("Int16Array.prototype.at",g);d("Uint16Array.prototype.at",g);d("Int32Array.prototype.at",g);d("Uint32Array.prototype.at",g);d("Float32Array.prototype.at",g);d("Float64Array.prototype.at",g);d("String.prototype.at",function(a){return a?a:da});var m=moduleArg,ea,fa,ha=new Promise((a,b)=>{ea=a;fa=b}),ia="object"==typeof window,ja="function"==typeof importScripts;function
|
|
12
|
-
m.quickjsEmscriptenInit=
|
|
13
|
-
"undefined"!==typeof navigator&&navigator.storage&&navigator.storage.getDirectory
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
"undefined"
|
|
18
|
-
|
|
19
|
-
if("
|
|
20
|
-
a)}));
|
|
21
|
-
"undefined"!==typeof navigator&&navigator.storage&&navigator.storage.getDirectory&&(m.preRun=m.preRun||[],m.preRun.push(function(){console.log("[WasmFS preRun] Hook called");ma?console.log("[WasmFS preRun] Mount already attempted, result:",na):(console.log("[WasmFS preRun] Mount not attempted yet, trying now"),"function"===typeof m.addRunDependency?(m.addRunDependency("opfs-mount-preRun"),ta("preRun").finally(function(){console.log("[WasmFS preRun] Removing dependency");m.removeRunDependency("opfs-mount-preRun")})):ta("preRun"));
|
|
22
|
-
console.log("[WasmFS preRun] Mount state:",{Vc:ma,Cd:na,wd:oa,errors:ra.length})}));
|
|
23
|
-
m.mountOPFS=async function(a,b){async function c(k,l){if("function"===typeof m.wasmfsOPFSGetOrCreateDir){k=await m.wasmfsOPFSGetOrCreateDir(k,l);if(0!==k&&void 0!==k)throw Error("wasmfsOPFSGetOrCreateDir returned error: "+k);return!0}if(m.FS&&m.FS.filesystems&&m.FS.filesystems.Dc){try{m.mkdir(l)}catch(n){if("EEXIST"!==n.code&&20!==n.rc)throw n;}m.FS.mount(m.FS.filesystems.Dc,{root:k},l);return!0}return!1}"undefined"===typeof a&&(a="/opfs");"undefined"===typeof b&&(b=null);if(!navigator.storage||!navigator.storage.getDirectory)throw Error("OPFS is not supported in this browser");
|
|
24
|
-
var e=await navigator.storage.getDirectory();if("/"===a&&(null===b||"/"===b||""===b)){a=[];for await(h of e.entries())if(b=h[0],e=h[1],"directory"===e.kind){var f="/"+b;try{try{m.FS.stat(f);console.log("[WasmFS] Skipping existing directory:",f);continue}catch(k){}await c(e,f);a.push(f);console.log("[WasmFS] Mounted OPFS",b,"at",f)}catch(k){console.warn("[WasmFS] Failed to mount",b,":",k.message)}}console.log("[WasmFS] OPFS mounted directories:",a);return 0<a.length?"/":null}var h=e;if(b&&"/"!==b&&
|
|
25
|
-
""!==b)for(e=b.split("/").filter(Boolean),f=0;f<e.length;f++)h=await h.getDirectoryHandle(e[f],{create:!0});if(!await c(h,a))throw Error("WasmFS OPFS backend not available");console.log("[WasmFS] OPFS mounted at",a,b?"(OPFS path: "+b+")":"");return a};
|
|
26
|
-
m.watchFiles=function(a,b,c){"undefined"===typeof c&&(c=100);for(var e=new Map,f=0;f<a.length;f++)try{var h=m.FS.stat(a[f]);e.set(a[f],h.nc.getTime())}catch(l){e.set(a[f],0)}var k=setInterval(function(){for(var l=0;l<a.length;l++){var n=a[l];try{var q=m.FS.stat(n).nc.getTime(),u=e.get(n);q!==u&&(e.set(n,q),0!==u&&b(n,"change"))}catch(x){u=e.get(n),0!==u&&(e.set(n,0),b(n,"delete"))}}},c);return{close:function(){clearInterval(k)},addPath:function(l){if(-1===a.indexOf(l)){a.push(l);try{var n=m.FS.stat(l);
|
|
27
|
-
e.set(l,n.nc.getTime())}catch(q){e.set(l,0)}}},Ad:function(l){var n=a.indexOf(l);-1!==n&&(a.splice(n,1),e.delete(l))}}};
|
|
28
|
-
m.watchDirectory=function(a,b,c){function e(n){var q=[];try{for(var u=m.readdir(n),x=0;x<u.length;x++){var E=u[x];if("."!==E&&".."!==E){var C=n+"/"+E;try{var H=m.FS.stat(C);if(H.isDirectory()){var la=e(C);for(C=0;C<la.length;C++)q.push(la[C])}else q.push({path:C,nc:H.nc.getTime()})}catch(nc){}}}}catch(nc){}return q}"undefined"===typeof c&&(c=100);for(var f=new Map,h=e(a),k=0;k<h.length;k++)f.set(h[k].path,h[k].nc);var l=setInterval(function(){for(var n=e(a),q=new Set,u=0;u<n.length;u++){var x=n[u];
|
|
29
|
-
q.add(x.path);var E=f.get(x.path);void 0===E?(f.set(x.path,x.nc),b(x.path,"add")):x.nc!==E&&(f.set(x.path,x.nc),b(x.path,"change"))}f.forEach(function(C,H){q.has(H)||(f.delete(H),b(H,"delete"))})},c);return{close:function(){clearInterval(l)}}};m.readFile=function(a){return m.FS.readFile(a)};m.readFileString=function(a){a=m.FS.readFile(a);return(new TextDecoder).decode(a)};m.writeFile=function(a,b){m.FS.writeFile(a,b)};
|
|
11
|
+
d("Int16Array.prototype.at",g);d("Uint16Array.prototype.at",g);d("Int32Array.prototype.at",g);d("Uint32Array.prototype.at",g);d("Float32Array.prototype.at",g);d("Float64Array.prototype.at",g);d("String.prototype.at",function(a){return a?a:da});var m=moduleArg,ea,fa,ha=new Promise((a,b)=>{ea=a;fa=b}),ia="object"==typeof window,ja="function"==typeof importScripts;function la(a){a={log:a||function(){}};for(const b of la.Fc)b(a);return m.quickJSEmscriptenExtensions=a}la.Fc=[];
|
|
12
|
+
m.quickjsEmscriptenInit=la;la.Fc.push(a=>{a.getWasmMemory=function(){return n}});
|
|
13
|
+
if("undefined"!==typeof navigator&&navigator.storage&&navigator.storage.getDirectory){var ma=m.onRuntimeInitialized;m.onRuntimeInitialized=function(){m._wasmfsOPFSMounted?console.log("[WasmFS] OPFS mounted at",m._wasmfsOPFSMountPath||"/home","(via C)"):console.log("[WasmFS] OPFS mount status unknown - may have been done by C code");try{if("undefined"!==typeof m.FS){var a=m.FS.stat("/home");console.log("[WasmFS] /home directory exists, mode:",a.mode)}}catch(b){console.log("[WasmFS] Note: /home not yet accessible:",
|
|
14
|
+
b.message)}ma&&ma()}}
|
|
15
|
+
m.mountOPFS=async function(a,b){"undefined"===typeof a&&(a="/opfs");"undefined"===typeof b&&(b=null);if(!navigator.storage||!navigator.storage.getDirectory)throw Error("OPFS is not supported in this browser");var c=await navigator.storage.getDirectory();if(b&&"/"!==b&&""!==b)for(var e=b.split("/").filter(Boolean),f=0;f<e.length;f++)c=await c.getDirectoryHandle(e[f],{create:!0});if("function"===typeof m.wasmfsOPFSGetOrCreateDir){if(c=await m.wasmfsOPFSGetOrCreateDir(c,a),0!==c&&void 0!==c)throw Error("wasmfsOPFSGetOrCreateDir returned error: "+
|
|
16
|
+
c);}else throw Error("wasmfsOPFSGetOrCreateDir not available - module may not be initialized");console.log("[WasmFS] OPFS mounted at",a,b?"(OPFS path: "+b+")":"");return a};
|
|
17
|
+
m.watchFiles=function(a,b,c){"undefined"===typeof c&&(c=100);for(var e=new Map,f=0;f<a.length;f++)try{var h=m.FS.stat(a[f]);e.set(a[f],h.uc.getTime())}catch(l){e.set(a[f],0)}var k=setInterval(function(){for(var l=0;l<a.length;l++){var p=a[l];try{var t=m.FS.stat(p).uc.getTime(),v=e.get(p);t!==v&&(e.set(p,t),0!==v&&b(p,"change"))}catch(u){v=e.get(p),0!==v&&(e.set(p,0),b(p,"delete"))}}},c);return{close:function(){clearInterval(k)},addPath:function(l){if(-1===a.indexOf(l)){a.push(l);try{var p=m.FS.stat(l);
|
|
18
|
+
e.set(l,p.uc.getTime())}catch(t){e.set(l,0)}}},Cd:function(l){var p=a.indexOf(l);-1!==p&&(a.splice(p,1),e.delete(l))}}};
|
|
19
|
+
m.watchDirectory=function(a,b,c){function e(p){var t=[];try{for(var v=m.readdir(p),u=0;u<v.length;u++){var A=v[u];if("."!==A&&".."!==A){var D=p+"/"+A;try{var I=m.FS.stat(D);if(I.isDirectory()){var ka=e(D);for(D=0;D<ka.length;D++)t.push(ka[D])}else t.push({path:D,uc:I.uc.getTime()})}catch(uc){}}}}catch(uc){}return t}"undefined"===typeof c&&(c=100);for(var f=new Map,h=e(a),k=0;k<h.length;k++)f.set(h[k].path,h[k].uc);var l=setInterval(function(){for(var p=e(a),t=new Set,v=0;v<p.length;v++){var u=p[v];
|
|
20
|
+
t.add(u.path);var A=f.get(u.path);void 0===A?(f.set(u.path,u.uc),b(u.path,"add")):u.uc!==A&&(f.set(u.path,u.uc),b(u.path,"change"))}f.forEach(function(D,I){t.has(I)||(f.delete(I),b(I,"delete"))})},c);return{close:function(){clearInterval(l)}}};m.readFile=function(a){return m.FS.readFile(a)};m.readFileString=function(a){a=m.FS.readFile(a);return(new TextDecoder).decode(a)};m.writeFile=function(a,b){m.FS.writeFile(a,b)};
|
|
30
21
|
m.writeFileString=function(a,b){b=(new TextEncoder).encode(b);m.FS.writeFile(a,b)};m.readdir=function(a){return m.FS.readdir(a)};m.stat=function(a){return m.FS.stat(a)};m.mkdir=function(a){return m.FS.mkdir(a)};m.unlink=function(a){return m.FS.unlink(a)};m.rmdir=function(a){return m.FS.rmdir(a)};m.rename=function(a,b){return m.FS.rename(a,b)};m.exists=function(a){try{return m.FS.stat(a),!0}catch(b){return!1}};
|
|
31
22
|
m.syncOPFS=async function(){var a=m.FS;if(a&&"function"===typeof a.syncfs)return new Promise(function(b,c){a.syncfs(!1,function(e){e?c(e):b()})})};m.__wasmfs_exports__={mountOPFS:m.mountOPFS,readFile:m.readFile,readFileString:m.readFileString,writeFile:m.writeFile,writeFileString:m.writeFileString,readdir:m.readdir,stat:m.stat,mkdir:m.mkdir,unlink:m.unlink,rmdir:m.rmdir,rename:m.rename,exists:m.exists,syncOPFS:m.syncOPFS,watchFiles:m.watchFiles,watchDirectory:m.watchDirectory};
|
|
32
|
-
var
|
|
33
|
-
if(ia||ja)ja?
|
|
34
|
-
var
|
|
35
|
-
m.wasmMemory?
|
|
36
|
-
function
|
|
37
|
-
function
|
|
38
|
-
var G,
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
class mb{constructor(a){this.handle=a}async close(){}async flush(){}async getSize(){return(await this.handle.getFile()).size}async read(a,b={at:0}){b=await (await (await this.handle.getFile()).slice(b.at,b.at+a.length)).arrayBuffer();b=new Uint8Array(b);a.set(b);return b.length}async write(a,b={at:0}){let c=await this.handle.createWritable({keepExistingData:!0});await c.write({type:"write",position:b.at,data:a});await c.close();return a.length}async truncate(a){let b=await this.handle.createWritable({keepExistingData:!0});
|
|
23
|
+
var na=Object.assign({},m),oa="./this.program",q="",pa,qa;
|
|
24
|
+
if(ia||ja)ja?q=self.location.href:"undefined"!=typeof document&&document.currentScript&&(q=document.currentScript.src),_scriptName&&(q=_scriptName),q.startsWith("blob:")?q="":q=q.substr(0,q.replace(/[?#].*/,"").lastIndexOf("/")+1),ja&&(qa=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),pa=a=>fetch(a,{credentials:"same-origin"}).then(b=>b.ok?b.arrayBuffer():Promise.reject(Error(b.status+" : "+b.url)));
|
|
25
|
+
var ra=m.print||console.log.bind(console),r=m.printErr||console.error.bind(console);Object.assign(m,na);na=null;m.thisProgram&&(oa=m.thisProgram);var sa=m.wasmBinary,n,w=!1,ta,x,y,z,B,ua;function va(){var a=n.buffer;m.HEAP8=x=new Int8Array(a);m.HEAP16=new Int16Array(a);m.HEAPU8=y=new Uint8Array(a);m.HEAPU16=new Uint16Array(a);m.HEAP32=z=new Int32Array(a);m.HEAPU32=B=new Uint32Array(a);m.HEAPF32=new Float32Array(a);m.HEAPF64=ua=new Float64Array(a)}
|
|
26
|
+
m.wasmMemory?n=m.wasmMemory:n=new WebAssembly.Memory({initial:(m.INITIAL_MEMORY||16777216)/65536,maximum:32768});va();var wa=[],xa=[],ya=[];function za(){var a=m.preRun.shift();wa.unshift(a)}var C=0,Aa=null,Ba=null;function Ca(){C++;m.monitorRunDependencies?.(C)}function Da(){C--;m.monitorRunDependencies?.(C);if(0==C&&(null!==Aa&&(clearInterval(Aa),Aa=null),Ba)){var a=Ba;Ba=null;a()}}
|
|
27
|
+
function E(a){m.onAbort?.(a);a="Aborted("+a+")";r(a);w=!0;ta=1;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");fa(a);throw a;}var Ea=a=>a.startsWith("data:application/octet-stream;base64,"),Fa;function Ga(a){if(a==Fa&&sa)return new Uint8Array(sa);if(qa)return qa(a);throw"both async and sync fetching of the wasm failed";}function Ha(a){return sa?Promise.resolve().then(()=>Ga(a)):pa(a).then(b=>new Uint8Array(b),()=>Ga(a))}
|
|
28
|
+
function Ia(a,b,c){return Ha(a).then(e=>WebAssembly.instantiate(e,b)).then(c,e=>{r(`failed to asynchronously prepare wasm: ${e}`);E(e)})}function Ja(a,b){var c=Fa;return sa||"function"!=typeof WebAssembly.instantiateStreaming||Ea(c)||"function"!=typeof fetch?Ia(c,a,b):fetch(c,{credentials:"same-origin"}).then(e=>WebAssembly.instantiateStreaming(e,a).then(b,function(f){r(`wasm streaming compile failed: ${f}`);r("falling back to ArrayBuffer instantiation");return Ia(c,a,b)}))}
|
|
29
|
+
var F,G,Ka={86744:()=>{"undefined"!==typeof m&&(m.Wc=!0,m.Vc="/home")}};function La(a){this.name="ExitStatus";this.message=`Program terminated with exit(${a})`;this.status=a}
|
|
30
|
+
var Ma=a=>{for(;0<a.length;)a.shift()(m)},Na=m.noExitRuntime||!0,Oa="undefined"!=typeof TextDecoder?new TextDecoder:void 0,H=(a,b,c)=>{var e=b+c;for(c=b;a[c]&&!(c>=e);)++c;if(16<c-b&&a.buffer&&Oa)return Oa.decode(a.subarray(b,c));for(e="";b<c;){var f=a[b++];if(f&128){var h=a[b++]&63;if(192==(f&224))e+=String.fromCharCode((f&31)<<6|h);else{var k=a[b++]&63;f=224==(f&240)?(f&15)<<12|h<<6|k:(f&7)<<18|h<<12|k<<6|a[b++]&63;65536>f?e+=String.fromCharCode(f):(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|
|
|
31
|
+
f&1023))}}else e+=String.fromCharCode(f)}return e},Pa=(a,b)=>a?H(y,a,b):"",Qa=[0,31,60,91,121,152,182,213,244,274,305,335],Ra=[0,31,59,90,120,151,181,212,243,273,304,334],Sa=(a,b)=>b+2097152>>>0<4194305-!!a?(a>>>0)+4294967296*b:NaN,Ta={},Ua=a=>{if(!(a instanceof La||"unwind"==a))throw a;},Va=0,Wa=a=>{ta=a;Na||0<Va||(m.onExit?.(a),w=!0);throw new La(a);},Xa=a=>{if(!w)try{if(a(),!(Na||0<Va))try{ta=a=ta,Wa(a)}catch(b){Ua(b)}}catch(b){Ua(b)}},Ya;Ya=()=>performance.now();
|
|
32
|
+
var J=(a,b,c,e)=>{if(!(0<e))return 0;var f=c;e=c+e-1;for(var h=0;h<a.length;++h){var k=a.charCodeAt(h);if(55296<=k&&57343>=k){var l=a.charCodeAt(++h);k=65536+((k&1023)<<10)|l&1023}if(127>=k){if(c>=e)break;b[c++]=k}else{if(2047>=k){if(c+1>=e)break;b[c++]=192|k>>6}else{if(65535>=k){if(c+2>=e)break;b[c++]=224|k>>12}else{if(c+3>=e)break;b[c++]=240|k>>18;b[c++]=128|k>>12&63}b[c++]=128|k>>6&63}b[c++]=128|k&63}}b[c]=0;return c-f},Za=[],K=[],$a=!1,L=a=>{for(var b=0,c=0;c<a.length;++c){var e=a.charCodeAt(c);
|
|
33
|
+
127>=e?b++:2047>=e?b+=2:55296<=e&&57343>=e?(b+=4,++c):b+=3}return b};function ab(a,b){a.vc[b]=void 0;a.Dc.push(b)}class bb{constructor(){this.vc=[void 0];this.Dc=[]}get(a){return this.vc[a]}has(a){return void 0!==this.vc[a]}xc(a){var b=this.Dc.pop()||this.vc.length;this.vc[b]=a;return b}}var M=new bb,cb=new bb,N=new bb,O=new bb;
|
|
34
|
+
async function db(a,b,c){a=N.get(a);let e;try{e=await a.getFileHandle(b,{create:c})}catch(f){return"NotFoundError"===f.name?-20:"TypeMismatchError"===f.name?-31:-29}return O.xc(e)}async function eb(a,b,c){a=N.get(a);let e;try{e=await a.getDirectoryHandle(b,{create:c})}catch(f){return"NotFoundError"===f.name?-20:"TypeMismatchError"===f.name?-54:-29}return N.xc(e)}
|
|
35
|
+
class fb{constructor(a){this.handle=a}async close(){}async flush(){}async getSize(){return(await this.handle.getFile()).size}async read(a,b={at:0}){b=await (await (await this.handle.getFile()).slice(b.at,b.at+a.length)).arrayBuffer();b=new Uint8Array(b);a.set(b);return b.length}async write(a,b={at:0}){let c=await this.handle.createWritable({keepExistingData:!0});await c.write({type:"write",position:b.at,data:a});await c.close();return a.length}async truncate(a){let b=await this.handle.createWritable({keepExistingData:!0});
|
|
46
36
|
await b.truncate(a);await b.close()}}
|
|
47
|
-
var
|
|
48
|
-
|
|
49
|
-
b&&=b.substr(0,b.length-1);return a+b},
|
|
50
|
-
new Uint8Array(
|
|
51
|
-
if(!c)return"";b=c+"/"+b;c=
|
|
52
|
-
146);return c},
|
|
53
|
-
function
|
|
54
|
-
function
|
|
55
|
-
function
|
|
56
|
-
var
|
|
57
|
-
"utf8"===b.encoding&&(c=
|
|
58
|
-
typeof c?438:c;e=
|
|
59
|
-
b>>>0,(
|
|
60
|
-
b)),
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
{var c=
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
m
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
m.
|
|
81
|
-
m.
|
|
82
|
-
m.
|
|
83
|
-
m.
|
|
84
|
-
m.
|
|
85
|
-
m.
|
|
86
|
-
m.
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
Tb=()=>(Tb=
|
|
37
|
+
var gb=[],hb=[],ib={},kb=()=>{if(!jb){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:oa||"./this.program"},b;for(b in ib)void 0===ib[b]?delete a[b]:a[b]=ib[b];var c=[];for(b in a)c.push(`${b}=${a[b]}`);jb=c}return jb},jb,lb=()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return a=>crypto.getRandomValues(a);E("initRandomDevice")},
|
|
38
|
+
mb=a=>(mb=lb())(a),P={Gc:a=>"/"===a.charAt(0),Sc:a=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1),Ic:(a,b)=>{for(var c=0,e=a.length-1;0<=e;e--){var f=a[e];"."===f?a.splice(e,1):".."===f?(a.splice(e,1),c++):c&&(a.splice(e,1),c--)}if(b)for(;c;c--)a.unshift("..");return a},normalize:a=>{var b=P.Gc(a),c="/"===a.substr(-1);(a=P.Ic(a.split("/").filter(e=>!!e),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a},dirname:a=>{var b=P.Sc(a);a=b[0];b=b[1];if(!a&&!b)return".";
|
|
39
|
+
b&&=b.substr(0,b.length-1);return a+b},Zc:a=>{if("/"===a)return"/";a=P.normalize(a);a=a.replace(/\/$/,"");var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)},join:(...a)=>P.normalize(a.join("/")),Bc:(a,b)=>P.normalize(a+"/"+b)},Q=a=>{var b=L(a)+1,c=nb(b);J(a,y,c,b);return c},S=a=>{var b=R();a=a();ob(b);return a},pb=a=>B[a>>2]+4294967296*z[a+4>>2],rb=(a,b,c)=>T.handleError(S(()=>{var e=Q(a);return qb(e,b,c)})),sb=(a,b=438)=>rb(a,b&4095|32768,0),ub=(a,b)=>{var c=R();a=Q(a);if("string"==typeof b){var e=
|
|
40
|
+
new Uint8Array(L(b)+1);b=J(b,e,0,e.length);b=e.slice(0,b)}e=U(b.length);for(var f=0;f<b.length;f++)x[e+f]=b[f];b=tb(a,e,b.length);V(e);ob(c);return b},wb=(a,b,c,e,f)=>{a=b?a+"/"+b:a;e=vb(e,f);$a?(sb(a,e),ub(a,c)):K.push({Rc:a,Ec:c,mode:e})},xb=(a,b,c)=>{var e=`al ${a}`;pa(a).then(f=>{b(new Uint8Array(f));e&&Da(e)},()=>{if(c)c();else throw`Loading data file "${a}" failed.`;});e&&Ca(e)},yb=(...a)=>{for(var b="",c=!1,e=a.length-1;-1<=e&&!c;e--){c=0<=e?a[e]:T.Mc();if("string"!=typeof c)throw new TypeError("Arguments to path.resolve must be strings");
|
|
41
|
+
if(!c)return"";b=c+"/"+b;c=P.Gc(c)}b=P.Ic(b.split("/").filter(f=>!!f),!c).join("/");return(c?"/":"")+b||"."},zb=m.preloadPlugins||[],Bb=(a,b,c,e)=>{"undefined"!=typeof Browser&&Ab();var f=!1;zb.forEach(h=>{!f&&h.canHandle(b)&&(h.handle(a,b,c,e),f=!0)});return f},Cb=(a,b,c,e,f,h,k,l,p,t)=>{function v(D){function I(ka){t?.();l||wb(a,b,ka,e,f,p);h?.();Da(A)}Bb(D,u,I,()=>{k?.();Da(A)})||I(D)}var u=b?yb(P.Bc(a,b)):a,A=`cp ${u}`;Ca(A);"string"==typeof c?xb(c,v,k):v(c)},vb=(a,b)=>{var c=0;a&&(c|=365);b&&
|
|
42
|
+
(c|=146);return c},Eb=(a,b=511)=>T.handleError(S(()=>{var c=Q(a);return Db(c,b)})),Gb=a=>S(()=>{var b=Q(a);return Fb(b)}),W={},Hb={},Ib={};function Ab(){T.Ab||(T.Ab=function(a){this.Ac=a;this.message="FS error";this.name="ErrnoError"},T.Ab.prototype=Error(),T.Ab.prototype.constructor=T.Ab)}function Jb(a){var b=S(()=>Kb(Q(a)));return 44==b?null:{pd:31==b,od:!1}}
|
|
43
|
+
function Lb(a){var b=a+88;return{jd:B[a>>2],mode:B[a+4>>2],yd:B[a+8>>2],uid:B[a+12>>2],md:B[a+16>>2],Ad:B[a+20>>2],size:pb(a+24),$c:B[a+32>>2],ad:B[a+36>>2],Yc:pb(a+40),uc:pb(a+56),hd:pb(a+72),nd:B[b>>2]+4294967296*B[b+4>>2]}}
|
|
44
|
+
function Mb(a,b){var c=Nb(),e={Tc:b.read,Uc:b.write,Jc:f=>{Ib[f]={}},Nc:f=>{Ib[f]=void 0},getSize:()=>{},Dd:()=>0,read:(f,h,k,l)=>{var p=m.yc.subarray(h,h+k);try{var t=e.Tc(Ib[f],p,0,k,l)}catch(v){return-v.Ac}m.yc.set(p,h);return t},write:(f,h,k,l)=>{var p=m.yc.subarray(h,h+k);try{var t=e.Uc(Ib[f],p,0,k,l)}catch(v){return-v.Ac}m.yc.set(p,h);return t}};W[c]=e;Hb[a]=c}
|
|
45
|
+
function Ob(a,b,c){"undefined"===typeof c&&(c=b,b=438);var e=Hb[c];if(!e)throw Error("Invalid device ID.");return T.handleError(S(()=>Pb(Q(a),b,e)))}
|
|
46
|
+
var T={Ab:null,handleError(a){if(0>a)throw new T.Ab(-a);return a},fd(a,b,c,e,f,h){wb(a,b,c,e,f,h)},Lc(a,b){for(b=b.split("/").reverse();b.length;){var c=b.pop();if(c){var e=P.Bc(a,c);$a?T.mkdir(e):Za.push({Qc:a,Kc:c});a=e}}return e},gd(a,b,c,e,f,h,k,l,p,t){return Cb(a,b,c,e,f,h,k,l,p,t)},readFile(a,b={}){b.encoding=b.encoding||"binary";if("utf8"!==b.encoding&&"binary"!==b.encoding)throw Error('Invalid encoding type "'+b.encoding+'"');var c=R();a=Qb(Q(a));ob(c);c=new Uint8Array(y.subarray(a+8,a+8+
|
|
47
|
+
pb(a)));"utf8"===b.encoding&&(c=H(c,0));return c},Mc:()=>Pa(Rb()),Xc(a){var b=!!Jb(a);return{exists:b,object:{dd:b?T.readFile(a):null}}},mkdir:(a,b)=>Eb(a,b),td:(a,b)=>{a=a.split("/");for(var c="",e=0;e<a.length;++e)if(a[e]){c+="/"+a[e];try{Eb(c,b)}catch(f){if(20!=f.Ac)throw f;}}},rmdir:a=>T.handleError(S(()=>Sb(Q(a)))),open:(a,b,c)=>S(()=>{if("string"==typeof b){var e={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[b];if("undefined"==typeof e)throw Error(`Unknown file open mode: ${b}`);}else e=b;b=
|
|
48
|
+
e;c="undefined"==typeof c?438:c;e=Q(a);return{wc:T.handleError(Tb(e,b,c))}}),create:(a,b)=>sb(a,b),close:a=>T.handleError(-Ub(a.wc)),unlink:a=>Gb(a),bd:a=>S(()=>{var b=Q(a);return Vb(b)}),read(a,b,c,e,f){var h="undefined"!=typeof f,k=U(e);a=h?Wb(a.wc,k,e,f):Xb(a.wc,k,e);a=T.handleError(a);for(f=0;f<e;f++)b[c+f]=x[k+f];V(k);return a},write(a,b,c,e,f){for(var h="undefined"!=typeof f,k=U(e),l=0;l<e;l++)x[k+l]=b[c+l];a=h?Yb(a.wc,k,e,f):Zb(a.wc,k,e);a=T.handleError(a);V(k);return a},xc(a,b,c){return T.handleError($b(a.wc,
|
|
49
|
+
b>>>0,(F=b,1<=+Math.abs(F)?0<F?+Math.floor(F/4294967296)>>>0:~~+Math.ceil((F-+(~~F>>>0))/4294967296)>>>0:0),c>>>0,(F=c,1<=+Math.abs(F)?0<F?+Math.floor(F/4294967296)>>>0:~~+Math.ceil((F-+(~~F>>>0))/4294967296)>>>0:0)))},writeFile:(a,b)=>ub(a,b),vd:(a,b,c,e,f)=>({zd:T.handleError(ac(b,e,f,a.wc,c>>>0,(F=c,1<=+Math.abs(F)?0<F?+Math.floor(F/4294967296)>>>0:~~+Math.ceil((F-+(~~F>>>0))/4294967296)>>>0:0))),vc:!0}),wd:(a,b,c,e,f)=>{0===c||E();return T.handleError(bc(b,e,f))},xd:(a,b)=>T.handleError(cc(a,
|
|
50
|
+
b)),Ed:(a,b)=>S(()=>dc(Q(a),Q(b))),Bd(a){var b=T.handleError(S(()=>ec(Q(a))));return b?H(y,b):""},stat(a){var b=U(96);T.handleError(S(()=>fc(Q(a),b)));var c=Lb(b);V(b);return c},sd(a){var b=U(96);T.handleError(S(()=>gc(Q(a),b)));var c=Lb(b);V(b);return c},cd(a,b){return T.handleError(S(()=>{var c=Q(a);return hc(c,b)}))},qd(a,b){return T.handleError(S(()=>{var c=Q(a);return ic(c,b)}))},kd(a,b){return T.handleError(jc(a,b))},Id:(a,b,c)=>T.handleError(S(()=>kc(Q(a),b,c))),truncate(a,b){return T.handleError(S(()=>
|
|
51
|
+
lc(Q(a),b>>>0,(F=b,1<=+Math.abs(F)?0<F?+Math.floor(F/4294967296)>>>0:~~+Math.ceil((F-+(~~F>>>0))/4294967296)>>>0:0))))},ld(a,b){return T.handleError(mc(a,b>>>0,(F=b,1<=+Math.abs(F)?0<F?+Math.floor(F/4294967296)>>>0:~~+Math.ceil((F-+(~~F>>>0))/4294967296)>>>0:0)))},readdir:a=>S(()=>{var b=Q(a),c=[];b=nc(b);if(!b)throw Error("No such directory");for(var e;e=oc(b);)c.push(e?H(y,e):"");pc(b);return c}),mount:(a,b,c)=>{var e=a.ed(b);return T.handleError(S(()=>qc(Q(c),e)))},Hd:a=>T.handleError(S(()=>rc(Q(a)))),
|
|
52
|
+
ud:(a,b,c)=>rb(a,b,c),Pc:(a,b)=>a<<8|b,zc(a,b,c,e){if("string"!=typeof a)throw Error("Only string paths are accepted");a=P.Bc(a,b);b=vb(!!c,!!e);T.zc.Hc||(T.zc.Hc=64);var f=T.Pc(T.zc.Hc++,0);Mb(f,{read(h,k,l,p){for(var t=h=0;t<p;t++){try{var v=c()}catch(u){throw new T.Ab(29);}if(void 0===v&&0===h)throw new T.Ab(6);if(null===v||void 0===v)break;h++;k[l+t]=v}return h},write(h,k,l,p){for(h=0;h<p;h++)try{e(k[l+h])}catch(t){throw new T.Ab(29);}return h}});return Ob(a,b,f)},rename(a,b){return T.handleError(S(()=>
|
|
53
|
+
{var c=Q(a),e=Q(b);return sc(c,e)}))},rd(a,b,c){return T.handleError(tc(a.wc,b>>>0,(F=b,1<=+Math.abs(F)?0<F?+Math.floor(F/4294967296)>>>0:~~+Math.ceil((F-+(~~F>>>0))/4294967296)>>>0:0),c))}},vc=a=>{try{a()}catch(b){E(b)}};function wc(){var a=X,b={};for(let [c,e]of Object.entries(a))b[c]="function"==typeof e?(...f)=>{xc.push(c);try{return e(...f)}finally{w||(xc.pop(),Y&&1===Z&&0===xc.length&&(Z=0,vc(yc),"undefined"!=typeof Fibers&&Fibers.Gd()))}}:e;return b}
|
|
54
|
+
var Z=0,zc=81920,Y=null,Ac=0,xc=[],Bc={},Cc={},Dc=0,Ec=null,Fc=[];function Gc(){return new Promise((a,b)=>{Ec={resolve:a,reject:b}})}function Hc(){var a=U(12+zc),b=a+12,c=zc;B[a>>2]=b;B[a+4>>2]=b+c;b=xc[0];c=Bc[b];void 0===c&&(c=Dc++,Bc[b]=c,Cc[c]=b);z[a+8>>2]=c;return a}
|
|
55
|
+
function Ic(a){if(!w){if(0===Z){var b=!1,c=!1;a((e=0)=>{if(!w&&(Ac=e,b=!0,c)){Z=2;vc(()=>Jc(Y));"undefined"!=typeof Browser&&Browser.Cc.Oc&&Browser.Cc.resume();e=!1;try{var f=(0,X[Cc[z[Y+8>>2]]])()}catch(l){f=l,e=!0}var h=!1;if(!Y){var k=Ec;k&&(Ec=null,(e?k.reject:k.resolve)(f),h=!0)}if(e&&!h)throw f;}});c=!0;b||(Z=1,Y=Hc(),"undefined"!=typeof Browser&&Browser.Cc.Oc&&Browser.Cc.pause(),vc(()=>Kc(Y)))}else 2===Z?(Z=0,vc(Lc),V(Y),Y=null,Fc.forEach(Xa)):E(`invalid state: ${Z}`);return Ac}}
|
|
56
|
+
var Mc=(a,b,c,e,f)=>{function h(u){--Va;0!==p&&ob(p);return"string"===b?u?H(y,u):"":"boolean"===b?!!u:u}var k={string:u=>{var A=0;null!==u&&void 0!==u&&0!==u&&(A=Q(u));return A},array:u=>{var A=nb(u.length);x.set(u,A);return A}};a=m["_"+a];var l=[],p=0;if(e)for(var t=0;t<e.length;t++){var v=k[c[t]];v?(0===p&&(p=R()),l[t]=v(e[t])):l[t]=e[t]}c=Y;e=a(...l);f=f?.async;Va+=1;if(Y!=c)return Gc().then(h);e=h(e);return f?Promise.resolve(e):e},Nc=T.Lc;Ab();
|
|
57
|
+
var Qc={b:(a,b,c,e)=>{E(`Assertion failed: ${a?H(y,a):""}, at: `+[b?b?H(y,b):"":"unknown filename",c,e?e?H(y,e):"":"unknown function"])},ba:()=>{E("")},$:()=>{Na=!1;Va=0},t:function(a,b,c){a=new Date(1E3*Sa(a,b));z[c>>2]=a.getSeconds();z[c+4>>2]=a.getMinutes();z[c+8>>2]=a.getHours();z[c+12>>2]=a.getDate();z[c+16>>2]=a.getMonth();z[c+20>>2]=a.getFullYear()-1900;z[c+24>>2]=a.getDay();b=a.getFullYear();z[c+28>>2]=(0!==b%4||0===b%100&&0!==b%400?Ra:Qa)[a.getMonth()]+a.getDate()-1|0;z[c+36>>2]=-(60*a.getTimezoneOffset());
|
|
58
|
+
b=(new Date(a.getFullYear(),6,1)).getTimezoneOffset();var e=(new Date(a.getFullYear(),0,1)).getTimezoneOffset();z[c+32>>2]=(b!=e&&a.getTimezoneOffset()==Math.min(e,b))|0},u:(a,b)=>{Ta[a]&&(clearTimeout(Ta[a].id),delete Ta[a]);if(!b)return 0;var c=setTimeout(()=>{delete Ta[a];Xa(()=>Oc(a,Ya()))},b);Ta[a]={id:c,Fd:b};return 0},aa:(a,b,c,e)=>{var f=(new Date).getFullYear(),h=(new Date(f,0,1)).getTimezoneOffset();f=(new Date(f,6,1)).getTimezoneOffset();B[a>>2]=60*Math.max(h,f);z[b>>2]=Number(h!=f);b=
|
|
59
|
+
k=>{var l=Math.abs(k);return`UTC${0<=k?"-":"+"}${String(Math.floor(l/60)).padStart(2,"0")}${String(l%60).padStart(2,"0")}`};a=b(h);b=b(f);f<h?(J(a,y,c,17),J(b,y,e,17)):(J(a,y,e,17),J(b,y,c,17))},D:(a,b)=>y.set(K[a].Ec,b),B:()=>Za.length,C:()=>{$a=!0;return K.length},z:(a,b)=>{a=Za[a].Kc;J(a,y,b,L(a)+1)},x:a=>K[a].mode,E:a=>K[a].Ec.length,A:(a,b)=>{a=Za[a].Qc;J(a,y,b,L(a)+1)},y:(a,b)=>{a=K[a].Rc;J(a,y,b,L(a)+1)},w:(a,b)=>W[a].Jc(b),g:(a,b)=>W[a].Nc(b),v:(a,b)=>W[a].getSize(b),q:function(a,b,c,e,f,
|
|
60
|
+
h){return W[a].read?W[a].read(b,c,e,Sa(f,h)):-28},o:()=>0,p:function(a,b,c,e,f,h){return W[a].write?W[a].write(b,c,e,Sa(f,h)):-28},S:async function(a,b,c){a=M.get(b);try{await a.close()}catch{z[c>>2]=-29}ab(M,b)},k:a=>{ab(cb,a)},O:async function(a,b,c){a=M.get(b);try{await a.flush()}catch{z[c>>2]=-29}},h:a=>{ab(N,a)},j:a=>{ab(O,a)},Y:async function(a,b,c,e,f){a=c?H(y,c):"";c=1;let h=await db(b,a,!1);-31==h&&(c=2,h=await eb(b,a,!1));z[e>>2]=c;z[f>>2]=h},J:async function(a,b,c,e){a=N.get(b);try{let f=
|
|
61
|
+
a.entries();for(let h;h=await f.next(),!h.done;){let [k,l]=h.value,p=R(),t=Q(k);Pc(c,t,"file"==l.kind?1:2);ob(p)}}catch{z[e>>2]=-29}},V:async function(a,b,c){a=M.get(b);let e;try{e=await a.getSize()}catch{e=-29}G=[e>>>0,(F=e,1<=+Math.abs(F)?0<F?+Math.floor(F/4294967296)>>>0:~~+Math.ceil((F-+(~~F>>>0))/4294967296)>>>0:0)];z[c>>2]=G[0];z[c+4>>2]=G[1]},U:a=>cb.get(a).size,X:async function(a,b,c){a=O.get(b);let e;try{e=(await a.getFile()).size}catch{e=-29}G=[e>>>0,(F=e,1<=+Math.abs(F)?0<F?+Math.floor(F/
|
|
62
|
+
4294967296)>>>0:~~+Math.ceil((F-+(~~F>>>0))/4294967296)>>>0:0)];z[c>>2]=G[0];z[c+4>>2]=G[1]},Z:async function(){if(1==N.vc.length){let a=await navigator.storage.getDirectory();N.vc.push(a)}},L:async function(a,b,c,e){a=c?H(y,c):"";b=await eb(b,a,!0);z[e>>2]=b},M:async function(a,b,c,e){a=c?H(y,c):"";b=await db(b,a,!0);z[e>>2]=b},i:async function(a,b,c,e,f){a=e?H(y,e):"";b=O.get(b);c=N.get(c);try{await b.move(c,a)}catch{z[f>>2]=-29}},l:async function(a,b,c){a=O.get(b);let e;try{let f;f=await new fb(a);
|
|
63
|
+
e=M.xc(f)}catch(f){e="InvalidStateError"===f.name||"NoModificationAllowedError"===f.name?-2:-29}z[c>>2]=e},T:async function(a,b,c){a=O.get(b);let e;try{let f=await a.getFile();e=cb.xc(f)}catch(f){e="NotAllowedError"===f.name?-2:-29}z[c>>2]=e},R:async function(a,b,c,e){a=M.get(a);b=y.subarray(b,b+c);try{return await a.read(b,{at:e})}catch(f){return"TypeError"==f.name?-28:-29}},Q:async function(a,b,c,e,f,h){a=cb.get(b).slice(f,f+e);b=0;try{let k=await a.arrayBuffer(),l=new Uint8Array(k);y.set(l,c);
|
|
64
|
+
b+=l.length}catch(k){b=k instanceof RangeError?-21:-29}z[h>>2]=b},K:async function(a,b,c,e){a=c?H(y,c):"";b=N.get(b);try{await b.removeEntry(a)}catch{z[e>>2]=-29}},s:async function(a,b,c,e,f){a=Sa(c,e);b=M.get(b);try{await b.truncate(a)}catch{z[f>>2]=-29}},r:async function(a,b,c,e,f){a=Sa(c,e);b=O.get(b);try{let h=await b.createWritable({keepExistingData:!0});await h.truncate(a);await h.close()}catch{z[f>>2]=-29}},P:async function(a,b,c,e){a=M.get(a);b=y.subarray(b,b+c);try{return await a.write(b,
|
|
65
|
+
{at:e})}catch(f){return"TypeError"==f.name?-28:-29}},I:()=>{a:{if(!gb.length){var a=null;"undefined"!=typeof window&&"function"==typeof window.prompt&&(a=window.prompt("Input: "),null!==a&&(a+="\n"));if(!a){var b=null;break a}b=Array(L(a)+1);a=J(a,b,0,b.length);b.length=a;gb=b}b=gb.shift()}return"number"===typeof b?b:-1},n:(a,b,c)=>{hb.length=0;for(var e;e=y[b++];){var f=105!=e;f&=112!=e;c+=f&&c%8?4:0;hb.push(112==e?B[c>>2]:105==e?z[c>>2]:ua[c>>3]);c+=f?8:4}return Ka[a](...hb)},f:a=>{console.error(a?
|
|
66
|
+
H(y,a):"")},e:a=>{console.log(a?H(y,a):"")},c:()=>Date.now(),d:a=>r(a?H(y,a):""),H:a=>ra(a?H(y,a):""),_:a=>{var b=y.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var e=b*(1+.2/c);e=Math.min(e,a+100663296);a:{e=(Math.min(2147483648,65536*Math.ceil(Math.max(a,e)/65536))-n.buffer.byteLength+65535)/65536;try{n.grow(e);va();var f=1;break a}catch(h){}f=void 0}if(f)return!0}return!1},da:(a,b)=>{var c=0;kb().forEach((e,f)=>{var h=b+c;f=B[a+4*f>>2]=h;for(h=0;h<e.length;++h)x[f++]=e.charCodeAt(h);
|
|
67
|
+
x[f]=0;c+=e.length+1});return 0},m:(a,b)=>{var c=kb();B[a>>2]=c.length;var e=0;c.forEach(f=>e+=f.length+1);B[b>>2]=e;return 0},F:(a,b)=>{mb(y.subarray(a,a+b));return 0},a:n,ca:Wa,ea:function(a,b,c,e,f){return m.callbacks.callFunction({handleSleep:Ic},a,b,c,e,f)},W:function(a){return m.callbacks.shouldInterrupt(void 0,a)},N:function(a,b,c){const e={handleSleep:Ic};c=c?H(y,c):"";return m.callbacks.loadModuleSource(e,a,b,c)},G:function(a,b,c,e){const f={handleSleep:Ic};c=c?H(y,c):"";e=e?H(y,e):"";return m.callbacks.normalizeModule(f,
|
|
68
|
+
a,b,c,e)},fa:function(a,b){zc=a||b}},X=function(){function a(c){X=c.exports;X=wc();xa.unshift(X.ga);Da("wasm-instantiate");return X}var b={a:Qc};Ca("wasm-instantiate");if(m.instantiateWasm)try{return m.instantiateWasm(b,a)}catch(c){r(`Module.instantiateWasm callback failed with error: ${c}`),fa(c)}Fa||=m.locateFile?Ea("emscripten-module.wasm")?"emscripten-module.wasm":m.locateFile?m.locateFile("emscripten-module.wasm",q):q+"emscripten-module.wasm":(new URL("emscripten-module.wasm",import.meta.url)).href;
|
|
69
|
+
Ja(b,function(c){a(c.instance)}).catch(fa);return{}}(),U=m._malloc=a=>(U=m._malloc=X.ha)(a);m._QTS_Throw=(a,b)=>(m._QTS_Throw=X.ia)(a,b);m._QTS_NewError=a=>(m._QTS_NewError=X.ja)(a);m._QTS_RuntimeSetMemoryLimit=(a,b)=>(m._QTS_RuntimeSetMemoryLimit=X.ka)(a,b);m._QTS_RuntimeComputeMemoryUsage=(a,b)=>(m._QTS_RuntimeComputeMemoryUsage=X.la)(a,b);m._QTS_RuntimeDumpMemoryUsage=a=>(m._QTS_RuntimeDumpMemoryUsage=X.ma)(a);m._QTS_RecoverableLeakCheck=()=>(m._QTS_RecoverableLeakCheck=X.na)();
|
|
70
|
+
m._QTS_BuildIsSanitizeLeak=()=>(m._QTS_BuildIsSanitizeLeak=X.oa)();m._QTS_RuntimeSetMaxStackSize=(a,b)=>(m._QTS_RuntimeSetMaxStackSize=X.pa)(a,b);m._QTS_GetUndefined=()=>(m._QTS_GetUndefined=X.qa)();m._QTS_GetNull=()=>(m._QTS_GetNull=X.ra)();m._QTS_GetFalse=()=>(m._QTS_GetFalse=X.sa)();m._QTS_GetTrue=()=>(m._QTS_GetTrue=X.ta)();m._QTS_NewRuntime=()=>(m._QTS_NewRuntime=X.ua)();m._QTS_FreeRuntime=a=>(m._QTS_FreeRuntime=X.va)(a);var V=m._free=a=>(V=m._free=X.wa)(a);
|
|
71
|
+
m._QTS_NewContext=(a,b)=>(m._QTS_NewContext=X.xa)(a,b);m._QTS_FreeContext=a=>(m._QTS_FreeContext=X.ya)(a);m._QTS_FreeValuePointer=(a,b)=>(m._QTS_FreeValuePointer=X.za)(a,b);m._QTS_FreeValuePointerRuntime=(a,b)=>(m._QTS_FreeValuePointerRuntime=X.Aa)(a,b);m._QTS_FreeVoidPointer=(a,b)=>(m._QTS_FreeVoidPointer=X.Ba)(a,b);m._QTS_FreeCString=(a,b)=>(m._QTS_FreeCString=X.Ca)(a,b);m._QTS_DupValuePointer=(a,b)=>(m._QTS_DupValuePointer=X.Da)(a,b);m._QTS_NewObject=a=>(m._QTS_NewObject=X.Ea)(a);
|
|
72
|
+
m._QTS_NewObjectProto=(a,b)=>(m._QTS_NewObjectProto=X.Fa)(a,b);m._QTS_NewArray=a=>(m._QTS_NewArray=X.Ga)(a);m._QTS_NewArrayBuffer=(a,b,c)=>(m._QTS_NewArrayBuffer=X.Ha)(a,b,c);m._QTS_NewFloat64=(a,b)=>(m._QTS_NewFloat64=X.Ia)(a,b);m._QTS_GetFloat64=(a,b)=>(m._QTS_GetFloat64=X.Ja)(a,b);m._QTS_NewString=(a,b)=>(m._QTS_NewString=X.Ka)(a,b);m._QTS_GetString=(a,b)=>(m._QTS_GetString=X.La)(a,b);m._QTS_GetArrayBuffer=(a,b)=>(m._QTS_GetArrayBuffer=X.Ma)(a,b);
|
|
73
|
+
m._QTS_GetArrayBufferLength=(a,b)=>(m._QTS_GetArrayBufferLength=X.Na)(a,b);m._QTS_NewSymbol=(a,b,c)=>(m._QTS_NewSymbol=X.Oa)(a,b,c);m._QTS_GetSymbolDescriptionOrKey=(a,b)=>(m._QTS_GetSymbolDescriptionOrKey=X.Pa)(a,b);m._QTS_IsGlobalSymbol=(a,b)=>(m._QTS_IsGlobalSymbol=X.Qa)(a,b);m._QTS_IsJobPending=a=>(m._QTS_IsJobPending=X.Ra)(a);m._QTS_ExecutePendingJob=(a,b,c)=>(m._QTS_ExecutePendingJob=X.Sa)(a,b,c);m._QTS_GetProp=(a,b,c)=>(m._QTS_GetProp=X.Ta)(a,b,c);
|
|
74
|
+
m._QTS_GetPropNumber=(a,b,c)=>(m._QTS_GetPropNumber=X.Ua)(a,b,c);m._QTS_SetProp=(a,b,c,e)=>(m._QTS_SetProp=X.Va)(a,b,c,e);m._QTS_DefineProp=(a,b,c,e,f,h,k,l,p)=>(m._QTS_DefineProp=X.Wa)(a,b,c,e,f,h,k,l,p);m._QTS_GetOwnPropertyNames=(a,b,c,e,f)=>(m._QTS_GetOwnPropertyNames=X.Xa)(a,b,c,e,f);m._QTS_Call=(a,b,c,e,f)=>(m._QTS_Call=X.Ya)(a,b,c,e,f);m._QTS_ResolveException=(a,b)=>(m._QTS_ResolveException=X.Za)(a,b);m._QTS_GetException=a=>(m._QTS_GetException=X._a)(a);
|
|
75
|
+
m._QTS_Dump=(a,b)=>(m._QTS_Dump=X.$a)(a,b);m._QTS_Eval=(a,b,c,e,f,h)=>(m._QTS_Eval=X.ab)(a,b,c,e,f,h);m._QTS_GetModuleNamespace=(a,b)=>(m._QTS_GetModuleNamespace=X.bb)(a,b);m._QTS_Typeof=(a,b)=>(m._QTS_Typeof=X.cb)(a,b);m._QTS_GetLength=(a,b,c)=>(m._QTS_GetLength=X.db)(a,b,c);m._QTS_IsEqual=(a,b,c,e)=>(m._QTS_IsEqual=X.eb)(a,b,c,e);m._QTS_GetGlobalObject=a=>(m._QTS_GetGlobalObject=X.fb)(a);m._QTS_NewPromiseCapability=(a,b)=>(m._QTS_NewPromiseCapability=X.gb)(a,b);
|
|
76
|
+
m._QTS_PromiseState=(a,b)=>(m._QTS_PromiseState=X.hb)(a,b);m._QTS_PromiseResult=(a,b)=>(m._QTS_PromiseResult=X.ib)(a,b);m._QTS_TestStringArg=a=>(m._QTS_TestStringArg=X.jb)(a);m._QTS_GetDebugLogEnabled=a=>(m._QTS_GetDebugLogEnabled=X.kb)(a);m._QTS_SetDebugLogEnabled=(a,b)=>(m._QTS_SetDebugLogEnabled=X.lb)(a,b);m._QTS_BuildIsDebug=()=>(m._QTS_BuildIsDebug=X.mb)();m._QTS_BuildIsAsyncify=()=>(m._QTS_BuildIsAsyncify=X.nb)();m._QTS_NewFunction=(a,b,c)=>(m._QTS_NewFunction=X.ob)(a,b,c);
|
|
77
|
+
m._QTS_ArgvGetJSValueConstPointer=(a,b)=>(m._QTS_ArgvGetJSValueConstPointer=X.pb)(a,b);m._QTS_RuntimeEnableInterruptHandler=a=>(m._QTS_RuntimeEnableInterruptHandler=X.qb)(a);m._QTS_RuntimeDisableInterruptHandler=a=>(m._QTS_RuntimeDisableInterruptHandler=X.rb)(a);m._QTS_RuntimeEnableModuleLoader=(a,b)=>(m._QTS_RuntimeEnableModuleLoader=X.sb)(a,b);m._QTS_RuntimeDisableModuleLoader=a=>(m._QTS_RuntimeDisableModuleLoader=X.tb)(a);m._QTS_bjson_encode=(a,b)=>(m._QTS_bjson_encode=X.ub)(a,b);
|
|
78
|
+
m._QTS_bjson_decode=(a,b)=>(m._QTS_bjson_decode=X.vb)(a,b);m._QTS_EvalFunction=(a,b)=>(m._QTS_EvalFunction=X.wb)(a,b);m._QTS_EncodeBytecode=(a,b)=>(m._QTS_EncodeBytecode=X.xb)(a,b);m._QTS_DecodeBytecode=(a,b)=>(m._QTS_DecodeBytecode=X.yb)(a,b);m._QTS_ResolveModule=(a,b)=>(m._QTS_ResolveModule=X.zb)(a,b);
|
|
79
|
+
var Oc=(a,b)=>(Oc=X.Bb)(a,b),ob=a=>(ob=X.Cb)(a),nb=a=>(nb=X.Db)(a),R=()=>(R=X.Eb)(),Qb=a=>(Qb=X.Fb)(a),tb=(a,b,c)=>(tb=X.Gb)(a,b,c),Db=(a,b)=>(Db=X.Hb)(a,b),Sb=a=>(Sb=X.Ib)(a),Tb=(a,b,c)=>(Tb=X.Jb)(a,b,c),$b=(a,b,c,e,f)=>($b=X.Kb)(a,b,c,e,f),qb=(a,b,c)=>(qb=X.Lb)(a,b,c),Fb=a=>(Fb=X.Mb)(a),Vb=a=>(Vb=X.Nb)(a),dc=(a,b)=>(dc=X.Ob)(a,b),ec=a=>(ec=X.Pb)(a),Zb=(a,b,c)=>(Zb=X.Qb)(a,b,c),Yb=(a,b,c,e,f)=>(Yb=X.Rb)(a,b,c,e,f),hc=(a,b)=>(hc=X.Sb)(a,b),jc=(a,b)=>(jc=X.Tb)(a,b),ic=(a,b)=>(ic=X.Ub)(a,b),tc=(a,b,
|
|
80
|
+
c,e)=>(tc=X.Vb)(a,b,c,e),sc=(a,b)=>(sc=X.Wb)(a,b),Xb=(a,b,c)=>(Xb=X.Xb)(a,b,c),Wb=(a,b,c,e,f)=>(Wb=X.Yb)(a,b,c,e,f),lc=(a,b,c)=>(lc=X.Zb)(a,b,c),mc=(a,b,c)=>(mc=X._b)(a,b,c),Ub=a=>(Ub=X.$b)(a),ac=(a,b,c,e,f,h)=>(ac=X.ac)(a,b,c,e,f,h),bc=(a,b,c)=>(bc=X.bc)(a,b,c),cc=(a,b)=>(cc=X.cc)(a,b),kc=(a,b,c)=>(kc=X.dc)(a,b,c),fc=(a,b)=>(fc=X.ec)(a,b),gc=(a,b)=>(gc=X.fc)(a,b),qc=(a,b)=>(qc=X.gc)(a,b),rc=a=>(rc=X.hc)(a),Kb=a=>(Kb=X.ic)(a),nc=a=>(nc=X.jc)(a),oc=a=>(oc=X.kc)(a),pc=a=>(pc=X.lc)(a),Rb=()=>(Rb=X.mc)(),
|
|
81
|
+
Nb=()=>(Nb=X.nc)(),Pc=(a,b,c)=>(Pc=X.oc)(a,b,c),Pb=(a,b,c)=>(Pb=X.pc)(a,b,c),Kc=a=>(Kc=X.qc)(a),yc=()=>(yc=X.rc)(),Jc=a=>(Jc=X.sc)(a),Lc=()=>(Lc=X.tc)();m.addRunDependency=Ca;m.removeRunDependency=Da;
|
|
90
82
|
m.ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,
|
|
91
83
|
EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,
|
|
92
84
|
ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135};
|
|
93
|
-
m.cwrap=(a,b,c,e)=>{var f=!c||c.every(h=>"number"===h||"boolean"===h);return"string"!==b&&f&&!e?m["_"+a]:(...h)=>
|
|
94
|
-
function
|
|
95
|
-
if(m.preInit)for("function"==typeof m.preInit&&(m.preInit=[m.preInit]);0<m.preInit.length;)m.preInit.pop()();
|
|
85
|
+
m.cwrap=(a,b,c,e)=>{var f=!c||c.every(h=>"number"===h||"boolean"===h);return"string"!==b&&f&&!e?m["_"+a]:(...h)=>Mc(a,b,c,h,e)};m.PATH=P;m.UTF8ToString=Pa;m.stringToUTF8=(a,b,c)=>J(a,y,b,c);m.lengthBytesUTF8=L;m.FS_createPreloadedFile=Cb;m.FS_unlink=Gb;m.FS_createPath=Nc;m.FS=T;m.FS_createDataFile=wb;m.wasmfsOPFSGetOrCreateFile=db;m.wasmfsOPFSGetOrCreateDir=eb;var Rc;Ba=function Sc(){Rc||Tc();Rc||(Ba=Sc)};
|
|
86
|
+
function Tc(){function a(){if(!Rc&&(Rc=!0,m.calledRun=!0,!w)){Ma(xa);ea(m);m.onRuntimeInitialized?.();if(m.postRun)for("function"==typeof m.postRun&&(m.postRun=[m.postRun]);m.postRun.length;){var b=m.postRun.shift();ya.unshift(b)}Ma(ya)}}if(!(0<C)){if(m.preRun)for("function"==typeof m.preRun&&(m.preRun=[m.preRun]);m.preRun.length;)za();Ma(wa);0<C||(m.setStatus?(m.setStatus("Running..."),setTimeout(function(){setTimeout(function(){m.setStatus("")},1);a()},1)):a())}}
|
|
87
|
+
if(m.preInit)for("function"==typeof m.preInit&&(m.preInit=[m.preInit]);0<m.preInit.length;)m.preInit.pop()();Tc();moduleRtn=ha;
|
|
96
88
|
|
|
97
89
|
|
|
98
90
|
return moduleRtn;
|
|
Binary file
|
package/dist/ffi.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { QuickJSAsyncEmscriptenModule, JSContextPointer, JSValuePointer, JSValueConstPointer, JSRuntimePointer, OwnedHeapCharPointer, IntrinsicsFlags, JSVoidPointer, JSBorrowedCharPointer, BorrowedHeapCharPointer, JSContextPointerPointer, JSValuePointerPointerPointer, UInt32Pointer, JSValueConstPointerPointer, EvalDetectModule, EvalFlags, IsEqualOp, JSValuePointerPointer, JSPromiseStateEnum } from '@componentor/quickjs-ffi-types';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Low-level FFI bindings to QuickJS's Emscripten module.
|
|
@@ -7,9 +7,9 @@ import { QuickJSEmscriptenModule, JSContextPointer, JSValuePointer, JSValueConst
|
|
|
7
7
|
*
|
|
8
8
|
* @unstable The FFI interface is considered private and may change.
|
|
9
9
|
*/
|
|
10
|
-
declare class
|
|
10
|
+
declare class QuickJSAsyncFFI {
|
|
11
11
|
private module;
|
|
12
|
-
constructor(module:
|
|
12
|
+
constructor(module: QuickJSAsyncEmscriptenModule);
|
|
13
13
|
/** Set at compile time. */
|
|
14
14
|
readonly DEBUG = false;
|
|
15
15
|
QTS_Throw: (ctx: JSContextPointer, error: JSValuePointer | JSValueConstPointer) => JSValuePointer;
|
|
@@ -45,19 +45,28 @@ declare class QuickJSFFI {
|
|
|
45
45
|
QTS_GetArrayBufferLength: (ctx: JSContextPointer, data: JSValuePointer | JSValueConstPointer) => number;
|
|
46
46
|
QTS_NewSymbol: (ctx: JSContextPointer, description: BorrowedHeapCharPointer, isGlobal: number) => JSValuePointer;
|
|
47
47
|
QTS_GetSymbolDescriptionOrKey: (ctx: JSContextPointer, value: JSValuePointer | JSValueConstPointer) => JSBorrowedCharPointer;
|
|
48
|
+
QTS_GetSymbolDescriptionOrKey_MaybeAsync: (ctx: JSContextPointer, value: JSValuePointer | JSValueConstPointer) => JSBorrowedCharPointer | Promise<JSBorrowedCharPointer>;
|
|
48
49
|
QTS_IsGlobalSymbol: (ctx: JSContextPointer, value: JSValuePointer | JSValueConstPointer) => number;
|
|
49
50
|
QTS_IsJobPending: (rt: JSRuntimePointer) => number;
|
|
50
51
|
QTS_ExecutePendingJob: (rt: JSRuntimePointer, maxJobsToExecute: number, lastJobContext: JSContextPointerPointer) => JSValuePointer;
|
|
52
|
+
QTS_ExecutePendingJob_MaybeAsync: (rt: JSRuntimePointer, maxJobsToExecute: number, lastJobContext: JSContextPointerPointer) => JSValuePointer | Promise<JSValuePointer>;
|
|
51
53
|
QTS_GetProp: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: JSValuePointer | JSValueConstPointer) => JSValuePointer;
|
|
54
|
+
QTS_GetProp_MaybeAsync: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: JSValuePointer | JSValueConstPointer) => JSValuePointer | Promise<JSValuePointer>;
|
|
52
55
|
QTS_GetPropNumber: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: number) => JSValuePointer;
|
|
56
|
+
QTS_GetPropNumber_MaybeAsync: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: number) => JSValuePointer | Promise<JSValuePointer>;
|
|
53
57
|
QTS_SetProp: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: JSValuePointer | JSValueConstPointer, prop_value: JSValuePointer | JSValueConstPointer) => void;
|
|
58
|
+
QTS_SetProp_MaybeAsync: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: JSValuePointer | JSValueConstPointer, prop_value: JSValuePointer | JSValueConstPointer) => void | Promise<void>;
|
|
54
59
|
QTS_DefineProp: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: JSValuePointer | JSValueConstPointer, prop_value: JSValuePointer | JSValueConstPointer, get: JSValuePointer | JSValueConstPointer, set: JSValuePointer | JSValueConstPointer, configurable: boolean, enumerable: boolean, has_value: boolean) => void;
|
|
55
60
|
QTS_GetOwnPropertyNames: (ctx: JSContextPointer, out_ptrs: JSValuePointerPointerPointer, out_len: UInt32Pointer, obj: JSValuePointer | JSValueConstPointer, flags: number) => JSValuePointer;
|
|
61
|
+
QTS_GetOwnPropertyNames_MaybeAsync: (ctx: JSContextPointer, out_ptrs: JSValuePointerPointerPointer, out_len: UInt32Pointer, obj: JSValuePointer | JSValueConstPointer, flags: number) => JSValuePointer | Promise<JSValuePointer>;
|
|
56
62
|
QTS_Call: (ctx: JSContextPointer, func_obj: JSValuePointer | JSValueConstPointer, this_obj: JSValuePointer | JSValueConstPointer, argc: number, argv_ptrs: JSValueConstPointerPointer) => JSValuePointer;
|
|
63
|
+
QTS_Call_MaybeAsync: (ctx: JSContextPointer, func_obj: JSValuePointer | JSValueConstPointer, this_obj: JSValuePointer | JSValueConstPointer, argc: number, argv_ptrs: JSValueConstPointerPointer) => JSValuePointer | Promise<JSValuePointer>;
|
|
57
64
|
QTS_ResolveException: (ctx: JSContextPointer, maybe_exception: JSValuePointer) => JSValuePointer;
|
|
58
65
|
QTS_GetException: (ctx: JSContextPointer) => JSValuePointer;
|
|
59
66
|
QTS_Dump: (ctx: JSContextPointer, obj: JSValuePointer | JSValueConstPointer) => JSBorrowedCharPointer;
|
|
67
|
+
QTS_Dump_MaybeAsync: (ctx: JSContextPointer, obj: JSValuePointer | JSValueConstPointer) => JSBorrowedCharPointer | Promise<JSBorrowedCharPointer>;
|
|
60
68
|
QTS_Eval: (ctx: JSContextPointer, js_code: BorrowedHeapCharPointer, js_code_length: number, filename: string, detectModule: EvalDetectModule, evalFlags: EvalFlags) => JSValuePointer;
|
|
69
|
+
QTS_Eval_MaybeAsync: (ctx: JSContextPointer, js_code: BorrowedHeapCharPointer, js_code_length: number, filename: string, detectModule: EvalDetectModule, evalFlags: EvalFlags) => JSValuePointer | Promise<JSValuePointer>;
|
|
61
70
|
QTS_GetModuleNamespace: (ctx: JSContextPointer, module_func_obj: JSValuePointer | JSValueConstPointer) => JSValuePointer;
|
|
62
71
|
QTS_Typeof: (ctx: JSContextPointer, value: JSValuePointer | JSValueConstPointer) => OwnedHeapCharPointer;
|
|
63
72
|
QTS_GetLength: (ctx: JSContextPointer, out_len: UInt32Pointer, value: JSValuePointer | JSValueConstPointer) => number;
|
|
@@ -80,9 +89,10 @@ declare class QuickJSFFI {
|
|
|
80
89
|
QTS_bjson_encode: (ctx: JSContextPointer, val: JSValuePointer | JSValueConstPointer) => JSValuePointer;
|
|
81
90
|
QTS_bjson_decode: (ctx: JSContextPointer, data: JSValuePointer | JSValueConstPointer) => JSValuePointer;
|
|
82
91
|
QTS_EvalFunction: (ctx: JSContextPointer, fun_obj: JSValuePointer | JSValueConstPointer) => JSValuePointer;
|
|
92
|
+
QTS_EvalFunction_MaybeAsync: (ctx: JSContextPointer, fun_obj: JSValuePointer | JSValueConstPointer) => JSValuePointer | Promise<JSValuePointer>;
|
|
83
93
|
QTS_EncodeBytecode: (ctx: JSContextPointer, val: JSValuePointer | JSValueConstPointer) => JSValuePointer;
|
|
84
94
|
QTS_DecodeBytecode: (ctx: JSContextPointer, data: JSValuePointer | JSValueConstPointer) => JSValuePointer;
|
|
85
95
|
QTS_ResolveModule: (ctx: JSContextPointer, obj: JSValuePointer | JSValueConstPointer) => number;
|
|
86
96
|
}
|
|
87
97
|
|
|
88
|
-
export {
|
|
98
|
+
export { QuickJSAsyncFFI };
|
package/dist/ffi.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { QuickJSAsyncEmscriptenModule, JSContextPointer, JSValuePointer, JSValueConstPointer, JSRuntimePointer, OwnedHeapCharPointer, IntrinsicsFlags, JSVoidPointer, JSBorrowedCharPointer, BorrowedHeapCharPointer, JSContextPointerPointer, JSValuePointerPointerPointer, UInt32Pointer, JSValueConstPointerPointer, EvalDetectModule, EvalFlags, IsEqualOp, JSValuePointerPointer, JSPromiseStateEnum } from '@componentor/quickjs-ffi-types';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Low-level FFI bindings to QuickJS's Emscripten module.
|
|
@@ -7,9 +7,9 @@ import { QuickJSEmscriptenModule, JSContextPointer, JSValuePointer, JSValueConst
|
|
|
7
7
|
*
|
|
8
8
|
* @unstable The FFI interface is considered private and may change.
|
|
9
9
|
*/
|
|
10
|
-
declare class
|
|
10
|
+
declare class QuickJSAsyncFFI {
|
|
11
11
|
private module;
|
|
12
|
-
constructor(module:
|
|
12
|
+
constructor(module: QuickJSAsyncEmscriptenModule);
|
|
13
13
|
/** Set at compile time. */
|
|
14
14
|
readonly DEBUG = false;
|
|
15
15
|
QTS_Throw: (ctx: JSContextPointer, error: JSValuePointer | JSValueConstPointer) => JSValuePointer;
|
|
@@ -45,19 +45,28 @@ declare class QuickJSFFI {
|
|
|
45
45
|
QTS_GetArrayBufferLength: (ctx: JSContextPointer, data: JSValuePointer | JSValueConstPointer) => number;
|
|
46
46
|
QTS_NewSymbol: (ctx: JSContextPointer, description: BorrowedHeapCharPointer, isGlobal: number) => JSValuePointer;
|
|
47
47
|
QTS_GetSymbolDescriptionOrKey: (ctx: JSContextPointer, value: JSValuePointer | JSValueConstPointer) => JSBorrowedCharPointer;
|
|
48
|
+
QTS_GetSymbolDescriptionOrKey_MaybeAsync: (ctx: JSContextPointer, value: JSValuePointer | JSValueConstPointer) => JSBorrowedCharPointer | Promise<JSBorrowedCharPointer>;
|
|
48
49
|
QTS_IsGlobalSymbol: (ctx: JSContextPointer, value: JSValuePointer | JSValueConstPointer) => number;
|
|
49
50
|
QTS_IsJobPending: (rt: JSRuntimePointer) => number;
|
|
50
51
|
QTS_ExecutePendingJob: (rt: JSRuntimePointer, maxJobsToExecute: number, lastJobContext: JSContextPointerPointer) => JSValuePointer;
|
|
52
|
+
QTS_ExecutePendingJob_MaybeAsync: (rt: JSRuntimePointer, maxJobsToExecute: number, lastJobContext: JSContextPointerPointer) => JSValuePointer | Promise<JSValuePointer>;
|
|
51
53
|
QTS_GetProp: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: JSValuePointer | JSValueConstPointer) => JSValuePointer;
|
|
54
|
+
QTS_GetProp_MaybeAsync: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: JSValuePointer | JSValueConstPointer) => JSValuePointer | Promise<JSValuePointer>;
|
|
52
55
|
QTS_GetPropNumber: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: number) => JSValuePointer;
|
|
56
|
+
QTS_GetPropNumber_MaybeAsync: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: number) => JSValuePointer | Promise<JSValuePointer>;
|
|
53
57
|
QTS_SetProp: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: JSValuePointer | JSValueConstPointer, prop_value: JSValuePointer | JSValueConstPointer) => void;
|
|
58
|
+
QTS_SetProp_MaybeAsync: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: JSValuePointer | JSValueConstPointer, prop_value: JSValuePointer | JSValueConstPointer) => void | Promise<void>;
|
|
54
59
|
QTS_DefineProp: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: JSValuePointer | JSValueConstPointer, prop_value: JSValuePointer | JSValueConstPointer, get: JSValuePointer | JSValueConstPointer, set: JSValuePointer | JSValueConstPointer, configurable: boolean, enumerable: boolean, has_value: boolean) => void;
|
|
55
60
|
QTS_GetOwnPropertyNames: (ctx: JSContextPointer, out_ptrs: JSValuePointerPointerPointer, out_len: UInt32Pointer, obj: JSValuePointer | JSValueConstPointer, flags: number) => JSValuePointer;
|
|
61
|
+
QTS_GetOwnPropertyNames_MaybeAsync: (ctx: JSContextPointer, out_ptrs: JSValuePointerPointerPointer, out_len: UInt32Pointer, obj: JSValuePointer | JSValueConstPointer, flags: number) => JSValuePointer | Promise<JSValuePointer>;
|
|
56
62
|
QTS_Call: (ctx: JSContextPointer, func_obj: JSValuePointer | JSValueConstPointer, this_obj: JSValuePointer | JSValueConstPointer, argc: number, argv_ptrs: JSValueConstPointerPointer) => JSValuePointer;
|
|
63
|
+
QTS_Call_MaybeAsync: (ctx: JSContextPointer, func_obj: JSValuePointer | JSValueConstPointer, this_obj: JSValuePointer | JSValueConstPointer, argc: number, argv_ptrs: JSValueConstPointerPointer) => JSValuePointer | Promise<JSValuePointer>;
|
|
57
64
|
QTS_ResolveException: (ctx: JSContextPointer, maybe_exception: JSValuePointer) => JSValuePointer;
|
|
58
65
|
QTS_GetException: (ctx: JSContextPointer) => JSValuePointer;
|
|
59
66
|
QTS_Dump: (ctx: JSContextPointer, obj: JSValuePointer | JSValueConstPointer) => JSBorrowedCharPointer;
|
|
67
|
+
QTS_Dump_MaybeAsync: (ctx: JSContextPointer, obj: JSValuePointer | JSValueConstPointer) => JSBorrowedCharPointer | Promise<JSBorrowedCharPointer>;
|
|
60
68
|
QTS_Eval: (ctx: JSContextPointer, js_code: BorrowedHeapCharPointer, js_code_length: number, filename: string, detectModule: EvalDetectModule, evalFlags: EvalFlags) => JSValuePointer;
|
|
69
|
+
QTS_Eval_MaybeAsync: (ctx: JSContextPointer, js_code: BorrowedHeapCharPointer, js_code_length: number, filename: string, detectModule: EvalDetectModule, evalFlags: EvalFlags) => JSValuePointer | Promise<JSValuePointer>;
|
|
61
70
|
QTS_GetModuleNamespace: (ctx: JSContextPointer, module_func_obj: JSValuePointer | JSValueConstPointer) => JSValuePointer;
|
|
62
71
|
QTS_Typeof: (ctx: JSContextPointer, value: JSValuePointer | JSValueConstPointer) => OwnedHeapCharPointer;
|
|
63
72
|
QTS_GetLength: (ctx: JSContextPointer, out_len: UInt32Pointer, value: JSValuePointer | JSValueConstPointer) => number;
|
|
@@ -80,9 +89,10 @@ declare class QuickJSFFI {
|
|
|
80
89
|
QTS_bjson_encode: (ctx: JSContextPointer, val: JSValuePointer | JSValueConstPointer) => JSValuePointer;
|
|
81
90
|
QTS_bjson_decode: (ctx: JSContextPointer, data: JSValuePointer | JSValueConstPointer) => JSValuePointer;
|
|
82
91
|
QTS_EvalFunction: (ctx: JSContextPointer, fun_obj: JSValuePointer | JSValueConstPointer) => JSValuePointer;
|
|
92
|
+
QTS_EvalFunction_MaybeAsync: (ctx: JSContextPointer, fun_obj: JSValuePointer | JSValueConstPointer) => JSValuePointer | Promise<JSValuePointer>;
|
|
83
93
|
QTS_EncodeBytecode: (ctx: JSContextPointer, val: JSValuePointer | JSValueConstPointer) => JSValuePointer;
|
|
84
94
|
QTS_DecodeBytecode: (ctx: JSContextPointer, data: JSValuePointer | JSValueConstPointer) => JSValuePointer;
|
|
85
95
|
QTS_ResolveModule: (ctx: JSContextPointer, obj: JSValuePointer | JSValueConstPointer) => number;
|
|
86
96
|
}
|
|
87
97
|
|
|
88
|
-
export {
|
|
98
|
+
export { QuickJSAsyncFFI };
|