UNPKG

imagemagick-native

Version:
40 lines (32 loc) 932 B
module.exports = require(__dirname + '/build/Release/imagemagick.node'); // Idea for stream conversions from // http://codewinds.com/blog/2013-08-20-nodejs-transform-streams.html var stream = require('stream'); var util = require('util'); function Convert(options) { // allow use without new if (!(this instanceof Convert)) { return new Convert(options); } this._options = options; this._bufs = []; // init Transform stream.Transform.call(this, options); } util.inherits(Convert, stream.Transform); Convert.prototype._transform = function (chunk, enc, done) { this._bufs.push(chunk); done(); }; Convert.prototype._flush = function(done) { this._options.srcData = Buffer.concat(this._bufs); var self = this; module.exports.convert(this._options,function(err,data){ if(err) { return done(err); } self.push(data); done(); }); } module.exports.streams = { convert : Convert };