{-# LANGUAGE DeriveAnyClass #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE DeriveLift #-} module Argo.Schema.Identifier where import qualified Argo.Vendor.DeepSeq as DeepSeq import qualified Argo.Vendor.TemplateHaskell as TH import qualified Argo.Vendor.Text as Text import qualified Data.String as String import qualified GHC.Generics as Generics newtype Identifier = Identifier Text.Text deriving (Identifier -> Identifier -> Bool (Identifier -> Identifier -> Bool) -> (Identifier -> Identifier -> Bool) -> Eq Identifier forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: Identifier -> Identifier -> Bool $c/= :: Identifier -> Identifier -> Bool == :: Identifier -> Identifier -> Bool $c== :: Identifier -> Identifier -> Bool Eq, (forall x. Identifier -> Rep Identifier x) -> (forall x. Rep Identifier x -> Identifier) -> Generic Identifier forall x. Rep Identifier x -> Identifier forall x. Identifier -> Rep Identifier x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cto :: forall x. Rep Identifier x -> Identifier $cfrom :: forall x. Identifier -> Rep Identifier x Generics.Generic, Identifier -> Q Exp Identifier -> Q (TExp Identifier) (Identifier -> Q Exp) -> (Identifier -> Q (TExp Identifier)) -> Lift Identifier forall t. (t -> Q Exp) -> (t -> Q (TExp t)) -> Lift t liftTyped :: Identifier -> Q (TExp Identifier) $cliftTyped :: Identifier -> Q (TExp Identifier) lift :: Identifier -> Q Exp $clift :: Identifier -> Q Exp TH.Lift, Identifier -> () (Identifier -> ()) -> NFData Identifier forall a. (a -> ()) -> NFData a rnf :: Identifier -> () $crnf :: Identifier -> () DeepSeq.NFData, Eq Identifier Eq Identifier -> (Identifier -> Identifier -> Ordering) -> (Identifier -> Identifier -> Bool) -> (Identifier -> Identifier -> Bool) -> (Identifier -> Identifier -> Bool) -> (Identifier -> Identifier -> Bool) -> (Identifier -> Identifier -> Identifier) -> (Identifier -> Identifier -> Identifier) -> Ord Identifier Identifier -> Identifier -> Bool Identifier -> Identifier -> Ordering Identifier -> Identifier -> Identifier 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 :: Identifier -> Identifier -> Identifier $cmin :: Identifier -> Identifier -> Identifier max :: Identifier -> Identifier -> Identifier $cmax :: Identifier -> Identifier -> Identifier >= :: Identifier -> Identifier -> Bool $c>= :: Identifier -> Identifier -> Bool > :: Identifier -> Identifier -> Bool $c> :: Identifier -> Identifier -> Bool <= :: Identifier -> Identifier -> Bool $c<= :: Identifier -> Identifier -> Bool < :: Identifier -> Identifier -> Bool $c< :: Identifier -> Identifier -> Bool compare :: Identifier -> Identifier -> Ordering $ccompare :: Identifier -> Identifier -> Ordering $cp1Ord :: Eq Identifier Ord, Int -> Identifier -> ShowS [Identifier] -> ShowS Identifier -> String (Int -> Identifier -> ShowS) -> (Identifier -> String) -> ([Identifier] -> ShowS) -> Show Identifier forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [Identifier] -> ShowS $cshowList :: [Identifier] -> ShowS show :: Identifier -> String $cshow :: Identifier -> String showsPrec :: Int -> Identifier -> ShowS $cshowsPrec :: Int -> Identifier -> ShowS Show) instance String.IsString Identifier where fromString :: String -> Identifier fromString = Text -> Identifier fromText (Text -> Identifier) -> (String -> Text) -> String -> Identifier forall b c a. (b -> c) -> (a -> b) -> a -> c . String -> Text forall a. IsString a => String -> a String.fromString instance Semigroup Identifier where Identifier x <> :: Identifier -> Identifier -> Identifier <> Identifier y = Text -> Identifier fromText (Text -> Identifier) -> Text -> Identifier forall a b. (a -> b) -> a -> b $ Identifier -> Text toText Identifier x Text -> Text -> Text forall a. Semigroup a => a -> a -> a <> Identifier -> Text toText Identifier y fromText :: Text.Text -> Identifier fromText :: Text -> Identifier fromText = Text -> Identifier Identifier toText :: Identifier -> Text.Text toText :: Identifier -> Text toText (Identifier Text x) = Text x