{"_id":"raptor-async","_rev":"50-5acdace7a349553994cc8761112cf928","name":"raptor-async","description":"Simple library for orchestrating asynchronous operations","dist-tags":{"latest":"1.1.3"},"versions":{"0.1.0-SNAPSHOT":{"name":"raptor-async","version":"0.1.0-SNAPSHOT","description":"Simple library for orchestrating asynchronous operations","repository":{"type":"git","url":"https://github.com/raptorjs/raptor-async.git"},"scripts":{"test":"node_modules/.bin/mocha --ui bdd --reporter spec ./test"},"author":{"name":"Phillip Gates-Idem","email":"phillip.idem@gmail.com"},"maintainers":[{"name":"philidem","email":"phillip.idem@gmail.com"}],"dependencies":{},"devDependencies":{"mocha":"~1.15.1","chai":"~1.8.1"},"license":"Apache License v2.0","bin":{},"main":"lib/index.js","publishConfig":{"registry":"https://registry.npmjs.org/"},"bugs":{"url":"https://github.com/raptorjs/raptor-async/issues"},"homepage":"https://github.com/raptorjs/raptor-async","_id":"raptor-async@0.1.0-SNAPSHOT","dist":{"shasum":"a34aad3d0e00e07eaa18aaf252fce9f385922b62","tarball":"https://registry.npmjs.org/raptor-async/-/raptor-async-0.1.0-SNAPSHOT.tgz","integrity":"sha512-+2ooglnap1TdeRpOXTakkIDFtRUTjhKohM8XNLbN8nXInV33BmkI4LqdjVTinlX0xnpynRg6Oahixgi6gMGfaw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMZJ1x99S+S/px8Ming0MK1DzhNj1LUH9bbtTzLpGyLgIhAKStIF3wzfZPrALrWT1DzWComxz03haf3+9yVzgiqTeL"}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"philidem","email":"phillip.idem@gmail.com"}},"0.1.1-SNAPSHOT":{"name":"raptor-async","version":"0.1.1-SNAPSHOT","description":"Simple library for orchestrating asynchronous operations","repository":{"type":"git","url":"https://github.com/raptorjs/raptor-async.git"},"scripts":{"test":"node_modules/.bin/mocha --ui bdd --reporter spec ./test"},"author":{"name":"Phillip Gates-Idem","email":"phillip.idem@gmail.com"},"maintainers":[{"name":"philidem","email":"phillip.idem@gmail.com"}],"dependencies":{},"devDependencies":{"mocha":"~1.15.1","chai":"~1.8.1"},"license":"Apache License v2.0","bin":{},"main":"lib/index.js","publishConfig":{"registry":"https://registry.npmjs.org/"},"bugs":{"url":"https://github.com/raptorjs/raptor-async/issues"},"homepage":"https://github.com/raptorjs/raptor-async","_id":"raptor-async@0.1.1-SNAPSHOT","dist":{"shasum":"4a38215915715cd25a9c580b46b6356e0458f72e","tarball":"https://registry.npmjs.org/raptor-async/-/raptor-async-0.1.1-SNAPSHOT.tgz","integrity":"sha512-nANQ7jcfm9n3ccDlkxXoT57R80MOE3fpHQrnrd08hmEqGEDe8du49t/SO+QB6YV4mu8Hsf4FZotJHtnIUUBy+w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCs6ckqzmGlo3ZlpJ0B10UH8nKxDAwRpGYiiWRzkCK9EQIgPAufq2oMyFiMwpp4L45f7gceAAt4f2YVHo1pDIvJbfs="}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"philidem","email":"phillip.idem@gmail.com"}},"0.2.0-beta":{"name":"raptor-async","version":"0.2.0-beta","description":"Simple library for orchestrating asynchronous operations","repository":{"type":"git","url":"https://github.com/raptorjs/raptor-async.git"},"scripts":{"test":"mocha --ui bdd --reporter spec ./test"},"author":{"name":"Phillip Gates-Idem","email":"phillip.idem@gmail.com"},"maintainers":[{"name":"philidem","email":"phillip.idem@gmail.com"},{"name":"pnidem","email":"pnidem@gmail.com"}],"dependencies":{},"devDependencies":{"mocha":"~1.15.1","chai":"~1.8.1"},"license":"Apache License v2.0","bin":{},"main":"lib/raptor-async.js","publishConfig":{"registry":"https://registry.npmjs.org/"},"bugs":{"url":"https://github.com/raptorjs/raptor-async/issues"},"homepage":"https://github.com/raptorjs/raptor-async","_id":"raptor-async@0.2.0-beta","dist":{"shasum":"82434c2433edb065962f9dbed900a2f7fede0b34","tarball":"https://registry.npmjs.org/raptor-async/-/raptor-async-0.2.0-beta.tgz","integrity":"sha512-wTbZuVhsDaXEmR6yitRbnqOCesLgPbJHw9ynGqA3MIJDTtq52c7W7clE0L2EDxNIVo1Ifa/txm9QzNnQDpwFYg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD9Ip9iKWpOiOLxj3qHKY76wtb6vqkPy/8J26YwIrUAzwIhAPr/8D0UyTFslAs8lU5CK5E7SA7tr4ISI3NqY64dHKNm"}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"}},"0.2.1-beta":{"name":"raptor-async","description":"Simple library for orchestrating asynchronous operations","repository":{"type":"git","url":"https://github.com/raptorjs3/raptor-async.git"},"scripts":{"test":"mocha --ui bdd --reporter spec ./test"},"author":{"name":"Phillip Gates-Idem","email":"phillip.idem@gmail.com"},"maintainers":[{"name":"philidem","email":"phillip.idem@gmail.com"},{"name":"pnidem","email":"pnidem@gmail.com"}],"dependencies":{},"devDependencies":{"mocha":"~1.15.1","chai":"~1.8.1"},"license":"Apache License v2.0","bin":{},"main":"lib/raptor-async.js","publishConfig":{"registry":"https://registry.npmjs.org/"},"version":"0.2.1-beta","bugs":{"url":"https://github.com/raptorjs3/raptor-async/issues"},"homepage":"https://github.com/raptorjs3/raptor-async","_id":"raptor-async@0.2.1-beta","dist":{"shasum":"0bc29a8ce557ea686279bfb9094b74db936feb2e","tarball":"https://registry.npmjs.org/raptor-async/-/raptor-async-0.2.1-beta.tgz","integrity":"sha512-3h5Pw+6/Ld7TrI2Paen+NGQwJh1zKx7H87yPuzuuFLxJPdpw2FvtQgCP8DpwLccU+yfewJadSjiZlOUP0zDAfA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDJLra8ZaMfWERLqxhSQE8cGW7PPmhw+f7en1IOjfVuSQIgOykaAZvWH5pSvq3gMCO4u5H5d71BE39nxb6KWOl09Rs="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"}},"0.2.2-beta":{"name":"raptor-async","description":"Simple library for orchestrating asynchronous operations","repository":{"type":"git","url":"https://github.com/raptorjs3/raptor-async.git"},"scripts":{"test":"mocha --ui bdd --reporter spec ./test"},"author":{"name":"Phillip Gates-Idem","email":"phillip.idem@gmail.com"},"maintainers":[{"name":"philidem","email":"phillip.idem@gmail.com"},{"name":"pnidem","email":"pnidem@gmail.com"}],"dependencies":{},"devDependencies":{"mocha":"~1.15.1","chai":"~1.8.1"},"license":"Apache License v2.0","bin":{},"main":"lib/raptor-async.js","publishConfig":{"registry":"https://registry.npmjs.org/"},"version":"0.2.2-beta","bugs":{"url":"https://github.com/raptorjs3/raptor-async/issues"},"homepage":"https://github.com/raptorjs3/raptor-async","_id":"raptor-async@0.2.2-beta","dist":{"shasum":"912d5e970a8ee43a4eddf32d48eebb4a3162da08","tarball":"https://registry.npmjs.org/raptor-async/-/raptor-async-0.2.2-beta.tgz","integrity":"sha512-kYdszvXMQjTy3Kr3xpigLF4mDaeHnuaIrWV3gRnJqIYaIzTlIWtQLmqTmJ6qLqwsrziMqcT1D7KPn6BvIeh1mw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCeivNLAuzuK7rKyrd0BofvQS6Ev9G0w16GXFLMOraWhgIhAPfdhYpxg+/m1RsgVOPBmwOuan+ipEGWz8UNSgYlT6uB"}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"philidem","email":"phillip.idem@gmail.com"}},"0.2.3-beta":{"name":"raptor-async","description":"Simple library for orchestrating asynchronous operations","repository":{"type":"git","url":"https://github.com/raptorjs3/raptor-async.git"},"scripts":{"test":"mocha --ui bdd --reporter spec ./test"},"author":{"name":"Phillip Gates-Idem","email":"phillip.idem@gmail.com"},"maintainers":[{"name":"philidem","email":"phillip.idem@gmail.com"},{"name":"pnidem","email":"pnidem@gmail.com"}],"dependencies":{},"devDependencies":{"mocha":"~1.15.1","chai":"~1.8.1"},"license":"Apache License v2.0","bin":{},"main":"lib/raptor-async.js","publishConfig":{"registry":"https://registry.npmjs.org/"},"version":"0.2.3-beta","bugs":{"url":"https://github.com/raptorjs3/raptor-async/issues"},"homepage":"https://github.com/raptorjs3/raptor-async","_id":"raptor-async@0.2.3-beta","dist":{"shasum":"e009e21e22d476bf79c79f8319048549e16fcd21","tarball":"https://registry.npmjs.org/raptor-async/-/raptor-async-0.2.3-beta.tgz","integrity":"sha512-8kDiY5LOhe9Aj9alJ36CMz6PNSGFosJyqpgBra3Uuva6A873YBpMIfnXs/05LZ63TDVR9j425aZ2ZsaQTtphSA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3n+am5h5yFq5EaT8ncfLVrEbIakKdOsccAwR6aMRkkgIgAYDzjWlkwnF/0CKqk20cNIsiLUY3RFRqm/BJKijVby4="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"}},"0.2.4-beta":{"name":"raptor-async","description":"Simple library for orchestrating asynchronous operations","repository":{"type":"git","url":"https://github.com/raptorjs3/raptor-async.git"},"scripts":{"test":"mocha --ui bdd --reporter spec ./test"},"author":{"name":"Phillip Gates-Idem","email":"phillip.idem@gmail.com"},"maintainers":[{"name":"philidem","email":"phillip.idem@gmail.com"},{"name":"pnidem","email":"pnidem@gmail.com"}],"dependencies":{},"devDependencies":{"mocha":"~1.15.1","chai":"~1.8.1"},"license":"Apache License v2.0","bin":{},"main":"index.js","publishConfig":{"registry":"https://registry.npmjs.org/"},"version":"0.2.4-beta","bugs":{"url":"https://github.com/raptorjs3/raptor-async/issues"},"homepage":"https://github.com/raptorjs3/raptor-async","_id":"raptor-async@0.2.4-beta","dist":{"shasum":"9cc78142c161e8b1c7ca695a79c598d09b266109","tarball":"https://registry.npmjs.org/raptor-async/-/raptor-async-0.2.4-beta.tgz","integrity":"sha512-0NbU98Fuo0AC9O2bESattUr3KbCW0+rPoSCNxZ04oLCClmUklnQxQIuGr1qR5XiW6E0VW3bnD/KYW8ZJ7MaceQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDYD2enMVwpk7ZsBFzXHC+4mUbHb++GkAkxSmIISyFeBgIgDAWoyi9300/mqxNbshGEywyq2Nz5ZD92SZr2myTvCSE="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"}},"0.2.5-beta":{"name":"raptor-async","description":"Simple library for orchestrating asynchronous operations","repository":{"type":"git","url":"https://github.com/raptorjs3/raptor-async.git"},"scripts":{"test":"mocha --ui bdd --reporter spec ./test"},"author":{"name":"Phillip Gates-Idem","email":"phillip.idem@gmail.com"},"maintainers":[{"name":"philidem","email":"phillip.idem@gmail.com"},{"name":"pnidem","email":"pnidem@gmail.com"}],"dependencies":{},"devDependencies":{"mocha":"~1.15.1","chai":"~1.8.1"},"license":"Apache License v2.0","bin":{},"main":"index.js","publishConfig":{"registry":"https://registry.npmjs.org/"},"version":"0.2.5-beta","bugs":{"url":"https://github.com/raptorjs3/raptor-async/issues"},"homepage":"https://github.com/raptorjs3/raptor-async","_id":"raptor-async@0.2.5-beta","dist":{"shasum":"815698ab0ce924effaf24eecd73242930c1ed5ee","tarball":"https://registry.npmjs.org/raptor-async/-/raptor-async-0.2.5-beta.tgz","integrity":"sha512-7O/IoneIbEHIS7ZTyvIUpPYyEEVOe/s9K7uZB8/3XJkXp3nmE2DO+EM6na1UUGEnMDG9HT+Sj1aWn5Dc/Ifc6g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICixNyhSbuJJ/EWqmyXE3AbmXlV8MK2mgITjDsCfhoV/AiEA8cA7u6VdenFsbbj1dtMpXA4FQx9+L2vMqi+jkXdRhZo="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"}},"0.2.6-beta":{"name":"raptor-async","description":"Simple library for orchestrating asynchronous operations","repository":{"type":"git","url":"https://github.com/raptorjs3/raptor-async.git"},"scripts":{"test":"mocha --ui bdd --reporter spec ./test"},"author":{"name":"Phillip Gates-Idem","email":"phillip.idem@gmail.com"},"maintainers":[{"name":"philidem","email":"phillip.idem@gmail.com"},{"name":"pnidem","email":"pnidem@gmail.com"}],"dependencies":{},"devDependencies":{"mocha":"~1.15.1","chai":"~1.8.1"},"license":"Apache License v2.0","bin":{},"main":"index.js","publishConfig":{"registry":"https://registry.npmjs.org/"},"version":"0.2.6-beta","gitHead":"5b5cc1deeef13b7c72722242ae0896351690c6a2","bugs":{"url":"https://github.com/raptorjs3/raptor-async/issues"},"homepage":"https://github.com/raptorjs3/raptor-async","_id":"raptor-async@0.2.6-beta","_shasum":"4a805588c4f5e93f13f6634f0ea74bc7549dff66","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"},"dist":{"shasum":"4a805588c4f5e93f13f6634f0ea74bc7549dff66","tarball":"https://registry.npmjs.org/raptor-async/-/raptor-async-0.2.6-beta.tgz","integrity":"sha512-PB1iuktCaNwwRVYw2tLQewG4qJtc+yo05UN1+A1VaB7iwUcieURgBB/vz/hgOCfb6Q8pA4499BJ4/RIs9yUlaQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF0ZQSMAZwIPFLne1Irmos1FkYynt449WeNovJa6VkkUAiEA4Wc6B4kYfNbX/WFoY40RQG4lXLMNr4nf/GVkLVptOdQ="}]}},"0.2.7-beta":{"name":"raptor-async","description":"Simple library for orchestrating asynchronous operations","repository":{"type":"git","url":"https://github.com/raptorjs3/raptor-async.git"},"scripts":{"test":"mocha --ui bdd --reporter spec ./test"},"author":{"name":"Phillip Gates-Idem","email":"phillip.idem@gmail.com"},"maintainers":[{"name":"philidem","email":"phillip.idem@gmail.com"},{"name":"pnidem","email":"pnidem@gmail.com"}],"dependencies":{},"devDependencies":{"mocha":"~1.15.1","chai":"~1.8.1"},"license":"Apache License v2.0","bin":{},"main":"index.js","publishConfig":{"registry":"https://registry.npmjs.org/"},"version":"0.2.7-beta","gitHead":"f5f7e4cbbec19c56d8aa2016340b7ff29c1041f7","bugs":{"url":"https://github.com/raptorjs3/raptor-async/issues"},"homepage":"https://github.com/raptorjs3/raptor-async","_id":"raptor-async@0.2.7-beta","_shasum":"e5ff937648ec77326aad82f552e17b74dfc3bd05","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"},"dist":{"shasum":"e5ff937648ec77326aad82f552e17b74dfc3bd05","tarball":"https://registry.npmjs.org/raptor-async/-/raptor-async-0.2.7-beta.tgz","integrity":"sha512-QEKEfKAW6F5gVGcNMH4w0TkghCVka+bHhUxpoQt8FcTkdc6aQqUwQAx0KJsyAkNUFrjl4MWYZ7tkZ4JPciq7QQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHFx2bybpxKWexZ5+j70gxiNc3D82q6iFv7vJqNdEkdGAiAT1fj9C4Bl9Ms2ePeEdOHPO3mJPF+RIN8rN2HL53/muA=="}]}},"0.2.8-beta":{"name":"raptor-async","description":"Simple library for orchestrating asynchronous operations","repository":{"type":"git","url":"https://github.com/raptorjs3/raptor-async.git"},"scripts":{"test":"mocha --ui bdd --reporter spec ./test"},"author":{"name":"Phillip Gates-Idem","email":"phillip.idem@gmail.com"},"maintainers":[{"name":"philidem","email":"phillip.idem@gmail.com"},{"name":"pnidem","email":"pnidem@gmail.com"}],"dependencies":{},"devDependencies":{"mocha":"~1.15.1","chai":"~1.8.1"},"license":"Apache License v2.0","bin":{},"main":"index.js","publishConfig":{"registry":"https://registry.npmjs.org/"},"version":"0.2.8-beta","gitHead":"e36114ff508088e41e65c1894bebcd5fbdfd5649","bugs":{"url":"https://github.com/raptorjs3/raptor-async/issues"},"homepage":"https://github.com/raptorjs3/raptor-async","_id":"raptor-async@0.2.8-beta","_shasum":"da9925db0cf39d9c2df15fa4c7c4c37a1618f133","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"},"dist":{"shasum":"da9925db0cf39d9c2df15fa4c7c4c37a1618f133","tarball":"https://registry.npmjs.org/raptor-async/-/raptor-async-0.2.8-beta.tgz","integrity":"sha512-4mEDFN0DhX7FrLAVyWraTLxFuGndHbAjfp06N1QOKMeZgUTEFCW0z8PoHUMGTwUN3UNoIjgxyl2+/pKN/QtExg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGNlGvzI/Ka64Dff/F5lyl75g6jH47xrxhwQBjIZF2ufAiB38OMeZngw0qkTZ49qfvs5SyTsuMBMHJUP/GyKEurKOA=="}]}},"0.2.9-beta":{"name":"raptor-async","description":"Simple library for orchestrating asynchronous operations","repository":{"type":"git","url":"https://github.com/raptorjs3/raptor-async.git"},"scripts":{"test":"mocha --ui bdd --reporter spec ./test"},"author":{"name":"Phillip Gates-Idem","email":"phillip.idem@gmail.com"},"maintainers":[{"name":"philidem","email":"phillip.idem@gmail.com"},{"name":"pnidem","email":"pnidem@gmail.com"}],"dependencies":{},"devDependencies":{"mocha":"~1.15.1","chai":"~1.8.1"},"license":"Apache License v2.0","bin":{},"main":"index.js","publishConfig":{"registry":"https://registry.npmjs.org/"},"version":"0.2.9-beta","gitHead":"1985c7144c9184afd254df0d1fc2d8177ed69d6f","bugs":{"url":"https://github.com/raptorjs3/raptor-async/issues"},"homepage":"https://github.com/raptorjs3/raptor-async","_id":"raptor-async@0.2.9-beta","_shasum":"b5decf605e1dea3a93f7940456c80ddae89e0b6e","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"philidem","email":"phillip.idem@gmail.com"},"dist":{"shasum":"b5decf605e1dea3a93f7940456c80ddae89e0b6e","tarball":"https://registry.npmjs.org/raptor-async/-/raptor-async-0.2.9-beta.tgz","integrity":"sha512-Flcv7F62Ueq/hXeycobjz4l9npFPfly1VKxH0ZNMQu6D0vuVVl/0y4Kh3KuRgbVTM33vrfHqvrseG9P7CN6y4A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDCHeN2oO3y/ccuS8rmrSKtXAGjM3jFRzv8PHuWUOWtyAiA80Tkq5UDfWVbOZu/WABV4W+OyaAYN1BhSaCuPzP2I4Q=="}]}},"0.2.10-beta":{"name":"raptor-async","description":"Simple library for orchestrating asynchronous operations","repository":{"type":"git","url":"https://github.com/raptorjs3/raptor-async.git"},"scripts":{"test":"mocha --ui bdd --reporter spec ./test"},"author":{"name":"Phillip Gates-Idem","email":"phillip.idem@gmail.com"},"maintainers":[{"name":"philidem","email":"phillip.idem@gmail.com"},{"name":"pnidem","email":"pnidem@gmail.com"}],"dependencies":{},"devDependencies":{"mocha":"~1.15.1","chai":"~1.8.1"},"license":"Apache License v2.0","bin":{},"main":"index.js","publishConfig":{"registry":"https://registry.npmjs.org/"},"version":"0.2.10-beta","gitHead":"25bf3e97fe7500723ca80eb05ab597f1efea5923","bugs":{"url":"https://github.com/raptorjs3/raptor-async/issues"},"homepage":"https://github.com/raptorjs3/raptor-async","_id":"raptor-async@0.2.10-beta","_shasum":"b5d5a9367c6e3bc3edd5d86c61c568fe50a756c9","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"philidem","email":"phillip.idem@gmail.com"},"dist":{"shasum":"b5d5a9367c6e3bc3edd5d86c61c568fe50a756c9","tarball":"https://registry.npmjs.org/raptor-async/-/raptor-async-0.2.10-beta.tgz","integrity":"sha512-lfkxYBdpWQ1RgNgYnRYzTqNTq87bZrVnBkuov7Q8yaFt2PNsLEo9pzhOQmP6S7rMCFzNsgonazpiWIICnlScqQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNQqCNvud37x7DdsAmezRaWGxstY6i6psg2GGto/3xGgIhAN6M9MvhZ7J0BQ6iGdrPoiBA0OMRrFd4nyCD0XAbPusx"}]}},"1.0.0-beta":{"name":"raptor-async","description":"Simple library for orchestrating asynchronous operations","repository":{"type":"git","url":"https://github.com/raptorjs3/raptor-async.git"},"scripts":{"test":"mocha --ui bdd --reporter spec ./test"},"author":{"name":"Phillip Gates-Idem","email":"phillip.idem@gmail.com"},"maintainers":[{"name":"philidem","email":"phillip.idem@gmail.com"},{"name":"pnidem","email":"pnidem@gmail.com"}],"dependencies":{},"devDependencies":{"mocha":"~1.15.1","chai":"~1.8.1"},"license":"Apache License v2.0","bin":{},"main":"index.js","publishConfig":{"registry":"https://registry.npmjs.org/"},"version":"1.0.0-beta","gitHead":"97e792146d7720a1ee10e7cd697bb472e2c7702f","bugs":{"url":"https://github.com/raptorjs3/raptor-async/issues"},"homepage":"https://github.com/raptorjs3/raptor-async","_id":"raptor-async@1.0.0-beta","_shasum":"efbd5dc3fe481ff99761871b12de3a9912e304c3","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"},"dist":{"shasum":"efbd5dc3fe481ff99761871b12de3a9912e304c3","tarball":"https://registry.npmjs.org/raptor-async/-/raptor-async-1.0.0-beta.tgz","integrity":"sha512-1LmreW/k2AqJ+8+xDV8nlHkpLZkA/H41NvHNnZo7AzJIzYP9+qa3o3ggsKIf3vtJeRxqS/QoUHrg4WKNOKvRHw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCketKDE6MIUENIJwYcKlKUzSPERT9W4mjO1H6OIthLOQIhAP1LlH+r+KOu+fyqy4YSkXodu3K3pEigJg+mQKUSFjdA"}]}},"1.0.0":{"name":"raptor-async","description":"Simple library for orchestrating asynchronous operations","repository":{"type":"git","url":"https://github.com/raptorjs3/raptor-async.git"},"scripts":{"test":"mocha --ui bdd --reporter spec ./test"},"author":{"name":"Phillip Gates-Idem","email":"phillip.idem@gmail.com"},"maintainers":[{"name":"philidem","email":"phillip.idem@gmail.com"},{"name":"pnidem","email":"pnidem@gmail.com"}],"dependencies":{},"devDependencies":{"mocha":"~1.15.1","chai":"~1.8.1"},"license":"Apache License v2.0","bin":{},"main":"index.js","publishConfig":{"registry":"https://registry.npmjs.org/"},"version":"1.0.0","gitHead":"0fb814db8800d517cc6a9c724b45a9d0c798cf67","bugs":{"url":"https://github.com/raptorjs3/raptor-async/issues"},"homepage":"https://github.com/raptorjs3/raptor-async","_id":"raptor-async@1.0.0","_shasum":"477f28d5417fc6d14f54bd4084178046801758ba","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"},"dist":{"shasum":"477f28d5417fc6d14f54bd4084178046801758ba","tarball":"https://registry.npmjs.org/raptor-async/-/raptor-async-1.0.0.tgz","integrity":"sha512-W5s5yBzZaZQ5odLlZm5/rvMPKRAI6O3nW93k+KT6ewv0XGtnIF4e0591YMFPWbpk5/Hc8s1UHxCy5o3NmgKLnQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDMU2Y1WM4jSC1Km+PvFH3u+bzO4ltiRjY+qOXBZ5ylYAiEA62I1NtDyBY2VdvcpIpK5VYsAFpVQFzSGO6lBsoOYEvw="}]}},"0.2.11":{"name":"raptor-async","description":"Simple library for orchestrating asynchronous operations","repository":{"type":"git","url":"https://github.com/raptorjs3/raptor-async.git"},"scripts":{"test":"mocha --ui bdd --reporter spec ./test"},"author":{"name":"Phillip Gates-Idem","email":"phillip.idem@gmail.com"},"maintainers":[{"name":"philidem","email":"phillip.idem@gmail.com"},{"name":"pnidem","email":"pnidem@gmail.com"}],"dependencies":{},"devDependencies":{"mocha":"~1.15.1","chai":"~1.8.1"},"license":"Apache License v2.0","bin":{},"main":"index.js","publishConfig":{"registry":"https://registry.npmjs.org/"},"version":"0.2.11","gitHead":"c3a5475c24f8f8810260d394422767b57fe348b6","bugs":{"url":"https://github.com/raptorjs3/raptor-async/issues"},"homepage":"https://github.com/raptorjs3/raptor-async","_id":"raptor-async@0.2.11","_shasum":"2ecbc3e753896e5ad47caff92cb46a6f5da6e2e8","_from":".","_npmVersion":"2.0.2","_nodeVersion":"0.10.32","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"},"dist":{"shasum":"2ecbc3e753896e5ad47caff92cb46a6f5da6e2e8","tarball":"https://registry.npmjs.org/raptor-async/-/raptor-async-0.2.11.tgz","integrity":"sha512-IgDZiZ74E/emLJklwkbjHcEg9HUIiv3cDPoGDxYPtmvEuCKBjm0czA7M+7nc/I5Pa3N9wst/iNV+Ex4rLbaexg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHv+NxmEUnWpWXuGM/JWRjUqwsZpXb/gnWjnOWdQnsJJAiB1W9jS88LFpu/Um5CuYRSDPsgK8NdgZ5XJeuTUqIycuw=="}]}},"1.0.1":{"name":"raptor-async","description":"Simple library for orchestrating asynchronous operations","repository":{"type":"git","url":"https://github.com/raptorjs/raptor-async.git"},"scripts":{"test":"mocha --ui bdd --reporter spec ./test"},"author":{"name":"Phillip Gates-Idem","email":"phillip.idem@gmail.com"},"maintainers":[{"name":"philidem","email":"phillip.idem@gmail.com"},{"name":"pnidem","email":"pnidem@gmail.com"}],"dependencies":{},"devDependencies":{"mocha":"~1.15.1","chai":"~1.8.1"},"license":"Apache License v2.0","bin":{},"main":"index.js","publishConfig":{"registry":"https://registry.npmjs.org/"},"version":"1.0.1","gitHead":"df397df79bfbd65caa8b506014dcf31abb8cc03d","bugs":{"url":"https://github.com/raptorjs/raptor-async/issues"},"homepage":"https://github.com/raptorjs/raptor-async","_id":"raptor-async@1.0.1","_shasum":"9b563429ebe5d29932b0b6e97cc16707426845d7","_from":".","_npmVersion":"2.0.2","_nodeVersion":"0.10.32","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"},"dist":{"shasum":"9b563429ebe5d29932b0b6e97cc16707426845d7","tarball":"https://registry.npmjs.org/raptor-async/-/raptor-async-1.0.1.tgz","integrity":"sha512-06Yl7L2FxEYSaO8qdDNoC9NM7ezyG8VqXYFibaqVcKJjh05jbFHnVtYn8WSVbOLM3rwJnknOasb7Or5ploySuQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDEQMOh1J1eg2/Lf99M6l9SdRYtpwB2OsLctBa9CI4q+QIhAPdl5dXiKBXM27mogyW7pMG59PbRSeiqRjS+2NIfvnMv"}]}},"1.0.2":{"name":"raptor-async","description":"Simple library for orchestrating asynchronous operations","repository":{"type":"git","url":"https://github.com/raptorjs/raptor-async.git"},"scripts":{"test":"mocha --ui bdd --reporter spec ./test"},"author":{"name":"Phillip Gates-Idem","email":"phillip.idem@gmail.com"},"maintainers":[{"name":"philidem","email":"phillip.idem@gmail.com"},{"name":"pnidem","email":"pnidem@gmail.com"}],"dependencies":{},"devDependencies":{"mocha":"~1.15.1","chai":"~1.8.1"},"license":"Apache License v2.0","bin":{},"main":"index.js","publishConfig":{"registry":"https://registry.npmjs.org/"},"version":"1.0.2","gitHead":"83d88f3dbbddbf1e53164f61a3280d8fde18de19","bugs":{"url":"https://github.com/raptorjs/raptor-async/issues"},"homepage":"https://github.com/raptorjs/raptor-async","_id":"raptor-async@1.0.2","_shasum":"ab7df5d0ad67329f72014f025e6db9289dd1322a","_from":".","_npmVersion":"2.0.2","_nodeVersion":"0.10.32","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"},"dist":{"shasum":"ab7df5d0ad67329f72014f025e6db9289dd1322a","tarball":"https://registry.npmjs.org/raptor-async/-/raptor-async-1.0.2.tgz","integrity":"sha512-XSyp/QXEUXZuvoJLHlMJ1opQw0rUVz8TN/c+mnkSTpMqZ3KKu3jiFfQ8xq247M9dI5gxFU+ALejvR85JH5roPA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDjtyb4mtcmznfl8Ym5hyBxjuzet+uruDcd9GyS4m2VaQIgcYguplSnbZJjXnFsverHHZ92exjO0BwIGsYsKDASRq0="}]}},"1.0.3":{"name":"raptor-async","description":"Simple library for orchestrating asynchronous operations","repository":{"type":"git","url":"https://github.com/raptorjs/raptor-async.git"},"scripts":{"test":"mocha --ui bdd --reporter spec ./test"},"author":{"name":"Phillip Gates-Idem","email":"phillip.idem@gmail.com"},"maintainers":[{"name":"philidem","email":"phillip.idem@gmail.com"},{"name":"pnidem","email":"pnidem@gmail.com"}],"dependencies":{},"devDependencies":{"mocha":"~1.15.1","chai":"~1.8.1"},"license":"Apache License v2.0","bin":{},"main":"index.js","publishConfig":{"registry":"https://registry.npmjs.org/"},"version":"1.0.3","gitHead":"1637ebb61382a4677246f9ddc26e314b3c19fdb9","bugs":{"url":"https://github.com/raptorjs/raptor-async/issues"},"homepage":"https://github.com/raptorjs/raptor-async","_id":"raptor-async@1.0.3","_shasum":"a4bce06b49e7155a141b075ee8f800bc6c7dd6f9","_from":".","_npmVersion":"2.0.2","_nodeVersion":"0.10.32","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"},"dist":{"shasum":"a4bce06b49e7155a141b075ee8f800bc6c7dd6f9","tarball":"https://registry.npmjs.org/raptor-async/-/raptor-async-1.0.3.tgz","integrity":"sha512-3Ofmi9K5w1ym8ber9tKwPTuqulESyFwWzHWQSpgMYDg2U41oGpIm0ThvopvpRkdHyv/iYdJEugV7P1OiwiY1RQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDOHEhZkxbdz+FDviMmuiVHpmV1mn1c4RGMCn6EDGd/OAiEAtfTskvoRBPSF0vBQeRZg7e3BNgpf8mdc4C1JIqZo+G0="}]}},"1.1.0":{"name":"raptor-async","description":"Simple library for orchestrating asynchronous operations","repository":{"type":"git","url":"https://github.com/raptorjs/raptor-async.git"},"scripts":{"test":"mocha --ui bdd --reporter spec ./test"},"author":{"name":"Phillip Gates-Idem","email":"phillip.idem@gmail.com"},"maintainers":[{"name":"philidem","email":"phillip.idem@gmail.com"},{"name":"pnidem","email":"pnidem@gmail.com"}],"dependencies":{},"devDependencies":{"mocha":"~1.15.1","chai":"~1.8.1"},"license":"Apache License v2.0","bin":{},"main":"index.js","publishConfig":{"registry":"https://registry.npmjs.org/"},"version":"1.1.0","gitHead":"a1b4b7f80d0689b94dedf04d0ec60bb6602925cd","bugs":{"url":"https://github.com/raptorjs/raptor-async/issues"},"homepage":"https://github.com/raptorjs/raptor-async","_id":"raptor-async@1.1.0","_shasum":"c7d8b1a19be73051e912b5ece789f2c27fc88326","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"},"dist":{"shasum":"c7d8b1a19be73051e912b5ece789f2c27fc88326","tarball":"https://registry.npmjs.org/raptor-async/-/raptor-async-1.1.0.tgz","integrity":"sha512-OEO2zR/LXC3N5kgP6O2UoutXLNFwFR+h66opg+n/RQ6pXv/Lh3/mfTyuExjzmX/wqOlHJWX0yBZD8olPCYg7Rw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCMeAKg/PQvtNQ02wDJhrNNuLXhypiedbFruhtEKbRgBQIgPeUottNCWZPxe4PQHpweBvVO5wamAxeNHaXQUZCN30g="}]}},"1.1.1":{"name":"raptor-async","description":"Simple library for orchestrating asynchronous operations","repository":{"type":"git","url":"https://github.com/raptorjs/raptor-async.git"},"scripts":{"test":"mocha --ui bdd --reporter spec ./test"},"author":{"name":"Phillip Gates-Idem","email":"phillip.idem@gmail.com"},"maintainers":[{"name":"philidem","email":"phillip.idem@gmail.com"},{"name":"pnidem","email":"pnidem@gmail.com"}],"dependencies":{},"devDependencies":{"mocha":"~1.15.1","chai":"~1.8.1"},"license":"Apache License v2.0","bin":{},"main":"index.js","publishConfig":{"registry":"https://registry.npmjs.org/"},"version":"1.1.1","gitHead":"977c4dc1a61dbf1bf3b855cb8c9e23975a778626","bugs":{"url":"https://github.com/raptorjs/raptor-async/issues"},"homepage":"https://github.com/raptorjs/raptor-async","_id":"raptor-async@1.1.1","_shasum":"3180802f2aacbe48bdb8c2c6dc4ef3fdb7ccb0db","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.2","_npmUser":{"name":"philidem","email":"phillip.idem@gmail.com"},"dist":{"shasum":"3180802f2aacbe48bdb8c2c6dc4ef3fdb7ccb0db","tarball":"https://registry.npmjs.org/raptor-async/-/raptor-async-1.1.1.tgz","integrity":"sha512-3QlP98/8kzQSnkDre5jXMO0Kq8QE44zlzzkslIQ20V3eyWGOVWf9u+/ZvjaF7uY3YZA7X/HBQkJ8idKntngBDQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC7v637k1Rpm+klLayVlDVe0rQjbvj0YfP4imjuQEGsZAiBIbRMna3Set/9AjhVh3YV9kiO+Lmdv3eO/8cu1PPZx+A=="}]}},"1.1.2":{"name":"raptor-async","description":"Simple library for orchestrating asynchronous operations","repository":{"type":"git","url":"https://github.com/raptorjs/raptor-async.git"},"scripts":{"test":"mocha --ui bdd --reporter spec ./test"},"author":{"name":"Phillip Gates-Idem","email":"phillip.idem@gmail.com"},"maintainers":[{"name":"philidem","email":"phillip.idem@gmail.com"},{"name":"pnidem","email":"pnidem@gmail.com"}],"dependencies":{},"devDependencies":{"mocha":"~1.15.1","chai":"~1.8.1"},"license":"Apache License v2.0","bin":{},"main":"index.js","publishConfig":{"registry":"https://registry.npmjs.org/"},"version":"1.1.2","gitHead":"7fbb62c5e725f4def5d4a0dea617e0e625f7bb32","bugs":{"url":"https://github.com/raptorjs/raptor-async/issues"},"homepage":"https://github.com/raptorjs/raptor-async","_id":"raptor-async@1.1.2","_shasum":"1e84285e15f6cd587106e8f36c7ab3243cc5a361","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"},"dist":{"shasum":"1e84285e15f6cd587106e8f36c7ab3243cc5a361","tarball":"https://registry.npmjs.org/raptor-async/-/raptor-async-1.1.2.tgz","integrity":"sha512-NVWwNVBLt1cEeI0g8jfZiaf4SNINwwMItwkLD23ZnL4axgce+JAHr8XpCv6eqTzvNR6MS7poCFphjs761fYYsQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCa9Beq+KH/5ml+9pc4PnQ7M3RfQWIo1sbGcXdcTujx2gIhANmnTJqIdvWCJrvknsJ18kNdTG7ilLc2N8ysjkiY6MHU"}]}},"1.1.3":{"name":"raptor-async","description":"Simple library for orchestrating asynchronous operations","repository":{"type":"git","url":"git+https://github.com/raptorjs/raptor-async.git"},"scripts":{"test":"mocha --ui bdd --reporter spec ./test"},"author":{"name":"Phillip Gates-Idem","email":"phillip.idem@gmail.com"},"maintainers":[{"name":"philidem","email":"phillip.idem@gmail.com"},{"name":"pnidem","email":"pnidem@gmail.com"}],"dependencies":{},"devDependencies":{"chai":"^3.5.0","mocha":"^2.5.1"},"license":"Apache License v2.0","bin":{},"main":"index.js","publishConfig":{"registry":"https://registry.npmjs.org/"},"version":"1.1.3","gitHead":"7d38d47f37c10473d7ec7b5d2576ebf2a64d9688","bugs":{"url":"https://github.com/raptorjs/raptor-async/issues"},"homepage":"https://github.com/raptorjs/raptor-async#readme","_id":"raptor-async@1.1.3","_shasum":"b83c3c9b603dc985c2c3a9f78d2b4073e6f6024c","_from":".","_npmVersion":"2.15.1","_nodeVersion":"4.4.4","_npmUser":{"name":"philidem","email":"phillip.idem@gmail.com"},"dist":{"shasum":"b83c3c9b603dc985c2c3a9f78d2b4073e6f6024c","tarball":"https://registry.npmjs.org/raptor-async/-/raptor-async-1.1.3.tgz","integrity":"sha512-VZCxygWMjW9lKqnApK9D2QbfyzRn7ehiTqnXWwMCLBXANSy+xbnYfbX/5f8YX3bZXu+g+JESmqWPchIQrZj2ig==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDjKcvQzX2HCd4H6LDcIPgZAkbEykfcx8/IMQivwz9dQgIgGbrDmZuiRM+Jv7izMvv8TBsXA9s7PDXGvfqlCqE4ZNs="}]},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/raptor-async-1.1.3.tgz_1464013452358_0.8029154308605939"}}},"readme":"raptor-async\n============\n\n**raptor-async** is a simple library for orchestrating asynchronous operations. It was inspired by the popular <a href=\"https://github.com/caolan/async\">caolan/async</a> library. The main difference being that this library only includes **parallel** and **series** functions. This library also supports an optional **thisObj** argument that determines the scope that will be used when invoking job and completion functions.\n\n# Overview\n\nThe **raptor-async** library handles invoking functions (a.k.a. jobs) in **parallel** or **series**. Each function is invoked with a single argument &mdash; a callback function that should be invoked when the job completes. The callback function is a Node-style callback so it expects the first parameter to be an error object and the second parameter to be the data.\n\n## Parallel\n\nThe **parallel** method is used to handle invoking worker jobs in parallel and notifying the provided callback when all of the jobs complete.\n\nThe **parallel** function supports the following calling conventions:\n```javascript\nasync.parallel(function[], function, thisObj)\n```\nor\n```javascript\nasync.parallel(object, function, thisObj)\n```\n\nIf **parallel** is invoked with an array of functions as first argument, then results will provided to the completion callback as an array with the value at each index corresponding to the data returned by the job at that index. The order of the results will not be arbitrary &mdash; it will always correspond to the order in which the jobs were provided to the **parallel** function.\n\nIf **parallel** is invoked with an object as first argument, then each property is expected to be a function. The results will provided to the completion callback as an object with the value of each property corresponding to the data returned by the job with the corresponding key.\n\nThe **thisObj** argument is optional, but if it is provided then each job function will be invoked in the scope of the given value. Also, the final completion callback will be invoked in the scope of the given value.\n\nExample of calling **parallel** with an array of functions as first argument:\n```javascript\nvar async = require('raptor-async');\n\nvar work = [];\n\nwork[0] = function(callback) {\n    setTimeout(function() {\n        callback(null, 0);\n    }, 1000);\n};\n\nwork[1] = function(callback) {\n    setTimeout(function() {\n        callback(null, 1);\n    }, 500);\n};\n\nwork[2] = function(callback) {\n    setTimeout(function() {\n        callback(null, 2);\n    }, 0);\n};\n\nasync.parallel(work, function(err, results) {\n    // results will be [0, 1, 2]\n});\n```\n\nExample of calling **parallel** with object as first argument:\n```javascript\nvar async = require('raptor-async');\n\nvar work = {};\n\nwork.a = function(callback) {\n    setTimeout(function() {\n        callback(null, 0);\n    }, 1000);\n};\n\nwork.b = function(callback) {\n    setTimeout(function() {\n        callback(null, 1);\n    }, 500);\n};\n\nwork.c = function(callback) {\n    setTimeout(function() {\n        callback(null, 2);\n    }, 0);\n};\n\nasync.parallel(work, function(err, results) {\n    // results will be {a: 0, b: 1, c: 2}\n});\n```\n\n## Series\n\nThe **series** method is used to handle invoking worker jobs in series and notifying the provided callback when all of the jobs complete. Execution of jobs will stop if a job provides an error to the callback. The results will always be an array whose order will correspond to the order in which the jobs were placed in array.\n\nThe **series** function supports the following calling convention:\n```javascript\nasync.series(function[], function, thisObj)\n```\n\nThe **thisObj** argument is optional, but if it is provided then each job function will be invoked in the scope of the given value. Also, the final completion callback will be invoked in the scope of the given value.\n\nExample of calling **series**:\n```javascript\nvar async = require('raptor-async');\n\nvar work = [];\n\nwork[0] = function(callback) {\n    setTimeout(function() {\n        callback(null, 0);\n    }, 1000);\n};\n\nwork[1] = function(callback) {\n    setTimeout(function() {\n        callback(null, 1);\n    }, 500);\n};\n\nwork[2] = function(callback) {\n    setTimeout(function() {\n        callback(null, 2);\n    }, 0);\n};\n\nasync.series(work, function(err, results) {\n    // results will be [0, 1, 2]\n});\n```\n\n## Error handling\n\nFor both **parallel** and **series** methods, if errors occur during execution of jobs then completion callback will be invoked with an error object as first argument.\n\nThe error object will have a **toMap** function that can be used to inspect which jobs returned errors. Each property in this map will have a key that corresponds to index (if input work was provided as array of functions) or key (if input work was provided as object) of original input job. The **toString** function will also provide a human-readable description of the error by invoking **toString** on each error and concatenating the results together in a meaningful way.\n\nFor example:\n```javascript\nvar async = require('raptor-async');\n\nasync.series(work, function(err, results) {\n    if (err) {\n        // toString can be used\n        console.error(err.toString());\n\n        // you can also examine the errors yourself and output a message\n        var mappedErrors = err.toMap();\n        for (var key in mappedErrors) {\n            console.error('Job \"' + key + '\" failed with error \"' + mappedErrors[key] + '\"';\n        }\n    }\n});\n```\n\nThrown exceptions will not be caught by **parallel** and **series** during invocations of jobs. It is responsibility of each job to provide their own try catch blocks if this is necessary.\n\n## AsyncValue\n\nSometimes you need to keep track of an asynchronous operation to know if it is still pending, successfully completed or if it completed with an error. Promises allow for this, but Promises introduce a fair amount of overhead. The `AsyncValue` class offered by this module can be used as a lightweight alternative to promises with a much more limited feature set. `AsyncValue` instances do not support chaining, but they do support attaching Node.js-style callbacks. The usage of the `AsyncValue` class is best described using code as shown below:\n\n```javascript\nvar AsyncValue = require('raptor-async/AsyncValue');\n\nvar configAsyncValue = new AsyncValue();\n\nfunction loadConfig() {\n    require('fs').readFile('config.json', 'utf8', function(err, json) {\n        if (err) {\n            // Something with wrong, I guess we won't be able to get a valid config...\n            return configAsyncValue.reject(err);\n        }\n\n        var config = JSON.parse(json);\n\n        // Success! We completed the asynchronous operation of loading the config\n        // and now we can store the result in the async data holder instance.\n        configAsyncValue.resolve(config);\n    });\n}\n\n// Start loading the config immediately\nloadConfig();\n\nexports.onConfigLoaded = function(callback) {\n    // Attach a listener to the data holder\n    configAsyncValue.done(callback);\n}\n```\n\nThe constructor for the `AsyncValue` supports an optional `options` argument (described later).\n\nThe most important methods provided by `AsyncValue` instances are the following:\n\n- `resolve(data)` - Move the data holder ot the \"resolved\" state and store the resulting data in the data holder\n- `reject(err)` - Move the data holder ot the \"rejected\" state and store the resulting error in the data holder\n- `done(callback)` - Attach a Node.js-style callback to the data holder (i.e. `function(err, data)`). If the data holder has already been resolved then the provided callback will be invoked with the stored data as the second argument. If the data holder has already been rejected then the provided callback will be invoked with the stored error as the first argument. If the data holder has not been resolved or rejected then a listener will be attached and the listener will later be invoked when the data holder is later resolved or rejected.\n\nThe complete set of `AsyncValue` properties are shown below:\n\n- `data` - The resolved data or `undefined` if the data holder has not been resolved\n- `error` - The rejected error or `undefined` if the data holder has not been rejected\n- `isResolved() : Boolean` - Has resolved been called?\n- `isRejected() : Boolean` - Has reject been called?\n- `isLoading() : Boolean` - Is there an outstanding request to load data via loader?\n- `isSettled() : Boolean` - Has reject or resolve been called?\n- `load(callback, scope)`\n- `done(callback, scope)`\n- `reject(err)`\n- `resolve(data)`\n- `reset(data)`\n- `unsettle(data)`\n\nThe signature for a `AsyncValue` is `function AsyncValue(options)` where options is an object with any of the following properties (all optional):\n\n- `loader` - A function that can be used to load the asynchronous data. The provided loader function will be invoked with a callback argument when `load()` is called or lazily when a `done` listener is added for the first time.\n- 'ttl' - A time-to-live in milliseconds. The data holder will go back into the initial unsettled state if the time-to-live is exceeded\n- `scope` - The default value of `this` when invoking any of the provided callbacks or the loader function\n","maintainers":[{"email":"austin.kell47@gmail.com","name":"austinkelleher"},{"email":"pierceydylan@gmail.com","name":"dylanpiercey"},{"email":"phillip.idem@gmail.com","name":"philidem"},{"email":"pnidem@gmail.com","name":"pnidem"}],"time":{"modified":"2022-06-25T12:38:59.374Z","created":"2014-01-14T21:50:35.906Z","0.1.0-SNAPSHOT":"2014-01-14T21:50:36.431Z","0.1.1-SNAPSHOT":"2014-02-18T00:05:18.269Z","0.2.0-beta":"2014-02-26T22:18:16.321Z","0.2.1-beta":"2014-03-14T00:08:18.504Z","0.2.2-beta":"2014-03-19T16:34:19.965Z","0.2.3-beta":"2014-04-28T19:16:39.573Z","0.2.4-beta":"2014-06-13T23:40:00.526Z","0.2.5-beta":"2014-06-17T17:01:06.644Z","0.2.6-beta":"2014-06-20T18:39:26.997Z","0.2.7-beta":"2014-07-22T22:49:35.468Z","0.2.8-beta":"2014-07-28T21:50:26.948Z","0.2.9-beta":"2014-08-11T01:57:38.131Z","0.2.10-beta":"2014-08-11T19:41:48.789Z","1.0.0-beta":"2014-09-04T18:11:41.761Z","1.0.0":"2014-09-22T18:05:34.802Z","0.2.11":"2014-10-03T04:18:33.097Z","1.0.1":"2014-10-03T17:21:27.100Z","1.0.2":"2014-11-25T21:19:37.249Z","1.0.3":"2014-12-24T19:45:04.887Z","1.1.0":"2015-05-18T18:11:27.199Z","1.1.1":"2015-05-21T00:39:23.605Z","1.1.2":"2015-06-19T01:12:49.333Z","1.1.3":"2016-05-23T14:24:13.392Z"},"author":{"name":"Phillip Gates-Idem","email":"phillip.idem@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/raptorjs/raptor-async.git"},"readmeFilename":"README.md","homepage":"https://github.com/raptorjs/raptor-async#readme","bugs":{"url":"https://github.com/raptorjs/raptor-async/issues"},"license":"Apache License v2.0"}