make clients of sse service observable

This commit is contained in:
Darius
2026-02-05 22:05:35 +01:00
parent 921882054d
commit a6d837f953
7 changed files with 76 additions and 11 deletions

9
dist/sse.d.ts vendored
View File

@@ -8,8 +8,17 @@ export type SseEvent = {
data?: unknown;
message?: string;
};
export type SseClientChangeEvent = {
type: "add" | "remove";
clientId: string;
clientCount: number;
};
export type SseClientChangeCallback = (event: SseClientChangeEvent) => void;
export declare class SseService {
private clients;
private clientChangeCallbacks;
onClientChange(callback: SseClientChangeCallback): () => void;
private emitClientChange;
addClient(client: SseClient): void;
removeClient(clientId: string): void;
notifyClients(event: SseEvent): void;