UNPKG

@neo4j/graphql

Version:

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

43 lines 2.19 kB
import Cypher from "@neo4j/cypher-builder"; import type { ConcreteEntityAdapter } from "../../../../schema-model/entity/model-adapters/ConcreteEntityAdapter"; import { RelationshipAdapter } from "../../../../schema-model/relationship/model-adapters/RelationshipAdapter"; import { QueryASTContext } from "../QueryASTContext"; import type { QueryASTNode } from "../QueryASTNode"; import type { AggregationField } from "../fields/aggregation-fields/AggregationField"; import type { Filter } from "../filters/Filter"; import type { AuthorizationFilters } from "../filters/authorization-filters/AuthorizationFilters"; import type { EntitySelection } from "../selection/EntitySelection"; import type { OperationTranspileResult } from "./operations"; import { Operation } from "./operations"; export declare class AggregationOperation extends Operation { readonly entity: ConcreteEntityAdapter | RelationshipAdapter; private selection; protected directed: boolean; fields: AggregationField[]; nodeFields: AggregationField[]; edgeFields: AggregationField[]; protected authFilters: AuthorizationFilters[]; aggregationProjectionMap: Cypher.Map; protected filters: Filter[]; constructor({ entity, directed, selection, }: { entity: ConcreteEntityAdapter | RelationshipAdapter; directed?: boolean; selection: EntitySelection; }); setFields(fields: AggregationField[]): void; addFilters(...filters: Filter[]): void; addAuthFilters(...filter: AuthorizationFilters[]): void; getChildren(): QueryASTNode[]; setNodeFields(fields: AggregationField[]): void; setEdgeFields(fields: AggregationField[]): void; transpile(context: QueryASTContext): OperationTranspileResult; protected getAuthFilterPredicate(context: QueryASTContext): Cypher.Predicate[]; protected getFieldProjectionClause(target: Cypher.Variable, returnVariable: Cypher.Variable, field: AggregationField): Cypher.Clause; private getPattern; private createContext; private transpileAggregation; private getPredicates; private getValidations; private createSubquery; } //# sourceMappingURL=AggregationOperation.d.ts.map