module Types where import Data.Time (LocalTime) data Item = Item { keychain :: FilePath , itemClass :: ItemClass , attrs :: [Attrib] , content :: String } deriving (Eq, Show) data ItemClass = Id Integer | Inet | Genp deriving (Eq, Show) data Value = Date LocalTime | Str String | Num Integer | Null deriving (Eq, Show) type Keychain = [Item] type Attrib = (Name, Value) type Name = Either String Integer