https://github.com/joeferner/node-chunkmatcher
Fast searching for multiple patterns accross multiple data chunks.
https://github.com/joeferner/node-chunkmatcher
Last synced: 10 months ago
JSON representation
Fast searching for multiple patterns accross multiple data chunks.
- Host: GitHub
- URL: https://github.com/joeferner/node-chunkmatcher
- Owner: joeferner
- Created: 2012-02-22T20:29:17.000Z (over 14 years ago)
- Default Branch: master
- Last Pushed: 2014-11-29T17:23:13.000Z (over 11 years ago)
- Last Synced: 2025-03-24T04:40:36.026Z (over 1 year ago)
- Language: JavaScript
- Homepage:
- Size: 122 KB
- Stars: 4
- Watchers: 5
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# chunkmatcher
Fast searching for multiple patterns accross multiple data chunks.
This is useful if you have an http request that you want to search for terms and you don't want to buffer
the whole response or test boundary conditions for terms between chunks.
## Installation
```bash
$ npm install chunkmatcher
```
## Quick Examples
```javascript
var Terms = require("chunkmatcher").Terms;
var terms = new Terms();
terms.add('test', { ignoreCase: true });
terms.add('testing');
terms.add('search');
var matcher = terms.createMatcher();
matcher.append('test sear');
matcher.append('ching t te tes te');
matcher.append('sting test');
console.log(matcher.results);
// [
// {
// start: 0,
// pattern: 'test'
// },
// {
// start: 5,
// pattern: 'search'
// },
// {
// start: 24,
// pattern: 'test'
// },
// {
// start: 24,
// pattern: 'testing'
// },
// {
// start: 32,
// pattern: 'test'
// }
// ]
```
```javascript
var Terms = require("chunkmatcher").Terms;
var terms = new Terms();
terms.add('www.google.com');
var matcher = terms.createMatcher();
var options = {
host: 'www.google.com',
port: 80,
path: '/index.html'
};
http.get(options, function (res) {
res.on('data', function (chunk) {
matcher.append(chunk);
});
res.on('end', function () {
console.log(matcher.results);
});
});
```