import { t } from "./base" import { playerRouter } from "./player" import { directorRouter } from "./director" import { game } from "../game" import { on } from "node:events" export const appRouter = t.router({ player: playerRouter, director: directorRouter, join: t.procedure .subscription(async function*() { const iterable = on(game.eventBus, "player-broadcast") for (const broadcast of game.getConnectionPlayerBroadcasts()) { yield broadcast } for await (const broadcast of iterable) { yield broadcast } }), }) export type AppRouter = typeof appRouter