{"_id":"safecallback","_rev":"9-0f9d8c341e9dff16eb07189b8aabe7a9","name":"safecallback","description":"Handle callback errors safely and easily","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"safecallback","version":"1.0.0","description":"Handle callback errors safely and easily","homepage":"https://github.com/bevry/safecallback","keywords":["callback","flow","async","errors","error"],"author":{"name":"Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"name":"balupton","email":"b@lupton.cc"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/safecallback/issues"},"repository":{"type":"git","url":"https://github.com/bevry/safecallback.git"},"engines":{"node":">=0.4"},"dependencies":{},"devDependencies":{"chai":"~1.5.0","joe":"~1.1.2"},"directories":{"lib":"./lib"},"bin":{},"scripts":{"test":"node ./test/everything-test.js"},"main":"./lib/safecallback.js","readme":"# SafeCallback [![Build Status](https://secure.travis-ci.org/bevry/safecallback.png?branch=master)](http://travis-ci.org/bevry/safecallback)\n\nHandle asynchronous callback errors safely and easily\n\n## Install\n\n### Backend\n\n1. [Install Node.js](http://bevry.me/node/install)\n1. `npm install --save safecallback`\n\n### Frontend\n\n1. [See Browserify](http://browserify.org/)\n\n\n## Usage\n\n### JavaScript\n\n``` javascript\n// Before\nvar getFileContentsUpperCased = function(path,next){\n\trequire('fs').readFile(path, function(err,data){\n\t\tif(err)  return next(err)\n\t\treturn next(null, data.toString().toUpperCase())\n\t})\n}\n\n// After\nvar safeCallback = require('safecallback')\nvar getFileContentsUpperCased = function(path,next){\n\trequire('fs').readFile(path, safeCallback(next, function(err,data){\n\t\treturn next(null, data.toString().toUpperCase())\n\t}))\n}\n```\n\n### CoffeeScript\n\n``` coffeescript\n# Before\ngetFileContentsUpperCased = (path,next) ->\n\trequire('fs').readFile path, (err,data) ->\n\t\treturn next(err)  if err\n\t\treturn next(null, data.toString().toUpperCase())\n\n# After\nsafeCallback = require('safecallback')\ngetFileContentsUpperCased = (path,next) ->\n\trequire('fs').readFile path, safeCallback next, (err,data) ->\n\t\treturn next(null, data.toString().toUpperCase())\n```\n\n\n## History\nYou can discover the history inside the [History.md](https://github.com/bevry/safecallback/blob/master/History.md#files) file\n\n\n## License\nLicensed under the incredibly [permissive](http://en.wikipedia.org/wiki/Permissive_free_software_licence) [MIT License](http://creativecommons.org/licenses/MIT/)\n<br/>Copyright © 2013+ [Bevry Pty Ltd](http://bevry.me) <us@bevry.me>","readmeFilename":"README.md","_id":"safecallback@1.0.0","dist":{"shasum":"d1bf6e0334bcce1ac8b4971cb0c97a774f01ac26","tarball":"https://registry.npmjs.org/safecallback/-/safecallback-1.0.0.tgz","integrity":"sha512-dkbK6vDlLcYQDno9O/+scciaAlW49yFFNLcMJCDWiQARMdG0bWsmUWuYwbwSzpe4b3PK4/Cs2Q9S/0l3Xm4vSg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQChfgBKh6/3dDbE1/dc+Au8nQzTT2yngpyHhZK93O4GVgIhAMAcsdIuMhOOMeXxidrejechO0vhiEjGSltVDq7gOh1y"}]},"_from":".","_npmVersion":"1.2.15","_npmUser":{"name":"balupton","email":"b@lupton.cc"}},"1.0.1":{"name":"safecallback","version":"1.0.1","description":"Handle callback errors safely and easily","homepage":"https://github.com/bevry/safecallback","keywords":["callback","flow","async","errors","error"],"author":{"name":"Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"maintainers":[{"name":"balupton","email":"b@lupton.cc"}],"contributors":[{"name":"Benjamin Lupton","email":"b@lupton.cc","url":"https://github.com/balupton"}],"bugs":{"url":"https://github.com/bevry/safecallback/issues"},"repository":{"type":"git","url":"https://github.com/bevry/safecallback.git"},"engines":{"node":">=0.4"},"dependencies":{},"devDependencies":{"chai":"~1.5.0","joe":"~1.1.2"},"directories":{"lib":"./lib"},"bin":{},"scripts":{"test":"node ./test/everything-test.js"},"main":"./lib/safecallback.js","readme":"# SafeCallback [![Build Status](https://secure.travis-ci.org/bevry/safecallback.png?branch=master)](http://travis-ci.org/bevry/safecallback)\n\nHandle asynchronous callback errors safely and easily\n\n## Install\n\n### Backend\n\n1. [Install Node.js](http://bevry.me/node/install)\n1. `npm install --save safecallback`\n\n### Frontend\n\n1. [See Browserify](http://browserify.org/)\n\n\n## Usage\n\n### JavaScript\n\n``` javascript\n// Before\nvar getFileContentsUpperCased = function(path,next){\n\trequire('fs').readFile(path, function(err,data){\n\t\tif(err)  return next(err)  // annoying check\n\t\treturn next(null, data.toString().toUpperCase())\n\t})\n}\n\n// After\nvar safeCallback = require('safecallback')\nvar getFileContentsUpperCased = function(path,next){\n\trequire('fs').readFile(path, safeCallback(next, function(err,data){\n\t\treturn next(null, data.toString().toUpperCase())\n\t}))\n}\n```\n\n### CoffeeScript\n\n``` coffeescript\n# Before\ngetFileContentsUpperCased = (path,next) ->\n\trequire('fs').readFile path, (err,data) ->\n\t\treturn next(err)  if err  # annoying check\n\t\treturn next(null, data.toString().toUpperCase())\n\n# After\nsafeCallback = require('safecallback')\ngetFileContentsUpperCased = (path,next) ->\n\trequire('fs').readFile path, safeCallback next, (err,data) ->\n\t\treturn next(null, data.toString().toUpperCase())\n```\n\n\n## History\nYou can discover the history inside the [History.md](https://github.com/bevry/safecallback/blob/master/History.md#files) file\n\n\n## License\nLicensed under the incredibly [permissive](http://en.wikipedia.org/wiki/Permissive_free_software_licence) [MIT License](http://creativecommons.org/licenses/MIT/)\n<br/>Copyright © 2013+ [Bevry Pty Ltd](http://bevry.me) <us@bevry.me>","readmeFilename":"README.md","_id":"safecallback@1.0.1","dist":{"shasum":"07c7f12b4a8d9abf1b8fcddba7852eb0b8b6ed41","tarball":"https://registry.npmjs.org/safecallback/-/safecallback-1.0.1.tgz","integrity":"sha512-iwkVkRKejb2X1WshFYVTYsJrrLpq3pRiaeyG4vycyjLrvoxaUZrjR+htwzuN87KvRO5hFCCtwspUKQbO09awRg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDuTfE7EAt/wrVgV8q4sdLHpjYBsJMPoI+BDRcmdtzUEwIhAM1yhuSXCPK+PpNU+pgSWtLSIfAnUxCC0cMoXd8ehggi"}]},"_from":".","_npmVersion":"1.2.15","_npmUser":{"name":"balupton","email":"b@lupton.cc"}}},"readme":"# SafeCallback [![Build Status](https://secure.travis-ci.org/bevry/safecallback.png?branch=master)](http://travis-ci.org/bevry/safecallback)\n\nHandle asynchronous callback errors safely and easily\n\n## Install\n\n### Backend\n\n1. [Install Node.js](http://bevry.me/node/install)\n1. `npm install --save safecallback`\n\n### Frontend\n\n1. [See Browserify](http://browserify.org/)\n\n\n## Usage\n\n### JavaScript\n\n``` javascript\n// Before\nvar getFileContentsUpperCased = function(path,next){\n\trequire('fs').readFile(path, function(err,data){\n\t\tif(err)  return next(err)\n\t\treturn next(null, data.toString().toUpperCase())\n\t})\n}\n\n// After\nvar safeCallback = require('safecallback')\nvar getFileContentsUpperCased = function(path,next){\n\trequire('fs').readFile(path, safeCallback(next, function(err,data){\n\t\treturn next(null, data.toString().toUpperCase())\n\t}))\n}\n```\n\n### CoffeeScript\n\n``` coffeescript\n# Before\ngetFileContentsUpperCased = (path,next) ->\n\trequire('fs').readFile path, (err,data) ->\n\t\treturn next(err)  if err\n\t\treturn next(null, data.toString().toUpperCase())\n\n# After\nsafeCallback = require('safecallback')\ngetFileContentsUpperCased = (path,next) ->\n\trequire('fs').readFile path, safeCallback next, (err,data) ->\n\t\treturn next(null, data.toString().toUpperCase())\n```\n\n\n## History\nYou can discover the history inside the [History.md](https://github.com/bevry/safecallback/blob/master/History.md#files) file\n\n\n## License\nLicensed under the incredibly [permissive](http://en.wikipedia.org/wiki/Permissive_free_software_licence) [MIT License](http://creativecommons.org/licenses/MIT/)\n<br/>Copyright © 2013+ [Bevry Pty Ltd](http://bevry.me) <us@bevry.me>","maintainers":[{"email":"us@bevry.me","name":"bevryme"}],"time":{"modified":"2023-11-15T16:25:50.501Z","created":"2013-03-27T02:23:57.342Z","1.0.0":"2013-03-27T02:24:01.963Z","1.0.1":"2013-03-27T03:43:38.357Z"},"author":{"name":"Bevry Pty Ltd","email":"us@bevry.me","url":"http://bevry.me"},"repository":{"type":"git","url":"https://github.com/bevry/safecallback.git"}}