through2-spy
This is a super thin wrapper around through2 for creating simple 'terminus' streams, that do nothing but look at the chunk received.
This module is heavily based on Bryce B. Baril's through2-spy, with the .push
call removed. Why? So that you can have the same functionality at the end of a pipeline, without buffering everything up. It was originally written to help implement progress events in bhttp. If you were to just use through2-spy
for this, then this would happen.
Pass a function to run as each chunk goes through your stream pipeline. Return an Error to abort the pipeline.
var sink = var count = 0var countChunks = // vs. with through2:var countChunks = // Then use your sink:source // Additionally accepts `wantStrings` argument to conver buffers into stringsvar nsaregex = /||||/ivar prizm = prizm internet // can't have the terrists getting their packets! // Return an Error to abort the pipelinevar Meter = sink var meter =
API
require("through2-sink")([options], fn)
Create a through2-sink
instance that will call fn(chunk)
and then silently pass through data downstream.
require("through2-sink").ctor([options], fn)
Create a through2-sink
Type that can be instantiated via new Type()
or Type()
to create reusable sinks.
require("through2-sink").obj([options], fn)
Create a through2-sink
that defaults to objectMode = true
.
require("through2-sink").objCtor([options], fn)
Create a through2-sink
Type that defaults to objectMode = true
.
Options
- wantStrings: Automatically call chunk.toString() for the super lazy.
- all other through2 options
LICENSE
MIT