You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
3.3 KiB
73 lines
3.3 KiB
4 months ago
|
import type { Maybe } from '../jsutils/Maybe';
|
||
|
import type { DocumentNode } from '../language/ast';
|
||
|
import type { GraphQLFieldResolver } from '../type/definition';
|
||
|
import type { GraphQLSchema } from '../type/schema';
|
||
|
import type { ExecutionArgs, ExecutionResult } from './execute';
|
||
|
/**
|
||
|
* Implements the "Subscribe" algorithm described in the GraphQL specification.
|
||
|
*
|
||
|
* Returns a Promise which resolves to either an AsyncIterator (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 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 an AsyncIterator, which
|
||
|
* yields a stream of ExecutionResults representing the response stream.
|
||
|
*
|
||
|
* Accepts either an object with named arguments, or individual arguments.
|
||
|
*/
|
||
|
export declare function subscribe(
|
||
|
args: ExecutionArgs,
|
||
|
): Promise<AsyncGenerator<ExecutionResult, void, void> | 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.
|
||
|
*/
|
||
|
export declare function createSourceEventStream(
|
||
|
args: ExecutionArgs,
|
||
|
): Promise<AsyncIterable<unknown> | ExecutionResult>;
|
||
|
/** @deprecated will be removed in next major version in favor of named arguments */
|
||
|
export declare function createSourceEventStream(
|
||
|
schema: GraphQLSchema,
|
||
|
document: DocumentNode,
|
||
|
rootValue?: unknown,
|
||
|
contextValue?: unknown,
|
||
|
variableValues?: Maybe<{
|
||
|
readonly [variable: string]: unknown;
|
||
|
}>,
|
||
|
operationName?: Maybe<string>,
|
||
|
subscribeFieldResolver?: Maybe<GraphQLFieldResolver<any, any>>,
|
||
|
): Promise<AsyncIterable<unknown> | ExecutionResult>;
|