{-# LANGUAGE TypeFamilies #-} module Drifter.Types where import Data.Text newtype ChangeName = ChangeName { ChangeName -> Text changeNameText :: Text } deriving (Int -> ChangeName -> ShowS [ChangeName] -> ShowS ChangeName -> String (Int -> ChangeName -> ShowS) -> (ChangeName -> String) -> ([ChangeName] -> ShowS) -> Show ChangeName forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [ChangeName] -> ShowS $cshowList :: [ChangeName] -> ShowS show :: ChangeName -> String $cshow :: ChangeName -> String showsPrec :: Int -> ChangeName -> ShowS $cshowsPrec :: Int -> ChangeName -> ShowS Show, ChangeName -> ChangeName -> Bool (ChangeName -> ChangeName -> Bool) -> (ChangeName -> ChangeName -> Bool) -> Eq ChangeName forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: ChangeName -> ChangeName -> Bool $c/= :: ChangeName -> ChangeName -> Bool == :: ChangeName -> ChangeName -> Bool $c== :: ChangeName -> ChangeName -> Bool Eq, Eq ChangeName Eq ChangeName -> (ChangeName -> ChangeName -> Ordering) -> (ChangeName -> ChangeName -> Bool) -> (ChangeName -> ChangeName -> Bool) -> (ChangeName -> ChangeName -> Bool) -> (ChangeName -> ChangeName -> Bool) -> (ChangeName -> ChangeName -> ChangeName) -> (ChangeName -> ChangeName -> ChangeName) -> Ord ChangeName ChangeName -> ChangeName -> Bool ChangeName -> ChangeName -> Ordering ChangeName -> ChangeName -> ChangeName forall a. Eq a -> (a -> a -> Ordering) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> a) -> (a -> a -> a) -> Ord a min :: ChangeName -> ChangeName -> ChangeName $cmin :: ChangeName -> ChangeName -> ChangeName max :: ChangeName -> ChangeName -> ChangeName $cmax :: ChangeName -> ChangeName -> ChangeName >= :: ChangeName -> ChangeName -> Bool $c>= :: ChangeName -> ChangeName -> Bool > :: ChangeName -> ChangeName -> Bool $c> :: ChangeName -> ChangeName -> Bool <= :: ChangeName -> ChangeName -> Bool $c<= :: ChangeName -> ChangeName -> Bool < :: ChangeName -> ChangeName -> Bool $c< :: ChangeName -> ChangeName -> Bool compare :: ChangeName -> ChangeName -> Ordering $ccompare :: ChangeName -> ChangeName -> Ordering $cp1Ord :: Eq ChangeName Ord) type Description = Text data Change a = Change { Change a -> ChangeName changeName :: ChangeName , Change a -> Maybe Text changeDescription :: Maybe Description , Change a -> [ChangeName] changeDependencies :: [ChangeName] , Change a -> Method a changeMethod :: Method a } data family Method a data family DBConnection a