/filter-builder

Primary LanguageJavaScriptMIT LicenseMIT

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:

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