2.1.0 • Published 8 years ago

quri v2.1.0

Weekly downloads
7
License
MIT
Repository
github
Last release
8 years ago

quri-js

NPM version Build Status Coveralls Status Dependency Status Downloads

JS wrapper for the QURI string specification

Install

npm install quri

QURI Spec

More information about the QURI specification and parser is available here.

Usage

Basic example

import Quri from 'quri';

const quri = new Quri();

quri.toString(); // "field_1".eq("my value")

Nested example

import Quri from 'quri';

const quri = new Quri();

quri.appendExpression('field_1', '==', 'outer');

const nestedQuri = new Quri('or');

nestedQuri.appendExpression('field_2', 'like', 'nested%');
nestedQuri.appendExpression('field_3', 'in', [1, 2, 3, 4]);

quri.appendCriteria(nestedQuri);

quri.toString();
// "field_1".eq("outer"),("field_2".eq("nested%")|"field_3".in(1,2,3,4))

Serialization

import Quri from 'quri';

let quri = new Quri();

quri.appendExpression('field_1', '==', 'my value');

quri.serialize();
// { criteria: [ [ 'field_1', '==', 'my value' ] ] }
quri.serialize({ verbose: true });
// { conjunction: 'and', criteria: [ { field: 'field_1', operator: '==', value: 'my value' } ] }
quri.conjunction
// and
quri.criteria
// [ { field: 'field_1', operator: '==', value: 'my value' } ]

quri = Quri.deserialize({ criteria: [ [ 'field_1', '==', 'my value' ] ] })
quri.toString();
// "field_1".eq("my value")

quri = Quri.deserialize({ criteria: [ { field: 'field_1', operator: '==', value: 'my value' } ] });
quri.toString();
// "field_1".eq("my value")

quri = Quri.deserialize({ conjunction: 'or', criteria: [
  [ 'field_1', '==', 'my value' ],
  [ 'field_2', '==', 'my value 2' ]
] })
quri.toString();
// "field_1".eq("my value")|"field_2".eq("my value 2")

quri = Quri.deserialize({ conjunction: 'or', criteria: [
  { field: 'field_1', operator: '==', value: 'my value' },
  { field: 'field_2', operator: '==', value: 'my value 2' }
] })
quri.toString();
// "field_1".eq("my value")|"field_2".eq("my value 2")

License

MIT © theHarvester

2.1.0

8 years ago

2.0.1

8 years ago

2.0.0

8 years ago

1.1.0

8 years ago

1.0.3

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago