{
  "_args": [
    [
      {
        "raw": "async@^2.4.1",
        "scope": null,
        "escapedName": "async",
        "name": "async",
        "rawSpec": "^2.4.1",
        "spec": ">=2.4.1 <3.0.0",
        "type": "range"
      },
      "/home/travis/build/lukesargeant/ember-sparkline/node_modules/async-promise-queue"
    ]
  ],
  "_from": "async@>=2.4.1 <3.0.0",
  "_id": "async@2.6.0",
  "_inCache": true,
  "_location": "/async",
  "_nodeVersion": "8.8.0",
  "_npmOperationalInternal": {
    "host": "s3://npm-registry-packages",
    "tmp": "tmp/async-2.6.0.tgz_1510022752955_0.6282575109507889"
  },
  "_npmUser": {
    "name": "aearly",
    "email": "alexander.early@gmail.com"
  },
  "_npmVersion": "5.5.1",
  "_phantomChildren": {},
  "_requested": {
    "raw": "async@^2.4.1",
    "scope": null,
    "escapedName": "async",
    "name": "async",
    "rawSpec": "^2.4.1",
    "spec": ">=2.4.1 <3.0.0",
    "type": "range"
  },
  "_requiredBy": [
    "/async-promise-queue"
  ],
  "_resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz",
  "_shasum": "61a29abb6fcc026fea77e56d1c6ec53a795951f4",
  "_shrinkwrap": null,
  "_spec": "async@^2.4.1",
  "_where": "/home/travis/build/lukesargeant/ember-sparkline/node_modules/async-promise-queue",
  "author": {
    "name": "Caolan McMahon"
  },
  "bugs": {
    "url": "https://github.com/caolan/async/issues"
  },
  "dependencies": {
    "lodash": "^4.14.0"
  },
  "description": "Higher-order functions and common patterns for asynchronous code",
  "devDependencies": {
    "babel-cli": "^6.24.0",
    "babel-core": "^6.24.0",
    "babel-plugin-add-module-exports": "^0.2.1",
    "babel-plugin-istanbul": "^2.0.1",
    "babel-plugin-transform-es2015-modules-commonjs": "^6.3.16",
    "babel-preset-es2015": "^6.3.13",
    "babel-preset-es2017": "^6.22.0",
    "babelify": "^7.2.0",
    "benchmark": "^2.1.1",
    "bluebird": "^3.4.6",
    "chai": "^3.1.0",
    "cheerio": "^0.22.0",
    "coveralls": "^2.11.2",
    "es6-promise": "^2.3.0",
    "eslint": "^2.13.1",
    "fs-extra": "^0.26.7",
    "gh-pages-deploy": "^0.4.2",
    "jsdoc": "^3.4.0",
    "karma": "^1.3.0",
    "karma-browserify": "^5.1.0",
    "karma-firefox-launcher": "^1.0.0",
    "karma-mocha": "^1.2.0",
    "karma-mocha-reporter": "^2.2.0",
    "mocha": "^3.1.2",
    "native-promise-only": "^0.8.0-a",
    "nyc": "^7.0.0",
    "recursive-readdir": "^1.3.0",
    "rimraf": "^2.5.0",
    "rollup": "^0.36.3",
    "rollup-plugin-node-resolve": "^2.0.0",
    "rollup-plugin-npm": "^2.0.0",
    "rsvp": "^3.0.18",
    "semver": "^4.3.6",
    "uglify-js": "~2.7.3",
    "vinyl-buffer": "^1.0.0",
    "vinyl-source-stream": "^1.1.0",
    "watchify": "^3.7.0",
    "yargs": "~3.9.1"
  },
  "directories": {},
  "dist": {
    "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==",
    "shasum": "61a29abb6fcc026fea77e56d1c6ec53a795951f4",
    "tarball": "https://registry.npmjs.org/async/-/async-2.6.0.tgz"
  },
  "gh-pages-deploy": {
    "staticpath": "docs"
  },
  "homepage": "https://caolan.github.io/async/",
  "keywords": [
    "async",
    "callback",
    "module",
    "utility"
  ],
  "license": "MIT",
  "main": "dist/async.js",
  "maintainers": [
    {
      "name": "aearly",
      "email": "alexander.early@gmail.com"
    },
    {
      "name": "beaugunderson",
      "email": "beau@beaugunderson.com"
    },
    {
      "name": "caolan",
      "email": "caolan.mcmahon@gmail.com"
    },
    {
      "name": "hargasinski",
      "email": "argasinski.hubert@gmail.com"
    },
    {
      "name": "megawac",
      "email": "megawac@gmail.com"
    }
  ],
  "name": "async",
  "nyc": {
    "exclude": [
      "mocha_test"
    ]
  },
  "optionalDependencies": {},
  "readme": "![Async Logo](https://raw.githubusercontent.com/caolan/async/master/logo/async-logo_readme.jpg)\n\n[![Build Status via Travis CI](https://travis-ci.org/caolan/async.svg?branch=master)](https://travis-ci.org/caolan/async)\n[![NPM version](https://img.shields.io/npm/v/async.svg)](https://www.npmjs.com/package/async)\n[![Coverage Status](https://coveralls.io/repos/caolan/async/badge.svg?branch=master)](https://coveralls.io/r/caolan/async?branch=master)\n[![Join the chat at https://gitter.im/caolan/async](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/caolan/async?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)\n[![libhive - Open source examples](https://www.libhive.com/providers/npm/packages/async/examples/badge.svg)](https://www.libhive.com/providers/npm/packages/async)\n[![jsDelivr Hits](https://data.jsdelivr.com/v1/package/npm/async/badge?style=rounded)](https://www.jsdelivr.com/package/npm/async)\n\n\nAsync is a utility module which provides straight-forward, powerful functions for working with [asynchronous JavaScript](http://caolan.github.io/async/global.html). Although originally designed for use with [Node.js](https://nodejs.org/) and installable via `npm install --save async`, it can also be used directly in the browser.\n\nFor Documentation, visit <https://caolan.github.io/async/>\n\n*For Async v1.5.x documentation, go [HERE](https://github.com/caolan/async/blob/v1.5.2/README.md)*\n\n\n```javascript\n// for use with Node-style callbacks...\nvar obj = {dev: \"/dev.json\", test: \"/test.json\", prod: \"/prod.json\"};\nvar configs = {};\n\nasync.forEachOf(obj, (value, key, callback) => {\n    fs.readFile(__dirname + value, \"utf8\", (err, data) => {\n        if (err) return callback(err);\n        try {\n            configs[key] = JSON.parse(data);\n        } catch (e) {\n            return callback(e);\n        }\n        callback();\n    });\n}, err => {\n    if (err) console.error(err.message);\n    // configs is now a map of JSON data\n    doSomethingWith(configs);\n});\n```\n\n```javascript\n// ...or ES2017 async functions\nasync.mapLimit(urls, 5, async function(url) {\n    const response = await fetch(url)\n    return response.body\n}, (err, results) => {\n    if (err) throw err\n    // results is now an array of the response bodies\n    console.log(results)\n})\n```\n",
  "readmeFilename": "README.md",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/caolan/async.git"
  },
  "scripts": {
    "coverage": "nyc npm run mocha-node-test -- --grep @nycinvalid --invert",
    "coveralls": "npm run coverage && nyc report --reporter=text-lcov | coveralls",
    "jsdoc": "jsdoc -c ./support/jsdoc/jsdoc.json && node support/jsdoc/jsdoc-fix-html.js",
    "lint": "eslint lib/ mocha_test/ perf/memory.js perf/suites.js perf/benchmark.js support/build/ support/*.js karma.conf.js",
    "mocha-browser-test": "karma start",
    "mocha-node-test": "mocha mocha_test/ --compilers js:babel-core/register",
    "mocha-test": "npm run mocha-node-test && npm run mocha-browser-test",
    "test": "npm run lint && npm run mocha-node-test"
  },
  "version": "2.6.0"
}
