@getstation/apollo-link-reactive-schema

Apollo Link that provides a reactive-graphql execution environment to perform operations on a provided reactive schema.

Usage no npm install needed!

<script type="module">
  import getstationApolloLinkReactiveSchema from 'https://cdn.skypack.dev/@getstation/apollo-link-reactive-schema';
</script>

README

Difference with apollo-link-reactive-schema

Requires @getstation/reactive-schema instead of reactive-schema.

See differences with `mesosphere/reactive-graphql

apollo-link-reactive-schema

Apollo Link that provides a reactive-graphql execution environment to perform operations on a provided reactive schema.

Installation

npm install apollo-link-reactive-schema --save

Usage

import { ApolloClient } from 'apollo-client';
import { from } from 'rxjs';
import { InMemoryCache } from 'apollo-cache-inmemory';
import { ReactiveSchemaLink } from 'apollo-link-reactive-schema';
import { gql } from 'graphql-tag';

import schema from './path/to/your/schema';

const graphqlClient = new ApolloClient({
  cache: new InMemoryCache(),
  link: new ReactiveSchemaLink({ schema }),
});

const query = gql`
  # don't forget the @live directive, otherwise you'll experience
  # difficulties with subscription>unsubscription>subscription
  query @live {
    someReactiveField
  }
`;

const $res = graphqlClient.watchQuery({ query });
$res.subscribe(res => console.log(res));

Options

The ReactiveSchemaLink constructor can be called with an object with the following properties:

  • schema: an executable graphql schema
  • context: an object passed to the resolvers, following the graphql specification or a function that accepts the operation and returns the resolver context.