meta-next
Version:
28 lines (22 loc) • 429 B
JavaScript
const pools = {}
const create = (cls) =>
{
const buffer = pools[cls.name]
if(buffer && buffer.length > 0) {
return buffer.pop()
}
const instance = new cls()
return instance
}
const remove = (instance) => {
const buffer = pools[instance.constructor.name]
if(!buffer) {
pools[instance.constructor.name] = [ instance ]
}
else {
buffer = [ instance ]
}
}
export {
create, remove
}