@neo4j/cypher-builder
Version:
A programmatic API for building Cypher queries for Neo4j
35 lines (34 loc) • 1.1 kB
TypeScript
import { CypherASTNode } from "../CypherASTNode";
import type { CypherEnvironment } from "../Environment";
import type { Expr, Predicate } from "../types";
/** Case statement
* @group Expressions
* @see {@link https://neo4j.com/docs/cypher-manual/current/syntax/expressions/#query-syntax-case | Cypher Documentation}
*/
export declare class Case<C extends Expr | undefined = undefined> extends CypherASTNode {
private readonly comparator;
private readonly whenClauses;
private default;
constructor(comparator?: C);
when(...exprs: C extends Expr ? Expr[] : [Predicate]): When<C>;
else(defaultExpr: Expr): this;
/**
* @internal
*/
getCypher(env: CypherEnvironment): string;
}
/**
* @group Expressions
*/
export declare class When<T extends Expr | undefined> extends CypherASTNode {
protected parent: Case<T>;
private readonly predicates;
private result;
/** @internal */
constructor(parent: Case<T>, predicate: Expr[]);
then(expr: Expr): Case<T>;
/**
* @internal
*/
getCypher(env: CypherEnvironment): string;
}