Super lightweight implementation of factory-based object pool.
There is no error handling if the same object is released into the pool to keep it fast.
import ObjectPool from "simple-object-pool";
const objPool = new ObjectPool(() => {
return { hello: "world" };
});
const obj1 = objPool.get();
const obj2 = objPool.get();
const obj3 = objPool.get();
objPool.release(obj1);
// put multiple objects back into the pool
objPool.releaseAll([obj2, obj3]);
console.log(objPool.size()); // 3
objPool.clear();
console.log(objPool.size()); // 0
All code and documentation are (c) 2023 Eugene Shumilin and released under the MIT License. A copy of the MIT License is also included.