graphql-subscriptions
graphql-subscriptions copied to clipboard
Who does the logic to add graphql spec fields on the payload like `__typename`?
I am exploring this library and trying to understand more about graphql spec level. When the server calls publish
, I can see it just pass the payload to subscribers via EmitEmitter
. But the client side expects a payload which includes a wrapper of the published payload.
For example, if the publisher publishes a payload like:
{
topic: "xx", message: ...
}
what the subscriber receive should be something like:
data: {
event: {
topic: "xx", message: ..., __typename: ...
...
the data
top level field is from graphql spec, every payload should be under it. The event
is the operation name from graphql schema. The __typename
is the type of the schema. I wonder how this logic get added to the response?