| 
					
				 | 
			
			
				@@ -31,6 +31,8 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+'use strict'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var _ = require('underscore'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var capitalize = require('underscore.string/capitalize'); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -77,6 +79,7 @@ function ClientWritableStream(call, serialize) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * @param {function(Error=)} callback Called when the write is complete 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function _write(chunk, encoding, callback) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  /* jshint validthis: true */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   var batch = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   batch[grpc.opType.SEND_MESSAGE] = this.serialize(chunk); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   this.call.startBatch(batch, function(err, event) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -85,7 +88,7 @@ function _write(chunk, encoding, callback) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     callback(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ClientWritableStream.prototype._write = _write; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -111,6 +114,7 @@ function ClientReadableStream(call, deserialize) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * @param {*} size Ignored because we use objectMode=true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function _read(size) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  /* jshint validthis: true */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   var self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    * Callback to be called when a READ event is received. Pushes the data onto 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -126,7 +130,7 @@ function _read(size) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     var data = event.read; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (self.push(self.deserialize(data)) && data != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (self.push(self.deserialize(data)) && data !== null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       var read_batch = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       read_batch[grpc.opType.RECV_MESSAGE] = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       self.call.startBatch(read_batch, readCallback); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -144,7 +148,7 @@ function _read(size) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       self.call.startBatch(read_batch, readCallback); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ClientReadableStream.prototype._read = _read; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -163,10 +167,6 @@ function ClientDuplexStream(call, serialize, deserialize) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   Duplex.call(this, {objectMode: true}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   this.serialize = common.wrapIgnoreNull(serialize); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   this.deserialize = common.wrapIgnoreNull(deserialize); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  var self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  var finished = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  // Indicates that a read is currently pending 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  var reading = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   this.call = call; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   this.on('finish', function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     var batch = {}; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -182,6 +182,7 @@ ClientDuplexStream.prototype._write = _write; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * Cancel the ongoing call 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function cancel() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  /* jshint validthis: true */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   this.call.cancel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -213,6 +214,7 @@ function makeUnaryRequestFunction(method, serialize, deserialize) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    * @return {EventEmitter} An event emitter for stream related events 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   function makeUnaryRequest(argument, callback, metadata, deadline) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /* jshint validthis: true */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (deadline === undefined) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       deadline = Infinity; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -242,7 +244,7 @@ function makeUnaryRequestFunction(method, serialize, deserialize) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           callback(err); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (response.status.code != grpc.status.OK) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (response.status.code !== grpc.status.OK) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           callback(response.status); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -278,6 +280,7 @@ function makeClientStreamRequestFunction(method, serialize, deserialize) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    * @return {EventEmitter} An event emitter for stream related events 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   function makeClientStreamRequest(callback, metadata, deadline) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /* jshint validthis: true */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (deadline === undefined) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       deadline = Infinity; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -310,7 +313,7 @@ function makeClientStreamRequestFunction(method, serialize, deserialize) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           callback(err); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (response.status.code != grpc.status.OK) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (response.status.code !== grpc.status.OK) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           callback(response.status); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -345,6 +348,7 @@ function makeServerStreamRequestFunction(method, serialize, deserialize) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    * @return {EventEmitter} An event emitter for stream related events 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   function makeServerStreamRequest(argument, metadata, deadline) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /* jshint validthis: true */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (deadline === undefined) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       deadline = Infinity; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -404,6 +408,7 @@ function makeBidiStreamRequestFunction(method, serialize, deserialize) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    * @return {EventEmitter} An event emitter for stream related events 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   function makeBidiStreamRequest(metadata, deadline) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /* jshint validthis: true */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (deadline === undefined) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       deadline = Infinity; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 |