// cheap lodash replacements export function memoize(fn) { let result = null; const memoized = () => { if (result == null) { result = fn(); } return result; }; return memoized; } /** * drop-in replacement for _.without */ export function without(items, item) { return items.filter(i => i !== item); } export function union(itemsA, itemsB) { const set = new Set(); const insertItem = (item) => set.add(item); itemsA.forEach(insertItem); itemsB.forEach(insertItem); const result = []; set.forEach(key => result.push(key)); return result; }