module IpeDb.InfoProv ( InfoProv (..), IpeId (..), prettyIpeId, ) where import Data.Int import Data.Text (Text) import qualified Data.Text as Text import Data.Word import qualified Database.SQLite.Simple as Sqlite import qualified Database.SQLite.Simple.FromField as Sqlite import qualified Database.SQLite.Simple.ToField as Sqlite import GHC.Generics (Generic) import qualified Numeric data InfoProv = InfoProv { InfoProv -> IpeId infoId :: !IpeId , InfoProv -> Text tableName :: !Text , InfoProv -> Int64 closureDesc :: !Int64 , InfoProv -> Text typeDesc :: !Text , InfoProv -> Text label :: !Text , InfoProv -> Text moduleName :: !Text , InfoProv -> Text srcLoc :: !Text } deriving (Int -> InfoProv -> ShowS [InfoProv] -> ShowS InfoProv -> String (Int -> InfoProv -> ShowS) -> (InfoProv -> String) -> ([InfoProv] -> ShowS) -> Show InfoProv forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> InfoProv -> ShowS showsPrec :: Int -> InfoProv -> ShowS $cshow :: InfoProv -> String show :: InfoProv -> String $cshowList :: [InfoProv] -> ShowS showList :: [InfoProv] -> ShowS Show, InfoProv -> InfoProv -> Bool (InfoProv -> InfoProv -> Bool) -> (InfoProv -> InfoProv -> Bool) -> Eq InfoProv forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: InfoProv -> InfoProv -> Bool == :: InfoProv -> InfoProv -> Bool $c/= :: InfoProv -> InfoProv -> Bool /= :: InfoProv -> InfoProv -> Bool Eq, Eq InfoProv Eq InfoProv => (InfoProv -> InfoProv -> Ordering) -> (InfoProv -> InfoProv -> Bool) -> (InfoProv -> InfoProv -> Bool) -> (InfoProv -> InfoProv -> Bool) -> (InfoProv -> InfoProv -> Bool) -> (InfoProv -> InfoProv -> InfoProv) -> (InfoProv -> InfoProv -> InfoProv) -> Ord InfoProv InfoProv -> InfoProv -> Bool InfoProv -> InfoProv -> Ordering InfoProv -> InfoProv -> InfoProv 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 $ccompare :: InfoProv -> InfoProv -> Ordering compare :: InfoProv -> InfoProv -> Ordering $c< :: InfoProv -> InfoProv -> Bool < :: InfoProv -> InfoProv -> Bool $c<= :: InfoProv -> InfoProv -> Bool <= :: InfoProv -> InfoProv -> Bool $c> :: InfoProv -> InfoProv -> Bool > :: InfoProv -> InfoProv -> Bool $c>= :: InfoProv -> InfoProv -> Bool >= :: InfoProv -> InfoProv -> Bool $cmax :: InfoProv -> InfoProv -> InfoProv max :: InfoProv -> InfoProv -> InfoProv $cmin :: InfoProv -> InfoProv -> InfoProv min :: InfoProv -> InfoProv -> InfoProv Ord, (forall x. InfoProv -> Rep InfoProv x) -> (forall x. Rep InfoProv x -> InfoProv) -> Generic InfoProv forall x. Rep InfoProv x -> InfoProv forall x. InfoProv -> Rep InfoProv x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cfrom :: forall x. InfoProv -> Rep InfoProv x from :: forall x. InfoProv -> Rep InfoProv x $cto :: forall x. Rep InfoProv x -> InfoProv to :: forall x. Rep InfoProv x -> InfoProv Generic) deriving anyclass (RowParser InfoProv RowParser InfoProv -> FromRow InfoProv forall a. RowParser a -> FromRow a $cfromRow :: RowParser InfoProv fromRow :: RowParser InfoProv Sqlite.FromRow, InfoProv -> [SQLData] (InfoProv -> [SQLData]) -> ToRow InfoProv forall a. (a -> [SQLData]) -> ToRow a $ctoRow :: InfoProv -> [SQLData] toRow :: InfoProv -> [SQLData] Sqlite.ToRow) newtype IpeId = IpeId { IpeId -> Word64 id :: Word64 } deriving (IpeId -> IpeId -> Bool (IpeId -> IpeId -> Bool) -> (IpeId -> IpeId -> Bool) -> Eq IpeId forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: IpeId -> IpeId -> Bool == :: IpeId -> IpeId -> Bool $c/= :: IpeId -> IpeId -> Bool /= :: IpeId -> IpeId -> Bool Eq, Eq IpeId Eq IpeId => (IpeId -> IpeId -> Ordering) -> (IpeId -> IpeId -> Bool) -> (IpeId -> IpeId -> Bool) -> (IpeId -> IpeId -> Bool) -> (IpeId -> IpeId -> Bool) -> (IpeId -> IpeId -> IpeId) -> (IpeId -> IpeId -> IpeId) -> Ord IpeId IpeId -> IpeId -> Bool IpeId -> IpeId -> Ordering IpeId -> IpeId -> IpeId 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 $ccompare :: IpeId -> IpeId -> Ordering compare :: IpeId -> IpeId -> Ordering $c< :: IpeId -> IpeId -> Bool < :: IpeId -> IpeId -> Bool $c<= :: IpeId -> IpeId -> Bool <= :: IpeId -> IpeId -> Bool $c> :: IpeId -> IpeId -> Bool > :: IpeId -> IpeId -> Bool $c>= :: IpeId -> IpeId -> Bool >= :: IpeId -> IpeId -> Bool $cmax :: IpeId -> IpeId -> IpeId max :: IpeId -> IpeId -> IpeId $cmin :: IpeId -> IpeId -> IpeId min :: IpeId -> IpeId -> IpeId Ord) deriving newtype (FieldParser IpeId FieldParser IpeId -> FromField IpeId forall a. FieldParser a -> FromField a $cfromField :: FieldParser IpeId fromField :: FieldParser IpeId Sqlite.FromField, IpeId -> SQLData (IpeId -> SQLData) -> ToField IpeId forall a. (a -> SQLData) -> ToField a $ctoField :: IpeId -> SQLData toField :: IpeId -> SQLData Sqlite.ToField) instance Show IpeId where show :: IpeId -> String show IpeId ipeId = String "IpeId {id = " String -> ShowS forall a. Semigroup a => a -> a -> a <> Word64 -> String forall a. Integral a => a -> String showAsHex (IpeId ipeId.id) String -> ShowS forall a. Semigroup a => a -> a -> a <> String "}" showAsHex :: (Integral a) => a -> String showAsHex :: forall a. Integral a => a -> String showAsHex a n = String "0x" String -> ShowS forall a. Semigroup a => a -> a -> a <> a -> ShowS forall a. Integral a => a -> ShowS Numeric.showHex a n String "" prettyIpeId :: IpeId -> Text prettyIpeId :: IpeId -> Text prettyIpeId = String -> Text Text.pack (String -> Text) -> (IpeId -> String) -> IpeId -> Text forall b c a. (b -> c) -> (a -> b) -> a -> c . Word64 -> String forall a. Integral a => a -> String showAsHex (Word64 -> String) -> (IpeId -> Word64) -> IpeId -> String forall b c a. (b -> c) -> (a -> b) -> a -> c . (.id)