diff --git a/README.md b/README.md index e9aa0d0..2b6d87c 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,13 @@ document.addEventListener("libcurl_load", ()=>{ }); ``` +Alternatively, the `libcurl.onload` callback can be used. +```js +libcurl.onload = () => { + console.log("libcurl.js ready!"); +} +``` + Once loaded, there will be a `window.libcurl` object which includes all the API functions. The `libcurl.ready` property can also be used to know if the WASM has loaded. ### Making HTTP Requests: diff --git a/client/javascript/main.js b/client/javascript/main.js index 8d47418..211f7d3 100644 --- a/client/javascript/main.js +++ b/client/javascript/main.js @@ -30,6 +30,7 @@ var event_loop = null; var active_requests = 0; var wasm_ready = false; var version_dict = null; +var api = null; const libcurl_version = "__library_version__"; function check_loaded(check_websocket) { @@ -231,7 +232,7 @@ async function libcurl_fetch(url, params={}) { function set_websocket_url(url) { websocket_url = url; - if (!Module.websocket) { + if (!Module.websocket && ENVIRONMENT_IS_WEB) { document.addEventListener("libcurl_load", () => { set_websocket_url(url); }); @@ -256,8 +257,11 @@ function main() { _init_curl(); set_websocket_url(websocket_url); - let load_event = new Event("libcurl_load"); - document.dispatchEvent(load_event); + if (ENVIRONMENT_IS_WEB) { + let load_event = new Event("libcurl_load"); + document.dispatchEvent(load_event); + } + api.onload(); } function load_wasm(url) { @@ -267,7 +271,7 @@ function load_wasm(url) { } Module.onRuntimeInitialized = main; -return { +api = { fetch: libcurl_fetch, set_websocket: set_websocket_url, load_wasm: load_wasm, @@ -286,6 +290,10 @@ return { set stdout(callback) {out = callback}, get stderr() {return err}, set stderr(callback) {err = callback}, -} + + onload() {} +}; + +return api; })() \ No newline at end of file diff --git a/client/worker.html b/client/worker.html new file mode 100644 index 0000000..6cf3096 --- /dev/null +++ b/client/worker.html @@ -0,0 +1,33 @@ + + +
+ + + + + +emscripten tests
+ + \ No newline at end of file