-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsw.js
More file actions
33 lines (30 loc) · 766 Bytes
/
sw.js
File metadata and controls
33 lines (30 loc) · 766 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// Requirements:
// No dynamic import (removed loadScripts)
// Manual import of pyodide.asm.js to replace the loadScripts call
// XMLHttpRequest polyfilled
// If CSP requirement (Chrome extension), no Function constructor
import "./pyodide.asm.js";
import { loadPyodide } from "./pyodide.mjs";
import { XMLHttpRequest } from "./xml-http-request.js";
self.XMLHttpRequest = XMLHttpRequest;
let pyodide;
let resolve;
let ready = new Promise((res) => {
resolve = res;
});
async function start() {
pyodide = await loadPyodide({});
resolve();
console.log('ready');
}
start();
self.addEventListener('message', async () => {
await ready;
console.log(
'printing sys.version from python',
pyodide.runPython(`
import sys
sys.version
`)
);
});