Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mikeibberson/comparisons

String expressions for comparing object properties
https://github.com/mikeibberson/comparisons

node-js string-matching

Last synced: 19 days ago
JSON representation

String expressions for comparing object properties

Awesome Lists containing this project

README

        

🧮 Comparisons



Status
Coverage Status

Currently, expressions support =, >=, <=, >, < and != operators. Optionally, you can include a second constructor argument for changing the locale (the default is "en"). Any expressions that do not match a recognized operation get stripped out and are assumed to pass.

For simply matching if a property exists, use the =* expression. Likewise, use the ! flag on the key name to check for missing/empty values.

Don't worry about type casting—we'll handle that for you.

Example usage

```Bash
# Or use npm install
yarn add comparisons
```

```Javascript
const Comparison = require('comparisons');

const tests = ['foo=bar', 'num>=2', '!quuz'];
const stub = { foo: 'bar', num: 3 };
const runner = new Comparison(tests);
runner.eval(stub); // returns true or false
runner.query(); // returns a Mongo friendly query
```