{-# LANGUAGE DeriveLift #-} module Argo.Internal.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 newtype Identifier = Identifier Text.Text deriving (Identifier -> Identifier -> Bool 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 t. (forall (m :: * -> *). Quote m => t -> m Exp) -> (forall (m :: * -> *). Quote m => t -> Code m t) -> Lift t forall (m :: * -> *). Quote m => Identifier -> m Exp forall (m :: * -> *). Quote m => Identifier -> Code m Identifier liftTyped :: forall (m :: * -> *). Quote m => Identifier -> Code m Identifier $cliftTyped :: forall (m :: * -> *). Quote m => Identifier -> Code m Identifier lift :: forall (m :: * -> *). Quote m => Identifier -> m Exp $clift :: forall (m :: * -> *). Quote m => Identifier -> m Exp TH.Lift, Eq 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 Ord, Int -> Identifier -> ShowS [Identifier] -> ShowS Identifier -> String 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 DeepSeq.NFData Identifier where rnf :: Identifier -> () rnf = forall a. NFData a => a -> () DeepSeq.rnf forall b c a. (b -> c) -> (a -> b) -> a -> c . Identifier -> Text toText instance String.IsString Identifier where fromString :: String -> Identifier fromString = Text -> Identifier fromText forall b c a. (b -> c) -> (a -> b) -> a -> c . forall a. IsString a => String -> a String.fromString instance Semigroup Identifier where Identifier x <> :: Identifier -> Identifier -> Identifier <> Identifier y = Text -> Identifier fromText forall a b. (a -> b) -> a -> b $ Identifier -> Text toText Identifier x 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