Pipe data through a stream and react to single or multiple matches
Match on patterns in a stream
$ npm install match-through --save
Print out the total file size in the current directory.
var match = require('match-through')
var spawn = require('child_process').spawn
spawn('ls', [ '-lh' ]).stdout.pipe(match(/^total\s+(\S+)/, function (m) {
console.log(m[1])
})).pipe(process.stdout)
match(opts, iter)
Returns a through stream that calls back when a regular expression is matched. Does nothing with the data passing through so it's a pure pass through stream.
opts
(object|regex) Either options object with .regex
and .matchAll
properties or a single regular expression.iter
(function) Called when there is a match. Will call multiple times if there are several matches and .matchAll
property is true
. If opts
is a regular expression the callback will be called at the first match only, if ever.All code, unless stated otherwise, is licensed under the WTFPL
.