grafast
Version:
Cutting edge GraphQL planning and execution engine
35 lines • 1.24 kB
TypeScript
import type { GrafastTimeouts } from "./interfaces.js";
export interface GrafastOperationOptions {
/**
* A list of 'explain' types that should be included in `extensions.explain`.
*
* - `plan` will cause the plan JSON to be included
* - other values are dependent on the plugins in play
*
* If set to `true` then all possible explain types will be exposed.
*/
explain?: boolean | string[];
/**
* If true, the result will be returned as a string rather than an object -
* this is an optimization for returning the data over a network socket or
* similar.
*/
outputDataAsString?: boolean;
timeouts?: GrafastTimeouts;
/**
* How many planning layers deep do we allow? Should be handled by validation.
*
* A planning layer can happen due to:
*
* - A nested selection set
* - Planning a field return type
* - A list position
* - A polymorphic type
* - A deferred/streamed response
*
* These reasons may each cause 1, 2 or 3 planning layers to be added, so this
* limit should be set quite high - e.g. 6x the selection set depth.
*/
maxPlanningDepth?: number;
}
//# sourceMappingURL=prepare.d.ts.map