úÎ!=1:Ï#      !"None$.47=>?@AMUVXhlm8ünri-env-parser7Describe a decoded variable for informational purposes.nri-env-parserBAn environment variable with a description of what it is used for. nri-env-parserkAn environment decoder knows how to read an app's configuration from environment variables. Check out the variable6 function to see how you can begin building decoders. nri-env-parser The list of Variable's that this decoder will read when ran. nri-env-parserEA function that can read values of a type from text. For example, a  Parser IntI knows how to read a string like "412" and extract from that the number 412.`Parsing functions can fail when they read a text that they do not understand. For example, the  Parser IntN parser will fail if ran against the string "Not a number in the slightest!". nri-env-parser*Parse a text from an environment variable.nri-env-parserLParse an integer from an environment variable. Works for any integer type (Integer, Int, Int, ...).nri-env-parser;Parse a floating point number from an environment variable.nri-env-parser-Parse a boolean from an environment variable.nri-env-parser)Parse a URI from an environment variable.nri-env-parser/Parse a file path from an environment variable.nri-env-parser2Parse a secret value from an environment variable. Check the documentation for the Log module of  nri-prelude to learn more about secrets.nri-env-parser There's two URIY types that are in vogue in the Haskell ecosystem. We would like to standardized on the Text.URI& package, since it's the more modern Text based version (no StringsS for us!), but most libraries require the other type. This function helps convert.nri-env-parsereCreate a parser for custom types. Build on the back of one of the primitve parsers from this module. ÿdata Environment = Development | Production environment :: Parser Environment environment = custom text <| \str -> case str of "development" -> Ok Development "production" -> Ok Production _ -> Err ("Unknown environment: " ++ str)nri-env-parseraProduce a configuration from a single environment veriable. Usually you will combine these with mapN* functions to build larger configurations. áData Settings = Settings { amountOfHats :: Int , furLined :: Bool } map2 Settings (variable (Variable "HATS" "Amount of hats" "2") int) (variable (Variable "FUR_LINED" "Do hats have fur lining?" "False") boolean)nri-env-parser+If the first decoder fails, try the second.nri-env-parser‡Attempt to decode a configuration by reading environment variables. This will fail if one or more environment variables fail to parse.nIt will not fail if certain environment variables are absent. Defaults will be used for those missing values.nri-env-parserSame as 6, but takes the environment to decode as a dictionary.nri-env-parserkRun a decoder. Instead of returnin the decoded value return metadata about each variable that was decoded.&This can be helpful when generating a --helpj command, for listing all the variables that the application supports and what they are currently set to.nri-env-parserSame as 7, but takes the environment to decode as a dictionary.nri-env-parserVBuild a configuration using only default values of environment variables. Similar to decode>, except this version doesn't read any environment variables.aThis is sometimes useful for tests, where you might not care about the exact values of settings.    None$.7=>?@AMUVXhlm:ª#$%&'()*+      !"#$%&'()*+,-nri-env-parser-0.1.0.2-1x0IvgUnur2BIzAdOpYfb4 EnvironmentPaths_nri_env_parserDecodedVariabledecodedVariabledecodedCurrent decodedErrorsVariablename description defaultValueDecoderconsumesParsertextintfloatbooleanurifilePathsecret networkURIcustomvariableeitherdecode decodePairsdecodeVariablesdecodeVariablePairsdecodeDefaults$fApplicativeDecoder$fFunctorParser$fShowVariable$fShowParseError$fFunctorDecoder$fShowDecodedVariableversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName