{"_id":"match-stream","_rev":"10-ddb50ec5746ca0e290e9a59d3e0faeb1","name":"match-stream","description":"Match a pattern within a stream","dist-tags":{"latest":"0.0.2"},"versions":{"0.0.0":{"name":"match-stream","version":"0.0.0","description":"Match a pattern within a stream","main":"match.js","directories":{"example":"examples","test":"test"},"dependencies":{"buffers":"~0.1.1","readable-stream":"~1.0.0"},"devDependencies":{"tap":"~0.4.0","stream-buffers":"~0.2.4"},"scripts":{"test":"./node_modules/.bin/tap ./test/*.js"},"repository":{"type":"git","url":"https://github.com/EvanOxfeld/match-stream.git"},"keywords":["match","stream","split"],"author":{"name":"Evan Oxfeld","email":"eoxfeld@gmail.com"},"license":"MIT","readmeFilename":"README.md","gitHead":"665dabbb0a3593310012eb041fc07395db632a20","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 Example\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); //end the stream\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## License\n\nMIT\n\n## Acknowledgements\n\nSpecial thanks to @wanderview for assisting with the API.\n\n","_id":"match-stream@0.0.0","dist":{"shasum":"99bb9be862cf8f3e810c909633c6b4ffc96a6426","tarball":"https://registry.npmjs.org/match-stream/-/match-stream-0.0.0.tgz","integrity":"sha512-oqTIZf3ls1Z10EtS2Y1b+TwbSX2jRi7idWIb4IS0gCJsikvjzJwiCEFH80hKu9e9VlMxB93/bnv7ygx+aiRq7w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBKmSLqqUw6QpiptZ0hCSvWA7aQeqIYQXaGgKaXCzV4PAiBc4xLdqoCEQyyFac+ZV7cjMFFQveNV1SunwYE/bZ4UnA=="}]},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"evanoxfeld","email":"eoxfeld@gmail.com"},"maintainers":[{"name":"evanoxfeld","email":"eoxfeld@gmail.com"}]},"0.0.1":{"name":"match-stream","version":"0.0.1","description":"Match a pattern within a stream","main":"match.js","directories":{"example":"examples","test":"test"},"dependencies":{"buffers":"~0.1.1","readable-stream":"~1.0.0"},"devDependencies":{"tap":"~0.4.0","stream-buffers":"~0.2.4"},"scripts":{"test":"./node_modules/.bin/tap ./test/*.js"},"repository":{"type":"git","url":"https://github.com/EvanOxfeld/match-stream.git"},"keywords":["match","stream","split"],"author":{"name":"Evan Oxfeld","email":"eoxfeld@gmail.com"},"license":"MIT","readmeFilename":"README.md","gitHead":"665dabbb0a3593310012eb041fc07395db632a20","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); //end the stream\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('end', 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","_id":"match-stream@0.0.1","dist":{"shasum":"d773ce718b1ffa43049137988f2516f0047e4b9c","tarball":"https://registry.npmjs.org/match-stream/-/match-stream-0.0.1.tgz","integrity":"sha512-OnKHRCODv4LF11tcrTLKKkkt3WXQheeIZ/ojH34SPT0D6+GHxdcILBIU5HjeDybiOdOiAZed5egGHlIGf2mELQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDgtp4+lI3cLUwGx1OckD7odb7S2G/MvMvU2VeMq7yeVgIgJdcKgI+osJgwQIrhauFf1jCbC5s+ZT+sSAetOlOK05A="}]},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"evanoxfeld","email":"eoxfeld@gmail.com"},"maintainers":[{"name":"evanoxfeld","email":"eoxfeld@gmail.com"}]},"0.0.2":{"name":"match-stream","version":"0.0.2","description":"Match a pattern within a stream","main":"match.js","directories":{"example":"examples","test":"test"},"dependencies":{"buffers":"~0.1.1","readable-stream":"~1.0.0"},"devDependencies":{"tap":"~0.4.0","stream-buffers":"~0.2.4"},"scripts":{"test":"./node_modules/.bin/tap ./test/*.js"},"repository":{"type":"git","url":"https://github.com/EvanOxfeld/match-stream.git"},"keywords":["match","stream","split"],"author":{"name":"Evan Oxfeld","email":"eoxfeld@gmail.com"},"license":"MIT","readmeFilename":"README.md","gitHead":"665dabbb0a3593310012eb041fc07395db632a20","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","_id":"match-stream@0.0.2","dist":{"shasum":"99eb050093b34dffade421b9ac0b410a9cfa17cf","tarball":"https://registry.npmjs.org/match-stream/-/match-stream-0.0.2.tgz","integrity":"sha512-TbN21KrvmZ4mHzKqSFeNNNYeOGNNoEE0sQjhOGlHc+W6XhV4nEhJqaQTJj106NF+NYjyJ7pXh23+OQ1d306ORw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDKMICryoBOkPS6B8kbxBlsO+wepRt91d62Yb4/LBAhGwIhALN+jXTcd6UfNFyGkoTBJGL2LrU6mgbklpAzwSQWK7B3"}]},"_from":".","_npmVersion":"1.2.17","_npmUser":{"name":"evanoxfeld","email":"eoxfeld@gmail.com"},"maintainers":[{"name":"evanoxfeld","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 Example\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); //end the stream\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## License\n\nMIT\n\n## Acknowledgements\n\nSpecial thanks to @wanderview for assisting with the API.\n\n","maintainers":[{"name":"evanoxfeld","email":"eoxfeld@gmail.com"}],"time":{"modified":"2022-06-19T16:30:00.928Z","created":"2013-03-10T06:09:10.201Z","0.0.0":"2013-03-10T06:09:11.420Z","0.0.1":"2013-03-10T21:36:32.232Z","0.0.2":"2013-04-04T06:17:25.669Z"},"author":{"name":"Evan Oxfeld","email":"eoxfeld@gmail.com"},"repository":{"type":"git","url":"https://github.com/EvanOxfeld/match-stream.git"},"users":{"leix3041":true}}