const FooLayerLive = Layer.effet(
FooLayer,
Effect.gen(function* () {
// To be able to have my FooLayerLive know that it needs the BazzLayer
const bazzLayer = yield* BazzLayer;
return FooLayer.of({
bar: () => Effect.gen(function* () {
// I expect to be able to use BazzLayer here
// However I don't want it to appear with the FooLayer.bar <R>
// I 'd love BazzLayer to appear in FooLayerLive <R>
const b = yield* someFunctionOutsideOfTheLayerImpl();
}),
});
})
)
const someFunctionOutsideOfTheLayerImpl = () => Effect.gen(function* () {
const bazzLayer = yield* BazzLayer;
// ...
});
const FooLayerLive = Layer.effet(
FooLayer,
Effect.gen(function* () {
// To be able to have my FooLayerLive know that it needs the BazzLayer
const bazzLayer = yield* BazzLayer;
return FooLayer.of({
bar: () => Effect.gen(function* () {
// I expect to be able to use BazzLayer here
// However I don't want it to appear with the FooLayer.bar <R>
// I 'd love BazzLayer to appear in FooLayerLive <R>
const b = yield* someFunctionOutsideOfTheLayerImpl();
}),
});
})
)
const someFunctionOutsideOfTheLayerImpl = () => Effect.gen(function* () {
const bazzLayer = yield* BazzLayer;
// ...
});