Commit e1fb1b96 authored by Jason Stafford's avatar Jason Stafford

add a generic webworker file

parent 8e8ac26b
......@@ -57,7 +57,8 @@ all: build/pyodide.asm.js \
build/renderedhtml.css \
build/test.data \
build/packages.json \
build/test.html
build/test.html \
build/webworker.js
build/pyodide.asm.js: src/main.bc src/jsimport.bc src/jsproxy.bc src/js2python.bc \
......@@ -112,6 +113,8 @@ build/test.html: src/test.html
build/renderedhtml.css: src/renderedhtml.less
lessc $< $@
build/webworker.js: src/webworker.js
cp $< $@
test: all
pytest test/ -v
......
importScripts('./pyodide.js')
var onmessage = function(e) { // eslint-disable-line no-unused-vars
languagePluginLoader.then(() => {
const data = e.data;
const keys = Object.keys(data);
for (let key of keys) {
if (key !== 'python') {
// Keys other than python must be arguments for the python script.
// Set them on self, so that `from js import key` works.
self[key] = data[key];
}
}
self.pyodide.runPythonAsync(data.python, () => {}).then((results) => {
self.postMessage({results});
}).catch((err) => {
// if you prefer messages with the error
self.postMessage({error: err.message});
// if you prefer onerror events
// setTimeout(() => { throw err; });
});
});
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment