wallet-core/node_modules/concordance/lib/Registry.js
2017-08-14 05:02:09 +02:00

25 lines
401 B
JavaScript

'use strict'
class Registry {
constructor () {
this.counter = 0
this.map = new WeakMap()
}
has (value) {
return this.map.has(value)
}
get (value) {
return this.map.get(value).descriptor
}
alloc (value) {
const index = ++this.counter
const pointer = {descriptor: null, index}
this.map.set(value, pointer)
return pointer
}
}
module.exports = Registry