module CabalBounds.Types where import qualified Data.HashMap.Strict as HM import qualified Distribution.Version as V import Control.Lens import qualified CabalLenses as CL type LibName = String type LibVersion = [Int] type Library = (LibName, LibVersion) type Libraries = [Library] type LibraryMap = HM.HashMap LibName V.Version toList :: LibraryMap -> Libraries toList :: LibraryMap -> Libraries toList LibraryMap libs = ((LibName, Version) -> Library) -> [(LibName, Version)] -> Libraries forall a b. (a -> b) -> [a] -> [b] map (\(LibName name, Version version) -> (LibName name, Version version Version -> Getting LibVersion Version LibVersion -> LibVersion forall s a. s -> Getting a s a -> a ^. Getting LibVersion Version LibVersion Iso' Version LibVersion CL.versionBranchL)) ([(LibName, Version)] -> Libraries) -> [(LibName, Version)] -> Libraries forall a b. (a -> b) -> a -> b $ LibraryMap -> [(LibName, Version)] forall k v. HashMap k v -> [(k, v)] HM.toList LibraryMap libs