module Proteome.Data.ProjectName where

import Ribosome (MsgpackDecode, MsgpackEncode)

newtype ProjectName =
  ProjectName { ProjectName -> Text
unProjectName :: Text }
  deriving stock (ProjectName -> ProjectName -> Bool
(ProjectName -> ProjectName -> Bool)
-> (ProjectName -> ProjectName -> Bool) -> Eq ProjectName
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ProjectName -> ProjectName -> Bool
$c/= :: ProjectName -> ProjectName -> Bool
== :: ProjectName -> ProjectName -> Bool
$c== :: ProjectName -> ProjectName -> Bool
Eq, Int -> ProjectName -> ShowS
[ProjectName] -> ShowS
ProjectName -> String
(Int -> ProjectName -> ShowS)
-> (ProjectName -> String)
-> ([ProjectName] -> ShowS)
-> Show ProjectName
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ProjectName] -> ShowS
$cshowList :: [ProjectName] -> ShowS
show :: ProjectName -> String
$cshow :: ProjectName -> String
showsPrec :: Int -> ProjectName -> ShowS
$cshowsPrec :: Int -> ProjectName -> ShowS
Show, (forall x. ProjectName -> Rep ProjectName x)
-> (forall x. Rep ProjectName x -> ProjectName)
-> Generic ProjectName
forall x. Rep ProjectName x -> ProjectName
forall x. ProjectName -> Rep ProjectName x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ProjectName x -> ProjectName
$cfrom :: forall x. ProjectName -> Rep ProjectName x
Generic)
  deriving newtype (ProjectName -> Object
(ProjectName -> Object) -> MsgpackEncode ProjectName
forall a. (a -> Object) -> MsgpackEncode a
toMsgpack :: ProjectName -> Object
$ctoMsgpack :: ProjectName -> Object
MsgpackEncode, Object -> Either DecodeError ProjectName
(Object -> Either DecodeError ProjectName)
-> MsgpackDecode ProjectName
forall a. (Object -> Either DecodeError a) -> MsgpackDecode a
fromMsgpack :: Object -> Either DecodeError ProjectName
$cfromMsgpack :: Object -> Either DecodeError ProjectName
MsgpackDecode, String -> ProjectName
(String -> ProjectName) -> IsString ProjectName
forall a. (String -> a) -> IsString a
fromString :: String -> ProjectName
$cfromString :: String -> ProjectName
IsString)