{-# LANGUAGE DeriveAnyClass #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE DeriveLift #-} module Argo.Internal.Json.Name where import qualified Argo.Internal.Json.String as String import qualified Argo.Internal.Type.Decoder as Decoder import qualified Argo.Internal.Type.Encoder as Encoder import qualified Argo.Vendor.DeepSeq as DeepSeq import qualified Argo.Vendor.TemplateHaskell as TH import qualified Data.String import qualified GHC.Generics as Generics newtype Name = Name String.String deriving (Name -> Name -> Bool (Name -> Name -> Bool) -> (Name -> Name -> Bool) -> Eq Name forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: Name -> Name -> Bool $c/= :: Name -> Name -> Bool == :: Name -> Name -> Bool $c== :: Name -> Name -> Bool Eq, (forall x. Name -> Rep Name x) -> (forall x. Rep Name x -> Name) -> Generic Name forall x. Rep Name x -> Name forall x. Name -> Rep Name x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cto :: forall x. Rep Name x -> Name $cfrom :: forall x. Name -> Rep Name x Generics.Generic, Name -> Q Exp Name -> Q (TExp Name) (Name -> Q Exp) -> (Name -> Q (TExp Name)) -> Lift Name forall t. (t -> Q Exp) -> (t -> Q (TExp t)) -> Lift t liftTyped :: Name -> Q (TExp Name) $cliftTyped :: Name -> Q (TExp Name) lift :: Name -> Q Exp $clift :: Name -> Q Exp TH.Lift, Name -> () (Name -> ()) -> NFData Name forall a. (a -> ()) -> NFData a rnf :: Name -> () $crnf :: Name -> () DeepSeq.NFData, Eq Name Eq Name -> (Name -> Name -> Ordering) -> (Name -> Name -> Bool) -> (Name -> Name -> Bool) -> (Name -> Name -> Bool) -> (Name -> Name -> Bool) -> (Name -> Name -> Name) -> (Name -> Name -> Name) -> Ord Name Name -> Name -> Bool Name -> Name -> Ordering Name -> Name -> Name 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 :: Name -> Name -> Name $cmin :: Name -> Name -> Name max :: Name -> Name -> Name $cmax :: Name -> Name -> Name >= :: Name -> Name -> Bool $c>= :: Name -> Name -> Bool > :: Name -> Name -> Bool $c> :: Name -> Name -> Bool <= :: Name -> Name -> Bool $c<= :: Name -> Name -> Bool < :: Name -> Name -> Bool $c< :: Name -> Name -> Bool compare :: Name -> Name -> Ordering $ccompare :: Name -> Name -> Ordering $cp1Ord :: Eq Name Ord, Int -> Name -> ShowS [Name] -> ShowS Name -> String (Int -> Name -> ShowS) -> (Name -> String) -> ([Name] -> ShowS) -> Show Name forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [Name] -> ShowS $cshowList :: [Name] -> ShowS show :: Name -> String $cshow :: Name -> String showsPrec :: Int -> Name -> ShowS $cshowsPrec :: Int -> Name -> ShowS Show) instance Data.String.IsString Name where fromString :: String -> Name fromString = String -> Name fromString (String -> Name) -> (String -> String) -> String -> Name forall b c a. (b -> c) -> (a -> b) -> a -> c . String -> String forall a. IsString a => String -> a Data.String.fromString fromString :: String.String -> Name fromString :: String -> Name fromString = String -> Name Name toString :: Name -> String.String toString :: Name -> String toString (Name String x) = String x encode :: Name -> Encoder.Encoder () encode :: Name -> Encoder () encode = String -> Encoder () String.encode (String -> Encoder ()) -> (Name -> String) -> Name -> Encoder () forall b c a. (b -> c) -> (a -> b) -> a -> c . Name -> String toString decode :: Decoder.Decoder Name decode :: Decoder Name decode = String -> Name fromString (String -> Name) -> StateT ByteString (ExceptT String Identity) String -> Decoder Name forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> StateT ByteString (ExceptT String Identity) String String.decode