WeakMap with an array of keys
import DeepWeakMap from 'deep-weak-map';
const [ a, b, c, d ] = [
randomObject(),
randomObject(),
randomObject(),
randomObject(),
];
const value = randomObject();
const map = new DeepWeakMap();
map.set([ a, b, c ], value);
map.has([ a, b, c ]); // → true
map.has([ a, b, d ]); // → false
map.get([ a, b, c ]); // → value
map.get([ a, b, d ]); // → undefined
map.delete([ a, b, c ]);
map.has([ a, b, c ]); // → false
yarn add deep-weak-map