@neo4j/cypher-builder
Version:
A programmatic API for building Cypher queries for Neo4j
33 lines (32 loc) • 1.49 kB
TypeScript
import type { Pattern } from "..";
import type { CypherEnvironment } from "../Environment";
import type { PathAssign } from "../pattern/PathAssign";
import { Clause } from "./Clause";
import { WithCreate } from "./mixins/clauses/WithCreate";
import { WithFinish } from "./mixins/clauses/WithFinish";
import { WithReturn } from "./mixins/clauses/WithReturn";
import { WithWith } from "./mixins/clauses/WithWith";
import { WithDelete } from "./mixins/sub-clauses/WithDelete";
import { WithOrder } from "./mixins/sub-clauses/WithOrder";
import { WithSetRemove } from "./mixins/sub-clauses/WithSetRemove";
import type { OnCreateParam } from "./sub-clauses/OnCreate";
export interface Merge extends WithReturn, WithSetRemove, WithDelete, WithWith, WithCreate, WithFinish, WithOrder {
}
/**
* @see {@link https://neo4j.com/docs/cypher-manual/current/clauses/merge/ | Cypher Documentation}
* @group Clauses
*/
export declare class Merge extends Clause {
private readonly pattern;
private readonly onCreateClause;
private readonly onMatchClause;
constructor(pattern: Pattern | PathAssign<Pattern>);
onCreateSet(...onCreateParams: OnCreateParam[]): this;
onMatchSet(...onMatchParams: OnCreateParam[]): this;
/** Add a {@link Merge} clause
* @see {@link https://neo4j.com/docs/cypher-manual/current/clauses/merge/ | Cypher Documentation}
*/
merge(clauseOrPattern: Merge | Pattern): Merge;
/** @internal */
getCypher(env: CypherEnvironment): string;
}