match-sink

1.0.3 • Public • Published

match-sink

Pipe data to a stream and react to single or multiple matches

npm Node version Build Status JavaScript Style Guide

Features

  • Pipe data to a stream and get notified when something matches
  • Match once or multiple times

Can be useful for various things. Imagine some data stream you want to react to. It could be a server listening on some port so you know when to start interacting with it.

Install

$ npm install match-sink -S

Usage

The following example prints out the total file size in the current directory:

const sink = require('match-sink')
const spawn = require('child_process').spawn
spawn('ls', [ '-lh' ]).stdout.pipe(sink(/total\s+(\S+)/gi, match => {
  console.log(match[1])
}))

Api

const sink = require('match-sink')

Returns a stream constructor.

const stream = sink(opts, cb)

Returns a writable stream.

  • opts (object|regexp) Either options object with regexp and matchAll properties or a single regular expression.
  • cb (function) Callback. Will act as an iterator if there are several matches and matchAll property is set to true. If opts is a regular expression the callback will be called at the first match only, if ever.

License

All code, unless stated otherwise, is licensed under the WTFPL.

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.0.3
    1
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 1.0.3
    1
  • 1.0.2
    0
  • 1.0.1
    0
  • 1.0.0
    0

Package Sidebar

Install

npm i match-sink

Weekly Downloads

1

Version

1.0.3

License

WTFPL

Unpacked Size

5.08 kB

Total Files

6

Last publish

Collaborators

  • ralphtheninja