UNPKG

@gospime/apollo-client

Version:

Apollo HTTP client with response caching

64 lines (53 loc) 1.69 kB
# Facade to create apollo client Apollo HTTP client with response caching Options: ```node const uri = `https://${hostname}:${port}${graphqlPath}`; // options of https.Agent const options = { //rejectUnauthorized: false // Skip SSL-restrictions }; ``` ApolloOptions: [fetch-policy](https://medium.com/@galen.corey/understanding-apollo-fetch-policies-705b5ad71980) ```node 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` ```node 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` ```node 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: ```node async () => await Client.create(uri, options, apolloOptions).mutate({ plan, args }); ```