morpheus-graphql-client-0.19.0: Morpheus GraphQL Client
Safe HaskellNone
LanguageHaskell2010

Data.Morpheus.Client

Synopsis

Documentation

class Fetch a where Source #

Minimal complete definition

fetch

Associated Types

type Args a :: * Source #

Methods

__fetch :: (Monad m, Show a, ToJSON (Args a), FromJSON a) => String -> FieldName -> (ByteString -> m ByteString) -> Args a -> m (Either (FetchError a) a) Source #

fetch :: (Monad m, FromJSON a) => (ByteString -> m ByteString) -> Args a -> m (Either (FetchError a) a) Source #

data FetchError a Source #

Instances

Instances details
Eq a => Eq (FetchError a) Source # 
Instance details

Defined in Data.Morpheus.Client.Internal.Types

Methods

(==) :: FetchError a -> FetchError a -> Bool #

(/=) :: FetchError a -> FetchError a -> Bool #

Show a => Show (FetchError a) Source # 
Instance details

Defined in Data.Morpheus.Client.Internal.Types

Generic (FetchError a) Source # 
Instance details

Defined in Data.Morpheus.Client.Internal.Types

Associated Types

type Rep (FetchError a) :: Type -> Type #

Methods

from :: FetchError a -> Rep (FetchError a) x #

to :: Rep (FetchError a) x -> FetchError a #

type Rep (FetchError a) Source # 
Instance details

Defined in Data.Morpheus.Client.Internal.Types

type Rep (FetchError a) = D1 ('MetaData "FetchError" "Data.Morpheus.Client.Internal.Types" "morpheus-graphql-client-0.19.0-EYslOqez6Vc30OSACCLvYA" 'False) (C1 ('MetaCons "FetchErrorParseFailure" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: (C1 ('MetaCons "FetchErrorProducedErrors" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 GQLErrors) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe a))) :+: C1 ('MetaCons "FetchErrorNoResult" 'PrefixI 'False) (U1 :: Type -> Type)))

defineByDocumentFile' :: Q FilePath -> (ExecutableDocument, String) -> Q [Dec] Source #

This variant exposes 'Q FilePath' enabling the use of TH to generate the FilePath. For example, https://hackage.haskell.org/package/file-embed-0.0.13.0/docs/Data-FileEmbed.html#v:makeRelativeToProject can be used to handle multi package projects more reliably.

defineByIntrospectionFile' :: Q FilePath -> (ExecutableDocument, String) -> Q [Dec] Source #

This variant exposes 'Q FilePath' enabling the use of TH to generate the FilePath. For example, https://hackage.haskell.org/package/file-embed-0.0.13.0/docs/Data-FileEmbed.html#v:makeRelativeToProject can be used to handle multi package projects more reliably.

data ScalarValue #

Primitive Values for GQLScalar: Int, Float, String, Boolean. for performance reason type Text represents GraphQl String value

Instances

Instances details
Eq ScalarValue 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Value

Show ScalarValue 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Value

IsString ScalarValue 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Value

Generic ScalarValue 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Value

Associated Types

type Rep ScalarValue :: Type -> Type #

ToJSON ScalarValue 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Value

FromJSON ScalarValue 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Value

RenderGQL ScalarValue 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Value

Methods

renderGQL :: ScalarValue -> Rendering #

Lift ScalarValue 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Value

type Rep ScalarValue 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Value

class DecodeScalar a where #

GraphQL Scalar parser

class EncodeScalar a where #

GraphQL Scalar Serializer

Methods

encodeScalar :: a -> ScalarValue #

Instances

Instances details
EncodeScalar Bool 
Instance details

Defined in Data.Morpheus.Types.GQLScalar

EncodeScalar Double 
Instance details

Defined in Data.Morpheus.Types.GQLScalar

EncodeScalar Float 
Instance details

Defined in Data.Morpheus.Types.GQLScalar

EncodeScalar Int 
Instance details

Defined in Data.Morpheus.Types.GQLScalar

EncodeScalar Text 
Instance details

Defined in Data.Morpheus.Types.GQLScalar

EncodeScalar ID 
Instance details

Defined in Data.Morpheus.Types.ID

newtype ID #

default GraphQL type, parses only String and Int values, serialized always as String

Constructors

ID 

Fields

Instances

Instances details
Eq ID 
Instance details

Defined in Data.Morpheus.Types.ID

Methods

(==) :: ID -> ID -> Bool #

(/=) :: ID -> ID -> Bool #

Show ID 
Instance details

Defined in Data.Morpheus.Types.ID

Methods

showsPrec :: Int -> ID -> ShowS #

show :: ID -> String #

showList :: [ID] -> ShowS #

IsString ID 
Instance details

Defined in Data.Morpheus.Types.ID

Methods

fromString :: String -> ID #

Generic ID 
Instance details

Defined in Data.Morpheus.Types.ID

Associated Types

type Rep ID :: Type -> Type #

Methods

from :: ID -> Rep ID x #

to :: Rep ID x -> ID #

Semigroup ID 
Instance details

Defined in Data.Morpheus.Types.ID

Methods

(<>) :: ID -> ID -> ID #

sconcat :: NonEmpty ID -> ID #

stimes :: Integral b => b -> ID -> ID #

Hashable ID 
Instance details

Defined in Data.Morpheus.Types.ID

Methods

hashWithSalt :: Int -> ID -> Int #

hash :: ID -> Int #

ToJSON ID 
Instance details

Defined in Data.Morpheus.Types.ID

FromJSON ID 
Instance details

Defined in Data.Morpheus.Types.ID

EncodeScalar ID 
Instance details

Defined in Data.Morpheus.Types.ID

DecodeScalar ID 
Instance details

Defined in Data.Morpheus.Types.ID

type Rep ID 
Instance details

Defined in Data.Morpheus.Types.ID

type Rep ID = D1 ('MetaData "ID" "Data.Morpheus.Types.ID" "morpheus-graphql-core-0.19.0-EBWBRiRE3CU8uB9glHsHGH" 'True) (C1 ('MetaCons "ID" 'PrefixI 'True) (S1 ('MetaSel ('Just "unpackID") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))