Some special Map implementations for ES6+
npm install maps
import {HashMap} from 'maps'
class Entity {
constructor(id) {
this.id = id
}
[Symbol.for('hashCode')]() {
return this.id
}
[Symbol.for('equals')](x) {
return x instanceof Entity && x.id === this.id
}
}
const m = new HashMap
const e1 = new Entity(42)
const e2 = new Entity(42)
const test = {}
assert(e1 !== e2)
m.set(e1, test)
assert(m.get(e2) === test)
Same as standard Map.