module Hix.Managed.Data.Initial where import Data.Aeson (FromJSON, ToJSON) import Distribution.Pretty (Pretty (pretty)) import Hix.Class.EncodeNix (EncodeNix) newtype Initial a = Initial a deriving stock (Initial a -> Initial a -> Bool (Initial a -> Initial a -> Bool) -> (Initial a -> Initial a -> Bool) -> Eq (Initial a) forall a. Eq a => Initial a -> Initial a -> Bool forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: forall a. Eq a => Initial a -> Initial a -> Bool == :: Initial a -> Initial a -> Bool $c/= :: forall a. Eq a => Initial a -> Initial a -> Bool /= :: Initial a -> Initial a -> Bool Eq, Int -> Initial a -> ShowS [Initial a] -> ShowS Initial a -> String (Int -> Initial a -> ShowS) -> (Initial a -> String) -> ([Initial a] -> ShowS) -> Show (Initial a) forall a. Show a => Int -> Initial a -> ShowS forall a. Show a => [Initial a] -> ShowS forall a. Show a => Initial a -> String forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: forall a. Show a => Int -> Initial a -> ShowS showsPrec :: Int -> Initial a -> ShowS $cshow :: forall a. Show a => Initial a -> String show :: Initial a -> String $cshowList :: forall a. Show a => [Initial a] -> ShowS showList :: [Initial a] -> ShowS Show, (forall x. Initial a -> Rep (Initial a) x) -> (forall x. Rep (Initial a) x -> Initial a) -> Generic (Initial a) forall x. Rep (Initial a) x -> Initial a forall x. Initial a -> Rep (Initial a) x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a forall a x. Rep (Initial a) x -> Initial a forall a x. Initial a -> Rep (Initial a) x $cfrom :: forall a x. Initial a -> Rep (Initial a) x from :: forall x. Initial a -> Rep (Initial a) x $cto :: forall a x. Rep (Initial a) x -> Initial a to :: forall x. Rep (Initial a) x -> Initial a Generic, (forall a b. (a -> b) -> Initial a -> Initial b) -> (forall a b. a -> Initial b -> Initial a) -> Functor Initial forall a b. a -> Initial b -> Initial a forall a b. (a -> b) -> Initial a -> Initial b forall (f :: * -> *). (forall a b. (a -> b) -> f a -> f b) -> (forall a b. a -> f b -> f a) -> Functor f $cfmap :: forall a b. (a -> b) -> Initial a -> Initial b fmap :: forall a b. (a -> b) -> Initial a -> Initial b $c<$ :: forall a b. a -> Initial b -> Initial a <$ :: forall a b. a -> Initial b -> Initial a Functor) deriving newtype (NonEmpty (Initial a) -> Initial a Initial a -> Initial a -> Initial a (Initial a -> Initial a -> Initial a) -> (NonEmpty (Initial a) -> Initial a) -> (forall b. Integral b => b -> Initial a -> Initial a) -> Semigroup (Initial a) forall b. Integral b => b -> Initial a -> Initial a forall a. Semigroup a => NonEmpty (Initial a) -> Initial a forall a. Semigroup a => Initial a -> Initial a -> Initial a forall a b. (Semigroup a, Integral b) => b -> Initial a -> Initial a forall a. (a -> a -> a) -> (NonEmpty a -> a) -> (forall b. Integral b => b -> a -> a) -> Semigroup a $c<> :: forall a. Semigroup a => Initial a -> Initial a -> Initial a <> :: Initial a -> Initial a -> Initial a $csconcat :: forall a. Semigroup a => NonEmpty (Initial a) -> Initial a sconcat :: NonEmpty (Initial a) -> Initial a $cstimes :: forall a b. (Semigroup a, Integral b) => b -> Initial a -> Initial a stimes :: forall b. Integral b => b -> Initial a -> Initial a Semigroup, Semigroup (Initial a) Initial a Semigroup (Initial a) => Initial a -> (Initial a -> Initial a -> Initial a) -> ([Initial a] -> Initial a) -> Monoid (Initial a) [Initial a] -> Initial a Initial a -> Initial a -> Initial a forall a. Semigroup a => a -> (a -> a -> a) -> ([a] -> a) -> Monoid a forall a. Monoid a => Semigroup (Initial a) forall a. Monoid a => Initial a forall a. Monoid a => [Initial a] -> Initial a forall a. Monoid a => Initial a -> Initial a -> Initial a $cmempty :: forall a. Monoid a => Initial a mempty :: Initial a $cmappend :: forall a. Monoid a => Initial a -> Initial a -> Initial a mappend :: Initial a -> Initial a -> Initial a $cmconcat :: forall a. Monoid a => [Initial a] -> Initial a mconcat :: [Initial a] -> Initial a Monoid, Maybe (Initial a) Value -> Parser [Initial a] Value -> Parser (Initial a) (Value -> Parser (Initial a)) -> (Value -> Parser [Initial a]) -> Maybe (Initial a) -> FromJSON (Initial a) forall a. FromJSON a => Maybe (Initial a) forall a. FromJSON a => Value -> Parser [Initial a] forall a. FromJSON a => Value -> Parser (Initial a) forall a. (Value -> Parser a) -> (Value -> Parser [a]) -> Maybe a -> FromJSON a $cparseJSON :: forall a. FromJSON a => Value -> Parser (Initial a) parseJSON :: Value -> Parser (Initial a) $cparseJSONList :: forall a. FromJSON a => Value -> Parser [Initial a] parseJSONList :: Value -> Parser [Initial a] $comittedField :: forall a. FromJSON a => Maybe (Initial a) omittedField :: Maybe (Initial a) FromJSON, [Initial a] -> Value [Initial a] -> Encoding Initial a -> Bool Initial a -> Value Initial a -> Encoding (Initial a -> Value) -> (Initial a -> Encoding) -> ([Initial a] -> Value) -> ([Initial a] -> Encoding) -> (Initial a -> Bool) -> ToJSON (Initial a) forall a. ToJSON a => [Initial a] -> Value forall a. ToJSON a => [Initial a] -> Encoding forall a. ToJSON a => Initial a -> Bool forall a. ToJSON a => Initial a -> Value forall a. ToJSON a => Initial a -> Encoding forall a. (a -> Value) -> (a -> Encoding) -> ([a] -> Value) -> ([a] -> Encoding) -> (a -> Bool) -> ToJSON a $ctoJSON :: forall a. ToJSON a => Initial a -> Value toJSON :: Initial a -> Value $ctoEncoding :: forall a. ToJSON a => Initial a -> Encoding toEncoding :: Initial a -> Encoding $ctoJSONList :: forall a. ToJSON a => [Initial a] -> Value toJSONList :: [Initial a] -> Value $ctoEncodingList :: forall a. ToJSON a => [Initial a] -> Encoding toEncodingList :: [Initial a] -> Encoding $comitField :: forall a. ToJSON a => Initial a -> Bool omitField :: Initial a -> Bool ToJSON, Initial a -> Expr (Initial a -> Expr) -> EncodeNix (Initial a) forall a. EncodeNix a => Initial a -> Expr forall a. (a -> Expr) -> EncodeNix a $cencodeNix :: forall a. EncodeNix a => Initial a -> Expr encodeNix :: Initial a -> Expr EncodeNix) instance Pretty a => Pretty (Initial a) where pretty :: Initial a -> Doc pretty (Initial a a) = a -> Doc forall a. Pretty a => a -> Doc pretty a a