export class DemoTag extends Context.Tag("@demoTag")<
DemoTag,
{
getName: () => Effect.Effect<string>
}
>() {}
const stubbedTag = Layer.succeed(DemoTag, {
getName: () => Effect.succeed("stubbed")
})
export class DemoService extends Effect.Service<DemoService>()("@demoService", {
effect: Effect.gen(function* () {
return {
getName: () => Effect.succeed("live"),
};
}),
}) {}
const stubbedService = Layer.succeed(DemoService, {
// why do i need this?
_tag: "@demoService",
getName: () => Effect.succeed("stubbed")
})
export class DemoTag extends Context.Tag("@demoTag")<
DemoTag,
{
getName: () => Effect.Effect<string>
}
>() {}
const stubbedTag = Layer.succeed(DemoTag, {
getName: () => Effect.succeed("stubbed")
})
export class DemoService extends Effect.Service<DemoService>()("@demoService", {
effect: Effect.gen(function* () {
return {
getName: () => Effect.succeed("live"),
};
}),
}) {}
const stubbedService = Layer.succeed(DemoService, {
// why do i need this?
_tag: "@demoService",
getName: () => Effect.succeed("stubbed")
})