Mercurial > code > home > repos > light9
view web/collector/CollectorClient.ts @ 2427:cc69faa87c27
tear up and rewrite ascoltami to emit player state into the graph. web ui works but displays nothing but songs
author | drewp@bigasterisk.com |
---|---|
date | Sat, 25 May 2024 15:44:11 -0700 |
parents | 62dc1b3644a0 |
children |
line wrap: on
line source
import { Literal, NamedNode } from "n3"; type Settings = Array<[NamedNode,NamedNode,Literal]>; export class CollectorClient { private settings: Settings; constructor(public clientName:string) { this.settings = []; this.putLoop(); } private async putLoop() { await this.put(); setTimeout(() => { this.putLoop(); }, 1000); } private async put() { // todo: WS await fetch("/service/collector/attrs", { method: "PUT", body: JSON.stringify({ client: this.clientName, clientSession: "unused", sendTime: Date.now() / 1000, settings: this.settings.map(([d,da,v]) => [d.value,da.value,v.value]) }), }); } public async updateSettings(settings: Settings) { this.settings = settings; await this.put() } }