{-# LANGUAGE CPP, TypeFamilies, DeriveDataTypeable #-} module PGIP.GraphQL.Result where import PGIP.GraphQL.Result.DGraph import PGIP.GraphQL.Result.OMS import PGIP.GraphQL.Result.Serialization import PGIP.GraphQL.Result.Signature import PGIP.GraphQL.Result.SignatureMorphism import Common.Json (ppJson, asJson) import Data.Data data Result = DGraphResult DGraph | OMSResult OMS | SerializationResult Serialization | SignatureResult Signature | SignatureMorphismResult SignatureMorphism deriving (Int -> Result -> ShowS [Result] -> ShowS Result -> String (Int -> Result -> ShowS) -> (Result -> String) -> ([Result] -> ShowS) -> Show Result forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [Result] -> ShowS $cshowList :: [Result] -> ShowS show :: Result -> String $cshow :: Result -> String showsPrec :: Int -> Result -> ShowS $cshowsPrec :: Int -> Result -> ShowS Show, Typeable, Typeable Result Constr DataType Typeable Result => (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Result -> c Result) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Result) -> (Result -> Constr) -> (Result -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Result)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Result)) -> ((forall b. Data b => b -> b) -> Result -> Result) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Result -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Result -> r) -> (forall u. (forall d. Data d => d -> u) -> Result -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> Result -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> Result -> m Result) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Result -> m Result) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Result -> m Result) -> Data Result Result -> Constr Result -> DataType (forall b. Data b => b -> b) -> Result -> Result (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Result -> c Result (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Result forall a. Typeable a => (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> a -> c a) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c a) -> (a -> Constr) -> (a -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c a)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a)) -> ((forall b. Data b => b -> b) -> a -> a) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r) -> (forall u. (forall d. Data d => d -> u) -> a -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> a -> m a) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> a -> m a) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> a -> m a) -> Data a forall u. Int -> (forall d. Data d => d -> u) -> Result -> u forall u. (forall d. Data d => d -> u) -> Result -> [u] forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Result -> r forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Result -> r forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> Result -> m Result forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Result -> m Result forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Result forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Result -> c Result forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Result) forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Result) $cSignatureMorphismResult :: Constr $cSignatureResult :: Constr $cSerializationResult :: Constr $cOMSResult :: Constr $cDGraphResult :: Constr $tResult :: DataType gmapMo :: (forall d. Data d => d -> m d) -> Result -> m Result $cgmapMo :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Result -> m Result gmapMp :: (forall d. Data d => d -> m d) -> Result -> m Result $cgmapMp :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Result -> m Result gmapM :: (forall d. Data d => d -> m d) -> Result -> m Result $cgmapM :: forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> Result -> m Result gmapQi :: Int -> (forall d. Data d => d -> u) -> Result -> u $cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Result -> u gmapQ :: (forall d. Data d => d -> u) -> Result -> [u] $cgmapQ :: forall u. (forall d. Data d => d -> u) -> Result -> [u] gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Result -> r $cgmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Result -> r gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Result -> r $cgmapQl :: forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Result -> r gmapT :: (forall b. Data b => b -> b) -> Result -> Result $cgmapT :: (forall b. Data b => b -> b) -> Result -> Result dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Result) $cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Result) dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c Result) $cdataCast1 :: forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Result) dataTypeOf :: Result -> DataType $cdataTypeOf :: Result -> DataType toConstr :: Result -> Constr $ctoConstr :: Result -> Constr gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Result $cgunfold :: forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Result gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Result -> c Result $cgfoldl :: forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Result -> c Result $cp1Data :: Typeable Result Data) toJson :: Result -> String toJson :: Result -> String toJson result :: Result result = case Result result of DGraphResult dgraph :: DGraph dgraph -> Json -> String ppJson (Json -> String) -> Json -> String forall a b. (a -> b) -> a -> b $ DGraph -> Json forall a. ToJson a => a -> Json asJson DGraph dgraph OMSResult oms_ :: OMS oms_ -> Json -> String ppJson (Json -> String) -> Json -> String forall a b. (a -> b) -> a -> b $ OMS -> Json forall a. ToJson a => a -> Json asJson OMS oms_ SerializationResult serialization_ :: Serialization serialization_ -> Json -> String ppJson (Json -> String) -> Json -> String forall a b. (a -> b) -> a -> b $ Serialization -> Json forall a. ToJson a => a -> Json asJson Serialization serialization_ SignatureResult signature_ :: Signature signature_ -> Json -> String ppJson (Json -> String) -> Json -> String forall a b. (a -> b) -> a -> b $ Signature -> Json forall a. ToJson a => a -> Json asJson Signature signature_ SignatureMorphismResult signatureMorphism :: SignatureMorphism signatureMorphism -> Json -> String ppJson (Json -> String) -> Json -> String forall a b. (a -> b) -> a -> b $ SignatureMorphism -> Json forall a. ToJson a => a -> Json asJson SignatureMorphism signatureMorphism