-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | What version is the package X in stackage lts-Y.ZZ?
--
-- A command-line tool to look for version numbers for Haskell packages
-- in specific stackage resolvers. See README.md
@package staversion
@version 0.1.0.0
-- | This is an internal module. End-users should not use it.
module Staversion.Internal.Query
type PackageName = Text
-- | Resolver name at stackage like "lts-4.1".
type Resolver = String
-- | Source of packages.
data PackageSource
-- | stackage.
SourceStackage :: Resolver -> PackageSource
-- | Query for package version(s).
data Query
QueryName :: PackageName -> Query
type ErrorMsg = String
-- | Result for a query.
data Result
Result :: PackageSource -> Query -> Either ErrorMsg ResultVersions -> Result
[resultIn] :: Result -> PackageSource
[resultFor] :: Result -> Query
[resultVersions] :: Result -> Either ErrorMsg ResultVersions
-- | The obtained version map.
data ResultVersions
resultVersionsFromList :: [(PackageName, Maybe Version)] -> ResultVersions
resultVersionsToList :: ResultVersions -> [(PackageName, Maybe Version)]
-- | description of a PackageSource.
sourceDesc :: PackageSource -> Text
instance GHC.Classes.Eq Staversion.Internal.Query.Result
instance GHC.Show.Show Staversion.Internal.Query.Result
instance GHC.Classes.Eq Staversion.Internal.Query.ResultVersions
instance GHC.Show.Show Staversion.Internal.Query.ResultVersions
instance GHC.Classes.Ord Staversion.Internal.Query.Query
instance GHC.Classes.Eq Staversion.Internal.Query.Query
instance GHC.Show.Show Staversion.Internal.Query.Query
instance GHC.Classes.Ord Staversion.Internal.Query.PackageSource
instance GHC.Classes.Eq Staversion.Internal.Query.PackageSource
instance GHC.Show.Show Staversion.Internal.Query.PackageSource
module Staversion.Internal.Log
data LogLevel
LogDebug :: LogLevel
LogInfo :: LogLevel
LogWarn :: LogLevel
LogError :: LogLevel
data Logger
defaultLogger :: Logger
putLog :: Logger -> LogLevel -> String -> IO ()
logDebug :: Logger -> String -> IO ()
logInfo :: Logger -> String -> IO ()
logWarn :: Logger -> String -> IO ()
instance GHC.Classes.Eq Staversion.Internal.Log.Logger
instance GHC.Show.Show Staversion.Internal.Log.Logger
instance GHC.Enum.Bounded Staversion.Internal.Log.LogLevel
instance GHC.Enum.Enum Staversion.Internal.Log.LogLevel
instance GHC.Classes.Ord Staversion.Internal.Log.LogLevel
instance GHC.Classes.Eq Staversion.Internal.Log.LogLevel
instance GHC.Show.Show Staversion.Internal.Log.LogLevel
-- | This is an internal module. End-users should not use it.
module Staversion.Internal.Format
-- | format Results like it's in build-depends in .cabal files.
formatResultsCabal :: [Result] -> Text
-- | This is an internal module. End-users should not use it.
module Staversion.Internal.BuildPlan
type PackageName = Text
-- | A data structure that keeps a map between package names and their
-- versions.
data BuildPlan
-- | Load a BuildPlan from a file.
loadBuildPlanYAML :: FilePath -> IO BuildPlan
packageVersion :: BuildPlan -> PackageName -> Maybe Version
-- | Parse a version text. There must not be any trailing characters after
-- a valid version text.
parseVersionText :: Text -> Maybe Version
instance Data.Aeson.Types.FromJSON.FromJSON Staversion.Internal.BuildPlan.BuildPlan
-- | This is an internal module. End-users should not use it.
module Staversion.Internal.Command
-- | Command from the user.
data Command
Command :: FilePath -> Logger -> [PackageSource] -> [Query] -> Command
-- | path to the directory where build plan files are stored.
[commBuildPlanDir] :: Command -> FilePath
-- | the logger
[commLogger] :: Command -> Logger
-- | package sources to search
[commSources] :: Command -> [PackageSource]
-- | package queries
[commQueries] :: Command -> [Query]
parseCommandArgs :: IO Command
instance GHC.Classes.Ord Staversion.Internal.Command.DefCommand
instance GHC.Classes.Eq Staversion.Internal.Command.DefCommand
instance GHC.Show.Show Staversion.Internal.Command.DefCommand
instance GHC.Classes.Eq Staversion.Internal.Command.Command
instance GHC.Show.Show Staversion.Internal.Command.Command
-- | This is an internal module. End-users should not use it.
module Staversion.Internal.Exec
main :: IO ()
processCommand :: Command -> IO [Result]