UNPKG

@neo4j/graphql

Version:

A GraphQL to Cypher query execution layer for Neo4j and JavaScript GraphQL implementations

45 lines 1.98 kB
import Cypher from "@neo4j/cypher-builder"; import type { Neo4jGraphQLTranslationContext } from "../../../types/neo4j-graphql-translation-context"; type Scope = Map<string, Cypher.Variable>; export declare class QueryASTEnv { private scopes; topLevelOperationName: "READ" | "CREATE" | "UPDATE" | "DELETE"; getScope(element: Cypher.Node | Cypher.Relationship): Scope; } type ContextDirection = "left" | "right" | "undirected"; export declare class QueryASTContext<T extends Cypher.Node | undefined = Cypher.Node | undefined> { readonly target: T; readonly relationship?: Cypher.Relationship; readonly direction?: ContextDirection; readonly source?: Cypher.Node; readonly returnVariable: Cypher.Variable; readonly shouldCollect: boolean; readonly shouldDistinct: boolean; env: QueryASTEnv; neo4jGraphQLContext: Neo4jGraphQLTranslationContext; constructor({ target, relationship, direction, source, env, neo4jGraphQLContext, returnVariable, shouldCollect, shouldDistinct, }: { target: T; relationship?: Cypher.Relationship; direction?: ContextDirection; source?: Cypher.Node; env?: QueryASTEnv; neo4jGraphQLContext: Neo4jGraphQLTranslationContext; returnVariable?: Cypher.Variable; shouldCollect?: boolean; shouldDistinct?: boolean; }); hasTarget(): this is QueryASTContext<Cypher.Node>; getRelationshipScope(): Scope; getTargetScope(): Scope; getScopeVariable(name: string): Cypher.Variable; push({ relationship, direction, target, returnVariable, }: { relationship: Cypher.Relationship; direction?: ContextDirection; target: Cypher.Node; returnVariable?: Cypher.Variable; }): QueryASTContext<Cypher.Node>; setReturn(variable: Cypher.Variable): QueryASTContext<T>; setTarget(target: Cypher.Node): QueryASTContext<Cypher.Node>; } export {}; //# sourceMappingURL=QueryASTContext.d.ts.map