iamchenxin / graphql-relay-subscription

Relay subscription helpers for GraphQL.js

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

graphql-relay-subscription Travis npm

Relay subscription helpers for GraphQL.js.

Codecov Discord

Usage

import { graphqlSubscribe, subscriptionWithClientId }
  from 'graphql-relay-subscription';

/* ... */

const UpdateWidgetSubscription = subscriptionWithClientId({
  name: 'UpdateWidgetSubscription',
  inputFields: {
    widgetId: { type: GraphQLString },
  },
  outputFields: {
    widget: Widget,
  },
  subscribe: (input, context) => {
    context.subscribe(`widgets:${input.widgetId}:updated`);
  },
});

/* ... */

const query = `
  subscription ($input_0: UpdateWidgetSubscriptionInput!) {
    updateWidget(input: $input_0) {
      widget {
        name
      }
      clientSubscriptionId
    }
  }
`;

const variables = {
  input_0: {
    widgetId: 'foo',
    clientSubscriptionId: '0',
  },
};

const context = {
  subscribe: (channel) => {
    subscriptions.add(channel, query, variables);
  },
};

graphqlSubscribe({ schema, query, context, variables });

About

Relay subscription helpers for GraphQL.js

License:MIT License


Languages

Language:JavaScript 100.0%