| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Shrun.Configuration.Data.Core
Synopsis
- data CoreConfigP (p :: ConfigPhase) notifyEnv = MkCoreConfigP {
- init :: ConfigPhaseDisabledMaybeF p Text
- legendKeysCache :: LegendKeysCacheF p
- timeout :: TimeoutF p
- commonLogging :: TomlOptF p (CommonLoggingP p)
- commandLogging :: TomlOptF p (CommandLoggingP p)
- consoleLogging :: TomlOptF p (ConsoleLoggingP p)
- fileLogging :: ArgsOnlyDetF p (FileLoggingP p)
- notifications :: ArgsOnlyDetF p (NotifyP p notifyEnv)
- type CoreConfigArgs = CoreConfigP 'ConfigPhaseArgs
- type CoreConfigToml = CoreConfigP 'ConfigPhaseToml
- type CoreConfigMerged = CoreConfigP 'ConfigPhaseMerged
- mergeCoreConfig :: (HasCallStack, MonadCatch m, MonadIORef m, MonadTerminal m) => NESeq CommandP1 -> CoreConfigArgs r -> CoreConfigToml r -> m (CoreConfigMerged r)
- withCoreEnv :: (HasCallStack, MonadAtomic m, MonadFileWriter m, MonadHandleWriter m, MonadMask m, MonadNotify m, MonadPathReader m, MonadPathWriter m, MonadPosixFiles m, MonadTerminal m, NotifyEnvF m ~ r) => CoreConfigMerged r -> (CoreConfigEnv r -> m a) -> m a
Types
data CoreConfigP (p :: ConfigPhase) notifyEnv Source #
Holds core configuration data.
Constructors
| MkCoreConfigP | |
Fields
| |
Instances
type CoreConfigArgs = CoreConfigP 'ConfigPhaseArgs Source #
type CoreConfigToml = CoreConfigP 'ConfigPhaseToml Source #
Functions
mergeCoreConfig :: (HasCallStack, MonadCatch m, MonadIORef m, MonadTerminal m) => NESeq CommandP1 -> CoreConfigArgs r -> CoreConfigToml r -> m (CoreConfigMerged r) Source #
withCoreEnv :: (HasCallStack, MonadAtomic m, MonadFileWriter m, MonadHandleWriter m, MonadMask m, MonadNotify m, MonadPathReader m, MonadPathWriter m, MonadPosixFiles m, MonadTerminal m, NotifyEnvF m ~ r) => CoreConfigMerged r -> (CoreConfigEnv r -> m a) -> m a Source #
Given a merged CoreConfig, constructs a ConfigEnv and calls the continuation.