Skip to content
This repository has been archived by the owner on Jul 8, 2021. It is now read-only.
/ node-filter Public archive

A stream filter for node, to create pipable filters for arbitary streams.

Notifications You must be signed in to change notification settings

tim-smart/node-filter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

  __ _ _ _            
 / _(_) | |_ ___ _ __ 
| |_| | | __/ _ \ '__|
|  _| | | ||  __/ |   
|_| |_|_|\__\___|_|   

----------------------

USAGE'
-----

var Filter = require('filter');

/*
 * Create a filter fast. Put the write method in the arguments.
 */
var my_filter = new Filter(function (data) {
  data.replace('foo', 'bar');

  // Just emit a data event to pass the data on.
  this.emit('data', data);
});

/*
 * Or you can overwrite the write method yourself.
 */
var my_filter = new Filter;

my_filter.write = function (data) {
  data = data.replace('foo', 'bar');

  // Just emit a data event to pass the data on.
  this.emit('data', data);
};

/*
 * Or make a new constructor altogether!
 */
var util = require('util');

var CoffeeFilter = function () {
  this.replace = 'coffee';
  this.with    = 'water';

  // Make sure to call the Filter constructor.
  Filter.call(this);
};

// Inherit methods.
util.inherits(CoffeeFilter, Filter);

// Then overwrite the write method.
CoffeeFilter.prototype.write = function (data) {
  data = data.replace(this.replace, this.with);

  this.emit('data', data);
};

// Create a instance
var coffee_filter = new CoffeeFilter;

/**
 * Some example pipe action.
 *
 * Will read from java.txt, replace Java with Node, then save to node.txt -
 * all in real time!
 */
var fs = require('fs');

var read_stream  = fs.createReadStream('/home/guy/java.txt'),
    write_stream = fs.createWriteStream('/home/guy/node.txt');

var filter = new Filter(function (data) {
  this.emit('data', data.replace(/java/gi, 'node'));
});

read_stream.setEncoding('utf8');

read_stream.pipe(filter);
filter.pipe(write_stream);

About

A stream filter for node, to create pipable filters for arbitary streams.

Resources

Stars

Watchers

Forks

Packages

No packages published