Module

GraphQL.Client.BaseClients.Apollo

Package
purescript-graphql-client
Repository
OxfordAbstracts/purescript-graphql-client

Creates GraphQL Apollo clients

#ApolloClientOptions Source

type ApolloClientOptions = { authToken :: Maybe String, headers :: Array RequestHeader, url :: URL }

#ApolloSubClientOptions Source

type ApolloSubClientOptions = { authToken :: Maybe String, headers :: Array RequestHeader, url :: URL, websocketUrl :: URL }

#ApolloClient Source

data ApolloClient :: Type

Apollo client to make graphQL queries and mutations. From the @apollo/client npm module

Instances

#ApolloSubClient Source

data ApolloSubClient :: Type

Apollo client to make graphQL queries, mutations and subscriptions. Requires a web socket graphQL server. From the @apollo/client npm module

Instances

#MutationOpts Source

type MutationOpts = { errorPolicy :: ErrorPolicy, optimisticResponse :: Maybe Json, refetchQueries :: Array String, update :: Maybe (Effect Unit) }

#QueryOpts Source

type QueryOpts = { errorPolicy :: ErrorPolicy, fetchPolicy :: Maybe FetchPolicy }

#createClient Source

createClient :: forall subscriptionSchema mutationSchema querySchema. ApolloClientOptions -> Effect (Client ApolloClient querySchema mutationSchema subscriptionSchema)

#createSubscriptionClient Source

createSubscriptionClient :: forall subscriptionSchema mutationSchema querySchema. ApolloSubClientOptions -> Effect (Client ApolloSubClient querySchema mutationSchema subscriptionSchema)

#updateCacheJson Source

updateCacheJson :: forall res c qSchema q m s. IsApollo c => GqlQuery qSchema q res => EncodeJson res => DecodeJson res => Client c qSchema m s -> q -> (res -> res) -> Effect Unit

#updateCache Source

updateCache :: forall res s m q qSchema c. IsApollo c => GqlQuery qSchema q res => (res -> Json) -> (Json -> Either JsonDecodeError res) -> (Client c qSchema m s) -> q -> (res -> res) -> Effect Unit

#readQuery Source

readQuery :: forall res s m q qSchema c. IsApollo c => GqlQuery qSchema q res => (Json -> Either JsonDecodeError res) -> (Client c qSchema m s) -> q -> Effect (Maybe res)

read a query result from the cache

#writeQuery Source

writeQuery :: forall res s m q qSchema c. IsApollo c => GqlQuery qSchema q res => (res -> Json) -> (Client c qSchema m s) -> q -> res -> Effect Unit

write a query result to the cache