Skip to main content

createSourceEventStream

Callable

  • createSourceEventStream(schema: GraphQLSchema, document: DocumentNode, rootValue?: unknown, contextValue?: unknown, variableValues?: Maybe<{}>, operationName?: Maybe<string>, subscribeFieldResolver?: Maybe<GraphQLFieldResolver<any, any, any, unknown>>): Promise<AsyncIterable<unknown> | ExecutionResult>

  • Implements the ā€œCreateSourceEventStreamā€ algorithm described in the GraphQL specification, resolving the subscription source event stream.

    Returns a Promise which resolves to either an AsyncIterable (if successful) or an ExecutionResult (error). The promise will be rejected if the schema or other arguments to this function are invalid, or if the resolved event stream is not an async iterable.

    If the client-provided arguments to this function do not result in a compliant subscription, a GraphQL Response (ExecutionResult) with descriptive errors and no data will be returned.

    If the the source stream could not be created due to faulty subscription resolver logic or underlying systems, the promise will resolve to a single ExecutionResult containing errors and no data.

    If the operation succeeded, the promise resolves to the AsyncIterable for the event stream returned by the resolver.

    A Source Event Stream represents a sequence of events, each of which triggers a GraphQL execution for that event.

    This may be useful when hosting the stateful subscription service in a different process or machine than the stateless GraphQL execution engine, or otherwise separating these two steps. For more on this, see the ā€œSupporting Subscriptions at Scaleā€ information in the GraphQL specification.


    Parameters

    • schema: GraphQLSchema
    • document: DocumentNode
    • optionalrootValue: unknown
    • optionalcontextValue: unknown
    • optionalvariableValues: Maybe<{}>
    • optionaloperationName: Maybe<string>
    • optionalsubscribeFieldResolver: Maybe<GraphQLFieldResolver<any, any, any, unknown>>

    Returns Promise<AsyncIterable<unknown> | ExecutionResult>