A Set implementation that supports Objects and custom conditions.
const ObjectSet = require('object-set-type');
const set = new ObjectSet();
set.add(1);
set.add('Hello');
set.add({
a: 1
});
set.add({
a: 1
});
console.log(set.size); // 3
Array.from(set); // 1, "Hello", {a: 1}
The equals(a,b)
method is responsible for comparing two items, and the set logic is based on this. This method can be overwritten to support custom uniqueness logic, e.g., handle objects, but compare only specific properties.
For detailed documentation see the TypeDocs documentation.