Skip to content

gospime/apollo-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 });

About

Apollo HTTP client with response caching

Resources

License

Stars

Watchers

Forks

Packages

No packages published