staversion-0.1.3.0: src/Staversion/Internal/Result.hs
-- |
-- Module: Staversion.Internal.Result
-- Description: Result data type and its utilities
-- Maintainer: Toshio Ito <debug.ito@gmail.com>
--
-- __This is an internal module. End-users should not use it.__
module Staversion.Internal.Result
( Result(..),
ResultBody(..)
) where
import Data.Version (Version)
import Staversion.Internal.Query
( Query, PackageSource, ErrorMsg, PackageName
)
import Staversion.Internal.Cabal (Target)
-- | Result for a query.
data Result = Result { resultIn :: PackageSource,
resultFor :: Query,
resultReallyIn :: Maybe PackageSource,
-- ^ the true PackageSource resolved (or redirected) from 'resultIn', if any.
resultBody :: Either ErrorMsg ResultBody
} deriving (Show,Eq)
data ResultBody = SimpleResultBody PackageName (Maybe Version)
| CabalResultBody FilePath Target [(PackageName, (Maybe Version))]
deriving (Show,Eq)