A tiny wrapper around Node streams. To make gulp plugin write easier. Inspired by through2, (https://github.com/rvagg/through2/), but much simplify for gulp-plugin development for some reason.
npm install through-gulp --save
Expose single API..
var through = require('through-gulp');
var stream = through(transformFunction, flushFunction);
Both argument has default value to pipe data next without processing.
A simple demonstrate about write gulp-plugin with through-gulp. If you know nothing about gulp plugin, check this first. (https://github.com/gulpjs/gulp/blob/master/docs/writing-a-plugin/guidelines.md)
// PLUGIN_NAME: sample
var through = require('through-gulp');
// exporting the plugin
module.exports = sample;
function sample() {
// creating a stream through which each file will pass
var stream = through(function(file, encoding,callback) {
// do whatever necessary to process the file
if (file.isNull()) {
}
if (file.isBuffer()) {
}
if (file.isStream()) {
}
// just pipe data next, or just do nothing to process file later in flushFunction
// never forget callback to indicate that the file has been processed.
this.push(file);
callback();
}, function(callback) {
// just pipe data next, just callback to indicate that the stream's over
this.push(something);
callback();
});
// returning the file stream
return stream;
};
then use the plugin with gulp
var gulp = require('gulp');
var sample = require('sample');
gulp.task('sample', function() {
gulp.src(['source file'])
.pipe(sample())
.pipe(gulp.dest('file destiny'))
});
Email: hjj491229492@hotmail.com.