{"_id":"promisify-call","_rev":"249841","name":"promisify-call","description":"Promisify a function call so users can call a function with a callback or get a promise","dist-tags":{"latest":"2.0.4"},"maintainers":[{"name":"bojand","email":"dbojan@gmail.com"}],"time":{"modified":"2021-06-03T16:11:21.000Z","created":"2016-08-11T13:37:21.652Z","2.0.4":"2017-01-16T17:18:20.453Z","2.0.3":"2017-01-03T17:23:20.135Z","2.0.2":"2016-12-29T19:53:34.111Z","2.0.1":"2016-12-29T19:48:03.580Z","2.0.0":"2016-12-14T00:15:13.928Z","1.0.0":"2016-08-11T13:37:21.652Z"},"users":{},"author":{"name":"Bojan Djurkovic","email":"dbojan@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/bojand/promisify-call.git"},"versions":{"2.0.4":{"name":"promisify-call","version":"2.0.4","description":"Promisify a function call so users can call a function with a callback or get a promise","main":"index.js","scripts":{"test":"ava -v","docs":"jsdoc2md \"index.js\" --heading-depth 3 --template readme.hbs > README.md"},"repository":{"type":"git","url":"git+https://github.com/bojand/promisify-call.git"},"keywords":["promise","callback","promisify"],"author":{"name":"Bojan Djurkovic","email":"dbojan@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/bojand/promisify-call/issues"},"homepage":"https://github.com/bojand/promisify-call#readme","dependencies":{"with-callback":"^1.0.2"},"devDependencies":{"ava":"^0.17.0","babel-eslint":"^7.1.1","jsdoc-to-markdown":"^2.0.1","standard":"^8.5.0"},"engines":{"node":">=4.0"},"ava":{"files":["test/*.test.js"]},"directories":{"test":"test"},"standard":{"parser":"babel-eslint"},"gitHead":"0b36cfdbca45a5593d18d6f024cbb02b356a47b0","_id":"promisify-call@2.0.4","_shasum":"d48c2d45652ccccd52801ddecbd533a6d4bd5fba","_from":".","_npmVersion":"4.0.5","_nodeVersion":"7.4.0","_npmUser":{"name":"bojand","email":"dbojan@gmail.com"},"maintainers":[{"name":"bojand","email":"dbojan@gmail.com"}],"dist":{"shasum":"d48c2d45652ccccd52801ddecbd533a6d4bd5fba","size":3412,"noattachment":false,"key":"/promisify-call/-/promisify-call-2.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/promisify-call/download/promisify-call-2.0.4.tgz"},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/promisify-call-2.0.4.tgz_1484587099758_0.4257927821017802"},"publish_time":1484587100453,"_cnpm_publish_time":1484587100453,"_hasShrinkwrap":false},"2.0.3":{"name":"promisify-call","version":"2.0.3","description":"Promisify a function call so users can call a function with a callback or get a promise","main":"index.js","scripts":{"test":"ava -v","docs":"jsdoc2md \"index.js\" --heading-depth 3 --template readme.hbs > README.md"},"repository":{"type":"git","url":"git+https://github.com/bojand/promisify-call.git"},"keywords":["promise","callback","promisify"],"author":{"name":"Bojan Djurkovic","email":"dbojan@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/bojand/promisify-call/issues"},"homepage":"https://github.com/bojand/promisify-call#readme","dependencies":{"with-callback":"^1.0.2"},"devDependencies":{"ava":"^0.17.0","babel-eslint":"^7.1.1","jsdoc-to-markdown":"^2.0.1","standard":"^8.5.0"},"engines":{"node":">=6.9"},"ava":{"files":["test/*.test.js"]},"directories":{"test":"test"},"standard":{"parser":"babel-eslint"},"gitHead":"c8624e4a55e12d7c4058f1aa05839d2a4edbf49e","_id":"promisify-call@2.0.3","_shasum":"ab930db193ba11545e355c8ea6a537e4f69db880","_from":".","_npmVersion":"3.10.10","_nodeVersion":"7.2.1","_npmUser":{"name":"bojand","email":"dbojan@gmail.com"},"maintainers":[{"name":"bojand","email":"dbojan@gmail.com"}],"dist":{"shasum":"ab930db193ba11545e355c8ea6a537e4f69db880","size":3381,"noattachment":false,"key":"/promisify-call/-/promisify-call-2.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/promisify-call/download/promisify-call-2.0.3.tgz"},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/promisify-call-2.0.3.tgz_1483464199308_0.31962414900772274"},"publish_time":1483464200135,"_cnpm_publish_time":1483464200135,"_hasShrinkwrap":false},"2.0.2":{"name":"promisify-call","version":"2.0.2","description":"Promisify a function call so users can call a function with a callback or get a promise","main":"index.js","scripts":{"test":"ava -v","docs":"jsdoc2md \"index.js\" --heading-depth 3 --template readme.hbs > README.md"},"repository":{"type":"git","url":"git+https://github.com/bojand/promisify-call.git"},"keywords":["promise","callback","promisify"],"author":{"name":"Bojan Djurkovic","email":"dbojan@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/bojand/promisify-call/issues"},"homepage":"https://github.com/bojand/promisify-call#readme","dependencies":{"with-callback":"^1.0.2"},"devDependencies":{"ava":"^0.17.0","babel-eslint":"^7.1.1","jsdoc-to-markdown":"^2.0.1","standard":"^8.5.0"},"engines":{"node":">=6.9"},"ava":{"files":["test/*.test.js"]},"directories":{"test":"test"},"standard":{"parser":"babel-eslint"},"gitHead":"a16b43867a09a076e2912fed7e13b4dc9383d88b","_id":"promisify-call@2.0.2","_shasum":"c76296c696871c80aec27b6c1157cdd61d3a5705","_from":".","_npmVersion":"3.10.10","_nodeVersion":"7.2.1","_npmUser":{"name":"bojand","email":"dbojan@gmail.com"},"maintainers":[{"name":"bojand","email":"dbojan@gmail.com"}],"dist":{"shasum":"c76296c696871c80aec27b6c1157cdd61d3a5705","size":3372,"noattachment":false,"key":"/promisify-call/-/promisify-call-2.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/promisify-call/download/promisify-call-2.0.2.tgz"},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/promisify-call-2.0.2.tgz_1483041213451_0.8826602764893323"},"publish_time":1483041214111,"_cnpm_publish_time":1483041214111,"_hasShrinkwrap":false},"2.0.1":{"name":"promisify-call","version":"2.0.1","description":"Promisify a function call so users can call a function with a callback or get a promise","main":"index.js","scripts":{"test":"ava -v","docs":"jsdoc2md \"index.js\" --heading-depth 3 --template readme.hbs > README.md"},"repository":{"type":"git","url":"git+https://github.com/bojand/promisify-call.git"},"keywords":["promise","callback","promisify"],"author":{"name":"Bojan Djurkovic","email":"dbojan@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/bojand/promisify-call/issues"},"homepage":"https://github.com/bojand/promisify-call#readme","dependencies":{"with-callback":"^1.0.2"},"devDependencies":{"ava":"^0.17.0","babel-eslint":"^7.1.1","jsdoc-to-markdown":"^2.0.1","standard":"^8.5.0"},"engines":{"node":">=4"},"ava":{"files":["test/*.test.js"]},"directories":{"test":"test"},"standard":{"parser":"babel-eslint"},"gitHead":"63653a39c1cd23871339d87a8277f10322cefa5d","_id":"promisify-call@2.0.1","_shasum":"15b46d79f45cc892aa29dbdedd7419d1c746c6a3","_from":".","_npmVersion":"3.10.10","_nodeVersion":"7.2.1","_npmUser":{"name":"bojand","email":"dbojan@gmail.com"},"maintainers":[{"name":"bojand","email":"dbojan@gmail.com"}],"dist":{"shasum":"15b46d79f45cc892aa29dbdedd7419d1c746c6a3","size":3370,"noattachment":false,"key":"/promisify-call/-/promisify-call-2.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/promisify-call/download/promisify-call-2.0.1.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/promisify-call-2.0.1.tgz_1483040881745_0.09444914688356221"},"publish_time":1483040883580,"_cnpm_publish_time":1483040883580,"_hasShrinkwrap":false},"2.0.0":{"name":"promisify-call","version":"2.0.0","description":"Promisify a function call so users can call a function with a callback or get a promise","main":"index.js","scripts":{"test":"ava -v","docs":"jsdoc2md \"index.js\" --heading-depth 3 --template readme.hbs > README.md"},"repository":{"type":"git","url":"git+https://github.com/bojand/promisify-call.git"},"keywords":["promise","callback","promisify"],"author":{"name":"Bojan Djurkovic","email":"dbojan@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/bojand/promisify-call/issues"},"homepage":"https://github.com/bojand/promisify-call#readme","dependencies":{"with-callback":"^1.0.2"},"devDependencies":{"ava":"^0.17.0","babel-eslint":"^7.1.1","jsdoc-to-markdown":"^2.0.1","standard":"^8.5.0"},"engines":{"node":">=4"},"ava":{"files":["test/*.test.js"]},"directories":{"test":"test"},"standard":{"parser":"babel-eslint"},"gitHead":"15529db6aee29d614498514ec22edc1ae9a50738","_id":"promisify-call@2.0.0","_shasum":"08d6d52a5642e5620fc94fc20ed66ca1af0e4bd6","_from":".","_npmVersion":"3.10.10","_nodeVersion":"7.2.1","_npmUser":{"name":"bojand","email":"dbojan@gmail.com"},"maintainers":[{"name":"bojand","email":"dbojan@gmail.com"}],"dist":{"shasum":"08d6d52a5642e5620fc94fc20ed66ca1af0e4bd6","size":3019,"noattachment":false,"key":"/promisify-call/-/promisify-call-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/promisify-call/download/promisify-call-2.0.0.tgz"},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/promisify-call-2.0.0.tgz_1481674513286_0.7082077681552619"},"publish_time":1481674513928,"_cnpm_publish_time":1481674513928,"_hasShrinkwrap":false},"1.0.0":{"name":"promisify-call","version":"1.0.0","description":"Promisify a function call so users can call a function with a callback or get a promise","main":"index.js","scripts":{"test":"npm run dist && ava -v","dist":"node ./node_modules/babel-cli/bin/babel.js promisify.js --out-file index.js","docs":"jsdoc2md \"promisify.js\" --heading-depth 3 --template readme.hbs > README.md","prepublish":"npm run dist"},"repository":{"type":"git","url":"git+https://github.com/bojand/promisify-call.git"},"keywords":["promise","callback","promisify"],"author":{"name":"Bojan Djurkovic","email":"dbojan@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/bojand/promisify-call/issues"},"homepage":"https://github.com/bojand/promisify-call#readme","dependencies":{"bluebird":"^3.4.1"},"devDependencies":{"ava":"^0.16.0","babel-cli":"^6.11.4","babel-preset-es2015":"^6.13.2","xo":"^0.16.0"},"ava":{"files":["test/*.test.js"]},"directories":{"test":"test"},"xo":{"envs":["node","es6","mocha"],"esnext":true,"space":true,"rules":{"babel/arrow-parens":0,"babel/object-curly-spacing":0,"babel/object-shorthand":1,"brace-style":[0,"1tbs",{"allowSingleLine":false}],"no-else-return":1,"no-unused-vars":1,"no-prototype-builtins":0,"import/namespace":0},"ignores":["test/**"]},"gitHead":"c4b9e76bc4c5c386c209a171cf93e9e81c4d1b51","_id":"promisify-call@1.0.0","_shasum":"d766f8bc4ba6c96c21498718cfbd760b203067af","_from":".","_npmVersion":"2.15.0","_nodeVersion":"4.4.2","_npmUser":{"name":"bojand","email":"dbojan@gmail.com"},"maintainers":[{"name":"bojand","email":"dbojan@gmail.com"}],"dist":{"shasum":"d766f8bc4ba6c96c21498718cfbd760b203067af","size":3405,"noattachment":false,"key":"/promisify-call/-/promisify-call-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/promisify-call/download/promisify-call-1.0.0.tgz"},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/promisify-call-1.0.0.tgz_1470922640526_0.7805999023839831"},"publish_time":1470922641652,"_cnpm_publish_time":1470922641652,"_hasShrinkwrap":false}},"readme":"# promisify-call\n\n[![npm version](https://img.shields.io/npm/v/promisify-call.svg?style=flat-square)](https://www.npmjs.com/package/promisify-call)\n[![build status](https://img.shields.io/travis/bojand/promisify-call/master.svg?style=flat-square)](https://travis-ci.org/bojand/promisify-call)\n\nPromisify a function call so users can call a function with a callback or get a promise.\n* **2.0** works only with native `Promise` so requires Node >= 4.0.\n* **1.0** uses [Bluebird](www.bluebirdjs.com) and should work with older Node.js\n\n## Installation\n\n`npm install promisify-call`\n\n## Usage\n\n```js\nfunction _uppercase(param, fn) {\n  setTimeout(() => {\n    return fn(null, param.toUpperCase());\n  }, 50);\n}\n\nfunction uppercase(param, fn) {\n  return promisifyCall(this, _uppercase, ...arguments);\n}\n\n// now we can call it using callback-style\nuppercase('foo', (err, res) => {\n  console.log(res); // FOO\n});\n\n// OR promise style\nconst res = await uppercase('foo');\nconsole.log(res); // FOO\n```\n\n## API Reference\n\n<a name=\"promisifyCall\"></a>\n\n### promisifyCall(ctx, fn, args) ⇒ <code>undefined</code> &#124; <code>\\*</code> &#124; <code>Promise</code>\nPromisifies the call to <code>fn</code> if appropriate given the arguments.\nCalls the function <code>fn</code> either using callback style if last argument is a function.\nIf last argument is not a function, <code>fn</code> is called returning a promise.\nThis lets you create API that can be called in either fashions.\n\n**Kind**: global function  \n**Returns**: <code>undefined</code> &#124; <code>\\*</code> &#124; <code>Promise</code> - Promise if promisified  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| ctx | <code>Object</code> | context / this |\n| fn | <code>function</code> | The function to call |\n| args | <code>arguments</code> | Arguments |\n\n## License\n\nCopyright 2015 Bojan D.\n\nLicensed under the MIT License.\n","_attachments":{},"homepage":"https://github.com/bojand/promisify-call#readme","bugs":{"url":"https://github.com/bojand/promisify-call/issues"},"license":"MIT"}