@gospime/apollo-client

4.0.1 • Public • Published

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

Package Sidebar

Install

npm i @gospime/apollo-client

Weekly Downloads

1

Version

4.0.1

License

MIT

Unpacked Size

14.4 kB

Total Files

6

Last publish

Collaborators

  • kolegm