1ac51eb77Sstephan<!doctype html> 2ac51eb77Sstephan<html lang="en-us"> 3ac51eb77Sstephan <head> 4ac51eb77Sstephan <meta charset="utf-8"> 5ac51eb77Sstephan <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 6ac51eb77Sstephan <link rel="shortcut icon" href="data:image/x-icon;," type="image/x-icon"> 7ac51eb77Sstephan <title>Hello, sqlite3</title> 8ac51eb77Sstephan <style> 9ac51eb77Sstephan .warning, .error {color: red} 10ac51eb77Sstephan .error {background-color: yellow} 11ac51eb77Sstephan body { 12ac51eb77Sstephan display: flex; 13ac51eb77Sstephan flex-direction: column; 14ac51eb77Sstephan font-family: monospace; 15ac51eb77Sstephan white-space: break-spaces; 16ac51eb77Sstephan } 17ac51eb77Sstephan </style> 18ac51eb77Sstephan </head> 19ac51eb77Sstephan <body> 20181f7e86Sstephan <h1>1-2-sqlite3 worker demo</h1> 21ac51eb77Sstephan <script>(function(){ 22ac51eb77Sstephan const logHtml = function(cssClass,...args){ 23ac51eb77Sstephan const ln = document.createElement('div'); 24ac51eb77Sstephan if(cssClass) ln.classList.add(cssClass); 25ac51eb77Sstephan ln.append(document.createTextNode(args.join(' '))); 26ac51eb77Sstephan document.body.append(ln); 27ac51eb77Sstephan }; 28*cd0df83cSstephan const w = new Worker("demo-123.js?sqlite3.dir=jswasm" 29*cd0df83cSstephan /* Note the URL argument on that name. See 30*cd0df83cSstephan the notes in demo-123.js (search for 31*cd0df83cSstephan "importScripts") for why we need 32*cd0df83cSstephan that. */); 33ac51eb77Sstephan w.onmessage = function({data}){ 34ac51eb77Sstephan switch(data.type){ 35ac51eb77Sstephan case 'log': 36ac51eb77Sstephan logHtml(data.payload.cssClass, ...data.payload.args); 37ac51eb77Sstephan break; 38ac51eb77Sstephan default: 39ac51eb77Sstephan logHtml('error',"Unhandled message:",data.type); 40ac51eb77Sstephan }; 41ac51eb77Sstephan }; 42ac51eb77Sstephan })();</script> 43ac51eb77Sstephan </body> 44ac51eb77Sstephan</html> 45