Gamote / cifru

Cypher queries with no strings attached! ๐ŸŒŠ

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cifru

NPM version NPM downloads

Cifru (๐Ÿ—ฃ [หˆtอกสƒifru]): cypher queries with no strings attached! Dive into our lightweight ORM that makes writing production-ready queries feel like a breeze.

  • String validation at compile time: uses TypeScript template literals to validate node and relation names, ensuring correct format before runtime.

Installation

yarn add cifru

Usage

import c, { Direction } from 'cifru';

const query = c
  .match(
    c
      .node({
        variable: 'a',
        labels: ['Actor'],
        properties: { name: 'Cami' },
      })
      .relation({
        direction: Direction.Outgoing,
        variable: 'r',
        labels: ['ACTED_IN'],
        properties: { roles: ['Trinity'] },
      })
      .node({
        variable: 'm',
        labels: ['Movie'],
        properties: { name: 'The Matrix' },
      }),
  )
  .return('a')
  .query();

console.log(query);
// => MATCH (a:Actor {name: 'Cami'})-[r:ACTED_IN {roles: Trinity}]->(m:Movie {name: 'The Matrix'})
//    RETURN a

Testing

yarn test

About

Cypher queries with no strings attached! ๐ŸŒŠ


Languages

Language:TypeScript 78.6%Language:JavaScript 21.4%