-- | Description: Account name data type
module Polysemy.Account.Data.AccountName where

-- | The name of an account.
newtype AccountName =
  AccountName { AccountName -> Text
unAccountName :: Text }
  deriving stock (AccountName -> AccountName -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccountName -> AccountName -> Bool
$c/= :: AccountName -> AccountName -> Bool
== :: AccountName -> AccountName -> Bool
$c== :: AccountName -> AccountName -> Bool
Eq, Int -> AccountName -> ShowS
[AccountName] -> ShowS
AccountName -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccountName] -> ShowS
$cshowList :: [AccountName] -> ShowS
show :: AccountName -> String
$cshow :: AccountName -> String
showsPrec :: Int -> AccountName -> ShowS
$cshowsPrec :: Int -> AccountName -> ShowS
Show, forall x. Rep AccountName x -> AccountName
forall x. AccountName -> Rep AccountName x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep AccountName x -> AccountName
$cfrom :: forall x. AccountName -> Rep AccountName x
Generic)
  deriving newtype (String -> AccountName
forall a. (String -> a) -> IsString a
fromString :: String -> AccountName
$cfromString :: String -> AccountName
IsString, Eq AccountName
AccountName -> AccountName -> Bool
AccountName -> AccountName -> Ordering
AccountName -> AccountName -> AccountName
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 :: AccountName -> AccountName -> AccountName
$cmin :: AccountName -> AccountName -> AccountName
max :: AccountName -> AccountName -> AccountName
$cmax :: AccountName -> AccountName -> AccountName
>= :: AccountName -> AccountName -> Bool
$c>= :: AccountName -> AccountName -> Bool
> :: AccountName -> AccountName -> Bool
$c> :: AccountName -> AccountName -> Bool
<= :: AccountName -> AccountName -> Bool
$c<= :: AccountName -> AccountName -> Bool
< :: AccountName -> AccountName -> Bool
$c< :: AccountName -> AccountName -> Bool
compare :: AccountName -> AccountName -> Ordering
$ccompare :: AccountName -> AccountName -> Ordering
Ord)

json ''AccountName