Apollo Elements Apollo Elements Guides API Blog Toggle darkmode

Interfaces: ApolloSubscription

Subscription components update in real time in reaction to events on your GraphQL server. They are ideal for uses like chat rooms or stock tickers.

Subscription components inherit the ApolloElementInterface.

Common interface for subscription elements

See ApolloElementInterface for more information on events

Properties

static

documentType

(read-only)
'subscription'
public

variables

Variables<D, V> | null

Subscription variables.

An object map from variable name to variable value, where the variables are used within the GraphQL subscription.

Setting variables will initiate the subscription, unless noAutoSubscribe is also set.

public

subscription

ComponentDocument<D> | null

A GraphQL document containing a single subscription.

public

skip

boolean

If true, the query will be skipped entirely

public

shouldResubscribe

SubscriptionDataOptions['shouldResubscribe']

Determines if your subscription should be unsubscribed and subscribed again.

Option Type Description
client ApolloClient Apollo Client to use for the subscription.
context Record<string, unknown> Context object passed through the link execution chain.
errorPolicy ErrorPolicy Error policy to use for the subscription. See errorPolicy
fetchPolicy FetchPolicy See fetchPolicy
shouldResubscribe boolean Boolean, or a predicate function of SubscriptionDataOptions that determines if your subscription should be unsubscribed and subscribed again
skip boolean If skip is true, the subscription will be skipped entirely.
subscription `DocumentNode TypedDocumentNode`{lang=ts}
variables Variables<D, V> An object containing all of the variables your subscription needs to execute.
public

pollInterval

number

The time interval (in milliseconds) on which this subscription should be refetched from the server.

public

onSubscriptionData

ApolloMutationInterface<D, V>['onSubscriptionData']

Callback for when data is updated

public

onSubscriptionComplete

ApolloMutationInterface<D, V>['onSubscriptionComplete']

Callback for when subscription completes.

public

onError

ApolloMutationInterface<D, V>['onError']

Callback for when error is updated

public

notifyOnNetworkStatusChange

boolean

Whether or not updates to the network status should trigger next on the observer of this subscription.

public

noAutoSubscribe

no-auto-subscribe
boolean

If true, the element will not begin querying data until you manually call subscribe

public

fetchPolicy

fetch-policy
FetchPolicy

Specifies the FetchPolicy to be used for this subscription.

public

data

Data<D> | null

Latest subscription data.

public

controller

ApolloSubscriptionController<D, V>
public

canAutoSubscribe

boolean

Flags an element that's ready and able to auto subscribe

public

client

inherited from ApolloElementElement
ApolloClient<NormalizedCacheObject> | null

The Apollo Client instance.

public

context

inherited from ApolloElementElement
Record<string, unknown>

Context passed to the link execution chain.

public

document

inherited from ApolloElementElement
ComponentDocument<D> | null

Operation document.

GraphQL operation document i.e. query, subscription, or mutation. Must be a parsed GraphQL DocumentNode, so use graphql-tag.

public

error

inherited from ApolloElementElement
Error | ApolloError | null

Latest error

public

errorPolicy

inherited from ApolloElementElement error-policy
ErrorPolicy

Error Policy for the operation.

Much like fetchPolicy, errorPolicy allows you to control how GraphQL errors from the server are sent to your UI code. By default, the error policy treats any GraphQL Errors as network errors and ends the request chain. It doesn't save any data in the cache, and renders your UI with the error property set to an ApolloError. By changing this policy per request, you can adjust how GraphQL Errors are managed by your UI. The possible options for errorPolicy are:

  • none (default): any errors from the request are treated like runtime errors and the observable is stopped (XXX this is default to lower breaking changes going from AC 1.0 => 2.0)
  • ignore: errors from the request do not stop the observable, but also don't call next
  • all: errors are treated like data and will notify observables
public

errors

inherited from ApolloElementElement
readonly GraphQLError[]

Latest errors

public

loading

inherited from ApolloElementElement
boolean

Whether a request is in flight.

public

readyToReceiveDocument

inherited from ApolloElementElement
boolean

True when the element is connected and ready to receive its GraphQL document

updateComplete

inherited from ApolloElementElement
Promise<boolean>

Methods

public

subscribe

Resets the subscription and subscribes.

Parameters

params

Partial<SubscriptionDataOptions<D, V>>
Option Type Description
client ApolloClient Apollo Client to use for the subscription.
context Record<string, unknown> Context object passed through the link execution chain.
errorPolicy ErrorPolicy Error policy to use for the subscription. See errorPolicy
fetchPolicy FetchPolicy See fetchPolicy
shouldResubscribe boolean Boolean, or a predicate function of SubscriptionDataOptions that determines if your subscription should be unsubscribed and subscribed again
skip boolean If skip is true, the subscription will be skipped entirely.
subscription `DocumentNode TypedDocumentNode`{lang=ts}
variables Variables<D, V> An object containing all of the variables your subscription needs to execute.

Returns

void
public

shouldSubscribe

Determines whether the element should attempt to subscribe automatically Override to prevent subscribing unless your conditions are met

Parameters

options

Partial<SubscriptionOptions<Variables<D, V>, Data<D>>>
Property Type Description
query `DocumentNode TypedDocumentNode`{lang=ts}
variables Variables<D, V> See variables
fetchPolicy FetchPolicy See fetchPolicy
errorPolicy ErrorPolicy See errorPolicy
context Record<string, unknown> Context object passed through the link execution chain.

Returns

boolean
public

cancel

Cancels and clears the subscription

Returns

void

addController

inherited from ApolloElementElement

Parameters

controller

ReactiveController

Returns

void

removeController

inherited from ApolloElementElement

Parameters

controller

ReactiveController

Returns

void

requestUpdate

inherited from ApolloElementElement

Parameters

name

string

value

unknown

Returns

void

Events

Name Type Description
apollo-subscription-result
ApolloSubscriptionResultEvent

when the subscription updates

apollo-error
CustomEvent<ApolloError>

when the query rejects

'apollo-element-connected'

when the element connects to the dom

'apollo-element-disconnected'

when the element disconnects from the dom

Private API

Private Methods

protected

documentChanged

inherited from ApolloElementElement

Lifecycle callback that reacts to changes in the GraphQL document

Parameters

document

ComponentDocument<D> | null

Returns

void
protected

update

inherited from ApolloElementElement

Parameters

args

any[]

Returns

void
protected

updated

inherited from ApolloElementElement

Parameters

args

any[]

Returns

void
protected

variablesChanged

inherited from ApolloElementElement

Lifecycle callback that reacts to changes in the operation variables

Parameters

variables

Variables<D, V> | null

Returns

void

Exports

import {
  CustomElement,
  ControllerHost,  ApolloElementElement,  ApolloMutationElement,  ApolloQueryElement,  ApolloSubscriptionElement} from '@apollo-elements/core/types';