'use strict'; const deepEql = require("deep-eql"); module.exports = function deeplyUnique(items) { return items.reduce((uniques, item) => { let index = uniques.findIndex((uniqueItem) => { return (uniqueItem.type === item.type && deepEql(uniqueItem.data, item.data)); }); if (index === -1) { return uniques.concat([item]); } else { return uniques; } }, []); }