1.2.2 • Published 8 years ago

reuser v1.2.2

Weekly downloads
35
License
ISC
Repository
-
Last release
8 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

8 years ago

1.2.1

8 years ago

1.2.0

8 years ago

1.1.6

9 years ago

1.1.5

9 years ago

1.1.4

9 years ago

1.1.3

9 years ago

1.1.2

9 years ago

1.1.1

9 years ago

1.1.0

9 years ago

1.0.2

9 years ago

1.0.1

9 years ago