runtime.ts 632 B

1234567891011121314
  1. import { Layer, ManagedRuntime } from "effect"
  2. import { AppConfig } from "./config"
  3. import { layer as databaseLayer } from "./database"
  4. import { GeoStatRepo } from "./domain/geo"
  5. import { ModelStatRepo } from "./domain/model"
  6. import { ProviderStatRepo } from "./domain/provider"
  7. const repoLayer = Layer.mergeAll(ModelStatRepo.layer, ProviderStatRepo.layer, GeoStatRepo.layer).pipe(
  8. Layer.provide(databaseLayer),
  9. )
  10. export const layer = Layer.mergeAll(AppConfig.layer, databaseLayer, repoLayer)
  11. export const runtime = ManagedRuntime.make(layer)
  12. export type RuntimeServices = ManagedRuntime.ManagedRuntime.Services<typeof runtime>