{
  "_args": [
    [
      {
        "raw": "from2@^2.1.0",
        "scope": null,
        "escapedName": "from2",
        "name": "from2",
        "rawSpec": "^2.1.0",
        "spec": ">=2.1.0 <3.0.0",
        "type": "range"
      },
      "/home/zkochan/src/pnpm/packages/pnpm/node_modules/mississippi"
    ]
  ],
  "_from": "from2@>=2.1.0 <3.0.0",
  "_id": "from2@2.3.0",
  "_inCache": true,
  "_location": "/from2",
  "_nodeVersion": "4.4.3",
  "_npmOperationalInternal": {
    "host": "packages-12-west.internal.npmjs.com",
    "tmp": "tmp/from2-2.3.0.tgz_1471281357716_0.0004089232534170151"
  },
  "_npmUser": {
    "name": "mafintosh",
    "email": "mathiasbuus@gmail.com"
  },
  "_npmVersion": "2.15.9",
  "_phantomChildren": {},
  "_requested": {
    "raw": "from2@^2.1.0",
    "scope": null,
    "escapedName": "from2",
    "name": "from2",
    "rawSpec": "^2.1.0",
    "spec": ">=2.1.0 <3.0.0",
    "type": "range"
  },
  "_requiredBy": [
    "/into-stream",
    "/mississippi",
    "/neat-csv/into-stream"
  ],
  "_resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
  "_shasum": "8bfb5502bde4a4d36cfdeea007fcca21d7e382af",
  "_shrinkwrap": null,
  "_spec": "from2@^2.1.0",
  "_where": "/home/zkochan/src/pnpm/packages/pnpm/node_modules/mississippi",
  "author": {
    "name": "Hugh Kennedy",
    "email": "hughskennedy@gmail.com",
    "url": "http://hughsk.io/"
  },
  "bugs": {
    "url": "https://github.com/hughsk/from2/issues"
  },
  "contributors": [
    {
      "name": "Mathias Buus",
      "email": "mathiasbuus@gmail.com"
    }
  ],
  "dependencies": {
    "inherits": "^2.0.1",
    "readable-stream": "^2.0.0"
  },
  "description": "Convenience wrapper for ReadableStream, with an API lifted from \"from\" and \"through2\"",
  "devDependencies": {
    "tape": "^4.0.0"
  },
  "directories": {},
  "dist": {
    "shasum": "8bfb5502bde4a4d36cfdeea007fcca21d7e382af",
    "tarball": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz"
  },
  "gitHead": "09243c8b8354420059c9bc935875e1896aa58c10",
  "homepage": "https://github.com/hughsk/from2",
  "keywords": [
    "from",
    "stream",
    "readable",
    "pull",
    "convenience",
    "wrapper"
  ],
  "license": "MIT",
  "main": "index.js",
  "maintainers": [
    {
      "name": "hughsk",
      "email": "hughskennedy@gmail.com"
    },
    {
      "name": "mafintosh",
      "email": "mathiasbuus@gmail.com"
    }
  ],
  "name": "from2",
  "optionalDependencies": {},
  "readme": "# from2 [![Flattr this!](https://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/submit/auto?user_id=hughskennedy&url=http://github.com/hughsk/from2&title=from2&description=hughsk/from2%20on%20GitHub&language=en_GB&tags=flattr,github,javascript&category=software)[![experimental](http://hughsk.github.io/stability-badges/dist/experimental.svg)](http://github.com/hughsk/stability-badges) #\n\n`from2` is a high-level module for creating readable streams that properly handle backpressure.\n\nConvience wrapper for\n[readable-stream](http://github.com/isaacs/readable-stream)'s `ReadableStream`\nbase class, with an API lifted from\n[from](http://github.com/dominictarr/from) and\n[through2](http://github.com/rvagg/through2).\n\n## Usage ##\n\n[![from2](https://nodei.co/npm/from2.png?mini=true)](https://nodei.co/npm/from2)\n\n### `stream = from2([opts], read)` ###\n\nWhere `opts` are the options to pass on to the `ReadableStream` constructor,\nand `read(size, next)` is called when data is requested from the stream.\n\n* `size` is the recommended amount of data (in bytes) to retrieve.\n* `next(err)` should be called when you're ready to emit more data.\n\nFor example, here's a readable stream that emits the contents of a given\nstring:\n\n``` javascript\nvar from = require('from2')\n\nfunction fromString(string) {\n  return from(function(size, next) {\n    // if there's no more content\n    // left in the string, close the stream.\n    if (string.length <= 0) return next(null, null)\n\n    // Pull in a new chunk of text,\n    // removing it from the string.\n    var chunk = string.slice(0, size)\n    string = string.slice(size)\n\n    // Emit \"chunk\" from the stream.\n    next(null, chunk)\n  })\n}\n\n// pipe \"hello world\" out\n// to stdout.\nfromString('hello world').pipe(process.stdout)\n```\n\n### `stream = from2.obj([opts], read)` ###\n\nShorthand for `from2({ objectMode: true }, read)`.\n\n### `createStream = from2.ctor([opts], read)` ###\n\nIf you're creating similar streams in quick succession you can improve\nperformance by generating a stream **constructor** that you can reuse instead\nof creating one-off streams on each call.\n\nTakes the same options as `from2`, instead returning a constructor which you\ncan use to create new streams.\n\n### See Also\n\n- [from2-array](https://github.com/binocarlos/from2-array) - Create a from2 stream based on an array of source values.\n- [from2-string](https://github.com/yoshuawuyts/from2-string) - Create a stream from a string. Sugary wrapper around from2.\n\n## License ##\n\nMIT. See [LICENSE.md](http://github.com/hughsk/from2/blob/master/LICENSE.md) for details.\n",
  "readmeFilename": "README.md",
  "repository": {
    "type": "git",
    "url": "git://github.com/hughsk/from2.git"
  },
  "scripts": {
    "test": "node test"
  },
  "version": "2.3.0"
}
