UNPKG

meta-next

Version:

28 lines (22 loc) 429 B
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 }