6.0.0 • Published 2 years ago

@barejs/graphql-observable v6.0.0

Weekly downloads
1
License
Apache-2.0
Repository
github
Last release
2 years ago

@barejs/graphql-observable

This is a collection of observable GraphQL clients which support queries, mutations and subscriptions. It uses the rxjs observable library.

It specifically targets the bareASGI GraphQL module from the bareASGI python web framework, which provides multiple transports for subscriptions.

This is a thin wrapper around @barejs/graphql-client where more documentation can be found.

Usage

Subscriptions

The graphqlObservableWsSubscriber function used be used for subscriptions.

import { graphqlObservableWsSubscriber } from '@barejs/graphql-observable'

const url = 'http://www.example.com/subscriptions'
const init = {}

const query = 'subscription { someSubscription { someField someOtherField } }'
const variables = null
const operationName = null

subscription = graphqlObservableWsSubscriber(url, init, query, variables, operationName).subscribe({
  next: data => console.log(data),
  error: error => console.error(error),
  complete: () => console.log('Completed')
})

Queries, Mutations and Subscriptions

The graphqlObservableWsClient can be used for queries, mutations, and subscriptions.

import { graphqlObservableWsClient } from '@barejs/graphql-observable'

const url = 'http://www.example.com/graphql'
const init = {}

// This could be a query, mutation or subscription.
const query = 'subscription { someSubscription { someField someOtherField } }'
const variables = null
const operationName = null

const subscription = graphqlObservableWsClient(
  url,
  init,
  query,
  variables,
  operationName)
  .subscribe({
    next: data => console.log(data),
    error: error => console.log(error),
    complete: () => console.log('complete')
  })

// Later ...
subscription.unsubscribe()

Other transports

In addition to the fetch/WebSocket transports there is support for EventSource and streaming fetch, although these are only supported by the bareASGI web framework.

The following functions are available:

  • graphqlObservableEventSourceClient,
  • graphqlObservableEventSourceSubscriber,
  • graphqlObservableFetchClient,
  • graphqlObservableStreamClient,
  • graphqlObservableWsClient,
  • graphqlObservableWsSubscriber

All of the clients abd subscribers take the same arguments as the WebSocket variant.

6.0.0

2 years ago

6.0.0-rc1

2 years ago

5.0.6

3 years ago

5.0.5

3 years ago

5.0.4

3 years ago

5.0.3

3 years ago

5.0.2

3 years ago

5.0.1

3 years ago

5.0.0

3 years ago

4.0.0

4 years ago

3.0.0

5 years ago

0.1.0

5 years ago