@smikhalevski/object-pool
Version:
The tiny and efficient object pool.
32 lines (22 loc) • 878 B
Markdown
[](https://bundlephobia.com/package/@smikhalevski/object-pool) and efficient object pool.
This implementation was inspired by [deePool](https://github.com/getify/deePool) and is slightly faster than the
original.
```shell
npm install @smikhalevski/object-pool
```
```ts
import {ObjectPool} from '@smikhalevski/object-pool';
const pool = new ObjectPool(() => {
// Create and return a heavy object.
}, (value) => {
// Reset the released object.
});
// Prepare 100 heavy objects.
pool.allocate(100);
// Take a heavy object from the pool.
const heavyObject = pool.take();
// Return heavy object back to the pool.
pool.release(heavyObject);
```