module Ribosome.Host.Config where

import qualified Ribosome.Host.Data.HostConfig as HostConfig
import Ribosome.Host.Data.HostConfig (HostConfig (HostConfig), LogConfig)

interpretLogConfig ::
  Member (Reader HostConfig) r =>
  InterpreterFor (Reader LogConfig) r
interpretLogConfig :: forall (r :: EffectRow).
Member (Reader HostConfig) r =>
InterpreterFor (Reader LogConfig) r
interpretLogConfig Sem (Reader LogConfig : r) a
sem =
  Sem r HostConfig
forall i (r :: EffectRow). Member (Reader i) r => Sem r i
ask Sem r HostConfig -> (HostConfig -> Sem r a) -> Sem r a
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= \ HostConfig {LogConfig
$sel:hostLog:HostConfig :: HostConfig -> LogConfig
hostLog :: LogConfig
hostLog} ->
    LogConfig -> Sem (Reader LogConfig : r) a -> Sem r a
forall i (r :: EffectRow) a. i -> Sem (Reader i : r) a -> Sem r a
runReader LogConfig
hostLog Sem (Reader LogConfig : r) a
sem