Ready to take your JavaScript development to the next level? Meet npm Enterprise - the ultimate in enterprise JavaScript. Learn more »

zer

0.1.0 • Public • Published

zer

Zer helps you serialize any JavaScript chains to String representations of any languages by leveraging ES2015 Proxy objects.

Installation

npm install zer

Usage

Zer is currently useful for generating Gremlin-Groovy graph database queries.

 
import { createChainCreator } from 'zer';
 
import { toGroovy } from 'zer/src/groovy';
import { STRATEGY } from 'zer/src/chain';
 
const Objects = createChainCreator(STRATEGY, toGroovy);
 
const { g, out, has } = Objects;
 
const chain = g.V().has('name', 'Alice').repeat(out('knows')).until(has('name', 'Bob'));
 
console.log(chain.__repr__());
// g.V().has('name', 'Alice').repeat(out('knows')).until(has('name', 'Bob'))

Argument escaping

Zer allows you to output Objects, not just Strings. This is especially useful when you wish to escape some arguments from your chain, such as when creating a DSL for a database client (SQL, Gremlin...).

const chain = g.V().has('name', 'Alice').repeat(out('knows')).until(has('name', 'Bob'));
 
console.log(chain.__repr__())
 
/*
 { query: 'g.V().has(p0, p1).has(p2, p3).repeat(out(p4, p5))',
  params:
   { p0: 'name',
     p1: 'Alice',
     p2: 'age',
     p3: 30,
     p4: 'firstname',
     p5: 'Bob' }
*/

install

npm i zer

Downloadsweekly downloads

972

version

0.1.0

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability