@gospime/apollo-client
v4.0.1
Published
Apollo HTTP client with response caching
Downloads
8
Maintainers
Readme
Facade to create apollo client
Apollo HTTP client with response caching
Options:
const uri = `https://${hostname}:${port}${graphqlPath}`;
// options of https.Agent
const options = {
//rejectUnauthorized: false // Skip SSL-restrictions
};
ApolloOptions: fetch-policy
const apolloOptions = {
query: {
// How you want your component to interact with the Apollo cache.
// Defaults to "cache-first".
fetchPolicy: 'no-cache',
// How you want your component to handle network and GraphQL errors.
// Defaults to "none", which means we treat GraphQL errors as runtime errors.
errorPolicy: 'all',
}
};
Example: how to execute graphql query
const Client = require('@gospime/apollo-client');
const plan = 'userSelect';
const args = { id: 2 }; // criteria to find a user
const fields = { fullname, email }; // fields to select
// calling of `query` method
Client
.create(uri, options, apolloOptions)
.query({ plan, args, fields })
.then(result => console.log(result))
.catch(error => console.error(error));
Example: how to execute graphql mutation
const Client = require('@gospime/apollo-client');
const plan = 'userEdit';
const args = { id: 2, fullname: 'new fullname' }; // find user by `id` and update the fullname
// calling of `mutate` method
Client
.create(uri, options, apolloOptions)
.mutate({ plan, args })
.then(result => console.log(result))
.catch(error => console.error(error));
Async/await example:
async () => await Client.create(uri, options, apolloOptions).mutate({ plan, args });