{"dist":{"shasum":"99eb050093b34dffade421b9ac0b410a9cfa17cf","tarball":"https://registry.npmjs.org/match-stream/-/match-stream-0.0.2.tgz","integrity":"sha512-TbN21KrvmZ4mHzKqSFeNNNYeOGNNoEE0sQjhOGlHc+W6XhV4nEhJqaQTJj106NF+NYjyJ7pXh23+OQ1d306ORw==","signatures":[{"sig":"MEYCIQDKMICryoBOkPS6B8kbxBlsO+wepRt91d62Yb4/LBAhGwIhALN+jXTcd6UfNFyGkoTBJGL2LrU6mgbklpAzwSQWK7B3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"match.js","name":"match-stream","_from":".","author":{"name":"Evan Oxfeld","email":"eoxfeld@gmail.com"},"readme":"match-stream [![Build Status](https://travis-ci.org/EvanOxfeld/match-stream.png)](https://travis-ci.org/EvanOxfeld/match-stream)\n============\n\nSupply a function to handle pattern matches within a NodeJS stream.\n\n## Installation\n\n```bash\n$ npm install match-stream\n```\n\n## Quick Examples\n\n### End stream on match\n\n```javascript\nvar MatchStream = require('match-stream');\nvar streamBuffers = require(\"stream-buffers\");\n\nvar ms = new MatchStream({ pattern: 'World'}, function (buf, matched, extra) {\n  if (!matched) {\n    return this.push(buf);\n  }\n  this.push(buf);\n  return this.push(null); //signal end of data\n});\n\nvar sourceStream = new streamBuffers.ReadableStreamBuffer();\nsourceStream.put(\"Hello World\");\nvar writableStream = new streamBuffers.WritableStreamBuffer();\n\nsourceStream\n  .pipe(ms)\n  .pipe(writableStream)\n  .once('close', function () {\n    var str = writableStream.getContentsAsString('utf8');\n    console.log('Piped data before pattern occurs:', \"'\" + str + \"'\");\n    sourceStream.destroy();\n  });\n\n//Output\n//Piped data before pattern occurs: 'Hello '\n```\n\n### Split stream\n\n```javascript\nvar MatchStream = require('match-stream');\nvar fs = require('fs');\n\nvar line = \"\";\nvar loremLines = [];\nvar ms = new MatchStream({ pattern: '.', consume: true}, function (buf, matched, extra) {\n  line += buf.toString();\n  if (matched) {\n    loremLines.push(line.trim());\n    line = \"\";\n  }\n});\n\nfs.createReadStream('lorem.txt')\n  .pipe(ms)\n  .once('finish', function() {\n    console.log(loremLines);\n  });\n```\n\n## License\n\nMIT\n\n## Acknowledgements\n\nSpecial thanks to @wanderview for assisting with the API.\n\n","gitHead":"665dabbb0a3593310012eb041fc07395db632a20","license":"MIT","scripts":{"test":"./node_modules/.bin/tap ./test/*.js"},"_npmUser":{"name":"evanoxfeld","email":"eoxfeld@gmail.com"},"keywords":["match","stream","split"],"repository":{"url":"https://github.com/EvanOxfeld/match-stream.git","type":"git"},"_npmVersion":"1.2.17","description":"Match a pattern within a stream","directories":{"test":"test","example":"examples"},"maintainers":[{"name":"evanoxfeld","email":"eoxfeld@gmail.com"}],"dependencies":{"buffers":"~0.1.1","readable-stream":"~1.0.0"},"readmeFilename":"README.md","devDependencies":{"tap":"~0.4.0","stream-buffers":"~0.2.4"},"_id":"match-stream@0.0.2","version":"0.0.2"}