module Hix.Managed.Data.Query where import GHC.Exts (IsList) import Hix.Data.PackageName (PackageName) import Hix.Managed.Data.QueryDep (QueryDep) newtype RawQuery = RawQuery [PackageName] deriving stock (RawQuery -> RawQuery -> Bool (RawQuery -> RawQuery -> Bool) -> (RawQuery -> RawQuery -> Bool) -> Eq RawQuery forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: RawQuery -> RawQuery -> Bool == :: RawQuery -> RawQuery -> Bool $c/= :: RawQuery -> RawQuery -> Bool /= :: RawQuery -> RawQuery -> Bool Eq, Int -> RawQuery -> ShowS [RawQuery] -> ShowS RawQuery -> String (Int -> RawQuery -> ShowS) -> (RawQuery -> String) -> ([RawQuery] -> ShowS) -> Show RawQuery forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> RawQuery -> ShowS showsPrec :: Int -> RawQuery -> ShowS $cshow :: RawQuery -> String show :: RawQuery -> String $cshowList :: [RawQuery] -> ShowS showList :: [RawQuery] -> ShowS Show, (forall x. RawQuery -> Rep RawQuery x) -> (forall x. Rep RawQuery x -> RawQuery) -> Generic RawQuery forall x. Rep RawQuery x -> RawQuery forall x. RawQuery -> Rep RawQuery x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cfrom :: forall x. RawQuery -> Rep RawQuery x from :: forall x. RawQuery -> Rep RawQuery x $cto :: forall x. Rep RawQuery x -> RawQuery to :: forall x. Rep RawQuery x -> RawQuery Generic) deriving newtype (Int -> [Item RawQuery] -> RawQuery [Item RawQuery] -> RawQuery RawQuery -> [Item RawQuery] ([Item RawQuery] -> RawQuery) -> (Int -> [Item RawQuery] -> RawQuery) -> (RawQuery -> [Item RawQuery]) -> IsList RawQuery forall l. ([Item l] -> l) -> (Int -> [Item l] -> l) -> (l -> [Item l]) -> IsList l $cfromList :: [Item RawQuery] -> RawQuery fromList :: [Item RawQuery] -> RawQuery $cfromListN :: Int -> [Item RawQuery] -> RawQuery fromListN :: Int -> [Item RawQuery] -> RawQuery $ctoList :: RawQuery -> [Item RawQuery] toList :: RawQuery -> [Item RawQuery] IsList) newtype Query = Query (NonEmpty QueryDep) deriving stock (Query -> Query -> Bool (Query -> Query -> Bool) -> (Query -> Query -> Bool) -> Eq Query forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: Query -> Query -> Bool == :: Query -> Query -> Bool $c/= :: Query -> Query -> Bool /= :: Query -> Query -> Bool Eq, Int -> Query -> ShowS [Query] -> ShowS Query -> String (Int -> Query -> ShowS) -> (Query -> String) -> ([Query] -> ShowS) -> Show Query forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> Query -> ShowS showsPrec :: Int -> Query -> ShowS $cshow :: Query -> String show :: Query -> String $cshowList :: [Query] -> ShowS showList :: [Query] -> ShowS Show, (forall x. Query -> Rep Query x) -> (forall x. Rep Query x -> Query) -> Generic Query forall x. Rep Query x -> Query forall x. Query -> Rep Query x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cfrom :: forall x. Query -> Rep Query x from :: forall x. Query -> Rep Query x $cto :: forall x. Rep Query x -> Query to :: forall x. Rep Query x -> Query Generic)