{"maintainers":[{"name":"digitaldesignlabs","email":"hello@digitaldesignlabs.com"},{"name":"mikehall314","email":"mikehall314@gmail.com"}],"keywords":["promises","es6","promisify"],"dist-tags":{"latest":"5.0.0"},"author":{"name":"Mike Hall","email":"mikehall314@gmail.com"},"description":"Converts callback-based functions to ES6 Promises","readme":"[![Travis CI](https://travis-ci.org/digitaldesignlabs/es6-promisify.svg)](https://travis-ci.org/digitaldesignlabs/es6-promisify)\n\n# es6-promisify\n\nConverts callback-based functions to Promise-based functions.\n\n## Install\n\nInstall with [npm](https://npmjs.org/package/es6-promisify)\n\n```bash\nnpm install --save es6-promisify\n```\n\n## Example\n\n```js\n\"use strict\";\n\n// Declare variables\nconst promisify = require(\"es6-promisify\");\nconst fs = require(\"fs\");\n\n// Convert the stat function\nconst stat = promisify(fs.stat);\n\n// Now usable as a promise!\nstat(\"example.txt\").then(function (stats) {\n    console.log(\"Got stats\", stats);\n}).catch(function (err) {\n    console.error(\"Yikes!\", err);\n});\n```\n\n## Promisify methods\n```js\n\"use strict\";\n\n// Declare variables\nconst promisify = require(\"es6-promisify\");\nconst redis = require(\"redis\").createClient(6379, \"localhost\");\n\n// Create a promise-based version of send_command\nconst client = promisify(redis.send_command, redis);\n\n// Send commands to redis and get a promise back\nclient(\"ping\").then(function (pong) {\n    console.log(\"Got\", pong);\n}).catch(function (err) {\n    console.error(\"Unexpected error\", err);\n}).then(function () {\n    redis.quit();\n});\n```\n\n## Handle callback multiple arguments\n```js\n\"use strict\";\n\n// Declare functions\nfunction test(cb) {\n    return cb(undefined, 1, 2, 3);\n}\n\n// Declare variables\nconst promisify = require(\"es6-promisify\");\n\n// Create promise-based version of test\nconst single = promisify(test);\nconst multi = promisify(test, {multiArgs: true});\n\n// Discards additional arguments\nsingle().then(function (result) {\n    console.log(result); // 1\n});\n\n// Returns all arguments as an array\nmulti().then(function (result) {\n    console.log(result); // [1, 2, 3]\n});\n```\n\n### Tests\nTest with nodeunit\n```bash\n$ npm test\n```\n\nPublished under the [MIT License](http://opensource.org/licenses/MIT).\n","repository":{"type":"git","url":"git+https://github.com/digitaldesignlabs/es6-promisify.git"},"users":{"standy":true,"sylchamber":true,"tobiasnickel":true,"nickeltobias":true,"shanemileham":true,"joebentley":true,"wilsonsilva":true,"chrisco":true,"tiendq":true,"zhiquan_yu":true,"jlagunas":true,"spences10":true,"n3gu":true,"panlw":true,"tedyhy":true,"kaashin":true,"larrychen":true,"drazisil":true},"bugs":{"url":"http://github.com/digitaldesignlabs/es6-promisify/issues"},"license":"MIT","versions":{"0.1.0":{"name":"es6-promisify","version":"0.1.0","description":"Converts many callback-based functions to ES6 Promises","main":"lib/promisify.js","author":{"name":"Mike Hall","email":"mikehall314@gmail.com"},"license":"MIT","dependencies":{"es6-promise":"^0.1.1"},"files":["lib/promisify.js"],"repository":{"type":"git","url":"https://github.com/twistdigital/es6-promisify.git"},"bugs":{"url":"https://github.com/twistdigital/es6-promisify/issues"},"homepage":"https://github.com/twistdigital/es6-promisify","_id":"es6-promisify@0.1.0","dist":{"shasum":"b9a88624b70495d9334fc30c71022c79567e66a2","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/es6-promisify/-/es6-promisify-0.1.0.tgz"},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"twistdigital","email":"contact@twistdigital.co.uk"},"maintainers":[{"name":"twistdigital","email":"contact@twistdigital.co.uk"}],"directories":{}},"1.0.0":{"name":"es6-promisify","version":"1.0.0","description":"Converts callback-based functions to ES6 Promises","main":"lib/promisify.js","author":{"name":"Mike Hall","email":"mikehall314@gmail.com"},"keywords":["promises","es6","promisify"],"license":"MIT","dependencies":{"es6-promise":"^1.0.0"},"scripts":{"test":"nodeunit tests"},"bugs":{"url":"http://github.com/twistdigital/es6-promisify/issues"},"files":["lib/promisify.js"],"repository":{"type":"git","url":"https://github.com/twistdigital/es6-promisify.git"},"devDependencies":{"nodeunit":"^0.9.0"},"homepage":"https://github.com/twistdigital/es6-promisify","_id":"es6-promisify@1.0.0","_shasum":"614ad2920e5da9bb4acf8393276441c29efda9cf","_from":".","_npmVersion":"1.4.7","_npmUser":{"name":"twistdigital","email":"contact@twistdigital.co.uk"},"maintainers":[{"name":"twistdigital","email":"contact@twistdigital.co.uk"}],"dist":{"shasum":"614ad2920e5da9bb4acf8393276441c29efda9cf","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/es6-promisify/-/es6-promisify-1.0.0.tgz"},"directories":{}},"1.0.1":{"name":"es6-promisify","version":"1.0.1","description":"Converts callback-based functions to ES6 Promises","main":"lib/promisify.js","author":{"name":"Mike Hall","email":"mikehall314@gmail.com"},"keywords":["promises","es6","promisify"],"license":"MIT","dependencies":{"es6-promise":"^1.0.0"},"scripts":{"test":"nodeunit tests"},"bugs":{"url":"http://github.com/twistdigital/es6-promisify/issues"},"files":["lib/promisify.js"],"repository":{"type":"git","url":"https://github.com/twistdigital/es6-promisify.git"},"devDependencies":{"nodeunit":"^0.9.0"},"gitHead":"05d394f4cd10b4c292954a32f06ced7191430001","homepage":"https://github.com/twistdigital/es6-promisify","_id":"es6-promisify@1.0.1","_shasum":"9c187194fbd6ae53f14306832fe0c92b9796830e","_from":".","_npmVersion":"1.4.16","_npmUser":{"name":"twistdigital","email":"contact@twistdigital.co.uk"},"maintainers":[{"name":"twistdigital","email":"contact@twistdigital.co.uk"}],"dist":{"shasum":"9c187194fbd6ae53f14306832fe0c92b9796830e","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/es6-promisify/-/es6-promisify-1.0.1.tgz"},"directories":{}},"1.0.2":{"name":"es6-promisify","version":"1.0.2","description":"Converts callback-based functions to ES6 Promises","main":"lib/promisify.js","author":{"name":"Mike Hall","email":"mikehall314@gmail.com"},"keywords":["promises","es6","promisify"],"license":"MIT","dependencies":{"es6-promise":"^1.0.0"},"scripts":{"test":"nodeunit tests"},"bugs":{"url":"http://github.com/twistdigital/es6-promisify/issues"},"files":["lib/promisify.js"],"repository":{"type":"git","url":"https://github.com/twistdigital/es6-promisify.git"},"devDependencies":{"nodeunit":"^0.9.0"},"gitHead":"43444e1ee384257e1d1d9c31246f5e0b85e6a05d","homepage":"https://github.com/twistdigital/es6-promisify","_id":"es6-promisify@1.0.2","_shasum":"6304f1059fac1b481d58e63ec2f56056aa8b9d01","_from":".","_npmVersion":"1.5.0-alpha-1","_npmUser":{"name":"twistdigital","email":"contact@twistdigital.co.uk"},"maintainers":[{"name":"twistdigital","email":"contact@twistdigital.co.uk"}],"dist":{"shasum":"6304f1059fac1b481d58e63ec2f56056aa8b9d01","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/es6-promisify/-/es6-promisify-1.0.2.tgz"},"directories":{}},"1.1.0":{"name":"es6-promisify","version":"1.1.0","description":"Converts callback-based functions to ES6 Promises","main":"lib/promisify.js","author":{"name":"Mike Hall","email":"mikehall314@gmail.com"},"keywords":["promises","es6","promisify"],"license":"MIT","dependencies":{"es6-promise":"^1.0.0"},"scripts":{"test":"nodeunit tests"},"bugs":{"url":"http://github.com/twistdigital/es6-promisify/issues"},"files":["lib/promisify.js"],"repository":{"type":"git","url":"https://github.com/twistdigital/es6-promisify.git"},"devDependencies":{"nodeunit":"^0.9.0"},"gitHead":"b43125fb5b7d85bfcbe889e8ff6eceab5cf0895c","homepage":"https://github.com/twistdigital/es6-promisify","_id":"es6-promisify@1.1.0","_shasum":"cf625ed8b7adb0582091b7404321f974d4014272","_from":".","_npmVersion":"1.4.24","_npmUser":{"name":"twistdigital","email":"contact@twistdigital.co.uk"},"maintainers":[{"name":"twistdigital","email":"contact@twistdigital.co.uk"}],"dist":{"shasum":"cf625ed8b7adb0582091b7404321f974d4014272","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/es6-promisify/-/es6-promisify-1.1.0.tgz"},"directories":{}},"1.1.1":{"name":"es6-promisify","version":"1.1.1","description":"Converts callback-based functions to ES6 Promises","main":"lib/promisify.js","author":{"name":"Mike Hall","email":"mikehall314@gmail.com"},"keywords":["promises","es6","promisify"],"license":"MIT","dependencies":{"es6-promise":"^1.0.0"},"scripts":{"test":"nodeunit tests"},"bugs":{"url":"http://github.com/twistdigital/es6-promisify/issues"},"files":["lib/promisify.js","lib/promise.js"],"repository":{"type":"git","url":"https://github.com/twistdigital/es6-promisify.git"},"devDependencies":{"nodeunit":"^0.9.0"},"gitHead":"b3f5510ac18f6233135e5df05da0bdaecf705435","homepage":"https://github.com/twistdigital/es6-promisify","_id":"es6-promisify@1.1.1","_shasum":"b896a8b14f9c66b2be9f8105b619c1856e79be3b","_from":".","_npmVersion":"1.4.24","_npmUser":{"name":"twistdigital","email":"contact@twistdigital.co.uk"},"maintainers":[{"name":"twistdigital","email":"contact@twistdigital.co.uk"}],"dist":{"shasum":"b896a8b14f9c66b2be9f8105b619c1856e79be3b","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/es6-promisify/-/es6-promisify-1.1.1.tgz"},"directories":{}},"2.0.0":{"name":"es6-promisify","version":"2.0.0","description":"Converts callback-based functions to ES6 Promises","main":"lib/promisify.js","author":{"name":"Mike Hall","email":"mikehall314@gmail.com"},"keywords":["promises","es6","promisify"],"license":"MIT","dependencies":{"es6-promise":"^2.3.0"},"scripts":{"pretest":"jslint ./lib/* ./tests/*","test":"nodeunit tests"},"bugs":{"url":"http://github.com/twistdigital/es6-promisify/issues"},"files":["lib/promisify.js","lib/promise.js"],"repository":{"type":"git","url":"git+https://github.com/twistdigital/es6-promisify.git"},"devDependencies":{"jslint":"^0.9.0","nodeunit":"^0.9.0"},"gitHead":"c49287dcbebd405914586a2b8a4af8b1efeedc23","homepage":"https://github.com/twistdigital/es6-promisify#readme","_id":"es6-promisify@2.0.0","_shasum":"6baf0486077028fe4b8cc735ff02124f470747a2","_from":".","_npmVersion":"2.11.1","_nodeVersion":"0.12.4","_npmUser":{"name":"twistdigital","email":"contact@twistdigital.co.uk"},"maintainers":[{"name":"twistdigital","email":"contact@twistdigital.co.uk"}],"dist":{"shasum":"6baf0486077028fe4b8cc735ff02124f470747a2","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/es6-promisify/-/es6-promisify-2.0.0.tgz"},"directories":{}},"3.0.0":{"name":"es6-promisify","version":"3.0.0","description":"Converts callback-based functions to ES6 Promises","main":"dist/promisify.js","author":{"name":"Mike Hall","email":"mikehall314@gmail.com"},"keywords":["promises","es6","promisify"],"license":"MIT","dependencies":{"es6-promise":"^3.0.2"},"scripts":{"pretest":"./node_modules/jslint/bin/jslint.js --edition=\"2015-05-08\" ./lib/*.js ./tests/*.js","test":"gulp && nodeunit tests"},"bugs":{"url":"http://github.com/twistdigital/es6-promisify/issues"},"files":["dist/promisify.js","dist/promise.js"],"repository":{"type":"git","url":"git+https://github.com/twistdigital/es6-promisify.git"},"devDependencies":{"gulp":"^3.9.0","gulp-babel":"^5.2.0","jslint":"^0.9.3","nodeunit":"^0.9.1"},"gitHead":"72144b95325cfe64a432bbfcdd592ecd836b9e95","homepage":"https://github.com/twistdigital/es6-promisify#readme","_id":"es6-promisify@3.0.0","_shasum":"22226b92957317f965247edfde9295f83efebe86","_from":".","_npmVersion":"2.13.4","_nodeVersion":"3.0.0","_npmUser":{"name":"digitaldesignlabs","email":"hello@digitaldesignlabs.com"},"dist":{"shasum":"22226b92957317f965247edfde9295f83efebe86","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/es6-promisify/-/es6-promisify-3.0.0.tgz"},"maintainers":[{"name":"digitaldesignlabs","email":"hello@digitaldesignlabs.com"}],"directories":{}},"4.0.0":{"name":"es6-promisify","version":"4.0.0","description":"Converts callback-based functions to ES6 Promises","main":"dist/promisify.js","author":{"name":"Mike Hall","email":"mikehall314@gmail.com"},"keywords":["promises","es6","promisify"],"license":"MIT","dependencies":{"es6-promise":"^3.1.2"},"scripts":{"pretest":"./node_modules/jslint/bin/jslint.js --edition=\"2015-05-08\" ./lib/*.js ./tests/*.js","test":"gulp && nodeunit tests"},"bugs":{"url":"http://github.com/digitaldesignlabs/es6-promisify/issues"},"files":["dist/promisify.js","dist/promise.js"],"repository":{"type":"git","url":"git+https://github.com/digitaldesignlabs/es6-promisify.git"},"devDependencies":{"babel-preset-es2015":"^6.6.0","gulp":"^3.9.1","gulp-babel":"^6.1.2","jslint":"^0.9.6","nodeunit":"^0.9.1"},"gitHead":"715904d326f5d89fdda539625d8eaaf34da900cf","homepage":"https://github.com/digitaldesignlabs/es6-promisify#readme","_id":"es6-promisify@4.0.0","_shasum":"78c1ffcd848ce233fd9629feaa5371ca6dcdf4b8","_from":".","_npmVersion":"3.8.3","_nodeVersion":"5.9.1","_npmUser":{"name":"digitaldesignlabs","email":"hello@digitaldesignlabs.com"},"dist":{"shasum":"78c1ffcd848ce233fd9629feaa5371ca6dcdf4b8","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/es6-promisify/-/es6-promisify-4.0.0.tgz"},"maintainers":[{"name":"digitaldesignlabs","email":"hello@digitaldesignlabs.com"},{"name":"mikehall314","email":"mikehall314@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/es6-promisify-4.0.0.tgz_1459525849967_0.32798763434402645"},"directories":{}},"4.1.0":{"name":"es6-promisify","version":"4.1.0","description":"Converts callback-based functions to ES6 Promises","main":"dist/promisify.js","author":{"name":"Mike Hall","email":"mikehall314@gmail.com"},"keywords":["promises","es6","promisify"],"license":"MIT","dependencies":{"es6-promise":"^3.2.1"},"scripts":{"pretest":"./node_modules/jslint/bin/jslint.js --edition=\"2015-05-08\" ./lib/*.js ./tests/*.js","test":"gulp && nodeunit tests"},"bugs":{"url":"http://github.com/digitaldesignlabs/es6-promisify/issues"},"files":["dist/promisify.js","dist/promise.js"],"repository":{"type":"git","url":"git+https://github.com/digitaldesignlabs/es6-promisify.git"},"devDependencies":{"babel-preset-es2015":"^6.9.0","gulp":"^3.9.1","gulp-babel":"^6.1.2","jslint":"^0.10.0","nodeunit":"^0.9.1"},"gitHead":"a472964db76fd4db43568cc65f1de96430f6e213","homepage":"https://github.com/digitaldesignlabs/es6-promisify#readme","_id":"es6-promisify@4.1.0","_shasum":"dbcc1a3e93fdb8e9e709744182b7d2080c03fdb3","_from":".","_npmVersion":"3.9.1","_nodeVersion":"6.1.0","_npmUser":{"name":"digitaldesignlabs","email":"hello@digitaldesignlabs.com"},"dist":{"shasum":"dbcc1a3e93fdb8e9e709744182b7d2080c03fdb3","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/es6-promisify/-/es6-promisify-4.1.0.tgz"},"maintainers":[{"name":"digitaldesignlabs","email":"hello@digitaldesignlabs.com"},{"name":"mikehall314","email":"mikehall314@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/es6-promisify-4.1.0.tgz_1463654863707_0.5240594602655619"},"directories":{}},"5.0.0":{"name":"es6-promisify","version":"5.0.0","description":"Converts callback-based functions to ES6 Promises","main":"dist/promisify.js","author":{"name":"Mike Hall","email":"mikehall314@gmail.com"},"keywords":["promises","es6","promisify"],"license":"MIT","dependencies":{"es6-promise":"^4.0.3"},"scripts":{"pretest":"./node_modules/eslint/bin/eslint.js ./lib/*.js ./tests/*.js","test":"gulp && nodeunit tests"},"bugs":{"url":"http://github.com/digitaldesignlabs/es6-promisify/issues"},"files":["dist/promisify.js","dist/promise.js"],"repository":{"type":"git","url":"git+https://github.com/digitaldesignlabs/es6-promisify.git"},"devDependencies":{"babel-preset-es2015":"^6.9.0","eslint":"^2.13.1","gulp":"^3.9.1","gulp-babel":"^6.1.2","nodeunit":"^0.10.0"},"greenkeeper":{"ignore":["eslint"]},"gitHead":"7eb2f5e9ae858742d495978efebafaee6719da97","homepage":"https://github.com/digitaldesignlabs/es6-promisify#readme","_id":"es6-promisify@5.0.0","_shasum":"5109d62f3e56ea967c4b63505aef08291c8a5203","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.6.0","_npmUser":{"name":"digitaldesignlabs","email":"hello@digitaldesignlabs.com"},"dist":{"shasum":"5109d62f3e56ea967c4b63505aef08291c8a5203","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/es6-promisify/-/es6-promisify-5.0.0.tgz"},"maintainers":[{"name":"digitaldesignlabs","email":"hello@digitaldesignlabs.com"},{"name":"mikehall314","email":"mikehall314@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/es6-promisify-5.0.0.tgz_1475062709197_0.16741771437227726"},"directories":{}}},"name":"es6-promisify","time":{"modified":"2017-07-26T16:36:20.424Z","created":"2014-04-15T15:53:01.037Z","0.1.0":"2014-04-15T15:53:01.037Z","1.0.0":"2014-05-14T17:10:14.285Z","1.0.1":"2014-06-24T12:13:16.403Z","1.0.2":"2014-07-30T20:06:35.036Z","1.1.0":"2014-09-08T11:48:25.513Z","1.1.1":"2014-09-16T22:19:38.518Z","2.0.0":"2015-06-15T08:45:34.859Z","3.0.0":"2015-08-17T17:11:20.270Z","4.0.0":"2016-04-01T15:50:52.435Z","4.1.0":"2016-05-19T10:47:46.118Z","5.0.0":"2016-09-28T11:38:31.006Z"},"readmeFilename":"README.md","homepage":"https://github.com/digitaldesignlabs/es6-promisify#readme"}