summaryrefslogtreecommitdiff
path: root/src/js
diff options
context:
space:
mode:
authordcode <dcode@dcode.io>2021-10-28 03:15:29 +0200
committerGitHub <noreply@github.com>2021-10-28 03:15:29 +0200
commit77be470649a40c2995f084aeab87322b942f9d88 (patch)
treef171cfb22eae787745ffce2e5ebf32449450bcc2 /src/js
parent2d585ebad9885259932168daf7384b58154badd6 (diff)
downloadbinaryen-77be470649a40c2995f084aeab87322b942f9d88.tar.gz
binaryen-77be470649a40c2995f084aeab87322b942f9d88.tar.bz2
binaryen-77be470649a40c2995f084aeab87322b942f9d88.zip
Switch binaryen.js/wasm to ESM (#4280)
Diffstat (limited to 'src/js')
-rw-r--r--src/js/binaryen.js-extern-post.js8
-rw-r--r--src/js/binaryen.js-extern-pre.js6
-rw-r--r--src/js/binaryen.js-post.js38
3 files changed, 6 insertions, 46 deletions
diff --git a/src/js/binaryen.js-extern-post.js b/src/js/binaryen.js-extern-post.js
deleted file mode 100644
index 60d900fab..000000000
--- a/src/js/binaryen.js-extern-post.js
+++ /dev/null
@@ -1,8 +0,0 @@
-
-})();
-if (typeof exports === 'object' && typeof module === 'object')
- module.exports = binaryen;
-else if (typeof define === 'function' && define['amd'])
- define([], function() { return binaryen; });
-else if (typeof exports === 'object')
- exports["binaryen"] = binaryen; \ No newline at end of file
diff --git a/src/js/binaryen.js-extern-pre.js b/src/js/binaryen.js-extern-pre.js
index ded7d3296..50c38c333 100644
--- a/src/js/binaryen.js-extern-pre.js
+++ b/src/js/binaryen.js-extern-pre.js
@@ -1,2 +1,4 @@
-var binaryen = {};
-(function() { \ No newline at end of file
+// FIXME: The Emscripten shell requires this variable to be present, even though
+// we are building to ES6 (where it doesn't exist) and the .wasm blob is inlined
+// see: https://github.com/emscripten-core/emscripten/issues/11792
+var __dirname = "";
diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js
index cef5c989d..3f8b6545b 100644
--- a/src/js/binaryen.js-post.js
+++ b/src/js/binaryen.js-post.js
@@ -4807,46 +4807,12 @@ Module['exit'] = function(status) {
if (status != 0) throw new Error('exiting due to error: ' + status);
};
-// Indicates if Binaryen has been loaded and is ready
-Module['isReady'] = runtimeInitialized;
-
-// Provide a mechanism to tell when the module is ready
-//
-// if (!binaryen.isReady) await binaryen.ready;
-// ...
-//
-let pendingPromises = [];
-let initializeError = null;
-
-Object.defineProperty(Module, 'ready', {
- get() {
- return new Promise((resolve, reject) => {
- if (initializeError) {
- reject(initializeError);
- } else if (runtimeInitialized) {
- resolve(Module);
- } else {
- pendingPromises.push({ resolve, reject });
- }
- });
- }
-});
-
// Intercept the onRuntimeInitialized hook if necessary
if (runtimeInitialized) {
initializeConstants();
} else {
Module['onRuntimeInitialized'] = (super_ => () => {
- try {
- initializeConstants();
- if (super_) super_();
- Module['isReady'] = true;
- pendingPromises.forEach(p => { p.resolve(Module) });
- } catch (e) {
- initializeError = e;
- pendingPromises.forEach(p => { p.reject(e) });
- } finally {
- pendingPromises = [];
- }
+ initializeConstants();
+ if (super_) super_();
})(Module['onRuntimeInitialized']);
}