{"_id":"cf-util-async","_rev":"246-09f7162c2d5108777cbeb0aa07898244","name":"cf-util-async","dist-tags":{"latest":"2.2.5"},"versions":{"1.0.0":{"name":"cf-util-async","version":"1.0.0","author":{"name":"James Kyle","email":"jkyle@cloudflare.com"},"license":"BSD-3-Clause","_id":"cf-util-async@1.0.0","maintainers":[{"name":"thejameskyle","email":"me@thejameskyle.com"}],"dist":{"shasum":"c44687c711bdeafd2a6e85d94130333475367f73","tarball":"https://registry.npmjs.org/cf-util-async/-/cf-util-async-1.0.0.tgz","integrity":"sha512-zUL0BZvjwDh2wp+BLGf7jFMjGdVADXvCST9NVnLAAnhtSiZewZFyrp8Lg1JhQlTcUiw9gdOVFHugfGUddD18tw==","signatures":[{"sig":"MEQCIFGhP+ZnE6tD19iGqo31xz6aXZmvQOCAbXJYPfNGA1f+AiAesUVV/VVsThBIuhCNZhZpC3I1Rz/h/7ITtbM34eDhSA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","_shasum":"c44687c711bdeafd2a6e85d94130333475367f73","scripts":{},"_npmUser":{"name":"thejameskyle","email":"me@thejameskyle.com"},"deprecated":"This package has been deprecated. Please find this package under its new name @cloudflare/util-async.","_npmVersion":"3.8.3","description":"CloudFlare Async Util","directories":{},"_nodeVersion":"5.10.1","dependencies":{},"publishConfig":{"registry":"http://registry.npmjs.org/"},"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/cf-util-async-1.0.0.tgz_1465865306963_0.33131189551204443","host":"packages-12-west.internal.npmjs.com"}},"2.0.0":{"name":"cf-util-async","version":"2.0.0","author":{"name":"James Kyle","email":"jkyle@cloudflare.com"},"license":"BSD-3-Clause","_id":"cf-util-async@2.0.0","maintainers":[{"name":"akenn","email":"andrew@akenn.org"},{"name":"jwineman","email":"john.wineman@gmail.com"},{"name":"marksteyn","email":"mark@cloudflare.com"},{"name":"terinjokes","email":"terinjokes@gmail.com"},{"name":"thejameskyle","email":"me@thejameskyle.com"},{"name":"thellimist","email":"mufuyil@gmail.com"},{"name":"toekneestuck","email":"toekneestuck@gmail.com"},{"name":"triggity","email":"truongmt@gmail.com"},{"name":"wyuenho","email":"wyuenho@gmail.com"}],"dist":{"shasum":"ab87d0e0ba3a4d01c83402eb6c6569dd87cbc7e3","tarball":"https://registry.npmjs.org/cf-util-async/-/cf-util-async-2.0.0.tgz","integrity":"sha512-hnVgVoWHNmRjxD8WY+F2SXg+9gjQ4z3/APxruAYIrr71vvJjZzvtvX3FJ7tUGoFYeIzBmamtCbL84Tz3VD5AoA==","signatures":[{"sig":"MEYCIQDdzAVF7Q49wi/F1b1g5hp54AlIZGIPom7YiCwJIwOIUAIhAKy0YwGWYLX6V/nk5blEdcwhK0zLzmI8CGjnZtANCjKL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","_shasum":"ab87d0e0ba3a4d01c83402eb6c6569dd87cbc7e3","scripts":{},"_npmUser":{"name":"wyuenho","email":"wyuenho@gmail.com"},"deprecated":"This package has been deprecated. Please find this package under its new name @cloudflare/util-async.","_npmVersion":"2.15.9","description":"CloudFlare Async Util","directories":{},"_nodeVersion":"4.6.1","dependencies":{},"publishConfig":{"registry":"http://registry.npmjs.org/"},"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/cf-util-async-2.0.0.tgz_1480607630298_0.7690748169552535","host":"packages-18-east.internal.npmjs.com"}},"2.1.0":{"name":"cf-util-async","version":"2.1.0","author":{"name":"James Kyle","email":"jkyle@cloudflare.com"},"license":"BSD-3-Clause","_id":"cf-util-async@2.1.0","maintainers":[{"name":"hturan","email":"harley@hturan.com"},{"name":"jculvey","email":"jculveyhouse@gmail.com"},{"name":"jwineman","email":"john.wineman@gmail.com"},{"name":"koddsson","email":"koddsson@gmail.com"},{"name":"marksteyn","email":"mark@cloudflare.com"},{"name":"miksu","email":"vojtech@miksu.cz"},{"name":"nkcmr","email":"nick@comer.io"},{"name":"terinjokes","email":"terinjokes@gmail.com"},{"name":"thellimist","email":"mufuyil@gmail.com"},{"name":"toekneestuck","email":"toekneestuck@gmail.com"},{"name":"wyuenho","email":"wyuenho@gmail.com"}],"dist":{"shasum":"5e62413fb9b780f8dd144e91eeef88ee0e85e31d","tarball":"https://registry.npmjs.org/cf-util-async/-/cf-util-async-2.1.0.tgz","integrity":"sha512-A9D5HsbWd7GcdOTCAEXxDFbpJOZBNZBvsrynWNQ6HEZ7WHnW6CceHFwW8X+qbtY02saOiM80I5WT3KTgYC6WnA==","signatures":[{"sig":"MEUCIHAMcOkRfTBxvvQbqc2xgLb8KLxNnS47THB8yLjfE7B7AiEAgRQK4DKT8lHYwl6TXROmvo6azwhs/rTdmdSQlbu9DLI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","module":"es/index.js","_shasum":"5e62413fb9b780f8dd144e91eeef88ee0e85e31d","scripts":{},"_npmUser":{"name":"miksu","email":"vojtech@miksu.cz"},"deprecated":"This package has been deprecated. Please find this package under its new name @cloudflare/util-async.","_npmVersion":"4.1.2","description":"Cloudflare Async Util","directories":{},"jsnext:main":"es/index.js","_nodeVersion":"7.7.3","publishConfig":{"registry":"http://registry.npmjs.org/"},"_npmOperationalInternal":{"tmp":"tmp/cf-util-async-2.1.0.tgz_1489990230149_0.5622468960937113","host":"packages-12-west.internal.npmjs.com"}},"2.2.0":{"name":"cf-util-async","version":"2.2.0","author":{"name":"James Kyle","email":"jkyle@cloudflare.com"},"license":"BSD-3-Clause","_id":"cf-util-async@2.2.0","maintainers":[{"name":"hturan","email":"harley@hturan.com"},{"name":"jculvey","email":"jculveyhouse@gmail.com"},{"name":"jwineman","email":"john.wineman@gmail.com"},{"name":"koddsson","email":"koddsson@gmail.com"},{"name":"marksteyn","email":"mark@cloudflare.com"},{"name":"miksu","email":"vojtech@miksu.cz"},{"name":"nkcmr","email":"nick@comer.io"},{"name":"terinjokes","email":"terinjokes@gmail.com"},{"name":"thellimist","email":"mufuyil@gmail.com"},{"name":"toekneestuck","email":"toekneestuck@gmail.com"},{"name":"wyuenho","email":"wyuenho@gmail.com"}],"dist":{"shasum":"029436778f82da6f13cff5240581ef6ea35ae6a2","tarball":"https://registry.npmjs.org/cf-util-async/-/cf-util-async-2.2.0.tgz","integrity":"sha512-EA+NdXDN1UICSz2tjY3CCcNT+lt2+3ybYaywfVmvM2/1U83h7+EFhssENqLBjITC271mQHG2egAgj93lgom5Vg==","signatures":[{"sig":"MEYCIQC4txfIdp9DHfJp3Ni7UWrzPKtw16x9OSyUwYsHT7BwlgIhAKWVVeVny/MD517xDbpGdK2j9SYJ+IuRQ7wmE4XSI0zT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","module":"es/index.js","_shasum":"029436778f82da6f13cff5240581ef6ea35ae6a2","scripts":{},"_npmUser":{"name":"miksu","email":"vojtech@miksu.cz"},"deprecated":"This package has been deprecated. Please find this package under its new name @cloudflare/util-async.","_npmVersion":"4.1.2","description":"Cloudflare Async Util","directories":{},"jsnext:main":"es/index.js","_nodeVersion":"7.7.3","publishConfig":{"registry":"http://registry.npmjs.org/"},"_npmOperationalInternal":{"tmp":"tmp/cf-util-async-2.2.0.tgz_1490037052332_0.5400650394149125","host":"packages-18-east.internal.npmjs.com"}},"2.2.1":{"name":"cf-util-async","version":"2.2.1","author":{"name":"James Kyle","email":"jkyle@cloudflare.com"},"license":"BSD-3-Clause","_id":"cf-util-async@2.2.1","maintainers":[{"name":"vasturiano","email":"vastur@gmail.com"},{"name":"handrews","email":"henry@cloudflare.com"},{"name":"manatarms","email":"fernandes.sachin@gmail.com"},{"name":"cf-ci","email":"npm-readonly@cloudflare.com"},{"name":"jparyani-cloudflare","email":"jparyani@cloudflare.com"},{"name":"ryan0x44","email":"npmjs@ryan0x44.com"},{"name":"johndotawesome","email":"jrf0110@gmail.com"},{"name":"sejoker","email":"sejoker@gmail.com"},{"name":"hturan","email":"harley@hturan.com"},{"name":"thellimist","email":"mufuyil@gmail.com"},{"name":"marksteyn","email":"mark@cloudflare.com"},{"name":"jculvey","email":"jculveyhouse@gmail.com"},{"name":"nkcmr","email":"nick@comer.io"},{"name":"miksu","email":"vojtech@miksu.cz"},{"name":"toekneestuck","email":"toekneestuck@gmail.com"},{"name":"terinjokes","email":"terinjokes@gmail.com"},{"name":"cf-ci-write","email":"npm-readonly@cloudflare.com"}],"dist":{"shasum":"98cd81386ff6268f042c9ac1e3b63f0a6bbe6793","tarball":"https://registry.npmjs.org/cf-util-async/-/cf-util-async-2.2.1.tgz","integrity":"sha512-yce+DTmVmexl80d6Ee+blglym6+DViiX6tXvtC50tBPIa8tq5/mpYxT0pcfYBtBvvC7IHoG2T8XOTfG+FyD1tA==","signatures":[{"sig":"MEQCIGBMyEAuU4yShKX2GJDhzPNvu0NTIxEqLvO4HazrI5ZqAiASnoDRa8yzrXMhe+gD4nNblCPSAvC3FsiftjLiPJyfQg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","module":"es/index.js","_shasum":"98cd81386ff6268f042c9ac1e3b63f0a6bbe6793","scripts":{},"_npmUser":{"name":"miksu","email":"vojtech@miksu.cz"},"deprecated":"This package has been deprecated. Please find this package under its new name @cloudflare/util-async.","_npmVersion":"4.1.2","description":"Cloudflare Async Util","directories":{},"jsnext:main":"es/index.js","_nodeVersion":"7.7.3","publishConfig":{"registry":"http://registry.npmjs.org/"},"_npmOperationalInternal":{"tmp":"tmp/cf-util-async-2.2.1.tgz_1506043776000_0.5481030642986298","host":"s3://npm-registry-packages"}},"2.2.2":{"name":"cf-util-async","version":"2.2.2","author":{"name":"James Kyle","email":"jkyle@cloudflare.com"},"license":"BSD-3-Clause","_id":"cf-util-async@2.2.2","maintainers":[{"name":"hamidagh","email":"hamid.aghdaee@gmail.com"},{"name":"vasturiano","email":"vastur@gmail.com"},{"name":"handrews","email":"henry@cloudflare.com"},{"name":"manatarms","email":"fernandes.sachin@gmail.com"},{"name":"cf-ci","email":"npm-readonly@cloudflare.com"},{"name":"jparyani-cloudflare","email":"jparyani@cloudflare.com"},{"name":"ryan0x44","email":"npmjs@ryan0x44.com"},{"name":"johndotawesome","email":"jrf0110@gmail.com"},{"name":"sejoker","email":"sejoker@gmail.com"},{"name":"hturan","email":"harley@hturan.com"},{"name":"thellimist","email":"mufuyil@gmail.com"},{"name":"marksteyn","email":"mark@cloudflare.com"},{"name":"jculvey","email":"jculveyhouse@gmail.com"},{"name":"nkcmr","email":"nick@comer.io"},{"name":"miksu","email":"vojtech@miksu.cz"},{"name":"toekneestuck","email":"toekneestuck@gmail.com"},{"name":"terinjokes","email":"terinjokes@gmail.com"},{"name":"cf-ci-write","email":"npm-readonly@cloudflare.com"}],"dist":{"shasum":"cb241ed2d87f1269c69ce6d3679a0a2dadc6c210","tarball":"https://registry.npmjs.org/cf-util-async/-/cf-util-async-2.2.2.tgz","integrity":"sha512-yWxU2rw/eZx3Rl2Disk9ThgIF5hNwWqX1A84PlHAGVr8pPap7Iul6LDxkBlhtbp27kgwpbZUxA3j/cjhexDEdw==","signatures":[{"sig":"MEYCIQCTZRGrmzz83rH0ZOhrEbh6hUZSY8Q65x/GRdaTlOMgSgIhAIBlzpDtM+Q9VnqOfda+Xr0sNBIvh/ncZdYOVT+oo1yp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","module":"es/index.js","_shasum":"cb241ed2d87f1269c69ce6d3679a0a2dadc6c210","scripts":{},"_npmUser":{"name":"sejoker","email":"sejoker@gmail.com"},"deprecated":"This package has been deprecated. Please find this package under its new name @cloudflare/util-async.","_npmVersion":"3.10.10","description":"Cloudflare Async Util","directories":{},"jsnext:main":"es/index.js","_nodeVersion":"6.10.2","publishConfig":{"registry":"http://registry.npmjs.org/"},"_npmOperationalInternal":{"tmp":"tmp/cf-util-async-2.2.2.tgz_1508518382517_0.3942021986003965","host":"s3://npm-registry-packages"}},"2.2.3":{"name":"cf-util-async","version":"2.2.3","author":{"name":"James Kyle","email":"jkyle@cloudflare.com"},"license":"BSD-3-Clause","_id":"cf-util-async@2.2.3","maintainers":[{"name":"hamidagh","email":"hamid.aghdaee@gmail.com"},{"name":"vasturiano","email":"vastur@gmail.com"},{"name":"handrews","email":"henry@cloudflare.com"},{"name":"manatarms","email":"fernandes.sachin@gmail.com"},{"name":"cf-ci","email":"npm-readonly@cloudflare.com"},{"name":"jparyani-cloudflare","email":"jparyani@cloudflare.com"},{"name":"ryan0x44","email":"npmjs@ryan0x44.com"},{"name":"johndotawesome","email":"jrf0110@gmail.com"},{"name":"sejoker","email":"sejoker@gmail.com"},{"name":"hturan","email":"harley@hturan.com"},{"name":"thellimist","email":"mufuyil@gmail.com"},{"name":"marksteyn","email":"mark@cloudflare.com"},{"name":"jculvey","email":"jculveyhouse@gmail.com"},{"name":"nkcmr","email":"nick@comer.io"},{"name":"miksu","email":"vojtech@miksu.cz"},{"name":"toekneestuck","email":"toekneestuck@gmail.com"},{"name":"terinjokes","email":"terinjokes@gmail.com"},{"name":"cf-ci-write","email":"npm-readonly@cloudflare.com"}],"dist":{"shasum":"132ab6be8d3097e46b8510a85d6502562eaebd0c","tarball":"https://registry.npmjs.org/cf-util-async/-/cf-util-async-2.2.3.tgz","integrity":"sha512-8kOoJhhOEMQ5eJqRSyUikfFs4de3mBvpKC8ASpkaF52p1HuGIKGHKnFAPs3cgI3W4q13Jm/DgDhd/qHJ8eF0Dg==","signatures":[{"sig":"MEUCIQCPfDMJ55Cj97MjYg/Y9dYrZ54tjG+i9U1Ce9rm555hfAIgJqUAI7b9RykHlE44pKggpxTbKFycc5tgCzz4RXTnB2o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","module":"es/index.js","_npmUser":{"name":"sejoker","email":"sejoker@gmail.com"},"deprecated":"This package has been deprecated. Please find this package under its new name @cloudflare/util-async.","_npmVersion":"5.4.1","description":"Cloudflare Async Util","directories":{},"jsnext:main":"es/index.js","_nodeVersion":"8.2.1","publishConfig":{"registry":"http://registry.npmjs.org/"},"_npmOperationalInternal":{"tmp":"tmp/cf-util-async-2.2.3.tgz_1508777893403_0.9947209395468235","host":"s3://npm-registry-packages"}},"2.2.4":{"name":"cf-util-async","version":"2.2.4","author":{"name":"James Kyle","email":"jkyle@cloudflare.com"},"license":"BSD-3-Clause","_id":"cf-util-async@2.2.4","maintainers":[{"name":"adamschwartz","email":"adam.flynn.schwartz@gmail.com"},{"name":"cf-ci","email":"npm-readonly@cloudflare.com"},{"name":"cf-ci-write","email":"npm-readonly@cloudflare.com"},{"name":"ereeves","email":"ereeves@cloudflare.com"},{"name":"hamidagh","email":"hamid.aghdaee@gmail.com"},{"name":"handrews","email":"henry@cloudflare.com"},{"name":"hturan","email":"harley@hturan.com"},{"name":"inikulin","email":"ifaaan@gmail.com"},{"name":"jculvey","email":"jculveyhouse@gmail.com"},{"name":"johndotawesome","email":"jrf0110@gmail.com"},{"name":"jparyani-cloudflare","email":"jparyani@cloudflare.com"},{"name":"manatarms","email":"fernandes.sachin@gmail.com"},{"name":"marksteyn","email":"mark@cloudflare.com"},{"name":"miksu","email":"vojtech@miksu.cz"},{"name":"mpint","email":"mpinter09@gmail.com"},{"name":"nkcmr","email":"nick@comer.io"},{"name":"rreverser","email":"me@rreverser.com"},{"name":"ryan0x44","email":"npmjs@ryan0x44.com"},{"name":"sejoker","email":"sejoker@gmail.com"},{"name":"teffenellis","email":"teffen@nirri.us"},{"name":"terinjokes","email":"terinjokes@gmail.com"},{"name":"toekneestuck","email":"toekneestuck@gmail.com"},{"name":"vasturiano","email":"vastur@gmail.com"}],"dist":{"shasum":"0d213c146e0eb242f4e74a1a69dc3d0d4051613e","tarball":"https://registry.npmjs.org/cf-util-async/-/cf-util-async-2.2.4.tgz","fileCount":9,"integrity":"sha512-ujuEk66XtUzm30gwh2eyA2hhNHvDFQWCDnrGbDTxhybbFYWQ+H7zPWQXdtCesJZETwzgI5ldNjZMDSNYRqPIGQ==","signatures":[{"sig":"MEUCICsW9hUSpR0tEFD2Qcy+Y/NV3MnLD7OOa/Lh3Va3QjqQAiEApTLETohpSwIQIEnsV0CPJXEq3KMyKB4ZUBU3Cr8W5wg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5226},"main":"lib/index.js","module":"es/index.js","_npmUser":{"name":"cf-ci-write","email":"npm-readonly@cloudflare.com"},"deprecated":"This package has been deprecated. Please find this package under its new name @cloudflare/util-async.","_npmVersion":"5.7.1","description":"Cloudflare Async Util","directories":{},"jsnext:main":"es/index.js","_nodeVersion":"8.10.0","publishConfig":{"registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cf-util-async_2.2.4_1522190882158_0.8013109131629912","host":"s3://npm-registry-packages"}},"2.2.5":{"name":"cf-util-async","version":"2.2.5","author":{"name":"James Kyle","email":"jkyle@cloudflare.com"},"license":"BSD-3-Clause","_id":"cf-util-async@2.2.5","maintainers":[{"name":"adamschwartz","email":"adam.flynn.schwartz@gmail.com"},{"name":"cf-ci","email":"npm-readonly@cloudflare.com"},{"name":"cf-ci-write","email":"npm-readonly@cloudflare.com"},{"name":"ereeves","email":"ereeves@cloudflare.com"},{"name":"hamidagh","email":"hamid.aghdaee@gmail.com"},{"name":"handrews","email":"henry@cloudflare.com"},{"name":"hturan","email":"harley@hturan.com"},{"name":"inikulin","email":"ifaaan@gmail.com"},{"name":"jculvey","email":"jculveyhouse@gmail.com"},{"name":"johndotawesome","email":"jrf0110@gmail.com"},{"name":"jparyani-cloudflare","email":"jparyani@cloudflare.com"},{"name":"manatarms","email":"fernandes.sachin@gmail.com"},{"name":"marksteyn","email":"mark@cloudflare.com"},{"name":"miksu","email":"vojtech@miksu.cz"},{"name":"mpint","email":"mpinter09@gmail.com"},{"name":"nkcmr","email":"nick@comer.io"},{"name":"rreverser","email":"me@rreverser.com"},{"name":"ryan0x44","email":"npmjs@ryan0x44.com"},{"name":"sejoker","email":"sejoker@gmail.com"},{"name":"teffenellis","email":"teffen@nirri.us"},{"name":"terinjokes","email":"terinjokes@gmail.com"},{"name":"toekneestuck","email":"toekneestuck@gmail.com"},{"name":"vasturiano","email":"vastur@gmail.com"}],"dist":{"shasum":"ac2c53bf24d61a17117d621322b1fdde43145d51","tarball":"https://registry.npmjs.org/cf-util-async/-/cf-util-async-2.2.5.tgz","fileCount":9,"integrity":"sha512-grKXG2R1NFryFgOCiZL+QzVomtnQHKvcrKjWV34wVpIO+rLvE1FXbIwcBzfJNgmgNJ5PvrqEUuOCXhtfXDTiLw==","signatures":[{"sig":"MEUCIAfWFeHgTs7q11nDY9ONdRJLJ7b9I1acEpu6zWEURn3JAiEA7/UEa+lRsfkyjn5vuGBVFowIy5Y4ckQkaBt6BeSLOjI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5316},"main":"lib/index.js","module":"es/index.js","_npmUser":{"name":"cf-ci-write","email":"npm-readonly@cloudflare.com"},"deprecated":"This package has been deprecated. Please find this package under its new name @cloudflare/util-async.","_npmVersion":"5.7.1","description":"Cloudflare Async Util","directories":{},"jsnext:main":"es/index.js","_nodeVersion":"8.10.0","publishConfig":{"registry":"http://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cf-util-async_2.2.5_1522198834362_0.3116460738701188","host":"s3://npm-registry-packages"}}},"time":{"created":"2016-06-14T00:48:27.758Z","modified":"2026-09-03T14:29:39.009Z","1.0.0":"2016-06-14T00:48:27.758Z","2.0.0":"2016-12-01T15:53:50.953Z","2.1.0":"2017-03-20T06:10:30.409Z","2.2.0":"2017-03-20T19:10:54.190Z","2.2.1":"2017-09-22T01:29:36.074Z","2.2.2":"2017-10-20T16:53:03.433Z","2.2.3":"2017-10-23T16:58:14.389Z","2.2.4":"2018-03-27T22:48:02.231Z","2.2.5":"2018-03-28T01:00:34.455Z"},"author":{"name":"James Kyle","email":"jkyle@cloudflare.com"},"license":"BSD-3-Clause","description":"Cloudflare Async Util","maintainers":[{"email":"npm-readonly@cloudflare.com","name":"cf-ci-write"},{"email":"service-account@cloudflare-ui.com","name":"dash_service_account"},{"email":"workers-devprod@cloudflare.com","name":"wrangler-publisher"},{"email":"ui-platform-production@cloudflare.com","name":"cf-npm-publish"}],"readme":"# cf-util-async\n\n> Cloudflare Async Util\n\n## Installation\n\n```sh\n$ npm install cf-util-async\n```\n\n## Usage\n\nRunning async functions in a series:\n\n```js\nimport http from 'cf-util-http';\nimport {series} from 'cf-util-async';\n\nseries([\n  cb => http.get('endpoint-1.json', null, cb), // If an error occurs, then the rest of the callbacks are not called.\n  cb => http.get('endpoint-2.json', null, cb)\n], (err, results) => {\n  if (err) {\n    console.log(err.body); // > { errors: [{ message: 'Error!' }] }\n  } else {\n    console.log(res.body); // > [{ result: { id: 1, ... } }, { result: { id: 2, ... } }]\n  }\n});\n```\n\nRunning async functions in parallel:\n\n```js\nimport http from 'cf-util-http';\nimport {parallel} from 'cf-util-async';\n\nparallel([\n  cb => http.get('endpoint-1.json', null, cb),\n  cb => http.get('endpoint-2.json', null, cb)\n], (err, results) => {\n  if (err) {\n    console.log(err.body); // > { errors: [{ message: 'Error!' }] }\n  } else {\n    console.log(res.body); // > [{ result: { id: 1, ... } }, { result: { id: 2, ... } }]\n  }\n});\n```\n","readmeFilename":"README.md"}