'use strict'; module.exports = function(rules) { return function(entryA, entryB) { for (let i = 0; i < rules.length; i++) { let rule = rules[i]; let resultA = !!(rule(entryA)); let resultB = !!(rule(entryB)); if (resultA && !resultB) { return -1; } else if (resultB && !resultA) { return 1; } } return 0; } }