import { EventEmitter } from "events";
import { initTRPC } from "@trpc/server";
import { observable } from "@trpc/server/observable";
const ee = new EventEmitter();
const t = initTRPC.create();
export const wsRouter = t.router({
onAdd: t.procedure.subscription(() => {
return observable((emit) => {
const onAdd = (data: any) => {
console.log("EMIT BABY!");
emit.next(data);
};
ee.on("add", onAdd);
return () => {
ee.off("add", onAdd);
};
});
}),
add: t.procedure.query(async () => {
const post = "hi";
ee.emit("add", post);
return post;
}),
});
import { EventEmitter } from "events";
import { initTRPC } from "@trpc/server";
import { observable } from "@trpc/server/observable";
const ee = new EventEmitter();
const t = initTRPC.create();
export const wsRouter = t.router({
onAdd: t.procedure.subscription(() => {
return observable((emit) => {
const onAdd = (data: any) => {
console.log("EMIT BABY!");
emit.next(data);
};
ee.on("add", onAdd);
return () => {
ee.off("add", onAdd);
};
});
}),
add: t.procedure.query(async () => {
const post = "hi";
ee.emit("add", post);
return post;
}),
});