1234567891011121314151617181920212223242526272829303132333435363738 |
- 'use strict';
- const Readable = require('stream').Readable;
- module.exports = function(command, connectionStream) {
- command.stream = function(options) {
- let stream;
- options = options || {};
- options.objectMode = true;
- (stream = new Readable(options)),
- (stream._read = function() {
- connectionStream.resume();
- });
- this.on('result', (row, i) => {
- if (!stream.push(row)) {
- connectionStream.pause();
- }
- stream.emit('result', row, i);
- });
- this.on('error', err => {
- stream.emit('error', err);
- });
- this.on('end', () => {
- stream.push(null);
- });
- this.on('fields', (fields, i) => {
- stream.emit('fields', fields, i);
- });
- return stream;
- };
- };
|