export const ServiceX = Layer.effect(
ServiceX,
Effect.gen(function* (_) {
const doSomething = () => Effect.Effect<whatever, whatever, {rate: any}> // context here?
...
}
)
export const ServiceA = Layer.effect(
ServiceA,
Effect.gen(function* (_) {
const configForServiceX = {rate: doSomeCalculation()}
const serviceX = yield* withContext(ServiceX, configForServiceX))
const resultA = yield* serviceX.doSomething()
const resultB = yield* serviceX.doSomethingElse()
const resultC = yield* serviceX.doSomethingElseAgain()
...
}
)
export const ServiceX = Layer.effect(
ServiceX,
Effect.gen(function* (_) {
const doSomething = () => Effect.Effect<whatever, whatever, {rate: any}> // context here?
...
}
)
export const ServiceA = Layer.effect(
ServiceA,
Effect.gen(function* (_) {
const configForServiceX = {rate: doSomeCalculation()}
const serviceX = yield* withContext(ServiceX, configForServiceX))
const resultA = yield* serviceX.doSomething()
const resultB = yield* serviceX.doSomethingElse()
const resultC = yield* serviceX.doSomethingElseAgain()
...
}
)