mmzk-env-0.1.0.0: Read environment variables into a user-defined data type
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Env.ExtractFields

Description

This module provides a type class ExtractFields that extracts field names from a record type. It also provides functions to retrieve environment variables based on these field names, with options for different naming conventions.

Synopsis

Documentation

class ExtractFields a Source #

Type class for extracting field names from a record type.

Minimal complete definition

extractFields'

Instances

Instances details
(Generic a, GExtractFields (Rep a)) => ExtractFields (a :: Type) Source # 
Instance details

Defined in Data.Env.ExtractFields

Methods

extractFields' :: Proxy a -> [String]

extractFields :: forall a. ExtractFields a => [String] Source #

Extract field names from a record type.

getEnvRaw :: forall a m. (MonadIO m, ExtractFields a) => (String -> String) -> m (Map String String) Source #

Retrieve environment variables based on field names, applying a mapping function to the field names.

getEnvRawLowerToUpperSnake :: forall a m. (MonadIO m, ExtractFields a) => m (Map String String) Source #

Retrieve environment variables based on field names, converting them to upper case.

getEnvRawCamelCaseToUpperSnake :: forall a m. (MonadIO m, ExtractFields a) => m (Map String String) Source #

Retrieve environment variables based on field names, converting them from camel case (record field naming) to upper snake case (environment variable naming).