Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- gql :: QuasiQuoter
- class Fetch a where
- type Args a :: *
- __fetch :: (Monad m, Show a, ToJSON (Args a), FromJSON a) => String -> FieldName -> (ByteString -> m ByteString) -> Args a -> m (Either (FetchError a) a)
- fetch :: (Monad m, FromJSON a) => (ByteString -> m ByteString) -> Args a -> m (Either (FetchError a) a)
- data FetchError a
- defineQuery :: IO (GQLResult (Schema VALID)) -> (ExecutableDocument, String) -> Q [Dec]
- defineByDocument :: IO ByteString -> (ExecutableDocument, String) -> Q [Dec]
- defineByDocumentFile :: FilePath -> (ExecutableDocument, String) -> Q [Dec]
- defineByDocumentFile' :: Q FilePath -> (ExecutableDocument, String) -> Q [Dec]
- defineByIntrospection :: IO ByteString -> (ExecutableDocument, String) -> Q [Dec]
- defineByIntrospectionFile :: FilePath -> (ExecutableDocument, String) -> Q [Dec]
- defineByIntrospectionFile' :: Q FilePath -> (ExecutableDocument, String) -> Q [Dec]
- data ScalarValue
- class DecodeScalar a where
- decodeScalar :: ScalarValue -> Either Text a
- class EncodeScalar a where
- encodeScalar :: a -> ScalarValue
- newtype ID = ID {}
Documentation
gql :: QuasiQuoter #
__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
defineByDocument :: IO ByteString -> (ExecutableDocument, String) -> Q [Dec] Source #
defineByDocumentFile :: FilePath -> (ExecutableDocument, String) -> Q [Dec] Source #
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.
defineByIntrospection :: IO ByteString -> (ExecutableDocument, String) -> Q [Dec] Source #
defineByIntrospectionFile :: FilePath -> (ExecutableDocument, String) -> Q [Dec] Source #
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
class DecodeScalar a where #
GraphQL Scalar parser
decodeScalar :: ScalarValue -> Either Text a #
Instances
DecodeScalar Bool | |
Defined in Data.Morpheus.Types.GQLScalar decodeScalar :: ScalarValue -> Either Text Bool # | |
DecodeScalar Double | |
Defined in Data.Morpheus.Types.GQLScalar decodeScalar :: ScalarValue -> Either Text Double # | |
DecodeScalar Float | |
Defined in Data.Morpheus.Types.GQLScalar decodeScalar :: ScalarValue -> Either Text Float # | |
DecodeScalar Int | |
Defined in Data.Morpheus.Types.GQLScalar decodeScalar :: ScalarValue -> Either Text Int # | |
DecodeScalar Text | |
Defined in Data.Morpheus.Types.GQLScalar decodeScalar :: ScalarValue -> Either Text Text # | |
DecodeScalar ID | |
Defined in Data.Morpheus.Types.ID decodeScalar :: ScalarValue -> Either Text ID # |
class EncodeScalar a where #
GraphQL Scalar Serializer
encodeScalar :: a -> ScalarValue #
Instances
EncodeScalar Bool | |
Defined in Data.Morpheus.Types.GQLScalar encodeScalar :: Bool -> ScalarValue # | |
EncodeScalar Double | |
Defined in Data.Morpheus.Types.GQLScalar encodeScalar :: Double -> ScalarValue # | |
EncodeScalar Float | |
Defined in Data.Morpheus.Types.GQLScalar encodeScalar :: Float -> ScalarValue # | |
EncodeScalar Int | |
Defined in Data.Morpheus.Types.GQLScalar encodeScalar :: Int -> ScalarValue # | |
EncodeScalar Text | |
Defined in Data.Morpheus.Types.GQLScalar encodeScalar :: Text -> ScalarValue # | |
EncodeScalar ID | |
Defined in Data.Morpheus.Types.ID encodeScalar :: ID -> ScalarValue # |
Instances
Eq ID | |
Show ID | |
IsString ID | |
Defined in Data.Morpheus.Types.ID fromString :: String -> ID # | |
Generic ID | |
Semigroup ID | |
Hashable ID | |
Defined in Data.Morpheus.Types.ID | |
ToJSON ID | |
Defined in Data.Morpheus.Types.ID | |
FromJSON ID | |
EncodeScalar ID | |
Defined in Data.Morpheus.Types.ID encodeScalar :: ID -> ScalarValue # | |
DecodeScalar ID | |
Defined in Data.Morpheus.Types.ID decodeScalar :: ScalarValue -> Either Text ID # | |
type Rep ID | |
Defined in Data.Morpheus.Types.ID |