@douglasgabr/cypher-builder
Advanced tools
Comparing version 3.0.0 to 3.1.0
@@ -0,1 +1,10 @@ | ||
# 3.1.0 / 2021-10-23 | ||
- feat(clauses): add create clause | ||
```typescript | ||
import { Builder } from '@douglasgabr/cypher-builder'; | ||
new Builder().create((c) => c.node('user', 'User')); | ||
// CREATE (user:User) | ||
``` | ||
# 3.0.0 / 2021-10-10 | ||
@@ -2,0 +11,0 @@ |
@@ -1,2 +0,2 @@ | ||
declare type ClausePrefix = 'MATCH' | 'MERGE' | 'WHERE' | 'RETURN' | 'SKIP' | 'LIMIT' | 'WITH' | 'SET' | 'ON CREATE SET' | 'ON MATCH SET' | 'OPTIONAL MATCH' | 'ORDER BY' | 'DELETE' | 'DETACH DELETE' | 'UNION ALL' | 'UNION' | 'UNWIND' | 'USING INDEX' | 'USING INDEX SEEK' | 'USING SCAN' | 'USING JOIN ON' | 'USING PERIODIC COMMIT'; | ||
declare type ClausePrefix = 'MATCH' | 'MERGE' | 'CREATE' | 'WHERE' | 'RETURN' | 'SKIP' | 'LIMIT' | 'WITH' | 'SET' | 'ON CREATE SET' | 'ON MATCH SET' | 'OPTIONAL MATCH' | 'ORDER BY' | 'DELETE' | 'DETACH DELETE' | 'UNION ALL' | 'UNION' | 'UNWIND' | 'USING INDEX' | 'USING INDEX SEEK' | 'USING SCAN' | 'USING JOIN ON' | 'USING PERIODIC COMMIT'; | ||
export declare abstract class Clause { | ||
@@ -3,0 +3,0 @@ protected prefix: ClausePrefix; |
@@ -53,2 +53,19 @@ import { WhereClause } from './clauses/where.clause'; | ||
where(builder: BuilderParameter<WhereClause>): this; | ||
/** | ||
* @param builder pattern builder | ||
* @see [CREATE](https://neo4j.com/docs/cypher-manual/current/clauses/create/) | ||
* @example | ||
* .create(c => { | ||
* c.node('person', 'Person') | ||
* }) | ||
* // CREATE (person:Person) | ||
* @example | ||
* .create(c => { | ||
* c.node('a') | ||
* .relationship('out', 'KNOWS') | ||
* .node('b') | ||
* }) | ||
* // CREATE (a)-[:KNOWS]->(b) | ||
*/ | ||
create(builder: BuilderParameter<PatternBuilder>): this; | ||
with(...items: Array<string | [string, string]>): this; | ||
@@ -55,0 +72,0 @@ withDistinct(...items: Array<string | [string, string]>): this; |
@@ -37,2 +37,3 @@ "use strict"; | ||
const PatternBuilder_1 = require("./patterns/PatternBuilder"); | ||
const create_clause_1 = require("./clauses/create.clause"); | ||
__exportStar(require("./types/labels-and-properties"), exports); | ||
@@ -106,2 +107,25 @@ var literal_1 = require("./utils/literal"); | ||
} | ||
/** | ||
* @param builder pattern builder | ||
* @see [CREATE](https://neo4j.com/docs/cypher-manual/current/clauses/create/) | ||
* @example | ||
* .create(c => { | ||
* c.node('person', 'Person') | ||
* }) | ||
* // CREATE (person:Person) | ||
* @example | ||
* .create(c => { | ||
* c.node('a') | ||
* .relationship('out', 'KNOWS') | ||
* .node('b') | ||
* }) | ||
* // CREATE (a)-[:KNOWS]->(b) | ||
*/ | ||
create(builder) { | ||
const patternBuilder = new PatternBuilder_1.PatternStringBuilder(this.parametersBag); | ||
builder(patternBuilder); | ||
const createClause = new create_clause_1.CreateClauseStringBuilder(patternBuilder); | ||
__classPrivateFieldGet(this, _Builder_instances, "m", _Builder_addClause).call(this, createClause); | ||
return this; | ||
} | ||
with(...items) { | ||
@@ -108,0 +132,0 @@ const withClause = new with_clause_1.WithClauseStringBuilder(); |
{ | ||
"name": "@douglasgabr/cypher-builder", | ||
"version": "3.0.0", | ||
"version": "3.1.0", | ||
"description": "Fluent CQL builder for Neo4j", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
80853
70
1814