search-query-tester
Test object with search query syntax.
Search query syntax
search-query-tester
use following library:
Install
Install with npm:
npm install search-query-tester
Usage
API
declare
Example
;;;// search all property by defaultassert.oktester.test"idValue", data;assert.oktester.test"titleValue", data;assert.oktester.test"authorValue", data;assert.oktester.test"bodyValue", data;// "AND" operatorassert.oktester.test"idValue AND titleValue", data;// "OR" operatorassert.oktester.test"idValue OR noMatchValue", data;// "-" operatorassert.oktester.test"bodyValue -notMatchValue", data;
Supported Keywords
Currently, It is same syntax with Philtre.
Note that except for values before a colon in keywords using them (which must match the regex [A-z]*
), anything may be quoted to preserve whitespace or otherwise special characters.
keyword | effect |
---|---|
(default) | non-special words check for a string match on every field of the object. |
:has:[something] |
true if the object has a field named something |
:is:[something] |
same as :has: |
[key]:[value] |
true if value equals the key property |
AND |
does nothing (it's the default) |
OR |
logical OR of the conditions on either side |
NOT |
negates the next keyword |
-[something] |
negates the next keyword; unlike not doesn't need a space |
( and ) |
allows grouping of terms |
#[xxx] |
true if the .tags property contains xxx |
:before:[xxx] |
true if the .date property is less than xxx |
:after:[xxx] |
true if the .date property is greater than xxx |
:sort:[field] |
sorts on field |
:sortr:[field] |
sorts on field in the order opposite :sort: |
:limit:[count] |
only shows up to count results |
Changelog
See Releases page.
Running tests
Install devDependencies and Run npm test
:
npm i -d && npm test
Contributing
Pull requests and stars are always welcome.
For bugs and feature requests, please create an issue.
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
Author
License
MIT © azu