diff options
| author | brian cully <bjc@spork.org> | 2025-12-24 14:00:27 -0500 |
|---|---|---|
| committer | brian cully <bjc@spork.org> | 2025-12-24 14:00:27 -0500 |
| commit | c26985d780edea7028e9e0203672d3376e66b450 (patch) | |
| tree | fcf677da99ccf94ea55a8946c5225fc78f8d0848 /site/robo.mjs | |
| parent | c0f04b7b82ef971c1a50da3c65f155ad2c75031b (diff) | |
| download | automathon-c26985d780edea7028e9e0203672d3376e66b450.tar.gz automathon-c26985d780edea7028e9e0203672d3376e66b450.zip | |
js: auto-compile loaded source
Diffstat (limited to 'site/robo.mjs')
| -rw-r--r-- | site/robo.mjs | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/site/robo.mjs b/site/robo.mjs index ba879fa..5302920 100644 --- a/site/robo.mjs +++ b/site/robo.mjs @@ -17,8 +17,19 @@ function tick() { postMessage({ kind: 'tick', trans: vm.trans() }); } +let mod; +async function initWasm() { + if (mod === undefined) { + console.debug('worker running init'); + mod = await init(); + console.debug('worker init done'); + vm = make_vm(); + console.debug('worker vm made'); + } +} + async function messageHandler(e) { - console.debug('worker messageHandler') + await initWasm(); const { kind } = e.data; switch (kind) { case 'compile': @@ -36,19 +47,4 @@ async function messageHandler(e) { } } -let mod; -async function loaded() { - console.debug('loading robo worker'); - if (mod === undefined) { - console.debug('worker running init'); - mod = await init(); - console.debug('worker init done'); - vm = make_vm(); - console.debug('worker vm made'); - } - - addEventListener('message', messageHandler); - console.debug('bjc loaded robo'); -} - -loaded(); +self.addEventListener('message', messageHandler); |
