{"versions":{"1.1.2":{"name":"@gar/promisify","version":"1.1.2","description":"","main":"index.js","repository":{"type":"git","url":"git+https://github.com/wraithgar/gar-promisify.git"},"scripts":{"lint":"standard","lint:fix":"standard --fix","test":"lab -a @hapi/code -t 100","posttest":"npm run lint"},"keywords":["promisify","all","class","object"],"author":{"name":"Gar","email":"gar+npm@danger.computer"},"license":"MIT","devDependencies":{"@hapi/code":"^8.0.1","@hapi/lab":"^24.1.0","standard":"^16.0.3"},"gitHead":"5e8418e14128ede05ceba63db0f9baa60a2e1bad","bugs":{"url":"https://github.com/wraithgar/gar-promisify/issues"},"homepage":"https://github.com/wraithgar/gar-promisify#readme","_id":"@gar/promisify@1.1.2","_nodeVersion":"14.17.1","_npmVersion":"7.20.0","dist":{"shasum":"30aa825f11d438671d585bd44e7fd564535fc210","size":1426,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@gar/promisify/-/promisify-1.1.2.tgz"},"_npmUser":{"name":"anonymous","email":"gar+npm@danger.computer"},"directories":{},"maintainers":[{"name":"anonymous","email":"gar+npm@danger.computer"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/promisify_1.1.2_1626901605936_0.47117714217546713"},"_hasShrinkwrap":false,"publish_time":1626901606093,"_cnpm_publish_time":1626901606093,"contributors":[]},"1.1.1":{"name":"@gar/promisify","version":"1.1.1","description":"","main":"index.js","repository":{"type":"git","url":"git+https://github.com/wraithgar/gar-promisify.git"},"scripts":{"lint":"standard","lint:fix":"standard --fix","test":"lab -a @hapi/code -t 100","posttest":"npm run lint"},"keywords":["promisify","all","class","object"],"author":{"name":"Gar","email":"gar+npm@danger.computer"},"license":"MIT","devDependencies":{"@hapi/code":"^8.0.1","@hapi/lab":"^24.1.0","standard":"^16.0.3"},"gitHead":"da4b9c711ab4011d3bbea9a892cd46a0306c44a7","bugs":{"url":"https://github.com/wraithgar/gar-promisify/issues"},"homepage":"https://github.com/wraithgar/gar-promisify#readme","_id":"@gar/promisify@1.1.1","_nodeVersion":"14.17.1","_npmVersion":"7.20.0","dist":{"shasum":"42dd036a9ab8c0ef25753a0be9540e53200c7f8e","size":1426,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@gar/promisify/-/promisify-1.1.1.tgz"},"_npmUser":{"name":"anonymous","email":"gar+npm@danger.computer"},"directories":{},"maintainers":[{"name":"anonymous","email":"gar+npm@danger.computer"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/promisify_1.1.1_1626897450513_0.18699834645972735"},"_hasShrinkwrap":false,"publish_time":1626897450841,"_cnpm_publish_time":1626897450841,"contributors":[]},"1.1.0":{"name":"@gar/promisify","version":"1.1.0","description":"","main":"index.js","repository":{"type":"git","url":"git+https://github.com/wraithgar/gar-promisify.git"},"scripts":{"lint":"standard","lint:fix":"standard --fix","test":"lab -a @hapi/code -t 100","posttest":"npm run lint"},"keywords":["promisify","all","class","object"],"author":{"name":"Gar","email":"gar+npm@danger.computer"},"license":"MIT","devDependencies":{"@hapi/code":"^8.0.1","@hapi/lab":"^24.1.0","standard":"^16.0.3"},"gitHead":"adb0ee07489f06b0368a8bd38ba25b1b8f54b74d","bugs":{"url":"https://github.com/wraithgar/gar-promisify/issues"},"homepage":"https://github.com/wraithgar/gar-promisify#readme","_id":"@gar/promisify@1.1.0","_nodeVersion":"14.17.1","_npmVersion":"7.20.0","dist":{"shasum":"ec6d35d9f2d91a7415a2bcfc815235488f9103cf","size":1411,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@gar/promisify/-/promisify-1.1.0.tgz"},"_npmUser":{"name":"anonymous","email":"gar+npm@danger.computer"},"directories":{},"maintainers":[{"name":"anonymous","email":"gar+npm@danger.computer"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/promisify_1.1.0_1626896561921_0.7174857668707793"},"_hasShrinkwrap":false,"publish_time":1626896562076,"_cnpm_publish_time":1626896562076,"contributors":[]},"1.0.1":{"name":"@gar/promisify","version":"1.0.1","description":"","main":"index.js","repository":{"type":"git","url":"git+https://github.com/wraithgar/gar-promisify.git"},"scripts":{"lint":"standard","lint:fix":"standard --fix","test":"lab -a @hapi/code -L -t 100"},"keywords":["promisify","all","class","object"],"author":{"name":"Gar","email":"gar+npm@danger.computer"},"license":"MIT","devDependencies":{"@hapi/code":"^8.0.1","@hapi/lab":"^22.0.4","eslint":"^7.1.0","eslint-config-standard":"^14.1.1","eslint-plugin-import":"^2.20.2","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1"},"gitHead":"f71efcd76c079f57e3e1236d25064b73cb9e1ea2","bugs":{"url":"https://github.com/wraithgar/gar-promisify/issues"},"homepage":"https://github.com/wraithgar/gar-promisify#readme","_id":"@gar/promisify@1.0.1","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","_npmUser":{"name":"anonymous","email":"gar+npm@danger.computer"},"dist":{"shasum":"424fd555ff15c09e010341d19f3cfe1d07bcbf72","size":1616,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@gar/promisify/-/promisify-1.0.1.tgz"},"maintainers":[{"name":"anonymous","email":"gar+npm@danger.computer"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/promisify_1.0.1_1590457656952_0.9078783976641998"},"_hasShrinkwrap":false,"publish_time":1590457657063,"_cnpm_publish_time":1590457657063,"contributors":[]},"1.0.0":{"name":"@gar/promisify","version":"1.0.0","description":"","main":"index.js","scripts":{"lint":"standard","lint:fix":"standard --fix","test":"lab -a @hapi/code -L -t 100"},"keywords":["promisify","all","class","object"],"author":{"name":"Gar","email":"gar+npm@danger.computer"},"license":"MIT","devDependencies":{"@hapi/code":"^8.0.1","@hapi/lab":"^22.0.4","eslint":"^7.1.0","eslint-config-standard":"^14.1.1","eslint-plugin-import":"^2.20.2","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1"},"dependencies":{"standard":"^14.3.4"},"gitHead":"796051ccdbe17d880f341d13928456f1a9190e20","_id":"@gar/promisify@1.0.0","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","_npmUser":{"name":"anonymous","email":"gar+npm@danger.computer"},"dist":{"shasum":"949920a3727b1bb993d39b0908d3ceb94585d4bb","size":1520,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@gar/promisify/-/promisify-1.0.0.tgz"},"maintainers":[{"name":"anonymous","email":"gar+npm@danger.computer"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/promisify_1.0.0_1590457216742_0.058290546409966115"},"_hasShrinkwrap":false,"publish_time":1590457216839,"_cnpm_publish_time":1590457216839,"contributors":[]},"1.1.3":{"name":"@gar/promisify","version":"1.1.3","description":"Promisify an entire class or object","main":"index.js","repository":{"type":"git","url":"git+https://github.com/wraithgar/gar-promisify.git"},"scripts":{"lint":"standard","lint:fix":"standard --fix","test":"lab -a @hapi/code -t 100","posttest":"npm run lint"},"keywords":["promisify","all","class","object"],"author":{"name":"Gar","email":"gar+npm@danger.computer"},"license":"MIT","devDependencies":{"@hapi/code":"^8.0.1","@hapi/lab":"^24.1.0","standard":"^16.0.3"},"gitHead":"c926d3f3b735f368276cf6a818a2cc50bb28ff7a","bugs":{"url":"https://github.com/wraithgar/gar-promisify/issues"},"homepage":"https://github.com/wraithgar/gar-promisify#readme","_id":"@gar/promisify@1.1.3","_nodeVersion":"16.14.0","_npmVersion":"8.4.1","dist":{"integrity":"sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==","shasum":"555193ab2e3bb3b6adc3d551c9c030d9e860daf6","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@gar/promisify/-/promisify-1.1.3.tgz","fileCount":4,"unpackedSize":4197,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiDReZCRA9TVsSAnZWagAA36MP/3jtdhxSATNLslwPNOTZ\ny8sk9QjPFDmcwvo/lcG1ffh6qRuSCEPlP10BZBNsirGIXSazF6SSe0QhdKJm\ngodxHbgdmZkI8WAbqqOcKHHv887Jnevfk1LrWJODKrg+hBSiBy1GaVbU68Mt\nAS+720i4QaseUeSTX5qdHkl5n/94VRg2UJ44IqzeJrYm37KzhtTeJLGLthZc\nh4Q/dePxrEVVMwWURrWx5+xcZCj5T0PS3pE1bFPLtwo3TeCnEWfqGVF2Ovay\nh4koQZ99QaTSVt7gWPRraEfmkDwOBsujvzc6oZRlLmEayq97+qE6Aik1Dlnz\nJm8PzIJgKSuudc3xASFzWkAWidU4j8JYDQtPU3PO+FDNRhWK1WpJuuFLF3Fa\ncyyy19HhEDrtIhc4r4P+Qm0IwhpSiT9CEndXh/B+7drDB7jV+oaNLeVxiiuu\nwj4GOXU3Xq3L1sQYrm7wgYWP2bkE7n1glxLuownImwZ79mWrxG//1Z7xyB/8\nDFdPXWVjKxrQoRsV9+p1jrSOcNPKFeok5XizxYgo+c3MYLiDDaADlYxYieyq\ny19EwcuIdqm+EmpWrxNx1hHX8TcPbooeF4fYJg2HiHA5qyUNBDFMbt8njZAp\nhNc2rs4w/GY6yXYjvJkzTXCb20/SpvFdnHf4zeYhWx8rmJEhP6X4KxBu4aCl\nuX7A\r\n=/UPS\r\n-----END PGP SIGNATURE-----\r\n","size":2120},"_npmUser":{"name":"anonymous","email":"gar+npm@danger.computer"},"directories":{},"maintainers":[{"name":"anonymous","email":"gar+npm@danger.computer"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/promisify_1.1.3_1645025177265_0.7938210049798706"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-02-16T15:26:24.584Z","contributors":[]}},"dist-tags":{"latest":"1.1.3","test":"1.0.0"},"name":"@gar/promisify","time":{"modified":"2026-02-20T19:55:48.152Z","created":"2022-01-26T13:23:53.158Z","1.1.2":"2021-07-21T21:06:46.093Z","1.1.1":"2021-07-21T19:57:30.841Z","1.1.0":"2021-07-21T19:42:42.076Z","1.0.1":"2020-05-26T01:47:37.063Z","1.0.0":"2020-05-26T01:40:16.839Z","1.1.3":"2022-02-16T15:26:17.450Z"},"readme":"# @gar/promisify\n\n### Promisify an entire object or class instance\n\nThis module leverages es6 Proxy and Reflect to promisify every function in an\nobject or class instance.\n\nIt assumes the callback that the function is expecting is the last\nparameter, and that it is an error-first callback with only one value,\ni.e. `(err, value) => ...`. This mirrors node's `util.promisify` method.\n\nIn order that you can use it as a one-stop-shop for all your promisify\nneeds, you can also pass it a function.  That function will be\npromisified as normal using node's built-in `util.promisify` method.\n\n[node's custom promisified\nfunctions](https://nodejs.org/api/util.html#util_custom_promisified_functions)\nwill also be mirrored, further allowing this to be a drop-in replacement\nfor the built-in `util.promisify`.\n\n### Examples\n\nPromisify an entire object\n\n```javascript\n\nconst promisify = require('@gar/promisify')\n\nclass Foo {\n  constructor (attr) {\n    this.attr = attr\n  }\n\n  double (input, cb) {\n    cb(null, input * 2)\n  }\n\nconst foo = new Foo('baz')\nconst promisified = promisify(foo)\n\nconsole.log(promisified.attr)\nconsole.log(await promisified.double(1024))\n```\n\nPromisify a function\n\n```javascript\n\nconst promisify = require('@gar/promisify')\n\nfunction foo (a, cb) {\n  if (a !== 'bad') {\n    return cb(null, 'ok')\n  }\n  return cb('not ok')\n}\n\nconst promisified = promisify(foo)\n\n// This will resolve to 'ok'\npromisified('good')\n\n// this will reject\npromisified('bad')\n```","users":{}}