aboutsummaryrefslogblamecommitdiffhomepage
path: root/scaffolder/src/Text/Edifact/BundleReader/Configuration.hs
blob: 0609c0346f727c925d62a0a5b92ccdb58a4419b4 (plain) (tree)





























                                                                        
{-# LANGUAGE FlexibleContexts #-}

module Text.Edifact.BundleReader.Configuration
  ( -- * Parsing environment
    BundleReaderEnv(..)
    -- * Shortcuts for reading the environment
  , getTargetRevision
  , getHome
  ) where

import           Text.Edifact.Scaffolder.Commons (MessageCode, Revision)

import           Control.Monad.Reader.Class      (MonadReader, asks)

data BundleReaderEnv = BundleReaderEnv { parserRevision :: Revision
                           , specificationHome          :: FilePath
                           , bundle                     :: [FilePath]
                           , messageNames               :: [MessageCode]
                           , messagesFiles              :: [FilePath]
                           , segmentsFiles              :: [FilePath]
                           , compositesFiles            :: [FilePath]
                           , simplesFiles               :: [FilePath]
                           , codedSimplesFiles          :: [FilePath]
                           }

getTargetRevision :: MonadReader BundleReaderEnv m => m Revision
getTargetRevision = asks parserRevision

getHome :: MonadReader BundleReaderEnv m => m FilePath
getHome = asks specificationHome