@neo4j/graphql
Version:
A GraphQL to Cypher query execution layer for Neo4j and JavaScript GraphQL implementations
45 lines • 2.23 kB
TypeScript
import Cypher from "@neo4j/cypher-builder";
import type { InterfaceEntityAdapter } from "../../../../../schema-model/entity/model-adapters/InterfaceEntityAdapter";
import type { UnionEntityAdapter } from "../../../../../schema-model/entity/model-adapters/UnionEntityAdapter";
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 { OperationTranspileResult } from "../operations";
import { Operation } from "../operations";
import type { CompositeAggregationPartial } from "./CompositeAggregationPartial";
export declare class CompositeAggregationOperation extends Operation {
private children;
protected directed: boolean;
fields: AggregationField[];
nodeFields: AggregationField[];
edgeFields: AggregationField[];
private entity;
protected authFilters: AuthorizationFilters[];
protected filters: Filter[];
private addWith;
private aggregationProjectionMap;
private nodeMap;
private edgeMap;
constructor({ compositeEntity, children, directed, }: {
compositeEntity: InterfaceEntityAdapter | UnionEntityAdapter;
children: CompositeAggregationPartial[];
directed?: boolean;
});
getChildren(): QueryASTNode[];
transpile(context: QueryASTContext): OperationTranspileResult;
setFields(fields: AggregationField[]): void;
addFilters(...filters: Filter[]): void;
addAuthFilters(...filter: AuthorizationFilters[]): void;
setNodeFields(fields: AggregationField[]): void;
setEdgeFields(fields: AggregationField[]): void;
protected getFieldProjectionClause(target: Cypher.Variable, returnVariable: Cypher.Variable, field: AggregationField): Cypher.Clause;
private transpileAggregationOperation;
private getPredicates;
private getAuthFilterPredicate;
private createSubqueries;
private createWithClause;
private createNestedSubquery;
}
//# sourceMappingURL=CompositeAggregationOperation.d.ts.map