{"dist":{"shasum":"ad0254c385927fc70d0160aeceaacdd88956a99b","tarball":"https://registry.npmjs.org/until-stream/-/until-stream-0.1.0.tgz","integrity":"sha512-oS53C3r6eIeMbtr0uqgi/v3AVBMrHO/ZQ8WWQVm60sGXHa42F8s89e3+Tq+T/iIPoB5pRT5cZXuUyjmiZ3eoCw==","signatures":[{"sig":"MEUCIFhlfn7uSvg1PfJ8L8S6Qyb7ZfJKhHe5FBK3pCPN2R81AiEA9zBOYH8qon4199gC/yi7qOpIRkwk6JQl6JhN7LbEaGE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"until.js","name":"until-stream","_from":".","author":{"name":"Evan Oxfeld","email":"eoxfeld@gmail.com"},"readme":"until-stream [![Build Status](https://travis-ci.org/EvanOxfeld/until-stream.png)](https://travis-ci.org/EvanOxfeld/until-stream)\n============\n\nEver wanted to pause a stream when a certain String or\na binary signature is reached? Until-Stream is the\nanswer. Pipe Until-Stream and automatically stop when\nyour pattern is reached or call read() until the returned\ndata matches your pattern. \n\n<pre>\n--------------------------------------\n|Stability - API is somewhat unstable|\n--------------------------------------\n</pre>\nread() and pipe() are implemented with some limitations.\nFor example, Until-Stream supports piping to only a\nsingle destination stream.\n\n## Installation\n\n```bash\n$ npm install until-stream\n```\n\n## Quick Examples\n\n### Pipe\n\n```javascript\nvar UntilStream = require('until-stream');\nvar streamBuffers = require(\"stream-buffers\");\n\nvar us = new UntilStream({ pattern: 'World'});\n\nvar sourceStream = new streamBuffers.ReadableStreamBuffer();\nsourceStream.put(\"Hello World\");\nvar writableStream = new streamBuffers.WritableStreamBuffer();\n\nsourceStream.pipe(us).pipe(writableStream);\n\nwritableStream.once('close', function () {\n  //writeableStream contains all data before the pattern occurs\n  var str = writableStream.getContentsAsString('utf8'); // 'Hello '\n  //Now the next call to read() returns the pattern\n  var data = us.read(); // 'World'\n});\n```\n### Read\n\n```javascript\nvar UntilStream = require('until-stream');\nvar streamBuffers = require(\"stream-buffers\");\n\nvar us = new UntilStream({ pattern: 'jumps'});\n\nvar sourceStream = new streamBuffers.ReadableStreamBuffer({ chunkSize: 8 });\nsourceStream.put(\"The quick brown fox jumps over the lazy dog\");\n\nsourceStream.pipe(us);\n\nus.on('readable', function() {\n  if (us.read() === 'jumps') {\n    console.log('Pattern reached!');\n  }\n});\n```\n\n## License\n\nMIT\n\n","gitHead":"babb2bd6e42172fcbed4581049ae62ae6d68b3a6","license":"MIT","scripts":{"test":"./node_modules/.bin/tap ./test/*.js"},"_npmUser":{"name":"evanoxfeld","email":"eoxfeld@gmail.com"},"keywords":["until","when","stream","pull"],"repository":{"url":"https://github.com/EvanOxfeld/until-stream.git","type":"git"},"_npmVersion":"1.2.12","description":"A PassThrough stream that stops piping when a pattern is reached ","maintainers":[{"name":"evanoxfeld","email":"eoxfeld@gmail.com"}],"dependencies":{"buffers":"~0.1.1","setimmediate":"~1.0.1","readable-stream":"~0.3.0"},"readmeFilename":"README.md","devDependencies":{"tap":"~0.4.0","stream-buffers":"~0.2.4"},"_id":"until-stream@0.1.0","version":"0.1.0"}