level-up/backend/trpc/index.ts
2025-04-11 21:03:18 +02:00

25 lines
No EOL
680 B
TypeScript

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