@morojs/moro / ObjectPool
Class: ObjectPool<T>
Defined in: src/core/pooling/object-pool.ts:19
Generic object pool for reusable objects
Example
import { ObjectPool } from '@morojs/moro'; const pool = new ObjectPool(() => ({}), 100, obj => { for (const key in obj) delete obj[key]; }); const obj = pool.acquire(); // ... use obj ... pool.release(obj);
Type Parameters
T
T
Constructors
Constructor
new ObjectPool<
T>(factory,maxSize?,reset?):ObjectPool<T>
Defined in: src/core/pooling/object-pool.ts:28
Parameters
factory
() => T
maxSize?
number = 100
reset?
(obj) => void
Returns
ObjectPool<T>
Accessors
size
Get Signature
get size():
number
Defined in: src/core/pooling/object-pool.ts:72
Returns
number
stats
Get Signature
get stats():
object
Defined in: src/core/pooling/object-pool.ts:76
Returns
object
acquireCount
acquireCount:
number
createCount
createCount:
number
maxSize
maxSize:
number
poolSize
poolSize:
number
releaseCount
releaseCount:
number
utilization
utilization:
number
Methods
acquire()
acquire():
T
Defined in: src/core/pooling/object-pool.ts:34
Returns
T
clear()
clear():
void
Defined in: src/core/pooling/object-pool.ts:87
Returns
void
release()
release(
obj):void
Defined in: src/core/pooling/object-pool.ts:46
Parameters
obj
T
Returns
void
setMaxSize()
setMaxSize(
maxSize):void
Defined in: src/core/pooling/object-pool.ts:65
Adjust the pool's capacity. Shrinking drops surplus pooled objects immediately (they are left for garbage collection).
Parameters
maxSize
number
Returns
void