Simplify telemetry to three game events
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
import { writable, readonly } from 'svelte/store';
|
||||
import { browser } from '$app/environment';
|
||||
import type { RoundTelemetry } from '$lib/telemetry.js';
|
||||
import type { GameTelemetry } from '$lib/telemetry.js';
|
||||
|
||||
export const telemetryByServer = writable<Map<string, RoundTelemetry>>(new Map());
|
||||
export const telemetryByServer = writable<Map<string, GameTelemetry>>(new Map());
|
||||
|
||||
export interface RosterPlayer {
|
||||
num: number | null;
|
||||
@@ -54,9 +54,9 @@ export function startServerStream(): (() => void) | undefined {
|
||||
if (!browser || source) return;
|
||||
source = new EventSource('/api/events/servers');
|
||||
source.addEventListener('server-telemetry', (evt) => {
|
||||
const data = JSON.parse((evt as MessageEvent).data) as { entries: RoundTelemetry[]; snapshot?: boolean };
|
||||
const data = JSON.parse((evt as MessageEvent).data) as { entries: GameTelemetry[]; snapshot?: boolean };
|
||||
telemetryByServer.update((previous) => {
|
||||
const next = data.snapshot ? new Map<string, RoundTelemetry>() : new Map(previous);
|
||||
const next = data.snapshot ? new Map<string, GameTelemetry>() : new Map(previous);
|
||||
for (const entry of data.entries) next.set(entry.server, entry);
|
||||
return next;
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user