{"_id":"middlewares","_rev":"6-f296c9b27397749a8cb78761460df6a6","name":"middlewares","description":"organize your functions into middlewares ala express","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"middlewares","version":"0.1.0","description":"organize your functions into middlewares ala express","main":"middlewares.js","scripts":{"test":"mocha test --reporter spec"},"repository":{"type":"git","url":"git://github.com/nherment/node-middlewares"},"keywords":["middlewares","async"],"author":{"name":"Nicolas Herment","email":"nherment@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/nherment/node-middlewares/issues"},"homepage":"https://github.com/nherment/node-middlewares","dependencies":{},"devDependencies":{"mocha":"*"},"_id":"middlewares@0.1.0","dist":{"shasum":"a52fb60370e7c70670c6fe9853b11a53c534d526","tarball":"https://registry.npmjs.org/middlewares/-/middlewares-0.1.0.tgz","integrity":"sha512-NWLvjU1iH7BbHon15Ts/ZmfjPDiw1qR7RS4J7CGHOLmYS35idUKF3AVBPEIeTq24sqPq7FOuvNmOGm64gT+tVw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDJS3GV2kxYf6ys6TRamnH1KXj8Qd9qUwzIcAj8Tq/FwgIhAOCIhXpnvnZRLRhwhnoKD+xMhV1kY1wuWAU2iG51HSCF"}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"nherment","email":"nherment@gmail.com"},"maintainers":[{"name":"nherment","email":"nherment@gmail.com"}]},"0.1.1":{"name":"middlewares","version":"0.1.1","description":"organize your functions into middlewares ala express","main":"Middlewares.js","scripts":{"test":"mocha test --reporter spec"},"repository":{"type":"git","url":"git://github.com/nherment/node-middlewares"},"keywords":["middlewares","async"],"author":{"name":"Nicolas Herment","email":"nherment@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/nherment/node-middlewares/issues"},"homepage":"https://github.com/nherment/node-middlewares","dependencies":{},"devDependencies":{"mocha":"*"},"_id":"middlewares@0.1.1","_shasum":"73e455032595b8c95dc364eff6e89d971f088520","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"nherment","email":"nherment@gmail.com"},"maintainers":[{"name":"nherment","email":"nherment@gmail.com"}],"dist":{"shasum":"73e455032595b8c95dc364eff6e89d971f088520","tarball":"https://registry.npmjs.org/middlewares/-/middlewares-0.1.1.tgz","integrity":"sha512-UckcpnBSuG4hK4nQJn/yVy8AbCiZJI5pfJus1jwJqWd5ttpqGymX5Yhhu+zNzG0/OhpXF1N6pzATCBds7G6OMA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDAWgw+gOsKCAPIkl/gbPmiZx96g7J3yXzrN9J1O8xg/wIgDT+dJI0d6GoagUoNzcexFiPp5I4IyvPd0vYrD4e0D/Q="}]}}},"readme":"\n### install\n\n    npm install --save middlewares\n\n### basic usage\n\n    var m = new Middlewares()\n\n    m.use(function(obj, next) {\n      // do stuff\n      next()\n    })\n\n    m.use(function(obj, next) {\n      // do stuff\n      next()\n    })\n\n    m.use(function(obj, next) {\n      // do stuff\n      next()\n    })\n\n    m.execute({'hello': 'world'}, function(err) {\n      // done\n    })\n\n### any number of arguments\n\n    var m = new Middlewares()\n\n    m.use(function(obj1, obj2, obj3, next) {\n      // do stuff\n      next()\n    })\n\n    m.use(function(obj1, obj2, obj3, next) {\n      // do stuff\n      next()\n    })\n\n    m.use(function(obj1, obj2, obj3, next) {\n      // do stuff\n      next()\n    })\n\n    m.execute({}, {}, {}, function(err) {\n      // done\n    })\n\n\n### an error terminates the chain\n\n    var m = new Middlewares()\n\n    m.use(function(obj, next) {\n      // do stuff\n      next()\n    })\n\n    m.use(function(obj, next) {\n      // do stuff\n      next(new Error('eh'))\n    })\n\n    m.use(function(obj, next) {\n      // Will not be executed\n      next()\n    })\n\n    m.execute({}, function(err) {\n      console.log(err.message) // 'eh'\n    })\n\n### pass an optional context to avoid creating closures\n\n    var m = new Middlewares()\n\n    this.doStuff = function(obj, next) {\n      this.isUseful\n      next()\n    }\n\n    m.use(this.doStuff, this)\n\n    m.execute({'hello': 'world'}, function(err) {\n      // done\n    })\n\n### export a wrapper\n\n    var m = new Middlewares()\n\n    m.use(function(obj, next) {\n      // do stuff\n      next()\n    })\n\n    m.use(function(obj, next) {\n      // do stuff\n      next()\n    })\n\n    var func = m.export()\n\n    func(obj, function(err) {\n      // do stuff\n    })\n","maintainers":[{"name":"nherment","email":"nherment@gmail.com"}],"time":{"modified":"2022-06-19T19:08:05.306Z","created":"2014-03-14T11:38:42.340Z","0.1.0":"2014-03-14T11:38:42.340Z","0.1.1":"2014-06-30T13:25:01.065Z"},"homepage":"https://github.com/nherment/node-middlewares","keywords":["middlewares","async"],"repository":{"type":"git","url":"git://github.com/nherment/node-middlewares"},"author":{"name":"Nicolas Herment","email":"nherment@gmail.com"},"bugs":{"url":"https://github.com/nherment/node-middlewares/issues"},"license":"MIT","readmeFilename":"README.md"}