{"_id":"streamsearch","_rev":"16-46cd34024b38ebb8216aa9d31e0803d9","name":"streamsearch","description":"Streaming Boyer-Moore-Horspool searching for node.js","dist-tags":{"latest":"0.1.2"},"versions":{"0.0.1":{"name":"streamsearch","version":"0.0.1","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"Streaming Boyer-Moore-Horspool searching for node.js","main":"./sbmh","engines":{"node":">=0.8.0"},"keywords":["stream","horspool","boyer-moore-horspool","boyer-moore","search"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/streamsearch/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/streamsearch.git"},"readme":"Description\n===========\n\nstreamsearch is a module for [node.js](http://nodejs.org/) that allows searching a stream using the Boyer-Moore-Horspool algorithm.\n\nThis module is based heavily on the Streaming Boyer-Moore-Horspool C++ implementation by Hongli Lai [here](https://github.com/FooBarWidget/boyer-moore-horspool).\n\n\nRequirements\n============\n\n* [node.js](http://nodejs.org/) -- v0.8.0 or newer\n\n\nInstallation\n============\n\n npm install streamsearch\n\nExample\n=======\n\n```javascript\n var StreamSearch = require('streamsearch'),\n inspect = require('util').inspect;\n\n var needle = new Buffer([13, 10]), // CRLF\n s = new StreamSearch(needle),\n chunks = [\n new Buffer('foo'),\n new Buffer(' bar'),\n new Buffer('\\r'),\n new Buffer('\\n'),\n new Buffer('baz, hello\\r'),\n new Buffer('\\n world.'),\n new Buffer('\\r\\n Node.JS rules!!\\r\\n\\r\\n')\n ];\n s.on('data', function(data, start, end) {\n console.log('data: ' + inspect(data.toString('ascii', start, end)));\n });\n s.on('match', function() {\n console.log('match!');\n });\n for (var i = 0, len = chunks.length; i < len; ++i)\n s.push(chunks[i]);\n\n // output:\n //\n // data: 'foo'\n // data: ' bar'\n // match!\n // data: 'baz, hello'\n // match!\n // data: ' world.'\n // match!\n // data: ' Node.JS rules!!'\n // match!\n // data: ''\n // match!\n```\n\n\nAPI\n===\n\nEvents\n------\n\n* **data**(< _Buffer_ >chunk, < _integer_ >start, < _integer_ >end) - Emitted when non-needle data is available. This data is in `chunk` between `start` (inclusive) and `end` (exclusive).\n\n* **match**() - Emitted when the needle has been found in the stream.\n\n\nProperties\n----------\n\n* **maxMatches** - < _integer_ > - The maximum number of matches. This is especially useful when multiple matches exist within a single chunk passed to push(), so that this module knows to stop matching within that single chunk. Defaults to Infinity.\n\n* **matches** - < _integer_ > - The current match count.\n\n\nFunctions\n---------\n\n* **(constructor)**(< _Buffer_ >needle) - Creates and returns a new instance for searching for `needle`.\n\n* **push**(< _Buffer_ >chunk) - _integer_ - Process `chunk`. The return value is the last processed index in `chunk` + 1.\n\n* **reset**() - _(void)_ - Resets internal state. Useful for when you wish to start searching a new/different stream for example.\n","readmeFilename":"README.md","_id":"streamsearch@0.0.1","dist":{"shasum":"5350ebc548378da45f3727aefebac3aec5dcc345","tarball":"http://registry.npmjs.org/streamsearch/-/streamsearch-0.0.1.tgz"},"scripts":{},"_npmVersion":"1.1.66","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.0.2":{"name":"streamsearch","version":"0.0.2","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"Streaming Boyer-Moore-Horspool searching for node.js","main":"./sbmh","engines":{"node":">=0.8.0"},"keywords":["stream","horspool","boyer-moore-horspool","boyer-moore","search"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/streamsearch/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/streamsearch.git"},"readme":"Description\n===========\n\nstreamsearch is a module for [node.js](http://nodejs.org/) that allows searching a stream using the Boyer-Moore-Horspool algorithm.\n\nThis module is based heavily on the Streaming Boyer-Moore-Horspool C++ implementation by Hongli Lai [here](https://github.com/FooBarWidget/boyer-moore-horspool).\n\n\nRequirements\n============\n\n* [node.js](http://nodejs.org/) -- v0.8.0 or newer\n\n\nInstallation\n============\n\n npm install streamsearch\n\nExample\n=======\n\n```javascript\n var StreamSearch = require('streamsearch'),\n inspect = require('util').inspect;\n\n var needle = new Buffer([13, 10]), // CRLF\n s = new StreamSearch(needle),\n chunks = [\n new Buffer('foo'),\n new Buffer(' bar'),\n new Buffer('\\r'),\n new Buffer('\\n'),\n new Buffer('baz, hello\\r'),\n new Buffer('\\n world.'),\n new Buffer('\\r\\n Node.JS rules!!\\r\\n\\r\\n')\n ];\n s.on('data', function(data, start, end) {\n console.log('data: ' + inspect(data.toString('ascii', start, end)));\n });\n s.on('match', function() {\n console.log('match!');\n });\n for (var i = 0, len = chunks.length; i < len; ++i)\n s.push(chunks[i]);\n\n // output:\n //\n // data: 'foo'\n // data: ' bar'\n // match!\n // data: 'baz, hello'\n // match!\n // data: ' world.'\n // match!\n // data: ' Node.JS rules!!'\n // match!\n // data: ''\n // match!\n```\n\n\nAPI\n===\n\nEvents\n------\n\n* **data**(< _Buffer_ >chunk, < _integer_ >start, < _integer_ >end) - Emitted when non-needle data is available. This data is in `chunk` between `start` (inclusive) and `end` (exclusive).\n\n* **match**() - Emitted when the needle has been found in the stream.\n\n\nProperties\n----------\n\n* **maxMatches** - < _integer_ > - The maximum number of matches. Defaults to Infinity.\n\n* **matches** - < _integer_ > - The current match count.\n\n\nFunctions\n---------\n\n* **(constructor)**(< _Buffer_ >needle) - Creates and returns a new instance for searching for `needle`.\n\n* **push**(< _Buffer_ >chunk) - _integer_ - Processes `chunk`. The return value is the last processed index in `chunk` + 1.\n\n* **reset**() - _(void)_ - Resets internal state. Useful for when you wish to start searching a new/different stream for example.\n","readmeFilename":"README.md","_id":"streamsearch@0.0.2","dist":{"shasum":"0d446c92b56bad4aa96d588aeeb9d90e1c4af8be","tarball":"http://registry.npmjs.org/streamsearch/-/streamsearch-0.0.2.tgz"},"scripts":{},"_npmVersion":"1.1.66","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.1.0":{"name":"streamsearch","version":"0.1.0","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"Streaming Boyer-Moore-Horspool searching for node.js","main":"./sbmh","engines":{"node":">=0.8.0"},"keywords":["stream","horspool","boyer-moore-horspool","boyer-moore","search"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/streamsearch/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/streamsearch.git"},"readme":"Description\n===========\n\nstreamsearch is a module for [node.js](http://nodejs.org/) that allows searching a stream using the Boyer-Moore-Horspool algorithm.\n\nThis module is based heavily on the Streaming Boyer-Moore-Horspool C++ implementation by Hongli Lai [here](https://github.com/FooBarWidget/boyer-moore-horspool).\n\n\nRequirements\n============\n\n* [node.js](http://nodejs.org/) -- v0.8.0 or newer\n\n\nInstallation\n============\n\n npm install streamsearch\n\nExample\n=======\n\n```javascript\n var StreamSearch = require('streamsearch'),\n inspect = require('util').inspect;\n\n var needle = new Buffer([13, 10]), // CRLF\n s = new StreamSearch(needle),\n chunks = [\n new Buffer('foo'),\n new Buffer(' bar'),\n new Buffer('\\r'),\n new Buffer('\\n'),\n new Buffer('baz, hello\\r'),\n new Buffer('\\n world.'),\n new Buffer('\\r\\n Node.JS rules!!\\r\\n\\r\\n')\n ];\n s.on('info', function(isMatch, data, start, end) {\n if (data)\n console.log('data: ' + inspect(data.toString('ascii', start, end)));\n if (isMatch)\n console.log('match!');\n });\n for (var i = 0, len = chunks.length; i < len; ++i)\n s.push(chunks[i]);\n\n // output:\n //\n // data: 'foo'\n // data: ' bar'\n // match!\n // data: 'baz, hello'\n // match!\n // data: ' world.'\n // match!\n // data: ' Node.JS rules!!'\n // match!\n // data: ''\n // match!\n```\n\n\nAPI\n===\n\nEvents\n------\n\n* **info**(< _boolean_ >isMatch[, < _Buffer_ >chunk, < _integer_ >start, < _integer_ >end]) - A match _may_ or _may not_ have been made. In either case, a preceding `chunk` of data _may_ be available that did not match the needle. Data (if available) is in `chunk` between `start` (inclusive) and `end` (exclusive).\n\n\nProperties\n----------\n\n* **maxMatches** - < _integer_ > - The maximum number of matches. Defaults to Infinity.\n\n* **matches** - < _integer_ > - The current match count.\n\n\nFunctions\n---------\n\n* **(constructor)**(< _mixed_ >needle) - Creates and returns a new instance for searching for a _Buffer_ or _string_ `needle`.\n\n* **push**(< _Buffer_ >chunk) - _integer_ - Processes `chunk`. The return value is the last processed index in `chunk` + 1.\n\n* **reset**() - _(void)_ - Resets internal state. Useful for when you wish to start searching a new/different stream for example.\n","readmeFilename":"README.md","_id":"streamsearch@0.1.0","dist":{"shasum":"2c106c4b8e869f9762bb0c362c5af1e8d3b4da74","tarball":"http://registry.npmjs.org/streamsearch/-/streamsearch-0.1.0.tgz"},"_from":"https://github.com/mscdex/streamsearch/tarball/v0.1.0","_resolved":"https://github.com/mscdex/streamsearch/tarball/v0.1.0","scripts":{},"_npmVersion":"1.2.11","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.1.1":{"name":"streamsearch","version":"0.1.1","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"Streaming Boyer-Moore-Horspool searching for node.js","main":"./sbmh","engines":{"node":">=0.8.0"},"keywords":["stream","horspool","boyer-moore-horspool","boyer-moore","search"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/streamsearch/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/streamsearch.git"},"readme":"Description\n===========\n\nstreamsearch is a module for [node.js](http://nodejs.org/) that allows searching a stream using the Boyer-Moore-Horspool algorithm.\n\nThis module is based heavily on the Streaming Boyer-Moore-Horspool C++ implementation by Hongli Lai [here](https://github.com/FooBarWidget/boyer-moore-horspool).\n\n\nRequirements\n============\n\n* [node.js](http://nodejs.org/) -- v0.8.0 or newer\n\n\nInstallation\n============\n\n npm install streamsearch\n\nExample\n=======\n\n```javascript\n var StreamSearch = require('streamsearch'),\n inspect = require('util').inspect;\n\n var needle = new Buffer([13, 10]), // CRLF\n s = new StreamSearch(needle),\n chunks = [\n new Buffer('foo'),\n new Buffer(' bar'),\n new Buffer('\\r'),\n new Buffer('\\n'),\n new Buffer('baz, hello\\r'),\n new Buffer('\\n world.'),\n new Buffer('\\r\\n Node.JS rules!!\\r\\n\\r\\n')\n ];\n s.on('info', function(isMatch, data, start, end) {\n if (data)\n console.log('data: ' + inspect(data.toString('ascii', start, end)));\n if (isMatch)\n console.log('match!');\n });\n for (var i = 0, len = chunks.length; i < len; ++i)\n s.push(chunks[i]);\n\n // output:\n //\n // data: 'foo'\n // data: ' bar'\n // match!\n // data: 'baz, hello'\n // match!\n // data: ' world.'\n // match!\n // data: ' Node.JS rules!!'\n // match!\n // data: ''\n // match!\n```\n\n\nAPI\n===\n\nEvents\n------\n\n* **info**(< _boolean_ >isMatch[, < _Buffer_ >chunk, < _integer_ >start, < _integer_ >end]) - A match _may_ or _may not_ have been made. In either case, a preceding `chunk` of data _may_ be available that did not match the needle. Data (if available) is in `chunk` between `start` (inclusive) and `end` (exclusive).\n\n\nProperties\n----------\n\n* **maxMatches** - < _integer_ > - The maximum number of matches. Defaults to Infinity.\n\n* **matches** - < _integer_ > - The current match count.\n\n\nFunctions\n---------\n\n* **(constructor)**(< _mixed_ >needle) - Creates and returns a new instance for searching for a _Buffer_ or _string_ `needle`.\n\n* **push**(< _Buffer_ >chunk) - _integer_ - Processes `chunk`. The return value is the last processed index in `chunk` + 1.\n\n* **reset**() - _(void)_ - Resets internal state. Useful for when you wish to start searching a new/different stream for example.\n","readmeFilename":"README.md","_id":"streamsearch@0.1.1","dist":{"shasum":"b29160bf407ba701ae9326249cbb3245e46a37c1","tarball":"http://registry.npmjs.org/streamsearch/-/streamsearch-0.1.1.tgz"},"_from":"https://github.com/mscdex/streamsearch/tarball/v0.1.1","_resolved":"https://github.com/mscdex/streamsearch/tarball/v0.1.1","scripts":{},"_npmVersion":"1.2.18","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}},"0.1.2":{"name":"streamsearch","version":"0.1.2","author":{"name":"Brian White","email":"mscdex@mscdex.net"},"description":"Streaming Boyer-Moore-Horspool searching for node.js","main":"./lib/sbmh","engines":{"node":">=0.8.0"},"keywords":["stream","horspool","boyer-moore-horspool","boyer-moore","search"],"licenses":[{"type":"MIT","url":"http://github.com/mscdex/streamsearch/raw/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/mscdex/streamsearch.git"},"readme":"Description\n===========\n\nstreamsearch is a module for [node.js](http://nodejs.org/) that allows searching a stream using the Boyer-Moore-Horspool algorithm.\n\nThis module is based heavily on the Streaming Boyer-Moore-Horspool C++ implementation by Hongli Lai [here](https://github.com/FooBarWidget/boyer-moore-horspool).\n\n\nRequirements\n============\n\n* [node.js](http://nodejs.org/) -- v0.8.0 or newer\n\n\nInstallation\n============\n\n npm install streamsearch\n\nExample\n=======\n\n```javascript\n var StreamSearch = require('streamsearch'),\n inspect = require('util').inspect;\n\n var needle = new Buffer([13, 10]), // CRLF\n s = new StreamSearch(needle),\n chunks = [\n new Buffer('foo'),\n new Buffer(' bar'),\n new Buffer('\\r'),\n new Buffer('\\n'),\n new Buffer('baz, hello\\r'),\n new Buffer('\\n world.'),\n new Buffer('\\r\\n Node.JS rules!!\\r\\n\\r\\n')\n ];\n s.on('info', function(isMatch, data, start, end) {\n if (data)\n console.log('data: ' + inspect(data.toString('ascii', start, end)));\n if (isMatch)\n console.log('match!');\n });\n for (var i = 0, len = chunks.length; i < len; ++i)\n s.push(chunks[i]);\n\n // output:\n //\n // data: 'foo'\n // data: ' bar'\n // match!\n // data: 'baz, hello'\n // match!\n // data: ' world.'\n // match!\n // data: ' Node.JS rules!!'\n // match!\n // data: ''\n // match!\n```\n\n\nAPI\n===\n\nEvents\n------\n\n* **info**(< _boolean_ >isMatch[, < _Buffer_ >chunk, < _integer_ >start, < _integer_ >end]) - A match _may_ or _may not_ have been made. In either case, a preceding `chunk` of data _may_ be available that did not match the needle. Data (if available) is in `chunk` between `start` (inclusive) and `end` (exclusive).\n\n\nProperties\n----------\n\n* **maxMatches** - < _integer_ > - The maximum number of matches. Defaults to Infinity.\n\n* **matches** - < _integer_ > - The current match count.\n\n\nFunctions\n---------\n\n* **(constructor)**(< _mixed_ >needle) - Creates and returns a new instance for searching for a _Buffer_ or _string_ `needle`.\n\n* **push**(< _Buffer_ >chunk) - _integer_ - Processes `chunk`. The return value is the last processed index in `chunk` + 1.\n\n* **reset**() - _(void)_ - Resets internal state. Useful for when you wish to start searching a new/different stream for example.\n","readmeFilename":"README.md","_id":"streamsearch@0.1.2","dist":{"shasum":"808b9d0e56fc273d809ba57338e929919a1a9f1a","tarball":"http://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz"},"_from":"https://github.com/mscdex/streamsearch/tarball/v0.1.2","_resolved":"https://github.com/mscdex/streamsearch/tarball/v0.1.2","scripts":{},"_npmVersion":"1.2.18","_npmUser":{"name":"mscdex","email":"mscdex@mscdex.net"},"maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"directories":{}}},"readme":"Description\n===========\n\nstreamsearch is a module for [node.js](http://nodejs.org/) that allows searching a stream using the Boyer-Moore-Horspool algorithm.\n\nThis module is based heavily on the Streaming Boyer-Moore-Horspool C++ implementation by Hongli Lai [here](https://github.com/FooBarWidget/boyer-moore-horspool).\n\n\nRequirements\n============\n\n* [node.js](http://nodejs.org/) -- v0.8.0 or newer\n\n\nInstallation\n============\n\n npm install streamsearch\n\nExample\n=======\n\n```javascript\n var StreamSearch = require('streamsearch'),\n inspect = require('util').inspect;\n\n var needle = new Buffer([13, 10]), // CRLF\n s = new StreamSearch(needle),\n chunks = [\n new Buffer('foo'),\n new Buffer(' bar'),\n new Buffer('\\r'),\n new Buffer('\\n'),\n new Buffer('baz, hello\\r'),\n new Buffer('\\n world.'),\n new Buffer('\\r\\n Node.JS rules!!\\r\\n\\r\\n')\n ];\n s.on('data', function(data, start, end) {\n console.log('data: ' + inspect(data.toString('ascii', start, end)));\n });\n s.on('match', function() {\n console.log('match!');\n });\n for (var i = 0, len = chunks.length; i < len; ++i)\n s.push(chunks[i]);\n\n // output:\n //\n // data: 'foo'\n // data: ' bar'\n // match!\n // data: 'baz, hello'\n // match!\n // data: ' world.'\n // match!\n // data: ' Node.JS rules!!'\n // match!\n // data: ''\n // match!\n```\n\n\nAPI\n===\n\nEvents\n------\n\n* **data**(< _Buffer_ >chunk, < _integer_ >start, < _integer_ >end) - Emitted when non-needle data is available. This data is in `chunk` between `start` (inclusive) and `end` (exclusive).\n\n* **match**() - Emitted when the needle has been found in the stream.\n\n\nProperties\n----------\n\n* **maxMatches** - < _integer_ > - The maximum number of matches. This is especially useful when multiple matches exist within a single chunk passed to push(), so that this module knows to stop matching within that single chunk. Defaults to Infinity.\n\n* **matches** - < _integer_ > - The current match count.\n\n\nFunctions\n---------\n\n* **(constructor)**(< _Buffer_ >needle) - Creates and returns a new instance for searching for `needle`.\n\n* **push**(< _Buffer_ >chunk) - _integer_ - Process `chunk`. The return value is the last processed index in `chunk` + 1.\n\n* **reset**() - _(void)_ - Resets internal state. Useful for when you wish to start searching a new/different stream for example.\n","maintainers":[{"name":"mscdex","email":"mscdex@mscdex.net"}],"time":{"modified":"2013-04-14T17:49:09.358Z","created":"2012-12-11T17:37:58.473Z","0.0.1":"2012-12-11T17:37:59.897Z","0.0.2":"2012-12-11T21:04:44.829Z","0.1.0":"2013-03-04T23:21:08.956Z","0.1.1":"2013-04-14T01:01:21.348Z","0.1.2":"2013-04-14T17:49:09.358Z"},"author":{"name":"Brian White","email":"mscdex@mscdex.net"},"repository":{"type":"git","url":"http://github.com/mscdex/streamsearch.git"},"users":{"sessionbean":true},"_attachments":{},"_etag":"\"2WH6656VS9T8MLWVMD3PRSF7H\""}