queryl
Query language to perform complex object searches.
Description
Queryl allows to to build complex queries to match JavaScript objects. This can be useful to:
- Search collections of objects (even heterogeneus).
- Validate objects.
- Assert properties of an object for testing purposes.
Installation
Install queryl
by running:
$ npm install --save queryl
Documentation
Boolean
queryl.match(query, object) ⇒ Kind: static method of queryl
Summary: Query an object
Returns: Boolean
- whether it matches or not
Access: public
Param | Type | Description |
---|---|---|
query | Object |
query |
object | Object |
object |
Example
queryl;> true
Operations
operations.$and()
Kind: static method of operations
Properties
Name | Type | Description |
---|---|---|
$and | function |
logical conjunction |
Example
queryl;> true
operations.$or()
Kind: static method of operations
Properties
Name | Type | Description |
---|---|---|
$or | function |
logical disjunction |
Example
queryl;> true
operations.$not()
Kind: static method of operations
Properties
Name | Type | Description |
---|---|---|
$not | function |
logical negation |
Example
queryl;> true
operations.$equal()
This operation supports deep equality.
Kind: static method of operations
Properties
Name | Type | Description |
---|---|---|
$equal | function |
equality |
Example
queryl;> true
operations.$contain()
This operation supports deep equality.
Kind: static method of operations
Properties
Name | Type | Description |
---|---|---|
$contain | function |
collection include |
Example
queryl;> true
operations.$match()
Kind: static method of operations
Properties
Name | Type | Description |
---|---|---|
$match | function |
RegExp match |
Example
queryl;> true
operations.$gt()
Kind: static method of operations
Properties
Name | Type | Description |
---|---|---|
$gt | function |
greater than |
Example
queryl;> true
operations.$lt()
Kind: static method of operations
Properties
Name | Type | Description |
---|---|---|
$lt | function |
less than |
Example
queryl;> true
Support
If you're having any problem, please raise an issue on GitHub and I'll be happy to help.
Tests
Run the test suite by doing:
$ gulp test
Contribute
- Issue Tracker: github.com/jviotti/queryl/issues
- Source Code: github.com/jviotti/queryl
Before submitting a PR, please make sure that you include tests, and that jshint runs without any warning:
$ gulp lint
License
The project is licensed under the MIT license.