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



A model loader that a controller calls. Basically, just the M and C bits of MVC.

An interface for controllers to specify that certain models will be needed, and then have them get loaded.


var MC = require('emcee')
// add a bunch of models 
MC.model('login', function (req, cb) {
  // callback is called with (er, data) 
  req.session.get('login', cb)
MC.model('train', function (url, res, cb) {
// later on... 
http.createServer(function (req, res) {
  // check if the user is logged in. 
  var m = new MC()
  // modelname, args... 
  m.load('login', req)
  m.load('bike', req.url, res)
  // different kind of bike: modelname, alias, args... 
  m.loadAs('bike', 'motorbike', 'dirt', 'roads')
  m.end(function (er, models) {
    // either there is an error, or all models are loaded on the 
    // 'models' object.  note that all errors are assumed to be 
    // catastrophic, so you only get the first error, and the 
    // models object will only contain the models that got loaded 
    // before the error occurred.