module Hasql.Codecs.Vocab.QualifiedTypeName
( QualifiedTypeName (..),
fromNameTuple,
toNameTuple,
)
where
import Hasql.Platform.Prelude
data QualifiedTypeName = QualifiedTypeName
{ QualifiedTypeName -> Maybe Text
schema :: Maybe Text,
QualifiedTypeName -> Text
name :: Text
}
deriving stock (QualifiedTypeName -> QualifiedTypeName -> Bool
(QualifiedTypeName -> QualifiedTypeName -> Bool)
-> (QualifiedTypeName -> QualifiedTypeName -> Bool)
-> Eq QualifiedTypeName
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: QualifiedTypeName -> QualifiedTypeName -> Bool
== :: QualifiedTypeName -> QualifiedTypeName -> Bool
$c/= :: QualifiedTypeName -> QualifiedTypeName -> Bool
/= :: QualifiedTypeName -> QualifiedTypeName -> Bool
Eq, Eq QualifiedTypeName
Eq QualifiedTypeName =>
(QualifiedTypeName -> QualifiedTypeName -> Ordering)
-> (QualifiedTypeName -> QualifiedTypeName -> Bool)
-> (QualifiedTypeName -> QualifiedTypeName -> Bool)
-> (QualifiedTypeName -> QualifiedTypeName -> Bool)
-> (QualifiedTypeName -> QualifiedTypeName -> Bool)
-> (QualifiedTypeName -> QualifiedTypeName -> QualifiedTypeName)
-> (QualifiedTypeName -> QualifiedTypeName -> QualifiedTypeName)
-> Ord QualifiedTypeName
QualifiedTypeName -> QualifiedTypeName -> Bool
QualifiedTypeName -> QualifiedTypeName -> Ordering
QualifiedTypeName -> QualifiedTypeName -> QualifiedTypeName
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 :: QualifiedTypeName -> QualifiedTypeName -> Ordering
compare :: QualifiedTypeName -> QualifiedTypeName -> Ordering
$c< :: QualifiedTypeName -> QualifiedTypeName -> Bool
< :: QualifiedTypeName -> QualifiedTypeName -> Bool
$c<= :: QualifiedTypeName -> QualifiedTypeName -> Bool
<= :: QualifiedTypeName -> QualifiedTypeName -> Bool
$c> :: QualifiedTypeName -> QualifiedTypeName -> Bool
> :: QualifiedTypeName -> QualifiedTypeName -> Bool
$c>= :: QualifiedTypeName -> QualifiedTypeName -> Bool
>= :: QualifiedTypeName -> QualifiedTypeName -> Bool
$cmax :: QualifiedTypeName -> QualifiedTypeName -> QualifiedTypeName
max :: QualifiedTypeName -> QualifiedTypeName -> QualifiedTypeName
$cmin :: QualifiedTypeName -> QualifiedTypeName -> QualifiedTypeName
min :: QualifiedTypeName -> QualifiedTypeName -> QualifiedTypeName
Ord, Int -> QualifiedTypeName -> ShowS
[QualifiedTypeName] -> ShowS
QualifiedTypeName -> String
(Int -> QualifiedTypeName -> ShowS)
-> (QualifiedTypeName -> String)
-> ([QualifiedTypeName] -> ShowS)
-> Show QualifiedTypeName
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> QualifiedTypeName -> ShowS
showsPrec :: Int -> QualifiedTypeName -> ShowS
$cshow :: QualifiedTypeName -> String
show :: QualifiedTypeName -> String
$cshowList :: [QualifiedTypeName] -> ShowS
showList :: [QualifiedTypeName] -> ShowS
Show, (forall x. QualifiedTypeName -> Rep QualifiedTypeName x)
-> (forall x. Rep QualifiedTypeName x -> QualifiedTypeName)
-> Generic QualifiedTypeName
forall x. Rep QualifiedTypeName x -> QualifiedTypeName
forall x. QualifiedTypeName -> Rep QualifiedTypeName x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. QualifiedTypeName -> Rep QualifiedTypeName x
from :: forall x. QualifiedTypeName -> Rep QualifiedTypeName x
$cto :: forall x. Rep QualifiedTypeName x -> QualifiedTypeName
to :: forall x. Rep QualifiedTypeName x -> QualifiedTypeName
Generic)
instance Hashable QualifiedTypeName
instance IsString QualifiedTypeName where
fromString :: String -> QualifiedTypeName
fromString = Maybe Text -> Text -> QualifiedTypeName
QualifiedTypeName Maybe Text
forall a. Maybe a
Nothing (Text -> QualifiedTypeName)
-> (String -> Text) -> String -> QualifiedTypeName
forall b c a. (b -> c) -> (a -> b) -> a -> c
forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. String -> Text
forall a. IsString a => String -> a
fromString
fromNameTuple :: (Maybe Text, Text) -> QualifiedTypeName
fromNameTuple :: (Maybe Text, Text) -> QualifiedTypeName
fromNameTuple (Maybe Text
schema, Text
name) = Maybe Text -> Text -> QualifiedTypeName
QualifiedTypeName Maybe Text
schema Text
name
toNameTuple :: QualifiedTypeName -> (Maybe Text, Text)
toNameTuple :: QualifiedTypeName -> (Maybe Text, Text)
toNameTuple (QualifiedTypeName Maybe Text
schema Text
name) = (Maybe Text
schema, Text
name)