@douglasgabr/cypher-builder
Advanced tools
Changelog
3.2.0 / 2022-01-06
import { Builder } from '@douglasgabr/cypher-builder';
new Builder().where((w) => {
w.andAll('item', 'list', (w) => w.and('item', '>', 0))
.andExists('other')
.orExists((p) => p.node('n1').relationship().node('n2'));
});
// WHERE all(item IN list WHERE item > $item)
// AND exists(other)
// OR exists((n1)--(n2))
// $item => 0
Changelog
3.1.0 / 2021-10-23
import { Builder } from '@douglasgabr/cypher-builder';
new Builder().create((c) => c.node('user', 'User'));
// CREATE (user:User)
Changelog
3.0.0 / 2021-10-10
...Literal
methods removed.literal
utility
import { Builder, literal } from '@douglasgabr/cypher-builder';
new Builder()
.match((m) => m.node('user', 'User', { id: literal('literal.id') }))
.where((w) => w.and('user.name', literal('friend.name')));
// MATCH (user:User{ id: literal.id })
// WHERE user.name = friend.name
Changelog
2.2.0 / 2021-10-09
const filter = { name: '' }; // empty filter
new Builder()
.match((m) => m.node('person'))
.where((w) => {
if (filter.name) {
// will not execute
w.and('person.name', filter.name);
}
})
.return('person')
.build();
// MATCH (person)
// RETURN person
Changelog
2.1.0 / 2021-10-09
fix(patterns): don't add brackets to empty relationship patterns (.relationship()
)
-[]-
--
feat(clauses): add label predicates to where:
new Builder()
.where((w) => {
w.andLabel('user', 'User').andLabel('admin', ['User', 'Admin']);
})
.build();
// WHERE user:User AND admin:User:Admin
Changelog
2.0.0 / 2021-10-07
RelationshipDirection
is now just a string union, so previous usages as an enum must be updatedorder by
types and export them in the index fileChangelog
1.2.0 / 2021-10-07
delete
and detachDelete
to builderChangelog
1.1.0 / 2021-10-06
orderBy
to builder