node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »



A simple object pool that uses a factory function to instantiate new objects and an optional prepare callback for preparing objects for reuse.


Get it:

$ npm install --save reuse-pool

Require it:

var createPool = require('reuse-pool');


var pool = createPool(factory, [opts])

Creates a new object pool with the given factory function. opts is an options object, valid keys:

  • prepare: callback used to prepare an object for reuse, called each time an existing object is removed from the pool by a call to pool.get(). It is not called when new objects are created by the factory function.
  • max: maximum number of items to be pooled for reuse; any additional items beyond this number will be discared. Default: Infinity.


If there are objects in the pool, pool.get() returns the most recently recycled object, otherwise it returns a new object created by calling the pool's factory function.


Returns obj to the pool for later reuse.

Copyright & License

© 2015 Jason Frame [ @jaz303 / ]

Released under the ISC license.