"use strict"; module.exports = function splitFilter(array, ensureCategories, predicate) { let results = Object.create(null); if (ensureCategories != null) { for (let category of ensureCategories) { results[category] = []; } } for (let [ i, item ] of array.entries()) { let category = predicate(item, i); if (category != null) { if (results[category] == null) { results[category] = []; } results[category].push(item); } } return results; };