<!doctype html> <html lang="en-us"> <head> <meta charset="utf-8"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link rel="shortcut icon" href="data:image/x-icon;," type="image/x-icon"> <link rel="stylesheet" href="common/testing.css"/> <title>sqlite3-api batch SQL runner for the SAHPool VFS</title> </head> <body> <header id='titlebar'><span>sqlite3-api batch SQL runner for the SAHPool VFS</span></header> <div> <span class='input-wrapper'> <input type='checkbox' class='disable-during-eval' id='cb-reverse-log-order' checked></input> <label for='cb-reverse-log-order' id='lbl-reverse-log-order'>Reverse log order</label> </span> </div> <div id='test-output' class='reverse'></div> <script> (function(){ const E = (sel)=>document.querySelector(sel); const eOut = E('#test-output'); const log2 = function(cssClass,...args){ let ln; if(1 || cssClass){ ln = document.createElement('div'); if(cssClass) ln.classList.add(cssClass); ln.append(document.createTextNode(args.join(' '))); }else{ // This doesn't work with the "reverse order" option! ln = document.createTextNode(args.join(' ')+'\n'); } eOut.append(ln); }; const log = (...args)=>{ //console.log(...args); log2('', ...args); }; const logErr = function(...args){ console.error(...args); log2('error', ...args); }; const logWarn = function(...args){ console.warn(...args); log2('warning', ...args); }; const cbReverseLog = E('#cb-reverse-log-order'); const lblReverseLog = E('#lbl-reverse-log-order'); if(cbReverseLog.checked){ lblReverseLog.classList.add('warning'); eOut.classList.add('reverse'); } cbReverseLog.addEventListener('change', function(){ if(this.checked){ eOut.classList.add('reverse'); lblReverseLog.classList.add('warning'); }else{ eOut.classList.remove('reverse'); lblReverseLog.classList.remove('warning'); } }, false); const w = new Worker('batch-runner-sahpool.js?sqlite3.dir=jswasm'); w.onmessage = function(msg){ msg = msg.data; switch(msg.type){ case 'stdout': log(...msg.data); break; case 'warn': logWarn(...msg.data); break; case 'error': logErr(...msg.data); break; default: logErr("Unhandled worker message type:",msg); break; } }; })(); </script> <style> #test-output { white-space: break-spaces; overflow: auto; } </style> </body> </html>