filter-builder

Build programmable object property filters.

Usage no npm install needed!

<script type="module">
  import filterBuilder from 'https://cdn.skypack.dev/filter-builder';
</script>

README

Build Status

filters

Build programmable object property filters

Here are your filters:

var list = [ ... ]; // lots of simple objects in here.

var filterObject = {
    age: '>=18',
    gender: 'f',
    eyes: 'brown'
}

Use them like this:

    var buildFilters = require('filter-builder');

    var filters = buildFilters(filterObject);

    var filteredList = list.filter(function (entry) {
        var result = true;

        for (var i = 0; i < filters.length && result; i += 1) {
            var test = filters[i];
            result = result && test.comp(entry[test.prop], test.val);
        }
        
        return result;
    });

Supported comparators are:

'>', '<', ''>=', '<=', '!='