UNPKG

@atlaskit/editor-common

Version:

A package that contains common classes and components for editor and renderer

25 lines (24 loc) 503 B
export function dedupe(list = [], iteratee = p => p) { /** ., . _,'f----.._ |\ ,-'"/ | ,' |,_ ,--. / /,-. ,'`. (_ f o| o|__ "`-. ,-._.,--'_ `. _.,-` `"' ___.,'` j,-' `-.__.,--' Gotta go fast! */ const seen = new Set(); list.forEach(l => seen.add(iteratee(l))); return list.filter(l => { const it = iteratee(l); if (seen.has(it)) { seen.delete(it); return true; } return false; }); }