class DebugSession extends Context.Tag('DebugSession')<
DebugSession,
{
addBreakpoint: (bp: number) => Effect.Effect<void, never, never>
}
>() {}
class Debugger extends Context.Tag('Debugger')<
Debugger,
{
attach: (processId: number) => Effect.Effect<DebugSession, never, never>;
}
>() {}
const app = Effect.gen(function* () {
const dbg = yield* Debugger;
const sess = yield* dbg.attach(1234);
yield* sess.addBreakpoint(1)
})
class DebugSession extends Context.Tag('DebugSession')<
DebugSession,
{
addBreakpoint: (bp: number) => Effect.Effect<void, never, never>
}
>() {}
class Debugger extends Context.Tag('Debugger')<
Debugger,
{
attach: (processId: number) => Effect.Effect<DebugSession, never, never>;
}
>() {}
const app = Effect.gen(function* () {
const dbg = yield* Debugger;
const sess = yield* dbg.attach(1234);
yield* sess.addBreakpoint(1)
})