{"_id":"@particle/await-on","_rev":"87-215b70555d8bc48b8f5abfb6e10d4763","name":"@particle/await-on","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@particle/await-on","version":"1.0.0","keywords":["await","async","error","handler","handling","simple","try","catch","block","promise"],"author":{"name":"Jason Yung"},"license":"MIT","_id":"@particle/await-on@1.0.0","maintainers":[{"name":"debbie23","email":"debbie@particle.io"},{"name":"cullenshane","email":"murphy.cullen7@gmail.com"},{"name":"sergeuz","email":"sergeuz@gmail.com"},{"name":"mstan","email":"npm@1379.tech"},{"name":"jhagerman","email":"jhagerman@particle.io"},{"name":"elijthomas","email":"eli@particle.io"},{"name":"jgoggins","email":"joe@particle.io"},{"name":"andrewparticle","email":"andrew@particle.io"},{"name":"samt","email":"contact@samt.us"},{"name":"busticated","email":"itsbusticated@gmail.com"},{"name":"particlebot","email":"engineering+npm@particle.io"},{"name":"anatoly-particle","email":"anatoly@particle.io"},{"name":"jme783","email":"jeff@particle.io"},{"name":"dmiddlecamp","email":"david@spark.io"},{"name":"monkbroc","email":"jvanier@gmail.com"},{"name":"suda","email":"admin@suda.pl"},{"name":"towynlin","email":"towynlin@gmail.com"},{"name":"idokleinman","email":"idokleinman@gmail.com"},{"name":"mdma","email":"mat.mcgowan+npm@gmail.com"}],"homepage":"https://github.com/bitstrider/await-on#readme","bugs":{"url":"https://github.com/bitstrider/await-on/issues"},"dist":{"shasum":"668d09b98549874a6c7e05457ab7937549a2e220","tarball":"https://registry.npmjs.org/@particle/await-on/-/await-on-1.0.0.tgz","fileCount":5,"integrity":"sha512-AFBcfE9YLwA7naME/B0Xm9rbFXsO+FmlmXAWBlXYOTuk2r4XkCw1oGspWWxQyIVcXM9RDsBKPmNPWavIgRVSHA==","signatures":[{"sig":"MEUCIDciJ/PtUXk7PQzCXcP7N4zMXOrcaxhM/KWaFCeXmrzlAiEA9KTnRlqUFT4aQBOIv21TyYnE47GIX+ZCcimaE8dB6nY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3960,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc3vpOCRA9TVsSAnZWagAA9bgP/1SSnjuKTNPfDVX5MfdV\n9f2X+tQEScTTiU4iE87MsYizlXkXrzAi/WhJ/CRvHOmYI+sFkrEEpuRnZphl\n0OzNFjlR0ta3YDOVlpG0hpwIZrEe/2sxKmAEv6+JKNAFWNvmJKs3YnJVjwcD\n0HqCd4Xnc6kHUsTra4tVNG82BsHXS4/HFvyfFf3Z0NNDoNfh6ANmX/zLKDW6\n0FXXuHCKc+OGx8+us1paW8siWPMMuGpcNvnxvlmmduOwIshYT4p9nrYSA0Nc\nbM3F+j9JRwCF9W9dX7gfm0Z/RKwMS4q/tUWklOQmLiHvZh3nQ9/tQoj8F8B0\nA8CAXcyUTk8MueVX3049DcnKNbdyytjeJn0XdBK4Xya5GQBl06QBI0sX8vJQ\nk66JWqZnCQrsUQsYNUFzeW/fru7zLq36Fb7NrSj2hmUpv6doH/ZUJucseY48\nkrIJuWL4ttbKi6MPUO94nx//GTmOwBp1AeljAvRDqrQRXqfMpV5K4KBhUjBD\nlhtni75GHw8dmcXcOuq1Nnos5txifaJ2PeVAuLocSKrKk/HN78P2MPNh4wo+\npCt+K4wDyMBbJPv1gnWPeF39DUbFHhj0x0UaZP5zGQonnohuokSpDLDI8E2a\n98e1X20E0BUNEKEMhicu+AxKsBi2bRTMrft8iBsG9m4TX0qVXMhNEwFhLCjJ\nBdDV\r\n=SWh0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/await-on.js","engines":{"node":">=7.6"},"gitHead":"9fb1d72f33e5364c0ef6a52b3ed157ca3001f327","scripts":{"test":"tap test/*.js --coverage"},"_npmUser":{"name":"monkbroc","email":"jvanier@gmail.com"},"repository":{"url":"git+https://github.com/bitstrider/await-on.git","type":"git"},"_npmVersion":"5.10.0","description":"really simple error handling with await/async","directories":{"lib":"lib"},"_nodeVersion":"8.10.0","_hasShrinkwrap":false,"devDependencies":{"tap":"^10.7.2","bluebird":"^3.5.4"},"_npmOperationalInternal":{"tmp":"tmp/await-on_1.0.0_1558116942155_0.8706467069878316","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@particle/await-on","version":"1.0.1","keywords":["await","async","error","handler","handling","simple","try","catch","block","promise"],"author":{"name":"Jason Yung"},"license":"MIT","_id":"@particle/await-on@1.0.1","maintainers":[{"name":"anatoly-particle","email":"anatoly@particle.io"},{"name":"andrewparticle","email":"andrew@particle.io"},{"name":"busticated","email":"itsbusticated@gmail.com"},{"name":"cullenshane","email":"murphy.cullen7@gmail.com"},{"name":"debbie23","email":"debbie@particle.io"},{"name":"dmiddlecamp","email":"david@spark.io"},{"name":"elijthomas","email":"eli@particle.io"},{"name":"idokleinman","email":"idokleinman@gmail.com"},{"name":"jgoggins","email":"joe@particle.io"},{"name":"jhagerman","email":"jhagerman@particle.io"},{"name":"jme783","email":"jeff@particle.io"},{"name":"mdma","email":"mat.mcgowan+npm@gmail.com"},{"name":"monkbroc","email":"jvanier@gmail.com"},{"name":"mstan","email":"npm@1379.tech"},{"name":"particlebot","email":"engineering+npm@particle.io"},{"name":"samt","email":"contact@samt.us"},{"name":"sergeuz","email":"sergeuz@gmail.com"},{"name":"suda","email":"admin@suda.pl"},{"name":"towynlin","email":"towynlin@gmail.com"}],"homepage":"https://github.com/bitstrider/await-on#readme","bugs":{"url":"https://github.com/bitstrider/await-on/issues"},"dist":{"shasum":"0385a99018bbe6587c8ecaf802d89a07632bc3bb","tarball":"https://registry.npmjs.org/@particle/await-on/-/await-on-1.0.1.tgz","fileCount":5,"integrity":"sha512-igrEuqZ7mSMaRO+yyOTIQBR13IOoY1QKSEVORCCwdTpCxpSdtYnh4A7guacotbnqBYDfOtGuqFjEcvlgxuO+PA==","signatures":[{"sig":"MEQCIGZ7Qk+VdHtTC+e3zClgr/9MYmAuCdm0mCuFxxgRfljKAiALVHMfJDC8BlBP4usdEUlH4bs9TFy3daVGqf5m/9Ir4A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3960,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc3vrICRA9TVsSAnZWagAAYjoP/3K8XXZQbCq9zWsxYIDS\nrsTWxpLF92c4OhyC+KuuK8Fcbp9y9mXKZMvMUBIx4yQXw2PPFCOyd6166/MG\nMgucPKIRYzhwjYfXdnfbVZJz8Ll1scYOJc4VURRXQtVPBR6hj/X647LYwiJX\nVp7WVnuxPihGCtD5EHNTbEc52qJ5WW/Lgo495HPyqxIVOxX1lPZoDKUQ6LHy\nSP/L4+n/rmjf7sLpZkK4t5cfgoXaGAtAJAnxddI28IjGVnA7nNx0qYTU9VZ7\nqTQq2nGQk0N8Od/5IKajgB8lhQP1GYCLTjyfVYFY4bJLWS5xqdCn6lL0kjCf\nM1o7GqOa069ishYQd/wVu3oU2Ma3IHvBiZfnHot3uVIP75bTnWQcZATFjZfP\nr1sFj54/659F9nbmTnEAZaBZAepaBEvN58Y0aLxqGYYX7tcDO0j4i0e7dleN\nyeU2TIrlGuMqTI+Vz0hLj2cC5WnsDl3mynYFDyCgzFWxzECSvWcdTQpEzx8Z\nD0nfMKDX7RwOMkvvpwHmCwn5OiTBclCq55STczJOC8EOVxVUZMYy5RzOd5mi\nAZ3twiKPKVmoNgPyRKWlY633lCQqbxcLF3rc/p1cGQJSu+jAj0Eb3DB4tLYX\nhVGp2ilkMRGQ6vjwMx/Mgq9JCVtnEK76kHJAWY3F9r/LeVj4TlfDEUrSoxR3\nzVYx\r\n=Cwz7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/await-on.js","engines":{"node":">=7.6"},"gitHead":"4717da1fe7dc138cf4610e420958f9e34947a945","scripts":{"test":"tap test/*.js --coverage"},"_npmUser":{"name":"monkbroc","email":"jvanier@gmail.com"},"repository":{"url":"git+https://github.com/bitstrider/await-on.git","type":"git"},"_npmVersion":"5.10.0","description":"really simple error handling with await/async","directories":{"lib":"lib"},"_nodeVersion":"8.10.0","_hasShrinkwrap":false,"devDependencies":{"tap":"^10.7.2","bluebird":"^3.5.4"},"_npmOperationalInternal":{"tmp":"tmp/await-on_1.0.1_1558117064333_0.37938203336959875","host":"s3://npm-registry-packages"}}},"time":{"created":"2019-05-17T18:15:42.155Z","modified":"2025-07-25T18:57:53.227Z","1.0.0":"2019-05-17T18:15:42.316Z","1.0.1":"2019-05-17T18:17:44.464Z"},"bugs":{"url":"https://github.com/bitstrider/await-on/issues"},"author":{"name":"Jason Yung"},"license":"MIT","homepage":"https://github.com/bitstrider/await-on#readme","keywords":["await","async","error","handler","handling","simple","try","catch","block","promise"],"repository":{"url":"git+https://github.com/bitstrider/await-on.git","type":"git"},"description":"really simple error handling with await/async","maintainers":[{"email":"engineering+npm@particle.io","name":"particlebot"},{"email":"chris.fourie@particle.io","name":"no1089"},{"email":"Carlos.Hernandez@particle.io","name":"carlos.hdez"},{"email":"guohui@particle.io","name":"guohui"},{"email":"keerthy@particle.io","name":"keeramis5"},{"email":"jvanier@gmail.com","name":"monkbroc"},{"email":"npm@1379.tech","name":"mstan"},{"email":"sergeuz@gmail.com","name":"sergeuz"},{"email":"avtolstoy@gmail.com","name":"avtolstoy"},{"email":"matt.lauer@particle.io","name":"mlauer"},{"email":"xwraithanx@gmail.com","name":"wraithan"},{"email":"andrew.zenk@particle.io","name":"azenk"},{"email":"brett@particle.io","name":"bwalach"},{"email":"rickkas7@rickk.com","name":"rickkas7"},{"email":"nick@particle.io","name":"mrlambchop_particle"},{"email":"hugo.montero@outlook.com","name":"hugo.montero"},{"email":"mpaul.hernandez@gmail.com","name":"mphsi"},{"email":"pedro.sordo@particle.io","name":"pedrosordo"},{"email":"cole.abbeduto@particle.io","name":"cole-abbeduto-particle"},{"email":"scott.brust@particle.io","name":"sbrust"},{"email":"eugene@particle.io","name":"eugene_particle"},{"email":"mohit@particle.io","name":"mohitparticle"},{"email":"karla.garcia@particle.io","name":"karlag"}],"readme":"# 😪 @particle/await-on\n![npm](https://img.shields.io/npm/v/await-on.svg)\n![node](https://img.shields.io/node/v/await-on.svg)\n![npm](https://img.shields.io/npm/l/await-on.svg)\n![npm](https://img.shields.io/npm/dt/await-on.svg)\n![Travis](https://img.shields.io/travis/bitstrider/await-on.svg)\n![Coveralls github](https://img.shields.io/coveralls/github/bitstrider/await-on.svg)\n\nReally simple error handling with await/async\n\nForked from [`await-on`](https://github.com/json2d/await-on) by [Jason Yung](https://github.com/json2d), itself inspired by [`await-to-js`](https://github.com/scopsy/await-to-js) whose creator [Dima Grossman](http://blog.grossman.io/how-to-write-async-await-without-try-catch-blocks-in-javascript/) originally blogged about using destructuring array assignment\n\n## Quick Usage\nThis package provides a helper for destructuring the results of a Promise:\n```javascript\nconst on = require('@particle/await-on');\n\nconst fetchData = () => new Promise(/*...*/);\n\nconst [err, data] = await on(fetchData());\nif(err) {\n\tres.send(err);\n} else {\n\tres.send(data);\n}\n```\n\nThe goal is to avoid the built-in approach using the `try`/`catch` block pattern:\n\n```javascript\ntry {\n\tconst data = await fetchData();\n\tres.send(data);\n} catch(err) {\n\tres.send(err);\n}\n```\n\n## Type fuzziness\nNon-promises will passthrough same as the behavior of the native `await`\n\n```javascript\nconst [err, answer] = await on(42); //not a promise but ok no big deal\nconsole.log(answer) //> 42\n```\n\n## License\nMIT License. See [License](https://github.com/particle-iot/await-on/blob/master/LICENSE) in the repository.\n","readmeFilename":"README.md"}