import { html, hydrate, text } from 'wirejs-dom/v2'; import { Main } from '../layouts/main.js'; import { worker } from 'web-worker'; async function App() { return html`

Web Worker Demo

${text('status', '...')}
Web Worker output: ${text('output', '...')}
`.onadd(async self => { console.log('starting web worker'); self.data.output = (await worker.count(256_000_000, { tick: pct => self.data.status = `${Math.floor(pct * 100)} % complete.` })).toString(); }); } export async function generate() { return Main({ pageTitle: 'Welcome!', content: await App() }) } export function onload() { hydrate('app', App as any); }