{-# 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 newtype Name = Name String.String deriving (Name -> Name -> Bool 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 t. (forall (m :: * -> *). Quote m => t -> m Exp) -> (forall (m :: * -> *). Quote m => t -> Code m t) -> Lift t forall (m :: * -> *). Quote m => Name -> m Exp forall (m :: * -> *). Quote m => Name -> Code m Name liftTyped :: forall (m :: * -> *). Quote m => Name -> Code m Name $cliftTyped :: forall (m :: * -> *). Quote m => Name -> Code m Name lift :: forall (m :: * -> *). Quote m => Name -> m Exp $clift :: forall (m :: * -> *). Quote m => Name -> m Exp TH.Lift, Eq 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 Ord, Int -> Name -> ShowS [Name] -> ShowS Name -> String 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 DeepSeq.NFData Name where rnf :: Name -> () rnf = forall a. NFData a => a -> () DeepSeq.rnf forall b c a. (b -> c) -> (a -> b) -> a -> c . Name -> String toString instance Data.String.IsString Name where fromString :: String -> Name fromString = String -> Name fromString forall b c a. (b -> c) -> (a -> b) -> a -> c . 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 forall b c a. (b -> c) -> (a -> b) -> a -> c . Name -> String toString decode :: Decoder.Decoder Name decode :: Decoder Name decode = String -> Name fromString forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Decoder String String.decode