const PageCommandsLive = Layer.mergeAll(
CreatePageCommand.Live,
...
)
const runWithContext = async <T, K>(
method: Effect.Effect<
T,
K,
| CreatePageCommand
| ...
>,
) => {
const DbLive = Layer.succeed(DbTag, db)
const pageRepository = PageRepository.Live.pipe(Layer.provide(DbLive))
const layers = PageCommandsLive.pipe(Layer.provide(pageRepository))
const runtime = ManagedRuntime.make(layers)
const result = await runtime.runPromise(method)
await runtime.dispose()
return result
}
const PageCommandsLive = Layer.mergeAll(
CreatePageCommand.Live,
...
)
const runWithContext = async <T, K>(
method: Effect.Effect<
T,
K,
| CreatePageCommand
| ...
>,
) => {
const DbLive = Layer.succeed(DbTag, db)
const pageRepository = PageRepository.Live.pipe(Layer.provide(DbLive))
const layers = PageCommandsLive.pipe(Layer.provide(pageRepository))
const runtime = ManagedRuntime.make(layers)
const result = await runtime.runPromise(method)
await runtime.dispose()
return result
}