test: createTRPCRouter({
emit: protectedProcedure
.input(z.object({ message: z.string() }))
.mutation(async ({ input }) => {
mediaEvents.emit("test-event", {
...input,
});
}),
on: protectedProcedure
.subscription(async function* ({ signal }) {
const eventKey = `test-event`;
try {
for await (const [data] of on(mediaEvents, eventKey, { signal })) {
yield data;
}
} catch (error) {
console.error(error);
}
}),
}),
test: createTRPCRouter({
emit: protectedProcedure
.input(z.object({ message: z.string() }))
.mutation(async ({ input }) => {
mediaEvents.emit("test-event", {
...input,
});
}),
on: protectedProcedure
.subscription(async function* ({ signal }) {
const eventKey = `test-event`;
try {
for await (const [data] of on(mediaEvents, eventKey, { signal })) {
yield data;
}
} catch (error) {
console.error(error);
}
}),
}),