1.2.2 • Published 9 years ago

reuser v1.2.2

Weekly downloads
35
License
ISC
Repository
-
Last release
9 years ago

reuser

Reuser is a simple resource manager that handles setup and teardown for you.

I needed to handle closing db connections when my cli apps were done but I didn't want to pass the connection from the top of have to explicitly call teardown myself.

Installation

npm install reuser

Usage

var reuser = require('reuser');

function setupDB(cb) {
  // build db here
  cb(null, db);
}

function tearownDB(cb) {
  // down teardown here
  cb();
}

// Create a reuser function
var useDb = reuser(setupDB, teardownDB);

useDb(function(db, cb) {
  // Do something with db
  cb();
})

useDb(function(db, cb) {
  // Do somethng with db
  // ...
  useDb(function(db, cb) {
    // Do something with same db here
    cb(null, 'result');
  }, cb);
});

If you're more into the terseness of Promises you can do this too:

var reuser = require('reuser');
     
function setupDB() {
  // create db or Promise resolving to db
  return db;
}

function teardownDB() {
  // down teardown here
}

// Create a reuser function
var useDb = reuser(setupDB, teardownDB);

useDb(function(db) {
  // Do something with db and return a Promise if the action is asynchronous
  return Promise.resolve('result');
}).then(function(result) {
  // .. use result here
});

By default resources are torndown as soon as the use function is complete. If you would like to reuse the resource with a window of time (in ms), you may pass in an optional teardownDelay option like below:

var useDb = reuser(setupDB, teardownDB, { teardownDelay: 1000 });
1.2.2

9 years ago

1.2.1

9 years ago

1.2.0

9 years ago

1.1.6

10 years ago

1.1.5

10 years ago

1.1.4

10 years ago

1.1.3

10 years ago

1.1.2

10 years ago

1.1.1

10 years ago

1.1.0

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago