{"_id":"promisify-node","_rev":"1813517","name":"promisify-node","description":"Wrap Node-callback functions to return Promises.","dist-tags":{"latest":"0.5.0"},"maintainers":[{"name":"johnhaley81","email":"johnhaley81@gmail.com"},{"name":"tbranyen","email":"tim@tabdeveloper.com"}],"time":{"modified":"2021-12-01T08:26:18.000Z","created":"2014-04-12T05:03:37.302Z","0.5.0":"2018-06-05T16:46:46.836Z","0.4.0":"2016-03-11T07:21:23.263Z","0.3.0":"2015-11-18T18:52:13.998Z","0.2.1":"2015-08-20T17:29:48.233Z","0.2.0":"2015-08-20T16:32:03.101Z","0.1.5":"2014-11-26T21:45:26.379Z","0.1.4":"2014-11-26T20:49:34.036Z","0.1.3":"2014-11-26T20:37:15.678Z","0.1.2":"2014-04-13T22:17:49.362Z","0.1.1":"2014-04-12T05:03:37.302Z"},"users":{"tamlyn":true,"iolo":true,"henrytseng":true,"mitsugm":true,"mygoare":true,"newworldcode":true,"iori20091101":true,"haemin":true,"chhetrisushil":true,"kodekracker":true,"lezuse":true,"larrychen":true,"xrush":true,"ezeikel":true,"zhangaz1":true,"voltra":true},"author":{"name":"Tim Branyen","url":"@tbranyen"},"repository":{"type":"git","url":"git+https://github.com/nodegit/promisify-node.git"},"versions":{"0.5.0":{"name":"promisify-node","version":"0.5.0","description":"Wrap Node-callback functions to return Promises.","main":"index.js","dependencies":{"nodegit-promise":"^4.0.0","object-assign":"^4.1.1"},"devDependencies":{"mocha":"^5.2.0","istanbul":"^0.4.5"},"repository":{"type":"git","url":"git+https://github.com/nodegit/promisify-node.git"},"scripts":{"test":"istanbul cover _mocha -- test"},"author":{"name":"Tim Branyen","url":"@tbranyen"},"license":"MIT","gitHead":"02fc47cfc00146a533193bc4740e2e3e3be81c6f","bugs":{"url":"https://github.com/nodegit/promisify-node/issues"},"homepage":"https://github.com/nodegit/promisify-node#readme","_id":"promisify-node@0.5.0","_npmVersion":"5.3.0","_nodeVersion":"10.3.0","_npmUser":{"name":"tbranyen","email":"tim@tabdeveloper.com"},"dist":{"shasum":"b7115a9d5cd241e939c96e260acda24938d25720","size":5960,"noattachment":false,"key":"/promisify-node/-/promisify-node-0.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/promisify-node/download/promisify-node-0.5.0.tgz"},"maintainers":[{"name":"johnhaley81","email":"johnhaley81@gmail.com"},{"name":"tbranyen","email":"tim@tabdeveloper.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/promisify-node_0.5.0_1528217206437_0.8025078319797676"},"_hasShrinkwrap":false,"publish_time":1528217206836,"_cnpm_publish_time":1528217206836},"0.4.0":{"name":"promisify-node","version":"0.4.0","description":"Wrap Node-callback functions to return Promises.","main":"index.js","dependencies":{"nodegit-promise":"~4.0.0","object-assign":"^4.0.1"},"devDependencies":{"mocha":"~1.18.2","istanbul":"~0.2.7"},"repository":{"type":"git","url":"git+https://github.com/nodegit/promisify-node.git"},"scripts":{"test":"istanbul cover _mocha -- test"},"author":{"name":"Tim Branyen","url":"@tbranyen"},"license":"MIT","gitHead":"81db7d07409865b1ce08bd637b0e0c0b71fb8b65","bugs":{"url":"https://github.com/nodegit/promisify-node/issues"},"homepage":"https://github.com/nodegit/promisify-node#readme","_id":"promisify-node@0.4.0","_shasum":"32803874ec411784e4786c339902a87a179a469c","_from":".","_npmVersion":"2.14.9","_nodeVersion":"5.0.0","_npmUser":{"name":"tbranyen","email":"tim@tabdeveloper.com"},"dist":{"shasum":"32803874ec411784e4786c339902a87a179a469c","size":6985,"noattachment":false,"key":"/promisify-node/-/promisify-node-0.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/promisify-node/download/promisify-node-0.4.0.tgz"},"maintainers":[{"name":"johnhaley81","email":"johnhaley81@gmail.com"},{"name":"tbranyen","email":"tim@tabdeveloper.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/promisify-node-0.4.0.tgz_1457680882833_0.602071154396981"},"directories":{},"publish_time":1457680883263,"_cnpm_publish_time":1457680883263,"_hasShrinkwrap":false},"0.3.0":{"name":"promisify-node","version":"0.3.0","description":"Wrap Node-callback functions to return Promises.","main":"index.js","dependencies":{"nodegit-promise":"~4.0.0"},"devDependencies":{"mocha":"~1.18.2","istanbul":"~0.2.7"},"repository":{"type":"git","url":"git+https://github.com/nodegit/promisify-node.git"},"scripts":{"test":"istanbul cover _mocha -- test"},"author":{"name":"Tim Branyen","url":"@tbranyen"},"license":"MIT","gitHead":"193b0c4b954b3701d714b458f0e9142b4401dce3","bugs":{"url":"https://github.com/nodegit/promisify-node/issues"},"homepage":"https://github.com/nodegit/promisify-node#readme","_id":"promisify-node@0.3.0","_shasum":"b4b55acf90faa7d2b8b90ca396899086c03060cf","_from":".","_npmVersion":"2.14.8","_nodeVersion":"0.12.7","_npmUser":{"name":"johnhaley81","email":"johnhaley81@gmail.com"},"maintainers":[{"name":"johnhaley81","email":"johnhaley81@gmail.com"},{"name":"tbranyen","email":"tim@tabdeveloper.com"}],"dist":{"shasum":"b4b55acf90faa7d2b8b90ca396899086c03060cf","size":4095,"noattachment":false,"key":"/promisify-node/-/promisify-node-0.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/promisify-node/download/promisify-node-0.3.0.tgz"},"directories":{},"publish_time":1447872733998,"_cnpm_publish_time":1447872733998,"_hasShrinkwrap":false},"0.2.1":{"name":"promisify-node","version":"0.2.1","description":"Wrap Node-callback functions to return Promises.","main":"index.js","dependencies":{"nodegit-promise":"~3.0.2"},"devDependencies":{"mocha":"~1.18.2","istanbul":"~0.2.7"},"repository":{"type":"git","url":"https://github.com/nodegit/promisify-node.git"},"scripts":{"test":"istanbul cover _mocha -- test"},"author":{"name":"Tim Branyen","url":"@tbranyen"},"license":"MIT","gitHead":"7a675afe42e6ab656e9d1bf20db1f014e2d8ac98","bugs":{"url":"https://github.com/nodegit/promisify-node/issues"},"homepage":"https://github.com/nodegit/promisify-node","_id":"promisify-node@0.2.1","_shasum":"88067c37a5015d20941b9a10949a3da6c15f47a6","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"johnhaley81","email":"john@haley.io"},"maintainers":[{"name":"johnhaley81","email":"johnhaley81@gmail.com"},{"name":"tbranyen","email":"tim@tabdeveloper.com"}],"dist":{"shasum":"88067c37a5015d20941b9a10949a3da6c15f47a6","size":4088,"noattachment":false,"key":"/promisify-node/-/promisify-node-0.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/promisify-node/download/promisify-node-0.2.1.tgz"},"directories":{},"publish_time":1440091788233,"_cnpm_publish_time":1440091788233,"_hasShrinkwrap":false},"0.2.0":{"name":"promisify-node","version":"0.2.0","description":"Wrap Node-callback functions to return Promises.","main":"index.js","dependencies":{"nodegit-promise":"~3.0.2"},"devDependencies":{"mocha":"~1.18.2","istanbul":"~0.2.7"},"repository":{"type":"git","url":"https://github.com/nodegit/promisify-node.git"},"scripts":{"test":"istanbul cover _mocha -- test"},"author":{"name":"Tim Branyen","url":"@tbranyen"},"license":"MIT","gitHead":"7be4dad2acf9fff26d0506f476c52a15fec18e21","bugs":{"url":"https://github.com/nodegit/promisify-node/issues"},"homepage":"https://github.com/nodegit/promisify-node","_id":"promisify-node@0.2.0","_shasum":"e412a0507562f569d90627465464b4f3d7dfc319","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"johnhaley81","email":"john@haley.io"},"maintainers":[{"name":"johnhaley81","email":"johnhaley81@gmail.com"},{"name":"tbranyen","email":"tim@tabdeveloper.com"}],"dist":{"shasum":"e412a0507562f569d90627465464b4f3d7dfc319","size":4058,"noattachment":false,"key":"/promisify-node/-/promisify-node-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/promisify-node/download/promisify-node-0.2.0.tgz"},"directories":{},"publish_time":1440088323101,"_cnpm_publish_time":1440088323101,"_hasShrinkwrap":false},"0.1.5":{"name":"promisify-node","version":"0.1.5","description":"Wrap Node-callback functions to return Promises.","main":"index.js","dependencies":{"nodegit-promise":"~1.0.0"},"devDependencies":{"mocha":"~1.18.2","istanbul":"~0.2.7"},"scripts":{"test":"istanbul cover _mocha -- test"},"author":{"name":"Tim Branyen","url":"@tbranyen"},"license":"MIT","gitHead":"fc0b254430f3e580dadf190de1ba220d766236b2","_id":"promisify-node@0.1.5","_shasum":"8cd6afad43fa0684289e2db83bc223363cd61a4d","_from":".","_npmVersion":"2.1.7","_nodeVersion":"0.10.33","_npmUser":{"name":"johnhaley81","email":"johnhaley81@gmail.com"},"maintainers":[{"name":"johnhaley81","email":"johnhaley81@gmail.com"},{"name":"tbranyen","email":"tim@tabdeveloper.com"}],"dist":{"shasum":"8cd6afad43fa0684289e2db83bc223363cd61a4d","size":4062,"noattachment":false,"key":"/promisify-node/-/promisify-node-0.1.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/promisify-node/download/promisify-node-0.1.5.tgz"},"directories":{},"publish_time":1417038326379,"_cnpm_publish_time":1417038326379,"_hasShrinkwrap":false},"0.1.4":{"name":"promisify-node","version":"0.1.4","description":"Wrap Node-callback functions to return Promises.","main":"index.js","dependencies":{"nodegit-promise":"~1.0.0"},"devDependencies":{"mocha":"~1.18.2","istanbul":"~0.2.7"},"scripts":{"test":"istanbul cover _mocha -- test"},"author":{"name":"Tim Branyen","url":"@tbranyen"},"license":"MIT","gitHead":"42dc06b834fb4a32ede7f03dded4f6352fc7abe2","_id":"promisify-node@0.1.4","_shasum":"463bbb9b6c9cf606ab6eb800fe54e6f90a837d41","_from":".","_npmVersion":"2.1.7","_nodeVersion":"0.10.33","_npmUser":{"name":"johnhaley81","email":"johnhaley81@gmail.com"},"maintainers":[{"name":"johnhaley81","email":"johnhaley81@gmail.com"},{"name":"tbranyen","email":"tim@tabdeveloper.com"}],"dist":{"shasum":"463bbb9b6c9cf606ab6eb800fe54e6f90a837d41","size":4041,"noattachment":false,"key":"/promisify-node/-/promisify-node-0.1.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/promisify-node/download/promisify-node-0.1.4.tgz"},"directories":{},"publish_time":1417034974036,"_cnpm_publish_time":1417034974036,"_hasShrinkwrap":false},"0.1.3":{"name":"promisify-node","version":"0.1.3","description":"Wrap Node-callback functions to return Promises.","main":"index.js","dependencies":{"nodegit-promise":"~1.0.0"},"devDependencies":{"mocha":"~1.18.2","istanbul":"~0.2.7"},"scripts":{"test":"istanbul cover _mocha -- test"},"author":{"name":"Tim Branyen","url":"@tbranyen"},"license":"MIT","gitHead":"cb10362a498550b376faad751fbccc2d44f38346","_id":"promisify-node@0.1.3","_shasum":"676542f468a872a71e4879190840f34536523d54","_from":".","_npmVersion":"2.1.7","_nodeVersion":"0.10.33","_npmUser":{"name":"johnhaley81","email":"johnhaley81@gmail.com"},"maintainers":[{"name":"johnhaley81","email":"johnhaley81@gmail.com"},{"name":"tbranyen","email":"tim@tabdeveloper.com"}],"dist":{"shasum":"676542f468a872a71e4879190840f34536523d54","size":4039,"noattachment":false,"key":"/promisify-node/-/promisify-node-0.1.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/promisify-node/download/promisify-node-0.1.3.tgz"},"directories":{},"publish_time":1417034235678,"_cnpm_publish_time":1417034235678,"_hasShrinkwrap":false},"0.1.2":{"name":"promisify-node","version":"0.1.2","description":"Wrap Node-callback functions to return Promises.","main":"index.js","dependencies":{"promise":"~4.0.0"},"devDependencies":{"mocha":"~1.18.2","istanbul":"~0.2.7"},"scripts":{"test":"istanbul cover _mocha -- test"},"author":{"name":"Tim Branyen","url":"@tbranyen"},"license":"MIT","_id":"promisify-node@0.1.2","dist":{"shasum":"2d0dc96475413cd5d4a6116839d057e16a27f623","size":4025,"noattachment":false,"key":"/promisify-node/-/promisify-node-0.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/promisify-node/download/promisify-node-0.1.2.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"tbranyen","email":"tim@tabdeveloper.com"},"maintainers":[{"name":"johnhaley81","email":"johnhaley81@gmail.com"},{"name":"tbranyen","email":"tim@tabdeveloper.com"}],"directories":{},"publish_time":1397427469362,"_cnpm_publish_time":1397427469362,"_hasShrinkwrap":false},"0.1.1":{"name":"promisify-node","version":"0.1.1","description":"Wrap Node-callback functions to return Promises.","main":"index.js","dependencies":{"promise":"~4.0.0"},"devDependencies":{"mocha":"~1.18.2"},"scripts":{"test":"mocha test"},"author":{"name":"Tim Branyen","url":"@tbranyen"},"license":"MIT","_id":"promisify-node@0.1.1","dist":{"shasum":"6b586d3af3f88b6914496e8081d1da2d0ccc6c56","size":3452,"noattachment":false,"key":"/promisify-node/-/promisify-node-0.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/promisify-node/download/promisify-node-0.1.1.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"tbranyen","email":"tim@tabdeveloper.com"},"maintainers":[{"name":"johnhaley81","email":"johnhaley81@gmail.com"},{"name":"tbranyen","email":"tim@tabdeveloper.com"}],"directories":{},"publish_time":1397279017302,"_cnpm_publish_time":1397279017302,"_hasShrinkwrap":false}},"readme":"Promisify Node\n--------------\n\n**Stable: 0.5.0** \n\n[![Build\nStatus](https://travis-ci.org/nodegit/promisify-node.png?branch=master)](https://travis-ci.org/nodegit/promisify-node)\n\nMaintained by Tim Branyen [@tbranyen](http://twitter.com/tbranyen).\n\nWraps Node modules, functions, and methods written in the Node-callback style\nto return Promises.\n\n### Install ###\n\n``` bash\nnpm install promisify-node\n```\n\n### Examples ###\n\nWrap entire Node modules recursively:\n\n``` javascript\nvar promisify = require(\"promisify-node\");\nvar fs = promisify(\"fs\");\n\n// This function has been identified as an asynchronous function so it has\n// been automatically wrapped.\nfs.readFile(\"/etc/passwd\").then(function(contents) {\n  console.log(contents);\n});\n```\n\nWrap a single function:\n\n``` javascript\nvar promisify = require(\"promisify-node\");\n\nfunction async(callback) {\n  callback(null, true);\n}\n\n// Convert the function to return a Promise.\nvar wrap = promisify(async);\n\n// Invoke the newly wrapped function.\nwrap().then(function(value) {\n  console.log(value === true);\n});\n```\n\nWrap a method on an Object:\n\n``` javascript\nvar promisify = require(\"promisify-node\");\n\nvar myObj = {\n  myMethod: function(a, b, cb) {\n    cb(a, b);\n  }\n};\n\n// No need to return anything as the methods will be replaced on the object.\npromisify(myObj);\n\n// Intentionally cause a failure by passing an object and inspect the message.\nmyObj.myMethod({ msg: \"Failure!\" }, null).then(null, function(err) {\n  console.log(err.msg);\n});\n```\n\nWrap without mutating the original:\n```javascript\nvar promisify = require(\"promisify-node\");\n\nvar myObj = {\n  myMethod: function(a, b, cb) {\n    cb(a, b);\n  }\n};\n\n// Store the original method to check later\nvar originalMethod = myObj.myMethod;\n\n// Now store the result, since the 'true' value means it won't mutate 'myObj'.\nvar promisifiedObj = promisify(myObj, undefined, true);\n\n// Intentionally cause a failure by passing an object and inspect the message.\npromisifiedObj.myMethod({ msg: \"Failure!\" }, null).then(null, function(err) {\n  console.log(err.msg);\n});\n\n// The original method is still intact\nassert(myObj.myMethod === originalMethod);\nassert(promisifiedObj.myMethod !== myObj.myMethod);\n```\n\n### Tests ###\n\nRun the tests after installing dependencies with:\n\n``` bash\nnpm test\n```\n","_attachments":{},"homepage":"https://github.com/nodegit/promisify-node#readme","bugs":{"url":"https://github.com/nodegit/promisify-node/issues"},"license":"MIT"}