module Hledger.Flow.Import.Types where

import Hledger.Flow.PathHelpers (RelFile, TurtlePath)
import qualified Data.Map.Strict as Map

type TurtleFileBundle = Map.Map TurtlePath [TurtlePath]
type InputFileBundle = Map.Map RelFile [RelFile]

data ImportDirs = ImportDirs { ImportDirs -> TurtlePath
importDir  :: TurtlePath
                             , ImportDirs -> TurtlePath
ownerDir   :: TurtlePath
                             , ImportDirs -> TurtlePath
bankDir    :: TurtlePath
                             , ImportDirs -> TurtlePath
accountDir :: TurtlePath
                             , ImportDirs -> TurtlePath
stateDir   :: TurtlePath
                             , ImportDirs -> TurtlePath
yearDir    :: TurtlePath
                             } deriving (Int -> ImportDirs -> ShowS
[ImportDirs] -> ShowS
ImportDirs -> String
(Int -> ImportDirs -> ShowS)
-> (ImportDirs -> String)
-> ([ImportDirs] -> ShowS)
-> Show ImportDirs
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ImportDirs] -> ShowS
$cshowList :: [ImportDirs] -> ShowS
show :: ImportDirs -> String
$cshow :: ImportDirs -> String
showsPrec :: Int -> ImportDirs -> ShowS
$cshowsPrec :: Int -> ImportDirs -> ShowS
Show)