{"maintainers":[{"name":"anonymous","email":"dbojan@gmail.com"}],"keywords":["promise","callback","promisify"],"dist-tags":{"latest":"2.0.4"},"author":{"name":"Bojan Djurkovic","email":"dbojan@gmail.com"},"description":"Promisify a function call so users can call a function with a callback or get a promise","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","repository":{"type":"git","url":"git+https://github.com/bojand/promisify-call.git"},"bugs":{"url":"https://github.com/bojand/promisify-call/issues"},"license":"MIT","versions":{"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":"anonymous","email":"dbojan@gmail.com"},"maintainers":[{"name":"anonymous","email":"dbojan@gmail.com"}],"dist":{"shasum":"d766f8bc4ba6c96c21498718cfbd760b203067af","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/promisify-call/-/promisify-call-1.0.0.tgz","integrity":"sha512-d4IZFLkNLvVQ7fiB6+rBVL4AI49fHEyLd9padan1EAyt6zzK5czJfQ/petmxcJ0y9U5xyWuhkoYChMgf0MiUaA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCVHYSyovPXJdYNnXYjiQ2XVjINKG1lMivT2qGltiE25wIhALxp0Poi/ybOz0ZmZLsaY2Kv5SU/ffcDhUT+LffKGr7P"}]},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/promisify-call-1.0.0.tgz_1470922640526_0.7805999023839831"}},"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":"anonymous","email":"dbojan@gmail.com"},"maintainers":[{"name":"anonymous","email":"dbojan@gmail.com"}],"dist":{"shasum":"08d6d52a5642e5620fc94fc20ed66ca1af0e4bd6","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/promisify-call/-/promisify-call-2.0.0.tgz","integrity":"sha512-YgwHzyrwXANdnJICBE+YNkrgvTEOY7TjFGVmg+d//EcK4ZY+dPC5xvtyPiBn4VwEOlg1QBxAP3/hTvoDtAQiEA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHOjDOXDUwxNU85ilDqmIJVUkTNYrO72D4k04oiLKaSzAiB8gWR3YCMHAq1+AclrJYKspcAeI+onuei2r0ZBck9P3A=="}]},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/promisify-call-2.0.0.tgz_1481674513286_0.7082077681552619"}},"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":"anonymous","email":"dbojan@gmail.com"},"maintainers":[{"name":"anonymous","email":"dbojan@gmail.com"}],"dist":{"shasum":"15b46d79f45cc892aa29dbdedd7419d1c746c6a3","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/promisify-call/-/promisify-call-2.0.1.tgz","integrity":"sha512-X/ZUdNhp/YPcNNfO96qnyKecszGLs3TzINrtWk13ibtuTeL5EKdKQ0DfVVXyjxmHAN75uebR4ofABmnc8nIcKg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCJW0D0G4oVadxsSgqhl+XrOS+98ff1bq365MxRJWcA2gIhAKEGkYYoy1xjsyzUtk1YSnD7BzNE/no7wxpTfjJWvhZ4"}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/promisify-call-2.0.1.tgz_1483040881745_0.09444914688356221"}},"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":"anonymous","email":"dbojan@gmail.com"},"maintainers":[{"name":"anonymous","email":"dbojan@gmail.com"}],"dist":{"shasum":"c76296c696871c80aec27b6c1157cdd61d3a5705","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/promisify-call/-/promisify-call-2.0.2.tgz","integrity":"sha512-5veVCrY2R/fttLZ95cLH0ioP4C1DxiFsDoRMj2KJRRtsZCTLIstnGNOywLvfoKvJqsoBLcDDhCJKIbsLS6jDMw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKyM6EMchuXq3qiJvDtLXc9nUHOIB6sxfpjnHtmgT1ywIhAL8DG3F95xWJvGe0sa3UDhg57FUZT8Fxb2xUxS0LIDom"}]},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/promisify-call-2.0.2.tgz_1483041213451_0.8826602764893323"}},"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":"anonymous","email":"dbojan@gmail.com"},"maintainers":[{"name":"anonymous","email":"dbojan@gmail.com"}],"dist":{"shasum":"ab930db193ba11545e355c8ea6a537e4f69db880","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/promisify-call/-/promisify-call-2.0.3.tgz","integrity":"sha512-HoWviYpx48vfIwPWHCGm8/LywmslrYCQaQBq5D1g7Um1WSIj67lfFOgzgUIS6ZzH4ve/aYoP21pdbGvKfY+/gg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICAutU+Lio7o5Fp1krMPwFpRhbcYEvL0N/xQy4WO3jK8AiEAhoXT/uadE8i6Dm3fc8kBumjGbnsARlBIZ9gLCOa+QSs="}]},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/promisify-call-2.0.3.tgz_1483464199308_0.31962414900772274"}},"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":"anonymous","email":"dbojan@gmail.com"},"maintainers":[{"name":"anonymous","email":"dbojan@gmail.com"}],"dist":{"shasum":"d48c2d45652ccccd52801ddecbd533a6d4bd5fba","tarball":"http://repository.ncinga.com/nexus/content/groups/npm-all/promisify-call/-/promisify-call-2.0.4.tgz","integrity":"sha512-ZX68J1+1Pe0I8NC0P6Ji3fDDcJceVfpoygfDLgdb1fp5vW9IRlwSpDaxe1T5HgwchyHV2DsL/pWzWikUiWEbLQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBdcyQLeKMaPwRjCfDe/DTTXYxh8yii85hU9JvxJNh8NAiBqpD9yKtkWWDfxHn904bAPZzYcfSG/oA3uiT3GIMZyGA=="}]},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/promisify-call-2.0.4.tgz_1484587099758_0.4257927821017802"}}},"name":"promisify-call","time":{"modified":"2022-06-24T19:42:20.816Z","created":"2016-08-11T13:37:21.652Z","1.0.0":"2016-08-11T13:37:21.652Z","3.0.0":"2016-12-14T00:09:00.688Z","2.0.0":"2016-12-14T00:15:13.928Z","2.0.1":"2016-12-29T19:48:03.580Z","2.0.2":"2016-12-29T19:53:34.111Z","2.0.3":"2017-01-03T17:23:20.135Z","2.0.4":"2017-01-16T17:18:20.453Z"},"readmeFilename":"README.md","homepage":"https://github.com/bojand/promisify-call#readme"}