0.0.0 • Published 10 years ago

stream-transformer v0.0.0

Weekly downloads
4
License
-
Repository
github
Last release
10 years ago

stream-transformer Build Status devDependency Status

A simple tool to transform streams via registered global or keyed handlers

Basic Usage

var transformer = new StreamTransformer();
transformer.write({foo: 'bar'});
transformer.on('data', function (transformed) {
  transformed.should.eql({foo: 'bar'});
});
transformer.on('end', done);

Global Transformers

var transformer = new StreamTransformer();
transformer.register(function (data, done){
  data.foo += '!';
  done(data);
});
transformer.write({foo: 'bar'});
transformer.on('data', function (transformed){
  transformed.should.eql({foo: 'bar!'});
});
transformer.on('end', done);

Keyed Transformers

var transformer = new StreamTransformer();
transformer.register('foo', function (data, done){
  data.foo += '!';
  done(data);
});
transformer.write(['foo', {foo: 'bar'}]);
transformer.on('data', function (transformed){
  transformed.should.eql({foo: 'bar!'});
});
transformer.on('end', done);

Extended Transformers

var transformer = new StreamTransformer();
transformer.register('foo', function (data, done){
  data.foo += '!';
  done(data);
});
transformer.register('foo', function (data, done){
  this._super(data, function (data){
    data.foo += '1';
    done(data);
  })
});
transformer.write(['foo', {foo: 'bar'}]);
transformer.on('data', function (transformed){
  transformed.should.eql({foo: 'bar!1'});
});
transformer.on('end', done);