| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
OptEnvConf.Setting
Synopsis
- data Setting a = Setting {
- settingDasheds :: ![Dashed]
- settingReaders :: ![Reader a]
- settingTryArgument :: !Bool
- settingSwitchValue :: !(Maybe a)
- settingTryOption :: !Bool
- settingEnvVars :: !(Maybe (NonEmpty EnvVarSetting))
- settingConfigVals :: !(Maybe (NonEmpty (ConfigValSetting a)))
- settingDefaultValue :: !(Maybe (a, String))
- settingExamples :: ![String]
- settingHidden :: !Bool
- settingMetavar :: !(Maybe Metavar)
- settingHelp :: !(Maybe String)
- settingCompleter :: !(Maybe Completer)
- settingRequiredCapabilities :: !(Set Capability)
- data EnvVarSetting = EnvVarSetting {}
- data ConfigValSetting a = ConfigValSetting {
- configValSettingPath :: !(NonEmpty String)
- configValSettingAllowPrefix :: !Bool
- configValSettingCodec :: !(ValueCodec void (Maybe a))
- help :: String -> Builder a
- metavar :: String -> Builder a
- argument :: Builder a
- option :: Builder a
- switch :: a -> Builder a
- reader :: Reader a -> Builder a
- str :: IsString s => Reader s
- auto :: Read a => Reader a
- long :: String -> Builder a
- short :: Char -> Builder a
- env :: String -> Builder a
- unprefixedEnv :: String -> Builder a
- conf :: HasCodec a => String -> Builder a
- confWith :: String -> ValueCodec void a -> Builder a
- confWith' :: String -> ValueCodec void (Maybe a) -> Builder a
- unprefixedConf :: HasCodec a => String -> Builder a
- unprefixedConfWith :: String -> ValueCodec void a -> Builder a
- unprefixedConfWith' :: String -> ValueCodec void (Maybe a) -> Builder a
- name :: HasCodec a => String -> Builder a
- value :: Show a => a -> Builder a
- valueWithShown :: (a -> String) -> a -> Builder a
- example :: String -> Builder a
- shownExample :: Show a => a -> Builder a
- hidden :: Builder a
- completer :: Completer -> Builder a
- newtype Builder a = Builder {
- unBuilder :: [BuildInstruction a]
- data BuildInstruction a
- = BuildAddHelp !String
- | BuildSetMetavar !String
- | BuildTryArgument
- | BuildTryOption
- | BuildSetSwitchValue !a
- | BuildAddReader !(Reader a)
- | BuildAddLong !(NonEmpty Char)
- | BuildAddShort !Char
- | BuildAddEnv !EnvVarSetting
- | BuildAddConf !(ConfigValSetting a)
- | BuildSetDefault !a !String
- | BuildAddExample !String
- | BuildSetHidden
- | BuildSetCompleter !Completer
- | BuildAddRequiredCapability !Capability
- requiredCapability :: String -> Builder a
- readSecretCapability :: String
- showSettingABit :: Setting a -> ShowS
- newtype SettingHash = SettingHash Int
- hashSetting :: Setting a -> SettingHash
- completeBuilder :: Builder a -> Setting a
- mapMaybeBuilder :: (BuildInstruction a -> Maybe (BuildInstruction b)) -> Builder a -> Builder b
- emptySetting :: Setting a
- type Metavar = String
- type Help = String
- prefixEnvVarSetting :: String -> EnvVarSetting -> EnvVarSetting
- suffixEnvVarSetting :: String -> EnvVarSetting -> EnvVarSetting
- prefixConfigValSetting :: String -> ConfigValSetting a -> ConfigValSetting a
- suffixConfigValSettingKey :: String -> ConfigValSetting a -> ConfigValSetting a
Documentation
A setting for parsing and documenting a single value.
Constructors
| Setting | |
Fields
| |
data EnvVarSetting Source #
Constructors
| EnvVarSetting | |
Fields | |
Instances
| Show EnvVarSetting Source # | |
Defined in OptEnvConf.Setting Methods showsPrec :: Int -> EnvVarSetting -> ShowS # show :: EnvVarSetting -> String # showList :: [EnvVarSetting] -> ShowS # | |
| Eq EnvVarSetting Source # | |
Defined in OptEnvConf.Setting Methods (==) :: EnvVarSetting -> EnvVarSetting -> Bool # (/=) :: EnvVarSetting -> EnvVarSetting -> Bool # | |
| Hashable EnvVarSetting Source # | |
Defined in OptEnvConf.Setting | |
data ConfigValSetting a Source #
Constructors
| ConfigValSetting | |
Fields
| |
Builders
reader :: Reader a -> Builder a Source #
Declare how to parse an argument, option, or environment variable.
conf :: HasCodec a => String -> Builder a Source #
Try to parse a configuration value at the given key.
Multiple confs will be tried in order.
confWith' :: String -> ValueCodec void (Maybe a) -> Builder a Source #
Like confWith but allows interpreting Null as a value other than "Not found".
unprefixedConf :: HasCodec a => String -> Builder a Source #
Like conf but ignores any subConf, subConf_, or subAll.
unprefixedConfWith :: String -> ValueCodec void a -> Builder a Source #
Like confWith but ignores any subConf, subConf_, or subAll.
unprefixedConfWith' :: String -> ValueCodec void (Maybe a) -> Builder a Source #
Like confWith' but ignores any subConf, subConf_, or subAll.
value :: Show a => a -> Builder a Source #
Set the default value
Multiple values override eachother.
API Note: default is not a valid identifier in Haskell.
I'd also have preferred default instead.
valueWithShown :: (a -> String) -> a -> Builder a Source #
Set the default value, along with version of it shown by a custom function.
example :: String -> Builder a Source #
Provide an example value for documentation.
The example is provided as a literal string.
If you use reader auto, you'll want to use shownExample instead.
shownExample :: Show a => a -> Builder a Source #
completer :: Completer -> Builder a Source #
Set the setting to tab-complete with the given completer
Multiple completers are redundant.
Builder for a Setting
Constructors
| Builder | |
Fields
| |
data BuildInstruction a Source #
Constructors
requiredCapability :: String -> Builder a Source #
Annotate a setting with a required capability.
readSecretCapability :: String Source #
The annotation for any setting reading secrets.
We add these so that we can disable them in settings checks, to avoid failing settings checks when secrets are read at runtime instead of build-time.
Internal
newtype SettingHash Source #
Constructors
| SettingHash Int |
Instances
| Show SettingHash Source # | |
Defined in OptEnvConf.Setting Methods showsPrec :: Int -> SettingHash -> ShowS # show :: SettingHash -> String # showList :: [SettingHash] -> ShowS # | |
| Eq SettingHash Source # | |
Defined in OptEnvConf.Setting | |
| Ord SettingHash Source # | |
Defined in OptEnvConf.Setting Methods compare :: SettingHash -> SettingHash -> Ordering # (<) :: SettingHash -> SettingHash -> Bool # (<=) :: SettingHash -> SettingHash -> Bool # (>) :: SettingHash -> SettingHash -> Bool # (>=) :: SettingHash -> SettingHash -> Bool # max :: SettingHash -> SettingHash -> SettingHash # min :: SettingHash -> SettingHash -> SettingHash # | |
hashSetting :: Setting a -> SettingHash Source #
mapMaybeBuilder :: (BuildInstruction a -> Maybe (BuildInstruction b)) -> Builder a -> Builder b Source #
prefixConfigValSetting :: String -> ConfigValSetting a -> ConfigValSetting a Source #
suffixConfigValSettingKey :: String -> ConfigValSetting a -> ConfigValSetting a Source #