class UserSession {
connected = Effect.runSync(SubscriptionRef.make(false))
unsub!: () => void;
constructor() {
const listenChanges = this.connected.pipe(
// do things
Stream.runDrain
)
const fiber = Effect.runFork(listenChanges);
this.unsub = () => Effect.runSync(Fiber.interruptFork(fiber))
}
onDestroy() {
this.unsub();
}
}
class UserSession {
connected = Effect.runSync(SubscriptionRef.make(false))
unsub!: () => void;
constructor() {
const listenChanges = this.connected.pipe(
// do things
Stream.runDrain
)
const fiber = Effect.runFork(listenChanges);
this.unsub = () => Effect.runSync(Fiber.interruptFork(fiber))
}
onDestroy() {
this.unsub();
}
}