module Hledger.Flow.Import.Types where

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

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 -> TurtlePath
(Int -> ImportDirs -> ShowS)
-> (ImportDirs -> TurtlePath)
-> ([ImportDirs] -> ShowS)
-> Show ImportDirs
forall a.
(Int -> a -> ShowS)
-> (a -> TurtlePath) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ImportDirs -> ShowS
showsPrec :: Int -> ImportDirs -> ShowS
$cshow :: ImportDirs -> TurtlePath
show :: ImportDirs -> TurtlePath
$cshowList :: [ImportDirs] -> ShowS
showList :: [ImportDirs] -> ShowS
Show)