WIP: Support for new graphql-js
subscriptions support
#60
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Background
Based on
graphql-js
with support forsubscriptions
(graphql/graphql-js#846) withAsyncIterator
.Changes
SubscriptionManager
and it'sexecute
logic.asyncIterator
conversion.Usage Examples
Simple Example
Mapping Channels
Mapping channels is simpler now: the GraphQL subscriptions is not related to the
PubSub
events directly by name. That means that you can use any publication name you want - as long you use it as return value in yoursubscribe
resolver.Multiple Channels
Just like a single channels mapping, you can pass an array of channels names:
Filters
Filters is important when using subscriptions, and in this new version, the filter is closer to the actual resolver implementation.
You can write your filter and use
withFilter
over your existingAsyncIterator
: