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:
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?
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 viaEmitEmitter
. But the client side expects a payload which includes a wrapper of the published payload.For example, if the publisher publishes a payload like:
what the subscriber receive should be something like:
the
data
top level field is from graphql spec, every payload should be under it. Theevent
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?