A music player that connects to your cloud/distributed storage.
at main 542 B view raw
1import type { App } from "./elm/types" 2import * as Artwork from "./artwork" 3 4 5export function link(worker: Worker, app: App) { 6 app.ports.toUI.subscribe(event => { 7 worker.postMessage(event) 8 }) 9 10 worker.onmessage = event => { 11 if (event.data.action) return handleAction(event.data.action, event.data.data) 12 if (event.data.tag) return app.ports.fromAlien.send(event.data) 13 } 14 15 16 function handleAction(action: string, data: unknown) { 17 switch (action) { 18 case "DOWNLOAD_ARTWORK": return Artwork.download(data) 19 } 20 } 21}