This repository has been archived on 2018-10-12. You can view files and clone it, but cannot push or open issues or pull requests.
node-task/node_modules/mysql2/lib/results_stream.js

37 lines
955 B
JavaScript
Raw Permalink Normal View History

2014-09-24 17:56:53 -04:00
var Readable = require('stream').Readable;
// copy-paste from https://github.com/felixge/node-mysql/blob/master/lib/protocol/sequences/Query.js
module.exports = function (command, connectionStream) {
command.stream = function(options) {
var self = this,
stream;
options = options || {};
options.objectMode = true;
stream = new Readable(options),
stream._read = function() {
connectionStream.resume();
};
this.on("result",function(row,i) {
if (!stream.push(row)) connectionStream.pause();
stream.emit("result",row,i); // replicate old emitter
});
this.on("error",function(err) {
stream.emit('error',err); // Pass on any errors
});
this.on("end", function() {
stream.push(null); // pushing null, indicating EOF
});
this.on("fields",function(fields,i) {
stream.emit('fields",fields',i); // replicate old emitter
});
return stream;
};
};