THRIFT-5811: Update eslint & prettier
Client: js
Patch: Cameron Martin

This closes #3087
diff --git a/lib/nodejs/examples/client.js b/lib/nodejs/examples/client.js
index c83b342..29dac26 100644
--- a/lib/nodejs/examples/client.js
+++ b/lib/nodejs/examples/client.js
@@ -16,28 +16,30 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-var thrift = require('thrift');
+var thrift = require("thrift");
 
-var UserStorage = require('./gen-nodejs/UserStorage.js'),
-    ttypes = require('./gen-nodejs/user_types');
+var UserStorage = require("./gen-nodejs/UserStorage.js"),
+  ttypes = require("./gen-nodejs/user_types");
 
-var connection = thrift.createConnection('localhost', 9090),
-    client = thrift.createClient(UserStorage, connection);
+var connection = thrift.createConnection("localhost", 9090),
+  client = thrift.createClient(UserStorage, connection);
 
-var user = new ttypes.UserProfile({uid: 1,
-                                   name: "Mark Slee",
-                                   blurb: "I'll find something to put here."});
+var user = new ttypes.UserProfile({
+  uid: 1,
+  name: "Mark Slee",
+  blurb: "I'll find something to put here.",
+});
 
-connection.on('error', function(err) {
+connection.on("error", function (err) {
   console.error(err);
 });
 
-client.store(user, function(err, response) {
+client.store(user, function (err, response) {
   if (err) {
     console.error(err);
   } else {
     console.log("client stored:", user.uid);
-    client.retrieve(user.uid, function(err, responseUser) {
+    client.retrieve(user.uid, function (err, responseUser) {
       if (err) {
         console.error(err);
       } else {
diff --git a/lib/nodejs/examples/client_multitransport.js b/lib/nodejs/examples/client_multitransport.js
index 1e37de3..05e5c31 100644
--- a/lib/nodejs/examples/client_multitransport.js
+++ b/lib/nodejs/examples/client_multitransport.js
@@ -16,43 +16,61 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-var thrift = require('thrift'),
-    ttransport = require('thrift/transport');
+var thrift = require("thrift"),
+  ttransport = require("thrift/transport");
 
-var UserStorage = require('./gen-nodejs/UserStorage'),
-    ttypes = require('./gen-nodejs/user_types');
+var UserStorage = require("./gen-nodejs/UserStorage"),
+  ttypes = require("./gen-nodejs/user_types");
 
-var f_conn = thrift.createConnection('localhost', 9090), // default: framed
-    f_client = thrift.createClient(UserStorage, f_conn);
-var b_conn = thrift.createConnection('localhost', 9091, {transport: ttransport.TBufferedTransport}),
-    b_client = thrift.createClient(UserStorage, b_conn);
-var user1 = new ttypes.UserProfile({uid: 1,
-                                    name: "Mark Slee",
-                                    blurb: "I'll find something to put here."});
-var user2 = new ttypes.UserProfile({uid: 2,
-                                    name: "Satoshi Tagomori",
-                                    blurb: "ok, let's test with buffered transport."});
+var f_conn = thrift.createConnection("localhost", 9090), // default: framed
+  f_client = thrift.createClient(UserStorage, f_conn);
+var b_conn = thrift.createConnection("localhost", 9091, {
+    transport: ttransport.TBufferedTransport,
+  }),
+  b_client = thrift.createClient(UserStorage, b_conn);
+var user1 = new ttypes.UserProfile({
+  uid: 1,
+  name: "Mark Slee",
+  blurb: "I'll find something to put here.",
+});
+var user2 = new ttypes.UserProfile({
+  uid: 2,
+  name: "Satoshi Tagomori",
+  blurb: "ok, let's test with buffered transport.",
+});
 
-f_conn.on('error', function(err) {
+f_conn.on("error", function (err) {
   console.error("framed:", err);
 });
 
-f_client.store(user1, function(err, response) {
-  if (err) { console.error(err); return; }
+f_client.store(user1, function (err, response) {
+  if (err) {
+    console.error(err);
+    return;
+  }
 
   console.log("stored:", user1.uid, " as ", user1.name);
-  b_client.retrieve(user1.uid, function(err, responseUser) {
-    if (err) { console.error(err); return; }
+  b_client.retrieve(user1.uid, function (err, responseUser) {
+    if (err) {
+      console.error(err);
+      return;
+    }
     console.log("retrieved:", responseUser.uid, " as ", responseUser.name);
   });
 });
 
-b_client.store(user2, function(err, response) {
-  if (err) { console.error(err); return; }
+b_client.store(user2, function (err, response) {
+  if (err) {
+    console.error(err);
+    return;
+  }
 
   console.log("stored:", user2.uid, " as ", user2.name);
-  f_client.retrieve(user2.uid, function(err, responseUser) {
-    if (err) { console.error(err); return; }
+  f_client.retrieve(user2.uid, function (err, responseUser) {
+    if (err) {
+      console.error(err);
+      return;
+    }
     console.log("retrieved:", responseUser.uid, " as ", responseUser.name);
   });
 });
diff --git a/lib/nodejs/examples/hello.js b/lib/nodejs/examples/hello.js
index 8b7c4e4..5f1b682 100644
--- a/lib/nodejs/examples/hello.js
+++ b/lib/nodejs/examples/hello.js
@@ -16,46 +16,46 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-var thrift = require('thrift');
-var HelloSvc = require('./gen-nodejs/HelloSvc.js');
-var TimesTwoSvc = require('./gen-nodejs/TimesTwo.js');
+var thrift = require("thrift");
+var HelloSvc = require("./gen-nodejs/HelloSvc.js");
+var TimesTwoSvc = require("./gen-nodejs/TimesTwo.js");
 
 var helloHandler = {
-	hello_func: function(result) {
-		this.call_counter = this.call_counter || 0;
-		console.log("Client call: " + (++this.call_counter));
-		result(null, "Hello Apache Thrift for JavaScript " + this.call_counter);
-	}
-}
+  hello_func: function (result) {
+    this.call_counter = this.call_counter || 0;
+    console.log("Client call: " + ++this.call_counter);
+    result(null, "Hello Apache Thrift for JavaScript " + this.call_counter);
+  },
+};
 
 var timesTwoHandler = {
-	dbl: function(val, result) {
-		console.log("Client call: " + val);
-		result(null, val * 2);
-	}
-}
+  dbl: function (val, result) {
+    console.log("Client call: " + val);
+    result(null, val * 2);
+  },
+};
 
 var helloService = {
-	transport: thrift.TBufferedTransport,
-	protocol: thrift.TJSONProtocol,
-	processor: HelloSvc,
-	handler: helloHandler
+  transport: thrift.TBufferedTransport,
+  protocol: thrift.TJSONProtocol,
+  processor: HelloSvc,
+  handler: helloHandler,
 };
 
 var dblService = {
-	transport: thrift.TBufferedTransport,
-	protocol: thrift.TJSONProtocol,
-	processor: TimesTwoSvc,
-	handler: timesTwoHandler
+  transport: thrift.TBufferedTransport,
+  protocol: thrift.TJSONProtocol,
+  processor: TimesTwoSvc,
+  handler: timesTwoHandler,
 };
 
 var ServerOptions = {
-	files: ".",
-	services: {
-		"/hello": helloService,
-		"/dbl": dblService,
-	}
-}
+  files: ".",
+  services: {
+    "/hello": helloService,
+    "/dbl": dblService,
+  },
+};
 
 var server = thrift.createWebServer(ServerOptions);
 var port = 8585;
diff --git a/lib/nodejs/examples/httpClient.js b/lib/nodejs/examples/httpClient.js
index 19cc0c3..155b5f4 100644
--- a/lib/nodejs/examples/httpClient.js
+++ b/lib/nodejs/examples/httpClient.js
@@ -1,23 +1,21 @@
-var thrift = require('thrift');
-var helloSvc = require('./gen-nodejs/HelloSvc.js');
+var thrift = require("thrift");
+var helloSvc = require("./gen-nodejs/HelloSvc.js");
 
 var options = {
-   transport: thrift.TBufferedTransport,
-   protocol: thrift.TJSONProtocol,
-   path: "/hello",
-   headers: {"Connection": "close"},
-   https: false
+  transport: thrift.TBufferedTransport,
+  protocol: thrift.TJSONProtocol,
+  path: "/hello",
+  headers: { Connection: "close" },
+  https: false,
 };
 
 var connection = thrift.createHttpConnection("localhost", 9090, options);
 var client = thrift.createHttpClient(helloSvc, connection);
 
-connection.on("error", function(err) {
-   console.log("Error: " + err);
+connection.on("error", function (err) {
+  console.log("Error: " + err);
 });
 
-client.hello_func(function(error, result) {
-   console.log("Msg from server: " + result);
+client.hello_func(function (error, result) {
+  console.log("Msg from server: " + result);
 });
-
-
diff --git a/lib/nodejs/examples/httpServer.js b/lib/nodejs/examples/httpServer.js
index acae136..c4cbc9f 100644
--- a/lib/nodejs/examples/httpServer.js
+++ b/lib/nodejs/examples/httpServer.js
@@ -1,31 +1,30 @@
-var thrift = require('thrift');                 	
-var helloSvc = require('./gen-nodejs/HelloSvc');
+var thrift = require("thrift");
+var helloSvc = require("./gen-nodejs/HelloSvc");
 
-//ServiceHandler: Implement the hello service 
+//ServiceHandler: Implement the hello service
 var helloHandler = {
   hello_func: function (result) {
     console.log("Received Hello call");
     result(null, "Hello from Node.js");
-  }
+  },
 };
 
 //ServiceOptions: The I/O stack for the service
-var helloSvcOpt = {                       		
-    handler: helloHandler,                      	
-    processor: helloSvc,                         	
-    protocol: thrift.TJSONProtocol,                 
-    transport: thrift.TBufferedTransport 		
-};                                  
+var helloSvcOpt = {
+  handler: helloHandler,
+  processor: helloSvc,
+  protocol: thrift.TJSONProtocol,
+  transport: thrift.TBufferedTransport,
+};
 
 //ServerOptions: Define server features
-var serverOpt = {                          	
-   services: {                         
-      "/hello": helloSvcOpt                 
-   }                               
-}                                   
+var serverOpt = {
+  services: {
+    "/hello": helloSvcOpt,
+  },
+};
 
-//Create and start the web server 
-var port = 9090;                            		
-thrift.createWebServer(serverOpt).listen(port);                        		
+//Create and start the web server
+var port = 9090;
+thrift.createWebServer(serverOpt).listen(port);
 console.log("Http/Thrift Server running on port: " + port);
-
diff --git a/lib/nodejs/examples/parse.js b/lib/nodejs/examples/parse.js
index 168a1ae..8513e4c 100644
--- a/lib/nodejs/examples/parse.js
+++ b/lib/nodejs/examples/parse.js
@@ -35,11 +35,11 @@
  */
 
 function parseThrift(thriftEncodedData, callback) {
-  var thrift = require('thrift');
+  var thrift = require("thrift");
   var transport = new thrift.TFramedTransport(thriftEncodedData);
-  var protocol  = new thrift.TBinaryProtocol(transport);
+  var protocol = new thrift.TBinaryProtocol(transport);
 
-  var clientClass = require('../gen-nodejs/GENERATED').YOUR_CLASS_NAME;
+  var clientClass = require("../gen-nodejs/GENERATED").YOUR_CLASS_NAME;
   var client = new clientClass();
   client.read(protocol);
   callback(null, client);
diff --git a/lib/nodejs/examples/server.js b/lib/nodejs/examples/server.js
index 1c482fe..41492cb 100644
--- a/lib/nodejs/examples/server.js
+++ b/lib/nodejs/examples/server.js
@@ -16,21 +16,21 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-var thrift = require('thrift');
+var thrift = require("thrift");
 
-var UserStorage = require('./gen-nodejs/UserStorage.js'),
-    ttypes = require('./gen-nodejs/user_types');
+var UserStorage = require("./gen-nodejs/UserStorage.js"),
+  ttypes = require("./gen-nodejs/user_types");
 
 var users = {};
 
 var server = thrift.createServer(UserStorage, {
-  store: function(user, result) {
+  store: function (user, result) {
     console.log("server stored:", user.uid);
     users[user.uid] = user;
     result(null);
   },
 
-  retrieve: function(uid, result) {
+  retrieve: function (uid, result) {
     console.log("server retrieved:", uid);
     result(null, users[uid]);
   },
diff --git a/lib/nodejs/examples/server_http.js b/lib/nodejs/examples/server_http.js
index ef2dc83..235f675 100644
--- a/lib/nodejs/examples/server_http.js
+++ b/lib/nodejs/examples/server_http.js
@@ -16,38 +16,46 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-var connect = require('connect');
-var thrift = require('thrift');
+var connect = require("connect");
+var thrift = require("thrift");
 
-var UserStorage = require('./gen-nodejs/UserStorage'),
-    ttypes = require('./gen-nodejs/user_types');
+var UserStorage = require("./gen-nodejs/UserStorage"),
+  ttypes = require("./gen-nodejs/user_types");
 
 var users = {};
 
-var store = function(user, result) {
+var store = function (user, result) {
   console.log("stored:", user.uid);
   users[user.uid] = user;
   result(null);
 };
-var retrieve = function(uid, result) {
+var retrieve = function (uid, result) {
   console.log("retrieved:", uid);
   result(null, users[uid]);
 };
 
 var server_http = thrift.createHttpServer(UserStorage, {
   store: store,
-  retrieve: retrieve
+  retrieve: retrieve,
 });
 server_http.listen(9090);
 
-var server_connect = connect(thrift.httpMiddleware(UserStorage, {
- store: store,
- retrieve: retrieve
-}));
+var server_connect = connect(
+  thrift.httpMiddleware(UserStorage, {
+    store: store,
+    retrieve: retrieve,
+  }),
+);
 server_http.listen(9091);
 
-var server_connect_json = connect(thrift.httpMiddleware(UserStorage, {
- store: store,
- retrieve: retrieve
-}, {protocol: thrift.TJSONProtocol}));
+var server_connect_json = connect(
+  thrift.httpMiddleware(
+    UserStorage,
+    {
+      store: store,
+      retrieve: retrieve,
+    },
+    { protocol: thrift.TJSONProtocol },
+  ),
+);
 server_connect_json.listen(9092);
diff --git a/lib/nodejs/examples/server_multitransport.js b/lib/nodejs/examples/server_multitransport.js
index a348e68..3dc0b17 100644
--- a/lib/nodejs/examples/server_multitransport.js
+++ b/lib/nodejs/examples/server_multitransport.js
@@ -16,31 +16,35 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-var thrift = require('thrift'),
-    ttransport = require('thrift/transport');
+var thrift = require("thrift"),
+  ttransport = require("thrift/transport");
 
-var UserStorage = require('./gen-nodejs/UserStorage'),
-    ttypes = require('./gen-nodejs/user_types');
+var UserStorage = require("./gen-nodejs/UserStorage"),
+  ttypes = require("./gen-nodejs/user_types");
 
 var users = {};
 
-var store = function(user, result) {
+var store = function (user, result) {
   console.log("stored:", user.uid);
   users[user.uid] = user;
   result(null);
 };
-var retrieve = function(uid, result) {
+var retrieve = function (uid, result) {
   console.log("retrieved:", uid);
   result(null, users[uid]);
 };
 
 var server_framed = thrift.createServer(UserStorage, {
   store: store,
-  retrieve: retrieve
+  retrieve: retrieve,
 });
 server_framed.listen(9090);
-var server_buffered = thrift.createServer(UserStorage, {
- store: store,
- retrieve: retrieve
-}, {transport: ttransport.TBufferedTransport});
+var server_buffered = thrift.createServer(
+  UserStorage,
+  {
+    store: store,
+    retrieve: retrieve,
+  },
+  { transport: ttransport.TBufferedTransport },
+);
 server_buffered.listen(9091);
diff --git a/lib/nodejs/lib/thrift/binary.js b/lib/nodejs/lib/thrift/binary.js
index 9813ffd..e8bbee7 100644
--- a/lib/nodejs/lib/thrift/binary.js
+++ b/lib/nodejs/lib/thrift/binary.js
@@ -26,11 +26,11 @@
 var POW_52 = Math.pow(2, 52);
 var POW_1022 = Math.pow(2, 1022);
 
-exports.readByte = function(b){
-	return b > 127 ? b-256 : b;
+exports.readByte = function (b) {
+  return b > 127 ? b - 256 : b;
 };
 
-exports.readI16 = function(buff, off) {
+exports.readI16 = function (buff, off) {
   off = off || 0;
   var v = buff[off + 1];
   v += buff[off] << 8;
@@ -40,7 +40,7 @@
   return v;
 };
 
-exports.readI32 = function(buff, off) {
+exports.readI32 = function (buff, off) {
   off = off || 0;
   var v = buff[off + 3];
   v += buff[off + 2] << 8;
@@ -52,14 +52,14 @@
   return v;
 };
 
-exports.writeI16 = function(buff, v) {
+exports.writeI16 = function (buff, v) {
   buff[1] = v & 0xff;
   v >>= 8;
   buff[0] = v & 0xff;
   return buff;
 };
 
-exports.writeI32 = function(buff, v) {
+exports.writeI32 = function (buff, v) {
   buff[3] = v & 0xff;
   v >>= 8;
   buff[2] = v & 0xff;
@@ -70,26 +70,26 @@
   return buff;
 };
 
-exports.readDouble = function(buff, off) {
+exports.readDouble = function (buff, off) {
   off = off || 0;
   var signed = buff[off] & 0x80;
-  var e = (buff[off+1] & 0xF0) >> 4;
-  e += (buff[off] & 0x7F) << 4;
+  var e = (buff[off + 1] & 0xf0) >> 4;
+  e += (buff[off] & 0x7f) << 4;
 
-  var m = buff[off+7];
-  m += buff[off+6] << 8;
-  m += buff[off+5] << 16;
-  m += buff[off+4] * POW_24;
-  m += buff[off+3] * POW_32;
-  m += buff[off+2] * POW_40;
-  m += (buff[off+1] & 0x0F) * POW_48;
+  var m = buff[off + 7];
+  m += buff[off + 6] << 8;
+  m += buff[off + 5] << 16;
+  m += buff[off + 4] * POW_24;
+  m += buff[off + 3] * POW_32;
+  m += buff[off + 2] * POW_40;
+  m += (buff[off + 1] & 0x0f) * POW_48;
 
   switch (e) {
     case 0:
       e = -1022;
       break;
     case 2047:
-      return m ? NaN : (signed ? -Infinity : Infinity);
+      return m ? NaN : signed ? -Infinity : Infinity;
     default:
       m += POW_52;
       e -= 1023;
@@ -106,10 +106,10 @@
  * Based on code from the jspack module:
  * http://code.google.com/p/jspack/
  */
-exports.writeDouble = function(buff, v) {
+exports.writeDouble = function (buff, v) {
   var m, e, c;
 
-  buff[0] = (v < 0 ? 0x80 : 0x00);
+  buff[0] = v < 0 ? 0x80 : 0x00;
 
   v = Math.abs(v);
   if (v !== v) {
@@ -127,22 +127,17 @@
       c *= 2;
     }
 
-    if (e + 1023 >= 2047)
-    {
+    if (e + 1023 >= 2047) {
       // Overflow
       m = 0;
       e = 2047;
-    }
-    else if (e + 1023 >= 1)
-    {
+    } else if (e + 1023 >= 1) {
       // Normalized - term order matters, as Math.pow(2, 52-e) and v*Math.pow(2, 52) can overflow
-      m = (v*c-1) * POW_52;
+      m = (v * c - 1) * POW_52;
       e += 1023;
-    }
-    else
-    {
+    } else {
       // Denormalized - also catches the '0' case, somewhat by chance
-      m = (v * POW_1022) * POW_52;
+      m = v * POW_1022 * POW_52;
       e = 0;
     }
   }
diff --git a/lib/nodejs/lib/thrift/binary_protocol.js b/lib/nodejs/lib/thrift/binary_protocol.js
index af8836c..fc4df4a 100644
--- a/lib/nodejs/lib/thrift/binary_protocol.js
+++ b/lib/nodejs/lib/thrift/binary_protocol.js
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-var log = require('./log');
-var binary = require('./binary');
-var Int64 = require('node-int64');
-var Thrift = require('./thrift');
+var log = require("./log");
+var binary = require("./binary");
+var Int64 = require("node-int64");
+var Thrift = require("./thrift");
 var Type = Thrift.Type;
 
 module.exports = TBinaryProtocol;
@@ -29,96 +29,90 @@
 // The largest integer value which can be represented in JavaScript is +/-2^53.
 // Bitwise operations convert numbers to 32 bit integers but perform sign extension
 // upon assigning values back to variables.
-var VERSION_MASK = -65536,   // 0xffff0000
-    VERSION_1 = -2147418112, // 0x80010000
-    TYPE_MASK = 0x000000ff;
+var VERSION_MASK = -65536, // 0xffff0000
+  VERSION_1 = -2147418112, // 0x80010000
+  TYPE_MASK = 0x000000ff;
 
 TBinaryProtocol.VERSION_MASK = VERSION_MASK;
 TBinaryProtocol.VERSION_1 = VERSION_1;
-TBinaryProtocol.TYPE_MASK = TYPE_MASK
+TBinaryProtocol.TYPE_MASK = TYPE_MASK;
 
 function TBinaryProtocol(trans, strictRead, strictWrite) {
   this.trans = trans;
-  this.strictRead = (strictRead !== undefined ? strictRead : false);
-  this.strictWrite = (strictWrite !== undefined ? strictWrite : true);
+  this.strictRead = strictRead !== undefined ? strictRead : false;
+  this.strictWrite = strictWrite !== undefined ? strictWrite : true;
   this._seqid = null;
-};
+}
 
-TBinaryProtocol.prototype.flush = function() {
+TBinaryProtocol.prototype.flush = function () {
   return this.trans.flush();
 };
 
-TBinaryProtocol.prototype.writeMessageBegin = function(name, type, seqid) {
-    if (this.strictWrite) {
-      this.writeI32(VERSION_1 | type);
-      this.writeString(name);
-      this.writeI32(seqid);
-    } else {
-      this.writeString(name);
-      this.writeByte(type);
-      this.writeI32(seqid);
-    }
-    // Record client seqid to find callback again
-    if (this._seqid !== null) {
-      log.warning('SeqId already set', { 'name': name });
-    } else {
-      this._seqid = seqid;
-      this.trans.setCurrSeqId(seqid);
-    }
+TBinaryProtocol.prototype.writeMessageBegin = function (name, type, seqid) {
+  if (this.strictWrite) {
+    this.writeI32(VERSION_1 | type);
+    this.writeString(name);
+    this.writeI32(seqid);
+  } else {
+    this.writeString(name);
+    this.writeByte(type);
+    this.writeI32(seqid);
+  }
+  // Record client seqid to find callback again
+  if (this._seqid !== null) {
+    log.warning("SeqId already set", { name: name });
+  } else {
+    this._seqid = seqid;
+    this.trans.setCurrSeqId(seqid);
+  }
 };
 
-TBinaryProtocol.prototype.writeMessageEnd = function() {
-    if (this._seqid !== null) {
-        this._seqid = null;
-    } else {
-        log.warning('No seqid to unset');
-    }
+TBinaryProtocol.prototype.writeMessageEnd = function () {
+  if (this._seqid !== null) {
+    this._seqid = null;
+  } else {
+    log.warning("No seqid to unset");
+  }
 };
 
-TBinaryProtocol.prototype.writeStructBegin = function(name) {
-};
+TBinaryProtocol.prototype.writeStructBegin = function (name) {};
 
-TBinaryProtocol.prototype.writeStructEnd = function() {
-};
+TBinaryProtocol.prototype.writeStructEnd = function () {};
 
-TBinaryProtocol.prototype.writeFieldBegin = function(name, type, id) {
+TBinaryProtocol.prototype.writeFieldBegin = function (name, type, id) {
   this.writeByte(type);
   this.writeI16(id);
 };
 
-TBinaryProtocol.prototype.writeFieldEnd = function() {
-};
+TBinaryProtocol.prototype.writeFieldEnd = function () {};
 
-TBinaryProtocol.prototype.writeFieldStop = function() {
+TBinaryProtocol.prototype.writeFieldStop = function () {
   this.writeByte(Type.STOP);
 };
 
-TBinaryProtocol.prototype.writeMapBegin = function(ktype, vtype, size) {
+TBinaryProtocol.prototype.writeMapBegin = function (ktype, vtype, size) {
   this.writeByte(ktype);
   this.writeByte(vtype);
   this.writeI32(size);
 };
 
-TBinaryProtocol.prototype.writeMapEnd = function() {
-};
+TBinaryProtocol.prototype.writeMapEnd = function () {};
 
-TBinaryProtocol.prototype.writeListBegin = function(etype, size) {
+TBinaryProtocol.prototype.writeListBegin = function (etype, size) {
   this.writeByte(etype);
   this.writeI32(size);
 };
 
-TBinaryProtocol.prototype.writeListEnd = function() {
-};
+TBinaryProtocol.prototype.writeListEnd = function () {};
 
-TBinaryProtocol.prototype.writeSetBegin = function(etype, size) {
+TBinaryProtocol.prototype.writeSetBegin = function (etype, size) {
   this.writeByte(etype);
   this.writeI32(size);
 };
 
-TBinaryProtocol.prototype.writeSetEnd = function() {
-};
+TBinaryProtocol.prototype.writeSetEnd = function () {};
 
-TBinaryProtocol.prototype.writeBool = function(bool) {
+TBinaryProtocol.prototype.writeBool = function (bool) {
   if (bool) {
     this.writeByte(1);
   } else {
@@ -126,19 +120,19 @@
   }
 };
 
-TBinaryProtocol.prototype.writeByte = function(b) {
+TBinaryProtocol.prototype.writeByte = function (b) {
   this.trans.write(new Buffer([b]));
 };
 
-TBinaryProtocol.prototype.writeI16 = function(i16) {
+TBinaryProtocol.prototype.writeI16 = function (i16) {
   this.trans.write(binary.writeI16(new Buffer(2), i16));
 };
 
-TBinaryProtocol.prototype.writeI32 = function(i32) {
+TBinaryProtocol.prototype.writeI32 = function (i32) {
   this.trans.write(binary.writeI32(new Buffer(4), i32));
 };
 
-TBinaryProtocol.prototype.writeI64 = function(i64) {
+TBinaryProtocol.prototype.writeI64 = function (i64) {
   if (i64.buffer) {
     this.trans.write(i64.buffer);
   } else {
@@ -146,108 +140,110 @@
   }
 };
 
-TBinaryProtocol.prototype.writeDouble = function(dub) {
+TBinaryProtocol.prototype.writeDouble = function (dub) {
   this.trans.write(binary.writeDouble(new Buffer(8), dub));
 };
 
-TBinaryProtocol.prototype.writeStringOrBinary = function(name, encoding, arg) {
-  if (typeof(arg) === 'string') {
+TBinaryProtocol.prototype.writeStringOrBinary = function (name, encoding, arg) {
+  if (typeof arg === "string") {
     this.writeI32(Buffer.byteLength(arg, encoding));
     this.trans.write(new Buffer(arg, encoding));
-  } else if ((arg instanceof Buffer) ||
-             (Object.prototype.toString.call(arg) == '[object Uint8Array]')) {
+  } else if (
+    arg instanceof Buffer ||
+    Object.prototype.toString.call(arg) == "[object Uint8Array]"
+  ) {
     // Buffers in Node.js under Browserify may extend UInt8Array instead of
     // defining a new object. We detect them here so we can write them
     // correctly
     this.writeI32(arg.length);
     this.trans.write(arg);
   } else {
-    throw new Error(name + ' called without a string/Buffer argument: ' + arg);
+    throw new Error(name + " called without a string/Buffer argument: " + arg);
   }
 };
 
-TBinaryProtocol.prototype.writeString = function(arg) {
-  this.writeStringOrBinary('writeString', 'utf8', arg);
+TBinaryProtocol.prototype.writeString = function (arg) {
+  this.writeStringOrBinary("writeString", "utf8", arg);
 };
 
-TBinaryProtocol.prototype.writeBinary = function(arg) {
-  this.writeStringOrBinary('writeBinary', 'binary', arg);
+TBinaryProtocol.prototype.writeBinary = function (arg) {
+  this.writeStringOrBinary("writeBinary", "binary", arg);
 };
 
-TBinaryProtocol.prototype.readMessageBegin = function() {
+TBinaryProtocol.prototype.readMessageBegin = function () {
   var sz = this.readI32();
   var type, name, seqid;
 
   if (sz < 0) {
     var version = sz & VERSION_MASK;
     if (version != VERSION_1) {
-      throw new Thrift.TProtocolException(Thrift.TProtocolExceptionType.BAD_VERSION, "Bad version in readMessageBegin: " + sz);
+      throw new Thrift.TProtocolException(
+        Thrift.TProtocolExceptionType.BAD_VERSION,
+        "Bad version in readMessageBegin: " + sz,
+      );
     }
     type = sz & TYPE_MASK;
     name = this.readString();
     seqid = this.readI32();
   } else {
     if (this.strictRead) {
-      throw new Thrift.TProtocolException(Thrift.TProtocolExceptionType.BAD_VERSION, "No protocol version header");
+      throw new Thrift.TProtocolException(
+        Thrift.TProtocolExceptionType.BAD_VERSION,
+        "No protocol version header",
+      );
     }
     name = this.trans.read(sz);
     type = this.readByte();
     seqid = this.readI32();
   }
-  return {fname: name, mtype: type, rseqid: seqid};
+  return { fname: name, mtype: type, rseqid: seqid };
 };
 
-TBinaryProtocol.prototype.readMessageEnd = function() {
+TBinaryProtocol.prototype.readMessageEnd = function () {};
+
+TBinaryProtocol.prototype.readStructBegin = function () {
+  return { fname: "" };
 };
 
-TBinaryProtocol.prototype.readStructBegin = function() {
-  return {fname: ''};
-};
+TBinaryProtocol.prototype.readStructEnd = function () {};
 
-TBinaryProtocol.prototype.readStructEnd = function() {
-};
-
-TBinaryProtocol.prototype.readFieldBegin = function() {
+TBinaryProtocol.prototype.readFieldBegin = function () {
   var type = this.readByte();
   if (type == Type.STOP) {
-    return {fname: null, ftype: type, fid: 0};
+    return { fname: null, ftype: type, fid: 0 };
   }
   var id = this.readI16();
-  return {fname: null, ftype: type, fid: id};
+  return { fname: null, ftype: type, fid: id };
 };
 
-TBinaryProtocol.prototype.readFieldEnd = function() {
-};
+TBinaryProtocol.prototype.readFieldEnd = function () {};
 
-TBinaryProtocol.prototype.readMapBegin = function() {
+TBinaryProtocol.prototype.readMapBegin = function () {
   var ktype = this.readByte();
   var vtype = this.readByte();
   var size = this.readI32();
-  return {ktype: ktype, vtype: vtype, size: size};
+  return { ktype: ktype, vtype: vtype, size: size };
 };
 
-TBinaryProtocol.prototype.readMapEnd = function() {
-};
+TBinaryProtocol.prototype.readMapEnd = function () {};
 
-TBinaryProtocol.prototype.readListBegin = function() {
+TBinaryProtocol.prototype.readListBegin = function () {
   var etype = this.readByte();
   var size = this.readI32();
-  return {etype: etype, size: size};
+  return { etype: etype, size: size };
 };
 
-TBinaryProtocol.prototype.readListEnd = function() {
-};
+TBinaryProtocol.prototype.readListEnd = function () {};
 
-TBinaryProtocol.prototype.readSetBegin = function() {
+TBinaryProtocol.prototype.readSetBegin = function () {
   var etype = this.readByte();
   var size = this.readI32();
-  return {etype: etype, size: size};
+  return { etype: etype, size: size };
 };
 
-TBinaryProtocol.prototype.readSetEnd = function() {
-};
+TBinaryProtocol.prototype.readSetEnd = function () {};
 
-TBinaryProtocol.prototype.readBool = function() {
+TBinaryProtocol.prototype.readBool = function () {
   var b = this.readByte();
   if (b === 0) {
     return false;
@@ -255,56 +251,62 @@
   return true;
 };
 
-TBinaryProtocol.prototype.readByte = function() {
+TBinaryProtocol.prototype.readByte = function () {
   return this.trans.readByte();
 };
 
-TBinaryProtocol.prototype.readI16 = function() {
+TBinaryProtocol.prototype.readI16 = function () {
   return this.trans.readI16();
 };
 
-TBinaryProtocol.prototype.readI32 = function() {
+TBinaryProtocol.prototype.readI32 = function () {
   return this.trans.readI32();
 };
 
-TBinaryProtocol.prototype.readI64 = function() {
+TBinaryProtocol.prototype.readI64 = function () {
   var buff = this.trans.read(8);
   return new Int64(buff);
 };
 
-TBinaryProtocol.prototype.readDouble = function() {
+TBinaryProtocol.prototype.readDouble = function () {
   return this.trans.readDouble();
 };
 
-TBinaryProtocol.prototype.readBinary = function() {
+TBinaryProtocol.prototype.readBinary = function () {
   var len = this.readI32();
   if (len === 0) {
     return new Buffer(0);
   }
 
   if (len < 0) {
-    throw new Thrift.TProtocolException(Thrift.TProtocolExceptionType.NEGATIVE_SIZE, "Negative binary size");
+    throw new Thrift.TProtocolException(
+      Thrift.TProtocolExceptionType.NEGATIVE_SIZE,
+      "Negative binary size",
+    );
   }
   return this.trans.read(len);
 };
 
-TBinaryProtocol.prototype.readString = function() {
+TBinaryProtocol.prototype.readString = function () {
   var len = this.readI32();
   if (len === 0) {
     return "";
   }
 
   if (len < 0) {
-    throw new Thrift.TProtocolException(Thrift.TProtocolExceptionType.NEGATIVE_SIZE, "Negative string size");
+    throw new Thrift.TProtocolException(
+      Thrift.TProtocolExceptionType.NEGATIVE_SIZE,
+      "Negative string size",
+    );
   }
   return this.trans.readString(len);
 };
 
-TBinaryProtocol.prototype.getTransport = function() {
+TBinaryProtocol.prototype.getTransport = function () {
   return this.trans;
 };
 
-TBinaryProtocol.prototype.skip = function(type) {
+TBinaryProtocol.prototype.skip = function (type) {
   switch (type) {
     case Type.BOOL:
       this.readBool();
@@ -362,6 +364,6 @@
       this.readListEnd();
       break;
     default:
-      throw new  Error("Invalid type: " + type);
+      throw new Error("Invalid type: " + type);
   }
 };
diff --git a/lib/nodejs/lib/thrift/browser.js b/lib/nodejs/lib/thrift/browser.js
index 5915cf6..5c843d0 100644
--- a/lib/nodejs/lib/thrift/browser.js
+++ b/lib/nodejs/lib/thrift/browser.js
@@ -16,42 +16,42 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-exports.Thrift = require('./thrift');
+exports.Thrift = require("./thrift");
 
-var wsConnection = require('./ws_connection');
+var wsConnection = require("./ws_connection");
 exports.WSConnection = wsConnection.WSConnection;
 exports.createWSConnection = wsConnection.createWSConnection;
 exports.createWSClient = wsConnection.createWSClient;
 
-var xhrConnection = require('./xhr_connection');
+var xhrConnection = require("./xhr_connection");
 exports.XHRConnection = xhrConnection.XHRConnection;
 exports.createXHRConnection = xhrConnection.createXHRConnection;
 exports.createXHRClient = xhrConnection.createXHRClient;
 
-var ohosConnection = require('./ohos_connection');
+var ohosConnection = require("./ohos_connection");
 exports.OhosConnection = ohosConnection.OhosConnection;
 exports.createOhosConnection = ohosConnection.createOhosConnection;
 exports.createOhosClient = ohosConnection.createOhosClient;
 
-exports.createClient = require('./create_client');
+exports.createClient = require("./create_client");
 
-exports.Int64 = require('node-int64');
-exports.Q = require('q');
+exports.Int64 = require("node-int64");
+exports.Q = require("q");
 
-var mpxProtocol = require('./multiplexed_protocol');
+var mpxProtocol = require("./multiplexed_protocol");
 exports.Multiplexer = mpxProtocol.Multiplexer;
 
 /*
  * Export transport and protocol so they can be used outside of a
  * cassandra/server context
  */
-exports.TBufferedTransport = require('./buffered_transport');
-exports.TFramedTransport = require('./framed_transport');
-exports.TWebSocketTransport = require('./ws_transport');
+exports.TBufferedTransport = require("./buffered_transport");
+exports.TFramedTransport = require("./framed_transport");
+exports.TWebSocketTransport = require("./ws_transport");
 
-exports.Protocol = require('./json_protocol');
-exports.TJSONProtocol = require('./json_protocol');
-exports.TBinaryProtocol = require('./binary_protocol');
-exports.TCompactProtocol = require('./compact_protocol');
+exports.Protocol = require("./json_protocol");
+exports.TJSONProtocol = require("./json_protocol");
+exports.TBinaryProtocol = require("./binary_protocol");
+exports.TCompactProtocol = require("./compact_protocol");
 
-exports.InputBufferUnderrunError = require('./input_buffer_underrun_error');
+exports.InputBufferUnderrunError = require("./input_buffer_underrun_error");
diff --git a/lib/nodejs/lib/thrift/buffered_transport.js b/lib/nodejs/lib/thrift/buffered_transport.js
index f0d5d4a..27d682d 100644
--- a/lib/nodejs/lib/thrift/buffered_transport.js
+++ b/lib/nodejs/lib/thrift/buffered_transport.js
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-var binary = require('./binary');
-var InputBufferUnderrunError = require('./input_buffer_underrun_error');
-var THeaderTransport = require('./header_transport');
+var binary = require("./binary");
+var InputBufferUnderrunError = require("./input_buffer_underrun_error");
+var THeaderTransport = require("./header_transport");
 
 module.exports = TBufferedTransport;
 
@@ -33,22 +33,22 @@
   this.outBuffers = [];
   this.outCount = 0;
   this.onFlush = callback;
-};
+}
 
 Object.setPrototypeOf(TBufferedTransport.prototype, THeaderTransport.prototype);
 
-TBufferedTransport.prototype.reset = function() {
+TBufferedTransport.prototype.reset = function () {
   this.inBuf = new Buffer(this.defaultReadBufferSize);
   this.readCursor = 0;
   this.writeCursor = 0;
   this.outBuffers = [];
   this.outCount = 0;
-}
+};
 
-TBufferedTransport.receiver = function(callback, seqid) {
+TBufferedTransport.receiver = function (callback, seqid) {
   var reader = new TBufferedTransport();
 
-  return function(data) {
+  return function (data) {
     if (reader.writeCursor + data.length > reader.inBuf.length) {
       var buf = new Buffer(reader.writeCursor + data.length);
       reader.inBuf.copy(buf, 0, 0, reader.writeCursor);
@@ -61,11 +61,12 @@
   };
 };
 
-
-TBufferedTransport.prototype.commitPosition = function(){
+TBufferedTransport.prototype.commitPosition = function () {
   var unreadSize = this.writeCursor - this.readCursor;
-  var bufSize = (unreadSize * 2 > this.defaultReadBufferSize) ?
-    unreadSize * 2 : this.defaultReadBufferSize;
+  var bufSize =
+    unreadSize * 2 > this.defaultReadBufferSize
+      ? unreadSize * 2
+      : this.defaultReadBufferSize;
   var buf = new Buffer(bufSize);
   if (unreadSize > 0) {
     this.inBuf.copy(buf, 0, this.readCursor, this.writeCursor);
@@ -75,34 +76,32 @@
   this.inBuf = buf;
 };
 
-TBufferedTransport.prototype.rollbackPosition = function(){
+TBufferedTransport.prototype.rollbackPosition = function () {
   this.readCursor = 0;
-}
+};
 
-  // TODO: Implement open/close support
-TBufferedTransport.prototype.isOpen = function() {
+// TODO: Implement open/close support
+TBufferedTransport.prototype.isOpen = function () {
   return true;
 };
 
-TBufferedTransport.prototype.open = function() {
-};
+TBufferedTransport.prototype.open = function () {};
 
-TBufferedTransport.prototype.close = function() {
-};
+TBufferedTransport.prototype.close = function () {};
 
-  // Set the seqid of the message in the client
-  // So that callbacks can be found
-TBufferedTransport.prototype.setCurrSeqId = function(seqid) {
+// Set the seqid of the message in the client
+// So that callbacks can be found
+TBufferedTransport.prototype.setCurrSeqId = function (seqid) {
   this._seqid = seqid;
 };
 
-TBufferedTransport.prototype.ensureAvailable = function(len) {
+TBufferedTransport.prototype.ensureAvailable = function (len) {
   if (this.readCursor + len > this.writeCursor) {
     throw new InputBufferUnderrunError();
   }
 };
 
-TBufferedTransport.prototype.read = function(len) {
+TBufferedTransport.prototype.read = function (len) {
   this.ensureAvailable(len);
   var buf = new Buffer(len);
   this.inBuf.copy(buf, 0, this.readCursor, this.readCursor + len);
@@ -110,57 +109,61 @@
   return buf;
 };
 
-TBufferedTransport.prototype.readByte = function() {
+TBufferedTransport.prototype.readByte = function () {
   this.ensureAvailable(1);
   return binary.readByte(this.inBuf[this.readCursor++]);
 };
 
-TBufferedTransport.prototype.readI16 = function() {
+TBufferedTransport.prototype.readI16 = function () {
   this.ensureAvailable(2);
   var i16 = binary.readI16(this.inBuf, this.readCursor);
   this.readCursor += 2;
   return i16;
 };
 
-TBufferedTransport.prototype.readI32 = function() {
+TBufferedTransport.prototype.readI32 = function () {
   this.ensureAvailable(4);
   var i32 = binary.readI32(this.inBuf, this.readCursor);
   this.readCursor += 4;
   return i32;
 };
 
-TBufferedTransport.prototype.readDouble = function() {
+TBufferedTransport.prototype.readDouble = function () {
   this.ensureAvailable(8);
   var d = binary.readDouble(this.inBuf, this.readCursor);
   this.readCursor += 8;
   return d;
 };
 
-TBufferedTransport.prototype.readString = function(len) {
+TBufferedTransport.prototype.readString = function (len) {
   this.ensureAvailable(len);
-  var str = this.inBuf.toString('utf8', this.readCursor, this.readCursor + len);
+  var str = this.inBuf.toString("utf8", this.readCursor, this.readCursor + len);
   this.readCursor += len;
   return str;
 };
 
-TBufferedTransport.prototype.borrow = function() {
-  var obj = {buf: this.inBuf, readIndex: this.readCursor, writeIndex: this.writeCursor};
+TBufferedTransport.prototype.borrow = function () {
+  var obj = {
+    buf: this.inBuf,
+    readIndex: this.readCursor,
+    writeIndex: this.writeCursor,
+  };
   return obj;
 };
 
-TBufferedTransport.prototype.consume = function(bytesConsumed) {
+TBufferedTransport.prototype.consume = function (bytesConsumed) {
   this.readCursor += bytesConsumed;
 };
 
-TBufferedTransport.prototype.write = function(buf) {
-  if (typeof(buf) === "string") {
-    buf = new Buffer(buf, 'utf8');
+TBufferedTransport.prototype.write = function (buf) {
+  if (typeof buf === "string") {
+    buf = new Buffer(buf, "utf8");
   }
   this.outBuffers.push(buf);
   this.outCount += buf.length;
 };
 
-TBufferedTransport.prototype.flush = function() {
+TBufferedTransport.prototype.flush = function () {
   // If the seqid of the callback is available pass it to the onFlush
   // Then remove the current seqid
   var seqid = this._seqid;
@@ -171,8 +174,8 @@
   }
 
   var msg = new Buffer(this.outCount),
-      pos = 0;
-  this.outBuffers.forEach(function(buf) {
+    pos = 0;
+  this.outBuffers.forEach(function (buf) {
     buf.copy(msg, pos, 0);
     pos += buf.length;
   });
@@ -184,4 +187,4 @@
 
   this.outBuffers = [];
   this.outCount = 0;
-}
+};
diff --git a/lib/nodejs/lib/thrift/compact_protocol.js b/lib/nodejs/lib/thrift/compact_protocol.js
index 302a88d..e946dc8 100644
--- a/lib/nodejs/lib/thrift/compact_protocol.js
+++ b/lib/nodejs/lib/thrift/compact_protocol.js
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-var log = require('./log');
-var Int64 = require('node-int64');
-var Thrift = require('./thrift');
+var log = require("./log");
+var Int64 = require("node-int64");
+var Thrift = require("./thrift");
 var Type = Thrift.Type;
 
 module.exports = TCompactProtocol;
@@ -50,59 +50,58 @@
   this.container_limit_ = 0;
   this.booleanField_ = {
     name: null,
-    hasBoolValue: false
+    hasBoolValue: false,
   };
   this.boolValue_ = {
     hasBoolValue: false,
-    boolValue: false
+    boolValue: false,
   };
-};
-
+}
 
 //
 // Compact Protocol Constants
 //
 
 /**
-  * Compact Protocol ID number.
-  * @readonly
-  * @const {number} PROTOCOL_ID
-  */
-TCompactProtocol.PROTOCOL_ID = -126;  //1000 0010
+ * Compact Protocol ID number.
+ * @readonly
+ * @const {number} PROTOCOL_ID
+ */
+TCompactProtocol.PROTOCOL_ID = -126; //1000 0010
 
 /**
-  * Compact Protocol version number.
-  * @readonly
-  * @const {number} VERSION_N
-  */
+ * Compact Protocol version number.
+ * @readonly
+ * @const {number} VERSION_N
+ */
 TCompactProtocol.VERSION_N = 1;
 
 /**
-  * Compact Protocol version mask for combining protocol version and message type in one byte.
-  * @readonly
-  * @const {number} VERSION_MASK
-  */
+ * Compact Protocol version mask for combining protocol version and message type in one byte.
+ * @readonly
+ * @const {number} VERSION_MASK
+ */
 TCompactProtocol.VERSION_MASK = 0x1f; //0001 1111
 
 /**
-  * Compact Protocol message type mask for combining protocol version and message type in one byte.
-  * @readonly
-  * @const {number} TYPE_MASK
-  */
-TCompactProtocol.TYPE_MASK = -32;     //1110 0000
+ * Compact Protocol message type mask for combining protocol version and message type in one byte.
+ * @readonly
+ * @const {number} TYPE_MASK
+ */
+TCompactProtocol.TYPE_MASK = -32; //1110 0000
 
 /**
-  * Compact Protocol message type bits for ensuring message type bit size.
-  * @readonly
-  * @const {number} TYPE_BITS
-  */
+ * Compact Protocol message type bits for ensuring message type bit size.
+ * @readonly
+ * @const {number} TYPE_BITS
+ */
 TCompactProtocol.TYPE_BITS = 7; //0000 0111
 
 /**
-  * Compact Protocol message type shift amount for combining protocol version and message type in one byte.
-  * @readonly
-  * @const {number} TYPE_SHIFT_AMOUNT
-  */
+ * Compact Protocol message type shift amount for combining protocol version and message type in one byte.
+ * @readonly
+ * @const {number} TYPE_SHIFT_AMOUNT
+ */
 TCompactProtocol.TYPE_SHIFT_AMOUNT = 5;
 
 /**
@@ -123,19 +122,19 @@
  * @property {number}  CT_STRUCT        - A multifield type.
  */
 TCompactProtocol.Types = {
-  CT_STOP:           0x00,
-  CT_BOOLEAN_TRUE:   0x01,
-  CT_BOOLEAN_FALSE:  0x02,
-  CT_BYTE:           0x03,
-  CT_I16:            0x04,
-  CT_I32:            0x05,
-  CT_I64:            0x06,
-  CT_DOUBLE:         0x07,
-  CT_BINARY:         0x08,
-  CT_LIST:           0x09,
-  CT_SET:            0x0A,
-  CT_MAP:            0x0B,
-  CT_STRUCT:         0x0C
+  CT_STOP: 0x00,
+  CT_BOOLEAN_TRUE: 0x01,
+  CT_BOOLEAN_FALSE: 0x02,
+  CT_BYTE: 0x03,
+  CT_I16: 0x04,
+  CT_I32: 0x05,
+  CT_I64: 0x06,
+  CT_DOUBLE: 0x07,
+  CT_BINARY: 0x08,
+  CT_LIST: 0x09,
+  CT_SET: 0x0a,
+  CT_MAP: 0x0b,
+  CT_STRUCT: 0x0c,
 };
 
 /**
@@ -143,25 +142,24 @@
  * @readonly
  */
 TCompactProtocol.TTypeToCType = [
-  TCompactProtocol.Types.CT_STOP,         // T_STOP
-  0,                                      // unused
+  TCompactProtocol.Types.CT_STOP, // T_STOP
+  0, // unused
   TCompactProtocol.Types.CT_BOOLEAN_TRUE, // T_BOOL
-  TCompactProtocol.Types.CT_BYTE,         // T_BYTE
-  TCompactProtocol.Types.CT_DOUBLE,       // T_DOUBLE
-  0,                                      // unused
-  TCompactProtocol.Types.CT_I16,          // T_I16
-  0,                                      // unused
-  TCompactProtocol.Types.CT_I32,          // T_I32
-  0,                                      // unused
-  TCompactProtocol.Types.CT_I64,          // T_I64
-  TCompactProtocol.Types.CT_BINARY,       // T_STRING
-  TCompactProtocol.Types.CT_STRUCT,       // T_STRUCT
-  TCompactProtocol.Types.CT_MAP,          // T_MAP
-  TCompactProtocol.Types.CT_SET,          // T_SET
-  TCompactProtocol.Types.CT_LIST,         // T_LIST
+  TCompactProtocol.Types.CT_BYTE, // T_BYTE
+  TCompactProtocol.Types.CT_DOUBLE, // T_DOUBLE
+  0, // unused
+  TCompactProtocol.Types.CT_I16, // T_I16
+  0, // unused
+  TCompactProtocol.Types.CT_I32, // T_I32
+  0, // unused
+  TCompactProtocol.Types.CT_I64, // T_I64
+  TCompactProtocol.Types.CT_BINARY, // T_STRING
+  TCompactProtocol.Types.CT_STRUCT, // T_STRUCT
+  TCompactProtocol.Types.CT_MAP, // T_MAP
+  TCompactProtocol.Types.CT_SET, // T_SET
+  TCompactProtocol.Types.CT_LIST, // T_LIST
 ];
 
-
 //
 // Compact Protocol Utilities
 //
@@ -169,7 +167,7 @@
 /**
  * Returns the underlying transport layer.
  * @return {object} The underlying transport layer.
- */TCompactProtocol.prototype.getTransport = function() {
+ */ TCompactProtocol.prototype.getTransport = function () {
   return this.trans;
 };
 
@@ -179,7 +177,7 @@
  * @param {number} ttype - Thrift type value
  * @returns {number} Compact protocol type value
  */
-TCompactProtocol.prototype.getCompactType = function(ttype) {
+TCompactProtocol.prototype.getCompactType = function (ttype) {
   return TCompactProtocol.TTypeToCType[ttype];
 };
 
@@ -189,7 +187,7 @@
  * @param {number} type - Compact Protocol type value
  * @returns {number} Thrift Type value
  */
-TCompactProtocol.prototype.getTType = function(type) {
+TCompactProtocol.prototype.getTType = function (type) {
   switch (type) {
     case Type.STOP:
       return Type.STOP;
@@ -217,12 +215,14 @@
     case TCompactProtocol.Types.CT_STRUCT:
       return Type.STRUCT;
     default:
-      throw new Thrift.TProtocolException(Thrift.TProtocolExceptionType.INVALID_DATA, "Unknown type: " + type);
+      throw new Thrift.TProtocolException(
+        Thrift.TProtocolExceptionType.INVALID_DATA,
+        "Unknown type: " + type,
+      );
   }
   return Type.STOP;
 };
 
-
 //
 // Compact Protocol write operations
 //
@@ -230,7 +230,7 @@
 /**
  * Send any buffered bytes to the end point.
  */
-TCompactProtocol.prototype.flush = function() {
+TCompactProtocol.prototype.flush = function () {
   return this.trans.flush();
 };
 
@@ -240,31 +240,33 @@
  * @param {number} type - The type of message (CALL, REPLY, EXCEPTION, ONEWAY).
  * @param {number} seqid - The call sequence number (if any).
  */
-TCompactProtocol.prototype.writeMessageBegin = function(name, type, seqid) {
+TCompactProtocol.prototype.writeMessageBegin = function (name, type, seqid) {
   this.writeByte(TCompactProtocol.PROTOCOL_ID);
-  this.writeByte((TCompactProtocol.VERSION_N & TCompactProtocol.VERSION_MASK) |
-                     ((type << TCompactProtocol.TYPE_SHIFT_AMOUNT) & TCompactProtocol.TYPE_MASK));
+  this.writeByte(
+    (TCompactProtocol.VERSION_N & TCompactProtocol.VERSION_MASK) |
+      ((type << TCompactProtocol.TYPE_SHIFT_AMOUNT) &
+        TCompactProtocol.TYPE_MASK),
+  );
   this.writeVarint32(seqid);
   this.writeString(name);
 
   // Record client seqid to find callback again
   if (this._seqid) {
-    log.warning('SeqId already set', { 'name': name });
+    log.warning("SeqId already set", { name: name });
   } else {
     this._seqid = seqid;
     this.trans.setCurrSeqId(seqid);
   }
 };
 
-TCompactProtocol.prototype.writeMessageEnd = function() {
-};
+TCompactProtocol.prototype.writeMessageEnd = function () {};
 
-TCompactProtocol.prototype.writeStructBegin = function(name) {
+TCompactProtocol.prototype.writeStructBegin = function (name) {
   this.lastField_.push(this.lastFieldId_);
   this.lastFieldId_ = 0;
 };
 
-TCompactProtocol.prototype.writeStructEnd = function() {
+TCompactProtocol.prototype.writeStructEnd = function () {
   this.lastFieldId_ = this.lastField_.pop();
 };
 
@@ -274,7 +276,7 @@
  * @param {number} type - The field data type (a normal Thrift field Type).
  * @param {number} id - The IDL field Id.
  */
-TCompactProtocol.prototype.writeFieldBegin = function(name, type, id) {
+TCompactProtocol.prototype.writeFieldBegin = function (name, type, id) {
   if (type != Type.BOOL) {
     return this.writeFieldBeginInternal(name, type, id, -1);
   }
@@ -284,10 +286,9 @@
   this.booleanField_.fieldId = id;
 };
 
-TCompactProtocol.prototype.writeFieldEnd = function() {
-};
+TCompactProtocol.prototype.writeFieldEnd = function () {};
 
-TCompactProtocol.prototype.writeFieldStop = function() {
+TCompactProtocol.prototype.writeFieldStop = function () {
   this.writeByte(TCompactProtocol.Types.CT_STOP);
 };
 
@@ -297,80 +298,85 @@
  * @param {number} valType - The Thrift type of the map values.
  * @param {number} size - The number of k/v pairs in the map.
  */
-TCompactProtocol.prototype.writeMapBegin = function(keyType, valType, size) {
+TCompactProtocol.prototype.writeMapBegin = function (keyType, valType, size) {
   if (size === 0) {
     this.writeByte(0);
   } else {
     this.writeVarint32(size);
-    this.writeByte(this.getCompactType(keyType) << 4 | this.getCompactType(valType));
+    this.writeByte(
+      (this.getCompactType(keyType) << 4) | this.getCompactType(valType),
+    );
   }
 };
 
-TCompactProtocol.prototype.writeMapEnd = function() {
-};
+TCompactProtocol.prototype.writeMapEnd = function () {};
 
 /**
  * Writes a list collection header
  * @param {number} elemType - The Thrift type of the list elements.
  * @param {number} size - The number of elements in the list.
  */
-TCompactProtocol.prototype.writeListBegin = function(elemType, size) {
+TCompactProtocol.prototype.writeListBegin = function (elemType, size) {
   this.writeCollectionBegin(elemType, size);
 };
 
-TCompactProtocol.prototype.writeListEnd = function() {
-};
+TCompactProtocol.prototype.writeListEnd = function () {};
 
 /**
  * Writes a set collection header
  * @param {number} elemType - The Thrift type of the set elements.
  * @param {number} size - The number of elements in the set.
  */
-TCompactProtocol.prototype.writeSetBegin = function(elemType, size) {
+TCompactProtocol.prototype.writeSetBegin = function (elemType, size) {
   this.writeCollectionBegin(elemType, size);
 };
 
-TCompactProtocol.prototype.writeSetEnd = function() {
-};
+TCompactProtocol.prototype.writeSetEnd = function () {};
 
-TCompactProtocol.prototype.writeBool = function(value) {
+TCompactProtocol.prototype.writeBool = function (value) {
   if (this.booleanField_.name !== null) {
     // we haven't written the field header yet
-    this.writeFieldBeginInternal(this.booleanField_.name,
-                                 this.booleanField_.fieldType,
-                                 this.booleanField_.fieldId,
-                                 (value ? TCompactProtocol.Types.CT_BOOLEAN_TRUE
-                                          : TCompactProtocol.Types.CT_BOOLEAN_FALSE));
+    this.writeFieldBeginInternal(
+      this.booleanField_.name,
+      this.booleanField_.fieldType,
+      this.booleanField_.fieldId,
+      value
+        ? TCompactProtocol.Types.CT_BOOLEAN_TRUE
+        : TCompactProtocol.Types.CT_BOOLEAN_FALSE,
+    );
     this.booleanField_.name = null;
   } else {
     // we're not part of a field, so just write the value
-    this.writeByte((value ? TCompactProtocol.Types.CT_BOOLEAN_TRUE
-                            : TCompactProtocol.Types.CT_BOOLEAN_FALSE));
+    this.writeByte(
+      value
+        ? TCompactProtocol.Types.CT_BOOLEAN_TRUE
+        : TCompactProtocol.Types.CT_BOOLEAN_FALSE,
+    );
   }
 };
 
-TCompactProtocol.prototype.writeByte = function(b) {
+TCompactProtocol.prototype.writeByte = function (b) {
   this.trans.write(new Buffer([b]));
 };
 
-TCompactProtocol.prototype.writeI16 = function(i16) {
+TCompactProtocol.prototype.writeI16 = function (i16) {
   this.writeVarint32(this.i32ToZigzag(i16));
 };
 
-TCompactProtocol.prototype.writeI32 = function(i32) {
+TCompactProtocol.prototype.writeI32 = function (i32) {
   this.writeVarint32(this.i32ToZigzag(i32));
 };
 
-TCompactProtocol.prototype.writeI64 = function(i64) {
+TCompactProtocol.prototype.writeI64 = function (i64) {
   this.writeVarint64(this.i64ToZigzag(i64));
 };
 
 // Little-endian, unlike TBinaryProtocol
-TCompactProtocol.prototype.writeDouble = function(v) {
+TCompactProtocol.prototype.writeDouble = function (v) {
   var buff = new Buffer(8);
   var m, e, c;
 
-  buff[7] = (v < 0 ? 0x80 : 0x00);
+  buff[7] = v < 0 ? 0x80 : 0x00;
 
   v = Math.abs(v);
   if (v !== v) {
@@ -388,22 +394,17 @@
       c *= 2;
     }
 
-    if (e + 1023 >= 2047)
-    {
+    if (e + 1023 >= 2047) {
       // Overflow
       m = 0;
       e = 2047;
-    }
-    else if (e + 1023 >= 1)
-    {
+    } else if (e + 1023 >= 1) {
       // Normalized - term order matters, as Math.pow(2, 52-e) and v*Math.pow(2, 52) can overflow
-      m = (v*c-1) * POW_52;
+      m = (v * c - 1) * POW_52;
       e += 1023;
-    }
-    else
-    {
+    } else {
       // Denormalized - also catches the '0' case, somewhat by chance
-      m = (v * POW_1022) * POW_52;
+      m = v * POW_1022 * POW_52;
       e = 0;
     }
   }
@@ -428,45 +429,53 @@
   this.trans.write(buff);
 };
 
-TCompactProtocol.prototype.writeStringOrBinary = function(name, encoding, arg) {
-  if (typeof arg === 'string') {
-    this.writeVarint32(Buffer.byteLength(arg, encoding)) ;
+TCompactProtocol.prototype.writeStringOrBinary = function (
+  name,
+  encoding,
+  arg,
+) {
+  if (typeof arg === "string") {
+    this.writeVarint32(Buffer.byteLength(arg, encoding));
     this.trans.write(new Buffer(arg, encoding));
-  } else if (arg instanceof Buffer ||
-             Object.prototype.toString.call(arg) == '[object Uint8Array]') {
+  } else if (
+    arg instanceof Buffer ||
+    Object.prototype.toString.call(arg) == "[object Uint8Array]"
+  ) {
     // Buffers in Node.js under Browserify may extend UInt8Array instead of
     // defining a new object. We detect them here so we can write them
     // correctly
     this.writeVarint32(arg.length);
     this.trans.write(arg);
   } else {
-    throw new Error(name + ' called without a string/Buffer argument: ' + arg);
+    throw new Error(name + " called without a string/Buffer argument: " + arg);
   }
 };
 
-TCompactProtocol.prototype.writeString = function(arg) {
-  this.writeStringOrBinary('writeString', 'utf8', arg);
+TCompactProtocol.prototype.writeString = function (arg) {
+  this.writeStringOrBinary("writeString", "utf8", arg);
 };
 
-TCompactProtocol.prototype.writeBinary = function(arg) {
-  this.writeStringOrBinary('writeBinary', 'binary', arg);
+TCompactProtocol.prototype.writeBinary = function (arg) {
+  this.writeStringOrBinary("writeBinary", "binary", arg);
 };
 
-
 //
 // Compact Protocol internal write methods
 //
 
-TCompactProtocol.prototype.writeFieldBeginInternal = function(name,
-                                                              fieldType,
-                                                              fieldId,
-                                                              typeOverride) {
+TCompactProtocol.prototype.writeFieldBeginInternal = function (
+  name,
+  fieldType,
+  fieldId,
+  typeOverride,
+) {
   //If there's a type override, use that.
-  var typeToWrite = (typeOverride == -1 ? this.getCompactType(fieldType) : typeOverride);
+  var typeToWrite =
+    typeOverride == -1 ? this.getCompactType(fieldType) : typeOverride;
   //Check if we can delta encode the field id
   if (fieldId > this.lastFieldId_ && fieldId - this.lastFieldId_ <= 15) {
     //Include the type delta with the field ID
-    this.writeByte((fieldId - this.lastFieldId_) << 4 | typeToWrite);
+    this.writeByte(((fieldId - this.lastFieldId_) << 4) | typeToWrite);
   } else {
     //Write separate type and ID values
     this.writeByte(typeToWrite);
@@ -475,10 +484,10 @@
   this.lastFieldId_ = fieldId;
 };
 
-TCompactProtocol.prototype.writeCollectionBegin = function(elemType, size) {
+TCompactProtocol.prototype.writeCollectionBegin = function (elemType, size) {
   if (size <= 14) {
     //Combine size and type in one byte if possible
-    this.writeByte(size << 4 | this.getCompactType(elemType));
+    this.writeByte((size << 4) | this.getCompactType(elemType));
   } else {
     this.writeByte(0xf0 | this.getCompactType(elemType));
     this.writeVarint32(size);
@@ -488,20 +497,20 @@
 /**
  * Write an i32 as a varint. Results in 1-5 bytes on the wire.
  */
-TCompactProtocol.prototype.writeVarint32 = function(n) {
+TCompactProtocol.prototype.writeVarint32 = function (n) {
   var buf = new Buffer(5);
   var wsize = 0;
   while (true) {
-    if ((n & ~0x7F) === 0) {
+    if ((n & ~0x7f) === 0) {
       buf[wsize++] = n;
       break;
     } else {
-      buf[wsize++] = ((n & 0x7F) | 0x80);
+      buf[wsize++] = (n & 0x7f) | 0x80;
       n = n >>> 7;
     }
   }
   var wbuf = new Buffer(wsize);
-  buf.copy(wbuf,0,0,wsize);
+  buf.copy(wbuf, 0, 0, wsize);
   this.trans.write(wbuf);
 };
 
@@ -509,12 +518,15 @@
  * Write an i64 as a varint. Results in 1-10 bytes on the wire.
  * N.B. node-int64 is always big endian
  */
-TCompactProtocol.prototype.writeVarint64 = function(n) {
-  if (typeof n === "number"){
+TCompactProtocol.prototype.writeVarint64 = function (n) {
+  if (typeof n === "number") {
     n = new Int64(n);
   }
-  if (! (n instanceof Int64)) {
-    throw new Thrift.TProtocolException(Thrift.TProtocolExceptionType.INVALID_DATA, "Expected Int64 or Number, found: " + n);
+  if (!(n instanceof Int64)) {
+    throw new Thrift.TProtocolException(
+      Thrift.TProtocolExceptionType.INVALID_DATA,
+      "Expected Int64 or Number, found: " + n,
+    );
   }
 
   var buf = new Buffer(10);
@@ -523,11 +535,11 @@
   var lo = n.buffer.readUInt32BE(4, true);
   var mask = 0;
   while (true) {
-    if (((lo & ~0x7F) === 0) && (hi === 0)) {
+    if ((lo & ~0x7f) === 0 && hi === 0) {
       buf[wsize++] = lo;
       break;
     } else {
-      buf[wsize++] = ((lo & 0x7F) | 0x80);
+      buf[wsize++] = (lo & 0x7f) | 0x80;
       mask = hi << 25;
       lo = lo >>> 7;
       hi = hi >>> 7;
@@ -535,7 +547,7 @@
     }
   }
   var wbuf = new Buffer(wsize);
-  buf.copy(wbuf,0,0,wsize);
+  buf.copy(wbuf, 0, 0, wsize);
   this.trans.write(wbuf);
 };
 
@@ -543,20 +555,23 @@
  * Convert l into a zigzag long. This allows negative numbers to be
  * represented compactly as a varint.
  */
-TCompactProtocol.prototype.i64ToZigzag = function(l) {
-  if (typeof l === 'string') {
+TCompactProtocol.prototype.i64ToZigzag = function (l) {
+  if (typeof l === "string") {
     l = new Int64(parseInt(l, 10));
-  } else if (typeof l === 'number') {
+  } else if (typeof l === "number") {
     l = new Int64(l);
   }
-  if (! (l instanceof Int64)) {
-    throw new Thrift.TProtocolException(Thrift.TProtocolExceptionType.INVALID_DATA, "Expected Int64 or Number, found: " + l);
+  if (!(l instanceof Int64)) {
+    throw new Thrift.TProtocolException(
+      Thrift.TProtocolExceptionType.INVALID_DATA,
+      "Expected Int64 or Number, found: " + l,
+    );
   }
   var hi = l.buffer.readUInt32BE(0, true);
   var lo = l.buffer.readUInt32BE(4, true);
   var sign = hi >>> 31;
-  hi = ((hi << 1) | (lo >>> 31)) ^ ((!!sign) ? 0xFFFFFFFF : 0);
-  lo = (lo << 1) ^ ((!!sign) ? 0xFFFFFFFF : 0);
+  hi = ((hi << 1) | (lo >>> 31)) ^ (!!sign ? 0xffffffff : 0);
+  lo = (lo << 1) ^ (!!sign ? 0xffffffff : 0);
   return new Int64(hi, lo);
 };
 
@@ -564,29 +579,36 @@
  * Convert n into a zigzag int. This allows negative numbers to be
  * represented compactly as a varint.
  */
-TCompactProtocol.prototype.i32ToZigzag = function(n) {
-  return (n << 1) ^ ((n & 0x80000000) ? 0xFFFFFFFF : 0);
+TCompactProtocol.prototype.i32ToZigzag = function (n) {
+  return (n << 1) ^ (n & 0x80000000 ? 0xffffffff : 0);
 };
 
-
 //
 // Compact Protocol read operations
 //
 
-TCompactProtocol.prototype.readMessageBegin = function() {
+TCompactProtocol.prototype.readMessageBegin = function () {
   //Read protocol ID
   var protocolId = this.trans.readByte();
   if (protocolId != TCompactProtocol.PROTOCOL_ID) {
-    throw new Thrift.TProtocolException(Thrift.TProtocolExceptionType.BAD_VERSION, "Bad protocol identifier " + protocolId);
+    throw new Thrift.TProtocolException(
+      Thrift.TProtocolExceptionType.BAD_VERSION,
+      "Bad protocol identifier " + protocolId,
+    );
   }
 
   //Read Version and Type
   var versionAndType = this.trans.readByte();
-  var version = (versionAndType & TCompactProtocol.VERSION_MASK);
+  var version = versionAndType & TCompactProtocol.VERSION_MASK;
   if (version != TCompactProtocol.VERSION_N) {
-    throw new Thrift.TProtocolException(Thrift.TProtocolExceptionType.BAD_VERSION, "Bad protocol version " + version);
+    throw new Thrift.TProtocolException(
+      Thrift.TProtocolExceptionType.BAD_VERSION,
+      "Bad protocol version " + version,
+    );
   }
-  var type = ((versionAndType >> TCompactProtocol.TYPE_SHIFT_AMOUNT) & TCompactProtocol.TYPE_BITS);
+  var type =
+    (versionAndType >> TCompactProtocol.TYPE_SHIFT_AMOUNT) &
+    TCompactProtocol.TYPE_BITS;
 
   //Read SeqId
   var seqid = this.readVarint32();
@@ -594,62 +616,65 @@
   //Read name
   var name = this.readString();
 
-  return {fname: name, mtype: type, rseqid: seqid};
+  return { fname: name, mtype: type, rseqid: seqid };
 };
 
-TCompactProtocol.prototype.readMessageEnd = function() {
-};
+TCompactProtocol.prototype.readMessageEnd = function () {};
 
-TCompactProtocol.prototype.readStructBegin = function() {
+TCompactProtocol.prototype.readStructBegin = function () {
   this.lastField_.push(this.lastFieldId_);
   this.lastFieldId_ = 0;
-  return {fname: ''};
+  return { fname: "" };
 };
 
-TCompactProtocol.prototype.readStructEnd = function() {
+TCompactProtocol.prototype.readStructEnd = function () {
   this.lastFieldId_ = this.lastField_.pop();
 };
 
-TCompactProtocol.prototype.readFieldBegin = function() {
+TCompactProtocol.prototype.readFieldBegin = function () {
   var fieldId = 0;
   var b = this.trans.readByte(b);
-  var type = (b & 0x0f);
+  var type = b & 0x0f;
 
   if (type == TCompactProtocol.Types.CT_STOP) {
-    return {fname: null, ftype: Thrift.Type.STOP, fid: 0};
+    return { fname: null, ftype: Thrift.Type.STOP, fid: 0 };
   }
 
   //Mask off the 4 MSB of the type header to check for field id delta.
-  var modifier = ((b & 0x000000f0) >>> 4);
+  var modifier = (b & 0x000000f0) >>> 4;
   if (modifier === 0) {
     //If not a delta read the field id.
     fieldId = this.readI16();
   } else {
     //Recover the field id from the delta
-    fieldId = (this.lastFieldId_ + modifier);
+    fieldId = this.lastFieldId_ + modifier;
   }
   var fieldType = this.getTType(type);
 
   //Boolean are encoded with the type
-  if (type == TCompactProtocol.Types.CT_BOOLEAN_TRUE ||
-      type == TCompactProtocol.Types.CT_BOOLEAN_FALSE) {
+  if (
+    type == TCompactProtocol.Types.CT_BOOLEAN_TRUE ||
+    type == TCompactProtocol.Types.CT_BOOLEAN_FALSE
+  ) {
     this.boolValue_.hasBoolValue = true;
     this.boolValue_.boolValue =
-      (type == TCompactProtocol.Types.CT_BOOLEAN_TRUE ? true : false);
+      type == TCompactProtocol.Types.CT_BOOLEAN_TRUE ? true : false;
   }
 
   //Save the new field for the next delta computation.
   this.lastFieldId_ = fieldId;
-  return {fname: null, ftype: fieldType, fid: fieldId};
+  return { fname: null, ftype: fieldType, fid: fieldId };
 };
 
-TCompactProtocol.prototype.readFieldEnd = function() {
-};
+TCompactProtocol.prototype.readFieldEnd = function () {};
 
-TCompactProtocol.prototype.readMapBegin = function() {
+TCompactProtocol.prototype.readMapBegin = function () {
   var msize = this.readVarint32();
   if (msize < 0) {
-    throw new Thrift.TProtocolException(Thrift.TProtocolExceptionType.NEGATIVE_SIZE, "Negative map size");
+    throw new Thrift.TProtocolException(
+      Thrift.TProtocolExceptionType.NEGATIVE_SIZE,
+      "Negative map size",
+    );
   }
 
   var kvType = 0;
@@ -659,13 +684,12 @@
 
   var keyType = this.getTType((kvType & 0xf0) >>> 4);
   var valType = this.getTType(kvType & 0xf);
-  return {ktype: keyType, vtype: valType, size: msize};
+  return { ktype: keyType, vtype: valType, size: msize };
 };
 
-TCompactProtocol.prototype.readMapEnd = function() {
-};
+TCompactProtocol.prototype.readMapEnd = function () {};
 
-TCompactProtocol.prototype.readListBegin = function() {
+TCompactProtocol.prototype.readListBegin = function () {
   var size_and_type = this.trans.readByte();
 
   var lsize = (size_and_type >>> 4) & 0x0000000f;
@@ -674,25 +698,26 @@
   }
 
   if (lsize < 0) {
-    throw new Thrift.TProtocolException(Thrift.TProtocolExceptionType.NEGATIVE_SIZE, "Negative list size");
+    throw new Thrift.TProtocolException(
+      Thrift.TProtocolExceptionType.NEGATIVE_SIZE,
+      "Negative list size",
+    );
   }
 
   var elemType = this.getTType(size_and_type & 0x0000000f);
 
-  return {etype: elemType, size: lsize};
+  return { etype: elemType, size: lsize };
 };
 
-TCompactProtocol.prototype.readListEnd = function() {
-};
+TCompactProtocol.prototype.readListEnd = function () {};
 
-TCompactProtocol.prototype.readSetBegin = function() {
+TCompactProtocol.prototype.readSetBegin = function () {
   return this.readListBegin();
 };
 
-TCompactProtocol.prototype.readSetEnd = function() {
-};
+TCompactProtocol.prototype.readSetEnd = function () {};
 
-TCompactProtocol.prototype.readBool = function() {
+TCompactProtocol.prototype.readBool = function () {
   var value = false;
   var rsize = 0;
   if (this.boolValue_.hasBoolValue === true) {
@@ -701,50 +726,50 @@
   } else {
     var res = this.trans.readByte();
     rsize = res.rsize;
-    value = (res.value == TCompactProtocol.Types.CT_BOOLEAN_TRUE);
+    value = res.value == TCompactProtocol.Types.CT_BOOLEAN_TRUE;
   }
   return value;
 };
 
-TCompactProtocol.prototype.readByte = function() {
+TCompactProtocol.prototype.readByte = function () {
   return this.trans.readByte();
 };
 
-TCompactProtocol.prototype.readI16 = function() {
+TCompactProtocol.prototype.readI16 = function () {
   return this.readI32();
 };
 
-TCompactProtocol.prototype.readI32 = function() {
+TCompactProtocol.prototype.readI32 = function () {
   return this.zigzagToI32(this.readVarint32());
 };
 
-TCompactProtocol.prototype.readI64 = function() {
+TCompactProtocol.prototype.readI64 = function () {
   return this.zigzagToI64(this.readVarint64());
 };
 
 // Little-endian, unlike TBinaryProtocol
-TCompactProtocol.prototype.readDouble = function() {
+TCompactProtocol.prototype.readDouble = function () {
   var buff = this.trans.read(8);
   var off = 0;
 
   var signed = buff[off + 7] & 0x80;
-  var e = (buff[off+6] & 0xF0) >> 4;
-  e += (buff[off+7] & 0x7F) << 4;
+  var e = (buff[off + 6] & 0xf0) >> 4;
+  e += (buff[off + 7] & 0x7f) << 4;
 
   var m = buff[off];
-  m += buff[off+1] << 8;
-  m += buff[off+2] << 16;
-  m += buff[off+3] * POW_24;
-  m += buff[off+4] * POW_32;
-  m += buff[off+5] * POW_40;
-  m += (buff[off+6] & 0x0F) * POW_48;
+  m += buff[off + 1] << 8;
+  m += buff[off + 2] << 16;
+  m += buff[off + 3] * POW_24;
+  m += buff[off + 4] * POW_32;
+  m += buff[off + 5] * POW_40;
+  m += (buff[off + 6] & 0x0f) * POW_48;
 
   switch (e) {
     case 0:
       e = -1022;
       break;
     case 2047:
-      return m ? NaN : (signed ? -Infinity : Infinity);
+      return m ? NaN : signed ? -Infinity : Infinity;
     default:
       m += POW_52;
       e -= 1023;
@@ -757,19 +782,22 @@
   return m * Math.pow(2, e - 52);
 };
 
-TCompactProtocol.prototype.readBinary = function() {
+TCompactProtocol.prototype.readBinary = function () {
   var size = this.readVarint32();
   if (size === 0) {
     return new Buffer(0);
   }
 
   if (size < 0) {
-    throw new Thrift.TProtocolException(Thrift.TProtocolExceptionType.NEGATIVE_SIZE, "Negative binary size");
+    throw new Thrift.TProtocolException(
+      Thrift.TProtocolExceptionType.NEGATIVE_SIZE,
+      "Negative binary size",
+    );
   }
   return this.trans.read(size);
 };
 
-TCompactProtocol.prototype.readString = function() {
+TCompactProtocol.prototype.readString = function () {
   var size = this.readVarint32();
   // Catch empty string case
   if (size === 0) {
@@ -778,12 +806,14 @@
 
   // Catch error cases
   if (size < 0) {
-    throw new Thrift.TProtocolException(Thrift.TProtocolExceptionType.NEGATIVE_SIZE, "Negative string size");
+    throw new Thrift.TProtocolException(
+      Thrift.TProtocolExceptionType.NEGATIVE_SIZE,
+      "Negative string size",
+    );
   }
   return this.trans.readString(size);
 };
 
-
 //
 // Compact Protocol internal read operations
 //
@@ -792,7 +822,7 @@
  * Read an i32 from the wire as a varint. The MSB of each byte is set
  * if there is another byte to follow. This can read up to 5 bytes.
  */
-TCompactProtocol.prototype.readVarint32 = function() {
+TCompactProtocol.prototype.readVarint32 = function () {
   return this.readVarint64().toNumber();
 };
 
@@ -800,28 +830,31 @@
  * Read an i64 from the wire as a proper varint. The MSB of each byte is set
  * if there is another byte to follow. This can read up to 10 bytes.
  */
-TCompactProtocol.prototype.readVarint64 = function() {
+TCompactProtocol.prototype.readVarint64 = function () {
   var rsize = 0;
   var lo = 0;
   var hi = 0;
   var shift = 0;
   while (true) {
     var b = this.trans.readByte();
-    rsize ++;
+    rsize++;
     if (shift <= 25) {
       lo = lo | ((b & 0x7f) << shift);
     } else if (25 < shift && shift < 32) {
       lo = lo | ((b & 0x7f) << shift);
-      hi = hi | ((b & 0x7f) >>> (32-shift));
+      hi = hi | ((b & 0x7f) >>> (32 - shift));
     } else {
-      hi = hi | ((b & 0x7f) << (shift-32));
+      hi = hi | ((b & 0x7f) << (shift - 32));
     }
     shift += 7;
     if (!(b & 0x80)) {
       break;
     }
     if (rsize >= 10) {
-      throw new Thrift.TProtocolException(Thrift.TProtocolExceptionType.INVALID_DATA, "Variable-length int over 10 bytes.");
+      throw new Thrift.TProtocolException(
+        Thrift.TProtocolExceptionType.INVALID_DATA,
+        "Variable-length int over 10 bytes.",
+      );
     }
   }
   return new Int64(hi, lo);
@@ -830,14 +863,14 @@
 /**
  * Convert from zigzag int to int.
  */
-TCompactProtocol.prototype.zigzagToI32 = function(n) {
+TCompactProtocol.prototype.zigzagToI32 = function (n) {
   return (n >>> 1) ^ (-1 * (n & 1));
 };
 
 /**
  * Convert from zigzag long to long.
  */
-TCompactProtocol.prototype.zigzagToI64 = function(n) {
+TCompactProtocol.prototype.zigzagToI64 = function (n) {
   var hi = n.buffer.readUInt32BE(0, true);
   var lo = n.buffer.readUInt32BE(4, true);
 
@@ -846,13 +879,13 @@
   var hi_neg = neg.buffer.readUInt32BE(0, true);
   var lo_neg = neg.buffer.readUInt32BE(4, true);
 
-  var hi_lo = (hi << 31);
-  hi = (hi >>> 1) ^ (hi_neg);
-  lo = ((lo >>> 1) | hi_lo) ^ (lo_neg);
+  var hi_lo = hi << 31;
+  hi = (hi >>> 1) ^ hi_neg;
+  lo = ((lo >>> 1) | hi_lo) ^ lo_neg;
   return new Int64(hi, lo);
 };
 
-TCompactProtocol.prototype.skip = function(type) {
+TCompactProtocol.prototype.skip = function (type) {
   switch (type) {
     case Type.BOOL:
       this.readBool();
@@ -910,6 +943,6 @@
       this.readListEnd();
       break;
     default:
-      throw new  Error("Invalid type: " + type);
+      throw new Error("Invalid type: " + type);
   }
 };
diff --git a/lib/nodejs/lib/thrift/connection.js b/lib/nodejs/lib/thrift/connection.js
index b4e5a05..dcade80 100644
--- a/lib/nodejs/lib/thrift/connection.js
+++ b/lib/nodejs/lib/thrift/connection.js
@@ -16,29 +16,29 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-var util = require('util');
-var EventEmitter = require('events').EventEmitter;
-var constants = require('constants');
-var net = require('net');
-var tls = require('tls');
-var thrift = require('./thrift');
-var log = require('./log');
+var util = require("util");
+var EventEmitter = require("events").EventEmitter;
+var constants = require("constants");
+var net = require("net");
+var tls = require("tls");
+var thrift = require("./thrift");
+var log = require("./log");
 
-var TBufferedTransport = require('./buffered_transport');
-var TBinaryProtocol = require('./binary_protocol');
-var InputBufferUnderrunError = require('./input_buffer_underrun_error');
+var TBufferedTransport = require("./buffered_transport");
+var TBinaryProtocol = require("./binary_protocol");
+var InputBufferUnderrunError = require("./input_buffer_underrun_error");
 
-var createClient = require('./create_client');
+var createClient = require("./create_client");
 
-var binary = require('./binary');
+var binary = require("./binary");
 
-var Connection = exports.Connection = function(stream, options) {
+var Connection = (exports.Connection = function (stream, options) {
   var self = this;
   EventEmitter.call(this);
 
   this.seqId2Service = {};
   this.connection = stream;
-  this.ssl = (stream.encrypted);
+  this.ssl = stream.encrypted;
   this.options = options || {};
   this.transport = this.options.transport || TBufferedTransport;
   this.protocol = this.options.protocol || TBinaryProtocol;
@@ -48,123 +48,139 @@
   this.initialize_retry_vars();
 
   this._debug = this.options.debug || false;
-  if (this.options.max_attempts &&
-      !isNaN(this.options.max_attempts) &&
-      this.options.max_attempts > 0) {
-     this.max_attempts = +this.options.max_attempts;
+  if (
+    this.options.max_attempts &&
+    !isNaN(this.options.max_attempts) &&
+    this.options.max_attempts > 0
+  ) {
+    this.max_attempts = +this.options.max_attempts;
   }
   this.retry_max_delay = null;
-  if (this.options.retry_max_delay !== undefined &&
-      !isNaN(this.options.retry_max_delay) &&
-      this.options.retry_max_delay > 0) {
-     this.retry_max_delay = this.options.retry_max_delay;
+  if (
+    this.options.retry_max_delay !== undefined &&
+    !isNaN(this.options.retry_max_delay) &&
+    this.options.retry_max_delay > 0
+  ) {
+    this.retry_max_delay = this.options.retry_max_delay;
   }
   this.connect_timeout = false;
-  if (this.options.connect_timeout &&
-      !isNaN(this.options.connect_timeout) &&
-      this.options.connect_timeout > 0) {
-     this.connect_timeout = +this.options.connect_timeout;
+  if (
+    this.options.connect_timeout &&
+    !isNaN(this.options.connect_timeout) &&
+    this.options.connect_timeout > 0
+  ) {
+    this.connect_timeout = +this.options.connect_timeout;
   }
 
-  this.connection.addListener(this.ssl ? "secureConnect" : "connect", function() {
-    self.connected = true;
+  this.connection.addListener(
+    this.ssl ? "secureConnect" : "connect",
+    function () {
+      self.connected = true;
 
-    this.setTimeout(self.options.timeout || 0);
-    this.setNoDelay();
-    this.frameLeft = 0;
-    this.framePos = 0;
-    this.frame = null;
-    self.initialize_retry_vars();
-    self.flush_offline_queue();
+      this.setTimeout(self.options.timeout || 0);
+      this.setNoDelay();
+      this.frameLeft = 0;
+      this.framePos = 0;
+      this.frame = null;
+      self.initialize_retry_vars();
+      self.flush_offline_queue();
 
-    self.emit("connect");
-  });
+      self.emit("connect");
+    },
+  );
 
-  this.connection.addListener("error", function(err) {
+  this.connection.addListener("error", function (err) {
     // Only emit the error if no-one else is listening on the connection
     // or if someone is listening on us, because Node turns unhandled
     // 'error' events into exceptions.
-    if (self.connection.listeners('error').length === 1 ||
-        self.listeners('error').length > 0) {
+    if (
+      self.connection.listeners("error").length === 1 ||
+      self.listeners("error").length > 0
+    ) {
       self.emit("error", err);
     }
   });
 
   // Add a close listener
-  this.connection.addListener("close", function() {
+  this.connection.addListener("close", function () {
     self.connection_gone(); // handle close event. try to reconnect
   });
 
-  this.connection.addListener("timeout", function() {
+  this.connection.addListener("timeout", function () {
     self.emit("timeout");
   });
 
-  this.connection.addListener("data", self.transport.receiver(function(transport_with_data) {
-    var message = new self.protocol(transport_with_data);
-    try {
-      while (true) {
-        var header = message.readMessageBegin();
-        var dummy_seqid = header.rseqid * -1;
-        var client = self.client;
-        //The Multiplexed Protocol stores a hash of seqid to service names
-        //  in seqId2Service. If the SeqId is found in the hash we need to
-        //  lookup the appropriate client for this call.
-        //  The connection.client object is a single client object when not
-        //  multiplexing, when using multiplexing it is a service name keyed
-        //  hash of client objects.
-        //NOTE: The 2 way interdependencies between protocols, transports,
-        //  connections and clients in the Node.js implementation are irregular
-        //  and make the implementation difficult to extend and maintain. We
-        //  should bring this stuff inline with typical thrift I/O stack
-        //  operation soon.
-        //  --ra
-        var service_name = self.seqId2Service[header.rseqid];
-        if (service_name) {
-          client = self.client[service_name];
-        }
-        /*jshint -W083 */
-        client._reqs[dummy_seqid] = function(err, success){
-          transport_with_data.commitPosition();
-
-          var callback = client._reqs[header.rseqid];
-          delete client._reqs[header.rseqid];
+  this.connection.addListener(
+    "data",
+    self.transport.receiver(function (transport_with_data) {
+      var message = new self.protocol(transport_with_data);
+      try {
+        while (true) {
+          var header = message.readMessageBegin();
+          var dummy_seqid = header.rseqid * -1;
+          var client = self.client;
+          //The Multiplexed Protocol stores a hash of seqid to service names
+          //  in seqId2Service. If the SeqId is found in the hash we need to
+          //  lookup the appropriate client for this call.
+          //  The connection.client object is a single client object when not
+          //  multiplexing, when using multiplexing it is a service name keyed
+          //  hash of client objects.
+          //NOTE: The 2 way interdependencies between protocols, transports,
+          //  connections and clients in the Node.js implementation are irregular
+          //  and make the implementation difficult to extend and maintain. We
+          //  should bring this stuff inline with typical thrift I/O stack
+          //  operation soon.
+          //  --ra
+          var service_name = self.seqId2Service[header.rseqid];
           if (service_name) {
-            delete self.seqId2Service[header.rseqid];
+            client = self.client[service_name];
           }
-          if (callback) {
-            callback(err, success);
-          }
-        };
-        /*jshint +W083 */
+          /*jshint -W083 */
+          client._reqs[dummy_seqid] = function (err, success) {
+            transport_with_data.commitPosition();
 
-        if(client['recv_' + header.fname]) {
-          client['recv_' + header.fname](message, header.mtype, dummy_seqid);
+            var callback = client._reqs[header.rseqid];
+            delete client._reqs[header.rseqid];
+            if (service_name) {
+              delete self.seqId2Service[header.rseqid];
+            }
+            if (callback) {
+              callback(err, success);
+            }
+          };
+          /*jshint +W083 */
+
+          if (client["recv_" + header.fname]) {
+            client["recv_" + header.fname](message, header.mtype, dummy_seqid);
+          } else {
+            delete client._reqs[dummy_seqid];
+            self.emit(
+              "error",
+              new thrift.TApplicationException(
+                thrift.TApplicationExceptionType.WRONG_METHOD_NAME,
+                "Received a response to an unknown RPC function",
+              ),
+            );
+          }
+        }
+      } catch (e) {
+        if (e instanceof InputBufferUnderrunError) {
+          transport_with_data.rollbackPosition();
         } else {
-          delete client._reqs[dummy_seqid];
-          self.emit("error",
-                    new thrift.TApplicationException(thrift.TApplicationExceptionType.WRONG_METHOD_NAME,
-                             "Received a response to an unknown RPC function"));
+          self.emit("error", e);
         }
       }
-    }
-    catch (e) {
-      if (e instanceof InputBufferUnderrunError) {
-        transport_with_data.rollbackPosition();
-      }
-      else {
-        self.emit('error', e);
-      }
-    }
-  }));
-};
+    }),
+  );
+});
 util.inherits(Connection, EventEmitter);
 
-Connection.prototype.end = function() {
+Connection.prototype.end = function () {
   this.forceClose = true;
   this.connection.end();
 };
 
-Connection.prototype.destroy = function() {
+Connection.prototype.destroy = function () {
   this.connection.destroy();
 };
 
@@ -183,12 +199,12 @@
   // Reset offline queue
   this.offline_queue = [];
   // Attempt to write queued items
-  offline_queue.forEach(function(data) {
+  offline_queue.forEach(function (data) {
     self.write(data);
   });
 };
 
-Connection.prototype.write = function(data) {
+Connection.prototype.write = function (data) {
   if (!this.connected) {
     this.offline_queue.push(data);
     return;
@@ -201,7 +217,7 @@
   this.connected = false;
 
   // If closed by manual, emit close event and cancel reconnect process
-  if(this.forceClose) {
+  if (this.forceClose) {
     if (this.retry_timer) {
       clearTimeout(this.retry_timer);
       this.retry_timer = null;
@@ -220,7 +236,10 @@
     return;
   }
 
-  if (this.retry_max_delay !== null && this.retry_delay >= this.retry_max_delay) {
+  if (
+    this.retry_max_delay !== null &&
+    this.retry_delay >= this.retry_max_delay
+  ) {
     this.retry_delay = this.retry_max_delay;
   } else {
     this.retry_delay = Math.floor(this.retry_delay * this.retry_backoff);
@@ -230,7 +249,11 @@
 
   if (this.max_attempts && this.attempts >= this.max_attempts) {
     this.retry_timer = null;
-    console.error("thrift: Couldn't get thrift connection after " + this.max_attempts + " attempts.");
+    console.error(
+      "thrift: Couldn't get thrift connection after " +
+        this.max_attempts +
+        " attempts.",
+    );
     self.emit("close");
     return;
   }
@@ -238,7 +261,7 @@
   this.attempts += 1;
   this.emit("reconnecting", {
     delay: self.retry_delay,
-    attempt: self.attempts
+    attempt: self.attempts,
   });
 
   this.retry_timer = setTimeout(function () {
@@ -247,10 +270,14 @@
     self.retry_totaltime += self.retry_delay;
 
     if (self.connect_timeout && self.retry_totaltime >= self.connect_timeout) {
-       self.retry_timer = null;
-       console.error("thrift: Couldn't get thrift connection after " + self.retry_totaltime + "ms.");
-       self.emit("close");
-       return;
+      self.retry_timer = null;
+      console.error(
+        "thrift: Couldn't get thrift connection after " +
+          self.retry_totaltime +
+          "ms.",
+      );
+      self.emit("close");
+      return;
     }
 
     if (self.path !== undefined) {
@@ -262,11 +289,11 @@
   }, this.retry_delay);
 };
 
-exports.createConnection = function(host, port, options) {
-  var stream = net.createConnection( {
+exports.createConnection = function (host, port, options) {
+  var stream = net.createConnection({
     port: port,
     host: host,
-    timeout: options.connect_timeout || options.timeout || 0
+    timeout: options.connect_timeout || options.timeout || 0,
   });
   var connection = new Connection(stream, options);
   connection.host = host;
@@ -275,7 +302,7 @@
   return connection;
 };
 
-exports.createUDSConnection = function(path, options) {
+exports.createUDSConnection = function (path, options) {
   var stream = net.createConnection(path);
   var connection = new Connection(stream, options);
   connection.path = path;
@@ -283,10 +310,11 @@
   return connection;
 };
 
-exports.createSSLConnection = function(host, port, options) {
-  if (!('secureProtocol' in options) && !('secureOptions' in options)) {
+exports.createSSLConnection = function (host, port, options) {
+  if (!("secureProtocol" in options) && !("secureOptions" in options)) {
     options.secureProtocol = "SSLv23_method";
-    options.secureOptions = constants.SSL_OP_NO_SSLv2 | constants.SSL_OP_NO_SSLv3;
+    options.secureOptions =
+      constants.SSL_OP_NO_SSLv2 | constants.SSL_OP_NO_SSLv3;
   }
 
   var stream = tls.connect(port, host, options);
@@ -297,15 +325,14 @@
   return connection;
 };
 
-
 exports.createClient = createClient;
 
-var child_process = require('child_process');
-var StdIOConnection = exports.StdIOConnection = function(command, options) {
-  var command_parts = command.split(' ');
+var child_process = require("child_process");
+var StdIOConnection = (exports.StdIOConnection = function (command, options) {
+  var command_parts = command.split(" ");
   command = command_parts[0];
-  var args = command_parts.splice(1,command_parts.length -1);
-  var child = this.child = child_process.spawn(command,args);
+  var args = command_parts.splice(1, command_parts.length - 1);
+  var child = (this.child = child_process.spawn(command, args));
 
   var self = this;
   EventEmitter.call(this);
@@ -316,13 +343,13 @@
   this.protocol = this.options.protocol || TBinaryProtocol;
   this.offline_queue = [];
 
-  if (log.getLogLevel() === 'debug') {
-    this.child.stderr.on('data', function (err) {
-      log.debug(err.toString(), 'CHILD ERROR');
+  if (log.getLogLevel() === "debug") {
+    this.child.stderr.on("data", function (err) {
+      log.debug(err.toString(), "CHILD ERROR");
     });
 
-    this.child.on('exit', function (code,signal) {
-      log.debug(code + ':' + signal, 'CHILD EXITED');
+    this.child.on("exit", function (code, signal) {
+      log.debug(code + ":" + signal, "CHILD EXITED");
     });
   }
 
@@ -333,46 +360,47 @@
 
   self.flush_offline_queue();
 
-  this.connection.addListener("error", function(err) {
+  this.connection.addListener("error", function (err) {
     self.emit("error", err);
   });
 
   // Add a close listener
-  this.connection.addListener("close", function() {
+  this.connection.addListener("close", function () {
     self.emit("close");
   });
 
-  child.stdout.addListener("data", self.transport.receiver(function(transport_with_data) {
-    var message = new self.protocol(transport_with_data);
-    try {
-      var header = message.readMessageBegin();
-      var dummy_seqid = header.rseqid * -1;
-      var client = self.client;
-      client._reqs[dummy_seqid] = function(err, success){
-        transport_with_data.commitPosition();
+  child.stdout.addListener(
+    "data",
+    self.transport.receiver(function (transport_with_data) {
+      var message = new self.protocol(transport_with_data);
+      try {
+        var header = message.readMessageBegin();
+        var dummy_seqid = header.rseqid * -1;
+        var client = self.client;
+        client._reqs[dummy_seqid] = function (err, success) {
+          transport_with_data.commitPosition();
 
-        var callback = client._reqs[header.rseqid];
-        delete client._reqs[header.rseqid];
-        if (callback) {
-          callback(err, success);
+          var callback = client._reqs[header.rseqid];
+          delete client._reqs[header.rseqid];
+          if (callback) {
+            callback(err, success);
+          }
+        };
+        client["recv_" + header.fname](message, header.mtype, dummy_seqid);
+      } catch (e) {
+        if (e instanceof InputBufferUnderrunError) {
+          transport_with_data.rollbackPosition();
+        } else {
+          throw e;
         }
-      };
-      client['recv_' + header.fname](message, header.mtype, dummy_seqid);
-    }
-    catch (e) {
-      if (e instanceof InputBufferUnderrunError) {
-        transport_with_data.rollbackPosition();
       }
-      else {
-        throw e;
-      }
-    }
-  }));
-};
+    }),
+  );
+});
 
 util.inherits(StdIOConnection, EventEmitter);
 
-StdIOConnection.prototype.end = function() {
+StdIOConnection.prototype.end = function () {
   this.connection.end();
 };
 
@@ -383,12 +411,12 @@
   // Reset offline queue
   this.offline_queue = [];
   // Attempt to write queued items
-  offline_queue.forEach(function(data) {
+  offline_queue.forEach(function (data) {
     self.write(data);
   });
 };
 
-StdIOConnection.prototype.write = function(data) {
+StdIOConnection.prototype.write = function (data) {
   if (!this.connected) {
     this.offline_queue.push(data);
     return;
@@ -396,8 +424,8 @@
   this.connection.write(data);
 };
 
-exports.createStdIOConnection = function(command,options){
-  return new StdIOConnection(command,options);
+exports.createStdIOConnection = function (command, options) {
+  return new StdIOConnection(command, options);
 };
 
 exports.createStdIOClient = createClient;
diff --git a/lib/nodejs/lib/thrift/create_client.js b/lib/nodejs/lib/thrift/create_client.js
index d6b77a8..b9021bd 100644
--- a/lib/nodejs/lib/thrift/create_client.js
+++ b/lib/nodejs/lib/thrift/create_client.js
@@ -43,7 +43,7 @@
   //   - Callback to call on flush
 
   // Wrap the write method
-  var writeCb = function(buf, seqid) {
+  var writeCb = function (buf, seqid) {
     connection.write(buf, seqid);
   };
   var transport = new connection.transport(undefined, writeCb);
@@ -51,4 +51,4 @@
   transport.client = client;
   connection.client = client;
   return client;
-};
+}
diff --git a/lib/nodejs/lib/thrift/framed_transport.js b/lib/nodejs/lib/thrift/framed_transport.js
index 058d230..7ede222 100644
--- a/lib/nodejs/lib/thrift/framed_transport.js
+++ b/lib/nodejs/lib/thrift/framed_transport.js
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-var binary = require('./binary');
-var InputBufferUnderrunError = require('./input_buffer_underrun_error');
-var THeaderTransport = require('./header_transport');
+var binary = require("./binary");
+var InputBufferUnderrunError = require("./input_buffer_underrun_error");
+var THeaderTransport = require("./header_transport");
 
 module.exports = TFramedTransport;
 
@@ -30,14 +30,14 @@
   this.outCount = 0;
   this.readPos = 0;
   this.onFlush = callback;
-};
+}
 
 Object.setPrototypeOf(TFramedTransport.prototype, THeaderTransport.prototype);
 
-TFramedTransport.receiver = function(callback, seqid) {
+TFramedTransport.receiver = function (callback, seqid) {
   var residual = new Buffer(0);
 
-  return function(data) {
+  return function (data) {
     residual = Buffer.concat([residual, Buffer.from(data)]);
 
     while (residual.length > 0) {
@@ -61,34 +61,34 @@
   };
 };
 
-TFramedTransport.prototype.commitPosition = function(){},
-TFramedTransport.prototype.rollbackPosition = function(){},
-
+(TFramedTransport.prototype.commitPosition = function () {}),
+  (TFramedTransport.prototype.rollbackPosition = function () {}),
   // TODO: Implement open/close support
-TFramedTransport.prototype.isOpen = function() {
-  return true;
-};
-TFramedTransport.prototype.open = function() {};
-TFramedTransport.prototype.close =  function() {};
+  (TFramedTransport.prototype.isOpen = function () {
+    return true;
+  });
+TFramedTransport.prototype.open = function () {};
+TFramedTransport.prototype.close = function () {};
 
-  // Set the seqid of the message in the client
-  // So that callbacks can be found
-TFramedTransport.prototype.setCurrSeqId = function(seqid) {
+// Set the seqid of the message in the client
+// So that callbacks can be found
+TFramedTransport.prototype.setCurrSeqId = function (seqid) {
   this._seqid = seqid;
 };
 
-TFramedTransport.prototype.ensureAvailable = function(len) {
+TFramedTransport.prototype.ensureAvailable = function (len) {
   if (this.readPos + len > this.inBuf.length) {
     throw new InputBufferUnderrunError();
   }
 };
 
-TFramedTransport.prototype.read = function(len) { // this function will be used for each frames.
+TFramedTransport.prototype.read = function (len) {
+  // this function will be used for each frames.
   this.ensureAvailable(len);
   var end = this.readPos + len;
 
   if (this.inBuf.length < end) {
-    throw new Error('read(' + len + ') failed - not enough data');
+    throw new Error("read(" + len + ") failed - not enough data");
   }
 
   var buf = this.inBuf.slice(this.readPos, end);
@@ -96,68 +96,68 @@
   return buf;
 };
 
-TFramedTransport.prototype.readByte = function() {
+TFramedTransport.prototype.readByte = function () {
   this.ensureAvailable(1);
   return binary.readByte(this.inBuf[this.readPos++]);
 };
 
-TFramedTransport.prototype.readI16 = function() {
+TFramedTransport.prototype.readI16 = function () {
   this.ensureAvailable(2);
   var i16 = binary.readI16(this.inBuf, this.readPos);
   this.readPos += 2;
   return i16;
 };
 
-TFramedTransport.prototype.readI32 = function() {
+TFramedTransport.prototype.readI32 = function () {
   this.ensureAvailable(4);
   var i32 = binary.readI32(this.inBuf, this.readPos);
   this.readPos += 4;
   return i32;
 };
 
-TFramedTransport.prototype.readDouble = function() {
+TFramedTransport.prototype.readDouble = function () {
   this.ensureAvailable(8);
   var d = binary.readDouble(this.inBuf, this.readPos);
   this.readPos += 8;
   return d;
 };
 
-TFramedTransport.prototype.readString = function(len) {
+TFramedTransport.prototype.readString = function (len) {
   this.ensureAvailable(len);
-  var str = this.inBuf.toString('utf8', this.readPos, this.readPos + len);
+  var str = this.inBuf.toString("utf8", this.readPos, this.readPos + len);
   this.readPos += len;
   return str;
 };
 
-TFramedTransport.prototype.borrow = function() {
+TFramedTransport.prototype.borrow = function () {
   return {
     buf: this.inBuf,
     readIndex: this.readPos,
-    writeIndex: this.inBuf.length
+    writeIndex: this.inBuf.length,
   };
 };
 
-TFramedTransport.prototype.consume = function(bytesConsumed) {
+TFramedTransport.prototype.consume = function (bytesConsumed) {
   this.readPos += bytesConsumed;
 };
 
-TFramedTransport.prototype.write = function(buf, encoding) {
-  if (typeof(buf) === "string") {
-    buf = new Buffer(buf, encoding || 'utf8');
+TFramedTransport.prototype.write = function (buf, encoding) {
+  if (typeof buf === "string") {
+    buf = new Buffer(buf, encoding || "utf8");
   }
   this.outBuffers.push(buf);
   this.outCount += buf.length;
 };
 
-TFramedTransport.prototype.flush = function() {
+TFramedTransport.prototype.flush = function () {
   // If the seqid of the callback is available pass it to the onFlush
   // Then remove the current seqid
   var seqid = this._seqid;
   this._seqid = null;
 
   var out = new Buffer(this.outCount),
-      pos = 0;
-  this.outBuffers.forEach(function(buf) {
+    pos = 0;
+  this.outBuffers.forEach(function (buf) {
     buf.copy(out, pos, 0);
     pos += buf.length;
   });
diff --git a/lib/nodejs/lib/thrift/header_protocol.js b/lib/nodejs/lib/thrift/header_protocol.js
index 8971751..2a48a4d 100644
--- a/lib/nodejs/lib/thrift/header_protocol.js
+++ b/lib/nodejs/lib/thrift/header_protocol.js
@@ -16,10 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-var util = require('util');
-var TBinaryProtocol = require('./binary_protocol');
-var TCompactProtocol = require('./compact_protocol');
-var THeaderTransport = require('./header_transport');
+var util = require("util");
+var TBinaryProtocol = require("./binary_protocol");
+var TCompactProtocol = require("./compact_protocol");
+var THeaderTransport = require("./header_transport");
 
 var ProtocolMap = {};
 ProtocolMap[THeaderTransport.SubprotocolId.BINARY] = TBinaryProtocol;
@@ -54,204 +54,206 @@
 function THeaderProtocol(trans) {
   if (!(trans instanceof THeaderTransport)) {
     throw new THeaderProtocolError(
-      'Only transports that inherit THeaderTransport can be' +
-      ' used with THeaderProtocol'
+      "Only transports that inherit THeaderTransport can be" +
+        " used with THeaderProtocol",
     );
   }
   this.trans = trans;
   this.setProtocol();
-};
+}
 
-THeaderProtocol.prototype.flush = function() {
-   // Headers must be written prior to flushing because because
-   // you need to calculate the length of the payload for the length
-   // field of the header
+THeaderProtocol.prototype.flush = function () {
+  // Headers must be written prior to flushing because because
+  // you need to calculate the length of the payload for the length
+  // field of the header
   this.trans.writeHeaders();
   return this.trans.flush();
 };
 
-THeaderProtocol.prototype.writeMessageBegin = function(name, type, seqid) {
+THeaderProtocol.prototype.writeMessageBegin = function (name, type, seqid) {
   return this.protocol.writeMessageBegin(name, type, seqid);
 };
 
-THeaderProtocol.prototype.writeMessageEnd = function() {
+THeaderProtocol.prototype.writeMessageEnd = function () {
   return this.protocol.writeMessageEnd();
 };
 
-THeaderProtocol.prototype.writeStructBegin = function(name) {
+THeaderProtocol.prototype.writeStructBegin = function (name) {
   return this.protocol.writeStructBegin(name);
 };
 
-THeaderProtocol.prototype.writeStructEnd = function() {
+THeaderProtocol.prototype.writeStructEnd = function () {
   return this.protocol.writeStructEnd();
 };
 
-THeaderProtocol.prototype.writeFieldBegin = function(name, type, id) {
+THeaderProtocol.prototype.writeFieldBegin = function (name, type, id) {
   return this.protocol.writeFieldBegin(name, type, id);
-}
+};
 
-THeaderProtocol.prototype.writeFieldEnd = function() {
+THeaderProtocol.prototype.writeFieldEnd = function () {
   return this.protocol.writeFieldEnd();
 };
 
-THeaderProtocol.prototype.writeFieldStop = function() {
+THeaderProtocol.prototype.writeFieldStop = function () {
   return this.protocol.writeFieldStop();
 };
 
-THeaderProtocol.prototype.writeMapBegin = function(ktype, vtype, size) {
+THeaderProtocol.prototype.writeMapBegin = function (ktype, vtype, size) {
   return this.protocol.writeMapBegin(ktype, vtype, size);
 };
 
-THeaderProtocol.prototype.writeMapEnd = function() {
+THeaderProtocol.prototype.writeMapEnd = function () {
   return this.protocol.writeMapEnd();
 };
 
-THeaderProtocol.prototype.writeListBegin = function(etype, size) {
+THeaderProtocol.prototype.writeListBegin = function (etype, size) {
   return this.protocol.writeListBegin(etype, size);
 };
 
-THeaderProtocol.prototype.writeListEnd = function() {
+THeaderProtocol.prototype.writeListEnd = function () {
   return this.protocol.writeListEnd();
 };
 
-THeaderProtocol.prototype.writeSetBegin = function(etype, size) {
+THeaderProtocol.prototype.writeSetBegin = function (etype, size) {
   return this.protocol.writeSetBegin(etype, size);
 };
 
-THeaderProtocol.prototype.writeSetEnd = function() {
+THeaderProtocol.prototype.writeSetEnd = function () {
   return this.protocol.writeSetEnd();
 };
 
-THeaderProtocol.prototype.writeBool = function(b) {
+THeaderProtocol.prototype.writeBool = function (b) {
   return this.protocol.writeBool(b);
 };
 
-THeaderProtocol.prototype.writeByte = function(b) {
+THeaderProtocol.prototype.writeByte = function (b) {
   return this.protocol.writeByte(b);
 };
 
-THeaderProtocol.prototype.writeI16 = function(i16) {
+THeaderProtocol.prototype.writeI16 = function (i16) {
   return this.protocol.writeI16(i16);
 };
 
-THeaderProtocol.prototype.writeI32 = function(i32) {
+THeaderProtocol.prototype.writeI32 = function (i32) {
   return this.protocol.writeI32(i32);
 };
 
-THeaderProtocol.prototype.writeI64 = function(i64) {
+THeaderProtocol.prototype.writeI64 = function (i64) {
   return this.protocol.writeI64(i64);
 };
 
-THeaderProtocol.prototype.writeDouble = function(dub) {
+THeaderProtocol.prototype.writeDouble = function (dub) {
   return this.protocol.writeDouble(dub);
 };
 
-THeaderProtocol.prototype.writeStringOrBinary = function(name, encoding, arg) {
+THeaderProtocol.prototype.writeStringOrBinary = function (name, encoding, arg) {
   return this.protocol.writeStringOrBinary(name, encoding, arg);
 };
 
-THeaderProtocol.prototype.writeString = function(arg) {
+THeaderProtocol.prototype.writeString = function (arg) {
   return this.protocol.writeString(arg);
 };
 
-THeaderProtocol.prototype.writeBinary = function(arg) {
+THeaderProtocol.prototype.writeBinary = function (arg) {
   return this.protocol.writeBinary(arg);
 };
 
-THeaderProtocol.prototype.readMessageBegin = function() {
+THeaderProtocol.prototype.readMessageBegin = function () {
   this.trans.readHeaders();
   this.setProtocol();
   return this.protocol.readMessageBegin();
 };
 
-THeaderProtocol.prototype.readMessageEnd = function() {
+THeaderProtocol.prototype.readMessageEnd = function () {
   return this.protocol.readMessageEnd();
 };
 
-THeaderProtocol.prototype.readStructBegin = function() {
+THeaderProtocol.prototype.readStructBegin = function () {
   return this.protocol.readStructBegin();
 };
 
-THeaderProtocol.prototype.readStructEnd = function() {
+THeaderProtocol.prototype.readStructEnd = function () {
   return this.protocol.readStructEnd();
 };
 
-THeaderProtocol.prototype.readFieldBegin = function() {
+THeaderProtocol.prototype.readFieldBegin = function () {
   return this.protocol.readFieldBegin();
 };
 
-THeaderProtocol.prototype.readFieldEnd = function() {
+THeaderProtocol.prototype.readFieldEnd = function () {
   return this.protocol.readFieldEnd();
 };
 
-THeaderProtocol.prototype.readMapBegin = function() {
+THeaderProtocol.prototype.readMapBegin = function () {
   return this.protocol.readMapBegin();
 };
 
-THeaderProtocol.prototype.readMapEnd = function() {
+THeaderProtocol.prototype.readMapEnd = function () {
   return this.protocol.readMapEnd();
 };
 
-THeaderProtocol.prototype.readListBegin = function() {
+THeaderProtocol.prototype.readListBegin = function () {
   return this.protocol.readListBegin();
 };
 
-THeaderProtocol.prototype.readListEnd = function() {
+THeaderProtocol.prototype.readListEnd = function () {
   return this.protocol.readListEnd();
 };
 
-THeaderProtocol.prototype.readSetBegin = function() {
+THeaderProtocol.prototype.readSetBegin = function () {
   return this.protocol.readSetBegin();
 };
 
-THeaderProtocol.prototype.readSetEnd = function() {
+THeaderProtocol.prototype.readSetEnd = function () {
   return this.protocol.readSetEnd();
 };
 
-THeaderProtocol.prototype.readBool = function() {
+THeaderProtocol.prototype.readBool = function () {
   return this.protocol.readBool();
 };
 
-THeaderProtocol.prototype.readByte = function() {
+THeaderProtocol.prototype.readByte = function () {
   return this.protocol.readByte();
 };
 
-THeaderProtocol.prototype.readI16 = function() {
+THeaderProtocol.prototype.readI16 = function () {
   return this.protocol.readI16();
 };
 
-THeaderProtocol.prototype.readI32 = function() {
+THeaderProtocol.prototype.readI32 = function () {
   return this.protocol.readI32();
 };
 
-THeaderProtocol.prototype.readI64 = function() {
+THeaderProtocol.prototype.readI64 = function () {
   return this.protocol.readI64();
 };
 
-THeaderProtocol.prototype.readDouble = function() {
+THeaderProtocol.prototype.readDouble = function () {
   return this.protocol.readDouble();
 };
 
-THeaderProtocol.prototype.readBinary = function() {
+THeaderProtocol.prototype.readBinary = function () {
   return this.protocol.readBinary();
 };
 
-THeaderProtocol.prototype.readString = function() {
+THeaderProtocol.prototype.readString = function () {
   return this.protocol.readString();
 };
 
-THeaderProtocol.prototype.getTransport = function() {
+THeaderProtocol.prototype.getTransport = function () {
   return this.trans;
 };
 
-THeaderProtocol.prototype.skip = function(type) {
+THeaderProtocol.prototype.skip = function (type) {
   return this.protocol.skip(type);
 };
 
-THeaderProtocol.prototype.setProtocol = function(subProtocolId) {
+THeaderProtocol.prototype.setProtocol = function (subProtocolId) {
   var subProtocolId = this.trans.getProtocolId();
   if (!ProtocolMap[subProtocolId]) {
-    throw new THeaderProtocolError('Headers not supported for protocol ' + subProtocolId);
+    throw new THeaderProtocolError(
+      "Headers not supported for protocol " + subProtocolId,
+    );
   }
 
   this.protocol = new ProtocolMap[subProtocolId](this.trans);
diff --git a/lib/nodejs/lib/thrift/header_transport.js b/lib/nodejs/lib/thrift/header_transport.js
index ec8624b..37da492 100644
--- a/lib/nodejs/lib/thrift/header_transport.js
+++ b/lib/nodejs/lib/thrift/header_transport.js
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-var util = require('util');
-var TCompactProtocol = require('./compact_protocol');
-var TBinaryProtocol = require('./binary_protocol');
-var InputBufferUnderrunError = require('./input_buffer_underrun_error');
+var util = require("util");
+var TCompactProtocol = require("./compact_protocol");
+var TBinaryProtocol = require("./binary_protocol");
+var InputBufferUnderrunError = require("./input_buffer_underrun_error");
 
 function THeaderTransportError(message) {
   Error.call(this);
@@ -45,51 +45,51 @@
 var HEADER_SIZE_OFFSET = 96 / 8;
 var HEADER_START_OFFSET = 112 / 8;
 
-var HEADER_MAGIC = 0x0FFF;
+var HEADER_MAGIC = 0x0fff;
 
 var TINFO_HEADER_KEY_VALUE_TYPE = 0x01;
-var MAX_FRAME_SIZE = 0x3FFFFFFF;
+var MAX_FRAME_SIZE = 0x3fffffff;
 
- // A helper class for reading/writing varints. Uses
- // TCompactProtocol under the hood
+// A helper class for reading/writing varints. Uses
+// TCompactProtocol under the hood
 function VarintHelper(readBuffer) {
-  var TBufferedTransport = require('./buffered_transport');
+  var TBufferedTransport = require("./buffered_transport");
   this.outputBuffer = null;
   var _this = this;
-  this.transport = new TBufferedTransport(null, function(output) {
+  this.transport = new TBufferedTransport(null, function (output) {
     _this.outputBuffer = output;
   });
 
   this.transport.inBuf = readBuffer || Buffer.alloc(0);
   this.transport.writeCursor = this.transport.inBuf.length;
   this.protocol = new TCompactProtocol(this.transport);
-};
+}
 
-VarintHelper.prototype.readVarint32 = function() {
+VarintHelper.prototype.readVarint32 = function () {
   return this.protocol.readVarint32();
 };
 
-VarintHelper.prototype.writeVarint32 = function(i) {
+VarintHelper.prototype.writeVarint32 = function (i) {
   this.protocol.writeVarint32(i);
 };
 
-VarintHelper.prototype.readString = function() {
+VarintHelper.prototype.readString = function () {
   return this.protocol.readString();
 };
 
-VarintHelper.prototype.writeString = function(str) {
+VarintHelper.prototype.writeString = function (str) {
   this.protocol.writeString(str);
-}
+};
 
-VarintHelper.prototype.getOutCount = function() {
+VarintHelper.prototype.getOutCount = function () {
   return this.transport.outCount;
 };
 
-VarintHelper.prototype.write = function(str) {
+VarintHelper.prototype.write = function (str) {
   this.transport.write(str);
 };
 
-VarintHelper.prototype.toBuffer = function() {
+VarintHelper.prototype.toBuffer = function () {
   this.transport.flush();
   return this.outputBuffer;
 };
@@ -127,87 +127,90 @@
   this.flags = null;
   this.seqid = 0;
   this.shouldWriteHeaders = true;
-};
+}
 
-var validateHeaders = function(key, value) {
-  if (typeof key !== 'string' || typeof value !== 'string') {
-    throw new THeaderTransportError('Header key and values must be strings');
+var validateHeaders = function (key, value) {
+  if (typeof key !== "string" || typeof value !== "string") {
+    throw new THeaderTransportError("Header key and values must be strings");
   }
 };
 
-var validateProtocolId = function(protocolId) {
+var validateProtocolId = function (protocolId) {
   var protocols = Object.keys(THeaderTransport.SubprotocolId);
   for (var i = 0; i < protocols.length; i++) {
-    if (protocolId === THeaderTransport.SubprotocolId[protocols[i]]) return true;
+    if (protocolId === THeaderTransport.SubprotocolId[protocols[i]])
+      return true;
   }
 
-  throw new Error(protocolId + ' is not a valid protocol id');
+  throw new Error(protocolId + " is not a valid protocol id");
 };
 
-THeaderTransport.prototype.setSeqId = function(seqid) {
+THeaderTransport.prototype.setSeqId = function (seqid) {
   this.seqid = seqid;
 };
 
-THeaderTransport.prototype.getSeqId = function(seqid) {
+THeaderTransport.prototype.getSeqId = function (seqid) {
   return this.seqid;
 };
 
-THeaderTransport.prototype.setFlags = function(flags) {
+THeaderTransport.prototype.setFlags = function (flags) {
   this.flags = flags;
 };
 
-THeaderTransport.prototype.getReadHeaders = function() {
+THeaderTransport.prototype.getReadHeaders = function () {
   return this.rheaders;
 };
 
-THeaderTransport.prototype.setReadHeader = function(key, value) {
+THeaderTransport.prototype.setReadHeader = function (key, value) {
   validateHeaders(key, value);
   this.rheaders[key] = value;
 };
 
-THeaderTransport.prototype.clearReadHeaders = function() {
+THeaderTransport.prototype.clearReadHeaders = function () {
   this.rheaders = {};
 };
 
-THeaderTransport.prototype.getWriteHeaders = function() {
+THeaderTransport.prototype.getWriteHeaders = function () {
   return this.wheaders;
 };
 
-THeaderTransport.prototype.setWriteHeader = function(key, value) {
+THeaderTransport.prototype.setWriteHeader = function (key, value) {
   validateHeaders(key, value);
   this.wheaders[key] = value;
 };
 
-THeaderTransport.prototype.clearWriteHeaders = function() {
+THeaderTransport.prototype.clearWriteHeaders = function () {
   this.wheaders = {};
 };
 
-THeaderTransport.prototype.setMaxFrameSize = function(frameSize) {
+THeaderTransport.prototype.setMaxFrameSize = function (frameSize) {
   this.maxFrameSize = frameSize;
 };
 
-THeaderTransport.prototype.setProtocolId = function(protocolId) {
+THeaderTransport.prototype.setProtocolId = function (protocolId) {
   validateProtocolId(protocolId);
   this.protocolId = protocolId;
 };
 
-THeaderTransport.prototype.getProtocolId = function() {
+THeaderTransport.prototype.getProtocolId = function () {
   return this.protocolId;
 };
 
-var isUnframedBinary = function(readBuffer) {
+var isUnframedBinary = function (readBuffer) {
   var version = readBuffer.readInt32BE();
   return (version & TBinaryProtocol.VERSION_MASK) === TBinaryProtocol.VERSION_1;
-}
+};
 
-var isUnframedCompact = function(readBuffer) {
+var isUnframedCompact = function (readBuffer) {
   var protocolId = readBuffer.readInt8(COMPACT_PROTOCOL_OFFSET);
   var version = readBuffer.readInt8(COMPACT_PROTOCOL_VERSION_OFFSET);
-  return protocolId === TCompactProtocol.PROTOCOL_ID &&
-    (version & TCompactProtocol.VERSION_MASK) === TCompactProtocol.VERSION_N;
-}
+  return (
+    protocolId === TCompactProtocol.PROTOCOL_ID &&
+    (version & TCompactProtocol.VERSION_MASK) === TCompactProtocol.VERSION_N
+  );
+};
 
-THeaderTransport.prototype.readHeaders = function() {
+THeaderTransport.prototype.readHeaders = function () {
   var readBuffer = this.inBuf;
 
   var isUnframed = false;
@@ -228,7 +231,7 @@
 
   var frameSize = readBuffer.readInt32BE(FRAME_SIZE_OFFSET);
   if (frameSize > this.maxFrameSize) {
-    throw new THeaderTransportError('Frame exceeds maximum frame size');
+    throw new THeaderTransportError("Frame exceeds maximum frame size");
   }
 
   var headerMagic = readBuffer.readInt16BE(HEADER_MAGIC_OFFSET);
@@ -242,7 +245,7 @@
   var headerSize = readBuffer.readInt16BE(HEADER_SIZE_OFFSET) * 4;
   var endOfHeaders = HEADER_START_OFFSET + headerSize;
   if (endOfHeaders > readBuffer.length) {
-    throw new THeaderTransportError('Header size is greater than frame size');
+    throw new THeaderTransportError("Header size is greater than frame size");
   }
 
   var headerBuffer = Buffer.alloc(headerSize);
@@ -252,7 +255,7 @@
   this.setProtocolId(varintHelper.readVarint32());
   var transformCount = varintHelper.readVarint32();
   if (transformCount > 0) {
-    throw new THeaderTransportError('Transforms are not yet supported');
+    throw new THeaderTransportError("Transforms are not yet supported");
   }
 
   while (true) {
@@ -281,7 +284,7 @@
   return this.getReadHeaders();
 };
 
-THeaderTransport.prototype.writeHeaders = function() {
+THeaderTransport.prototype.writeHeaders = function () {
   // only write headers on the server if the client contained headers
   if (!this.shouldWriteHeaders) {
     return;
@@ -305,11 +308,13 @@
       varintWriter.writeString(value);
     }
   }
- var headerSizeWithoutPadding = varintWriter.getOutCount();
+  var headerSizeWithoutPadding = varintWriter.getOutCount();
   var paddingNeeded = (4 - (headerSizeWithoutPadding % 4)) % 4;
 
   var headerSize = Buffer.alloc(2);
-  headerSize.writeInt16BE(Math.floor((headerSizeWithoutPadding + paddingNeeded) / 4));
+  headerSize.writeInt16BE(
+    Math.floor((headerSizeWithoutPadding + paddingNeeded) / 4),
+  );
 
   var paddingBuffer = Buffer.alloc(paddingNeeded);
   paddingBuffer.fill(0x00);
diff --git a/lib/nodejs/lib/thrift/http_connection.js b/lib/nodejs/lib/thrift/http_connection.js
index 17e0d0c..50d3312 100644
--- a/lib/nodejs/lib/thrift/http_connection.js
+++ b/lib/nodejs/lib/thrift/http_connection.js
@@ -16,17 +16,17 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-var util = require('util');
-var http = require('http');
-var https = require('https');
-var EventEmitter = require('events').EventEmitter;
-var thrift = require('./thrift');
+var util = require("util");
+var http = require("http");
+var https = require("https");
+var EventEmitter = require("events").EventEmitter;
+var thrift = require("./thrift");
 
-var TBufferedTransport = require('./buffered_transport');
-var TBinaryProtocol = require('./binary_protocol');
-var InputBufferUnderrunError = require('./input_buffer_underrun_error');
+var TBufferedTransport = require("./buffered_transport");
+var TBinaryProtocol = require("./binary_protocol");
+var InputBufferUnderrunError = require("./input_buffer_underrun_error");
 
-var createClient = require('./create_client');
+var createClient = require("./create_client");
 
 /**
  * @class
@@ -69,7 +69,7 @@
  *     semantics implemented over the Node.js http.request() method.
  * @see {@link createHttpConnection}
  */
-var HttpConnection = exports.HttpConnection = function(options) {
+var HttpConnection = (exports.HttpConnection = function (options) {
   //Initialize the emitter base object
   EventEmitter.call(this);
 
@@ -88,17 +88,17 @@
     host: this.host,
     port: this.port,
     socketPath: this.socketPath,
-    path: this.options.path || '/',
-    method: 'POST',
+    path: this.options.path || "/",
+    method: "POST",
     headers: this.options.headers || {},
-    responseType: this.options.responseType || null
+    responseType: this.options.responseType || null,
   };
   for (var attrname in this.options.nodeOptions) {
     this.nodeOptions[attrname] = this.options.nodeOptions[attrname];
   }
   /*jshint -W069 */
-  if (! this.nodeOptions.headers['Connection']) {
-    this.nodeOptions.headers['Connection'] = 'keep-alive';
+  if (!this.nodeOptions.headers["Connection"]) {
+    this.nodeOptions.headers["Connection"] = "keep-alive";
   }
   /*jshint +W069 */
 
@@ -131,41 +131,42 @@
           delete self.seqId2Service[header.rseqid];
         }
         /*jshint -W083 */
-        client._reqs[dummy_seqid] = function(err, success){
+        client._reqs[dummy_seqid] = function (err, success) {
           transport_with_data.commitPosition();
           var clientCallback = client._reqs[header.rseqid];
           delete client._reqs[header.rseqid];
           if (clientCallback) {
-            process.nextTick(function() {
+            process.nextTick(function () {
               clientCallback(err, success);
             });
           }
         };
         /*jshint +W083 */
-        if(client['recv_' + header.fname]) {
-          client['recv_' + header.fname](proto, header.mtype, dummy_seqid);
+        if (client["recv_" + header.fname]) {
+          client["recv_" + header.fname](proto, header.mtype, dummy_seqid);
         } else {
           delete client._reqs[dummy_seqid];
-          self.emit("error",
-                    new thrift.TApplicationException(
-                       thrift.TApplicationExceptionType.WRONG_METHOD_NAME,
-                       "Received a response to an unknown RPC function"));
+          self.emit(
+            "error",
+            new thrift.TApplicationException(
+              thrift.TApplicationExceptionType.WRONG_METHOD_NAME,
+              "Received a response to an unknown RPC function",
+            ),
+          );
         }
       }
-    }
-    catch (e) {
+    } catch (e) {
       if (e instanceof InputBufferUnderrunError) {
         transport_with_data.rollbackPosition();
       } else {
-        self.emit('error', e);
+        self.emit("error", e);
       }
     }
   }
 
-
   //Response handler
   //////////////////////////////////////////////////
-  this.responseCallback = function(response) {
+  this.responseCallback = function (response) {
     var data = [];
     var dataLen = 0;
 
@@ -173,16 +174,18 @@
       this.emit("error", new THTTPException(response));
     }
 
-    response.on('error', function (e) {
+    response.on("error", function (e) {
       self.emit("error", e);
     });
 
     // When running directly under node, chunk will be a buffer,
     // however, when running in a Browser (e.g. Browserify), chunk
     // will be a string or an ArrayBuffer.
-    response.on('data', function (chunk) {
-      if ((typeof chunk == 'string') ||
-          (Object.prototype.toString.call(chunk) == '[object Uint8Array]')) {
+    response.on("data", function (chunk) {
+      if (
+        typeof chunk == "string" ||
+        Object.prototype.toString.call(chunk) == "[object Uint8Array]"
+      ) {
         // Wrap ArrayBuffer/string in a Buffer so data[i].copy will work
         data.push(new Buffer(chunk));
       } else {
@@ -191,9 +194,9 @@
       dataLen += chunk.length;
     });
 
-    response.on('end', function(){
+    response.on("end", function () {
       var buf = new Buffer(dataLen);
-      for (var i=0, len=data.length, pos=0; i<len; i++) {
+      for (var i = 0, len = data.length, pos = 0; i < len; i++) {
         data[i].copy(buf, pos);
         pos += data[i].length;
       }
@@ -202,7 +205,7 @@
       self.transport.receiver(decodeCallback)(buf);
     });
   };
-};
+});
 util.inherits(HttpConnection, EventEmitter);
 
 /**
@@ -212,16 +215,16 @@
  * @event {error} the "error" event is raised upon request failure passing the
  *     Node.js error object to the listener.
  */
-HttpConnection.prototype.write = function(data) {
+HttpConnection.prototype.write = function (data) {
   var self = this;
   var opts = self.nodeOptions;
   opts.headers["Content-length"] = data.length;
   if (!opts.headers["Content-Type"])
     opts.headers["Content-Type"] = "application/x-thrift";
-  var req = (self.https) ?
-      https.request(opts, self.responseCallback) :
-      http.request(opts, self.responseCallback);
-  req.on('error', function(err) {
+  var req = self.https
+    ? https.request(opts, self.responseCallback)
+    : http.request(opts, self.responseCallback);
+  req.on("error", function (err) {
     self.emit("error", err);
   });
   req.write(data);
@@ -237,19 +240,18 @@
  * @returns {HttpConnection} The connection object.
  * @see {@link ConnectOptions}
  */
-exports.createHttpConnection = function(host, port, options) {
+exports.createHttpConnection = function (host, port, options) {
   options.host = host;
   options.port = port || 80;
   return new HttpConnection(options);
 };
 
-exports.createHttpUDSConnection = function(path, options) {
+exports.createHttpUDSConnection = function (path, options) {
   options.socketPath = path;
   return new HttpConnection(options);
 };
 
-exports.createHttpClient = createClient
-
+exports.createHttpClient = createClient;
 
 function THTTPException(response) {
   thrift.TApplicationException.call(this);
@@ -261,6 +263,7 @@
   this.statusCode = response.statusCode;
   this.response = response;
   this.type = thrift.TApplicationExceptionType.PROTOCOL_ERROR;
-  this.message = "Received a response with a bad HTTP status code: " + response.statusCode;
+  this.message =
+    "Received a response with a bad HTTP status code: " + response.statusCode;
 }
 util.inherits(THTTPException, thrift.TApplicationException);
diff --git a/lib/nodejs/lib/thrift/index.js b/lib/nodejs/lib/thrift/index.js
index df4a5dc..5f0010f 100644
--- a/lib/nodejs/lib/thrift/index.js
+++ b/lib/nodejs/lib/thrift/index.js
@@ -16,14 +16,14 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-exports.Thrift = require('./thrift');
+exports.Thrift = require("./thrift");
 
-var log = require('./log');
+var log = require("./log");
 exports.setLogFunc = log.setLogFunc;
 exports.setLogLevel = log.setLogLevel;
 exports.getLogLevel = log.getLogLevel;
 
-var connection = require('./connection');
+var connection = require("./connection");
 exports.Connection = connection.Connection;
 exports.createClient = connection.createClient;
 exports.createConnection = connection.createConnection;
@@ -32,34 +32,34 @@
 exports.createStdIOClient = connection.createStdIOClient;
 exports.createStdIOConnection = connection.createStdIOConnection;
 
-var httpConnection = require('./http_connection');
+var httpConnection = require("./http_connection");
 exports.HttpConnection = httpConnection.HttpConnection;
 exports.createHttpConnection = httpConnection.createHttpConnection;
 exports.createHttpUDSConnection = httpConnection.createHttpUDSConnection;
 exports.createHttpClient = httpConnection.createHttpClient;
 
-var wsConnection = require('./ws_connection');
+var wsConnection = require("./ws_connection");
 exports.WSConnection = wsConnection.WSConnection;
 exports.createWSConnection = wsConnection.createWSConnection;
 exports.createWSClient = wsConnection.createWSClient;
 
-var xhrConnection = require('./xhr_connection');
+var xhrConnection = require("./xhr_connection");
 exports.XHRConnection = xhrConnection.XHRConnection;
 exports.createXHRConnection = xhrConnection.createXHRConnection;
 exports.createXHRClient = xhrConnection.createXHRClient;
 
-var server = require('./server');
+var server = require("./server");
 exports.createServer = server.createServer;
 exports.createMultiplexServer = server.createMultiplexServer;
 
-var web_server = require('./web_server');
+var web_server = require("./web_server");
 exports.createWebServer = web_server.createWebServer;
 
-exports.Int64 = require('node-int64');
-exports.Q = require('q');
+exports.Int64 = require("node-int64");
+exports.Q = require("q");
 
-var mpxProcessor = require('./multiplexed_processor');
-var mpxProtocol = require('./multiplexed_protocol');
+var mpxProcessor = require("./multiplexed_processor");
+var mpxProtocol = require("./multiplexed_protocol");
 exports.MultiplexedProcessor = mpxProcessor.MultiplexedProcessor;
 exports.Multiplexer = mpxProtocol.Multiplexer;
 
@@ -67,12 +67,12 @@
  * Export transport and protocol so they can be used outside of a
  * cassandra/server context
  */
-exports.TBufferedTransport = require('./buffered_transport');
-exports.TFramedTransport = require('./framed_transport');
+exports.TBufferedTransport = require("./buffered_transport");
+exports.TFramedTransport = require("./framed_transport");
 
-exports.TJSONProtocol = require('./json_protocol');
-exports.TBinaryProtocol = require('./binary_protocol');
-exports.TCompactProtocol = require('./compact_protocol');
-exports.THeaderProtocol = require('./header_protocol');
+exports.TJSONProtocol = require("./json_protocol");
+exports.TBinaryProtocol = require("./binary_protocol");
+exports.TCompactProtocol = require("./compact_protocol");
+exports.THeaderProtocol = require("./header_protocol");
 
-exports.InputBufferUnderrunError = require('./input_buffer_underrun_error');
+exports.InputBufferUnderrunError = require("./input_buffer_underrun_error");
diff --git a/lib/nodejs/lib/thrift/input_buffer_underrun_error.js b/lib/nodejs/lib/thrift/input_buffer_underrun_error.js
index e424540..9542854 100644
--- a/lib/nodejs/lib/thrift/input_buffer_underrun_error.js
+++ b/lib/nodejs/lib/thrift/input_buffer_underrun_error.js
@@ -27,6 +27,6 @@
   }
   this.name = this.constructor.name;
   this.message = message;
-};
+}
 
 util.inherits(InputBufferUnderrunError, Error);
diff --git a/lib/nodejs/lib/thrift/int64_util.js b/lib/nodejs/lib/thrift/int64_util.js
index e8d707d..84588c5 100644
--- a/lib/nodejs/lib/thrift/int64_util.js
+++ b/lib/nodejs/lib/thrift/int64_util.js
@@ -17,20 +17,19 @@
  * under the License.
  */
 
-var Int64 = require('node-int64');
+var Int64 = require("node-int64");
 
-var Int64Util = module.exports = {};
+var Int64Util = (module.exports = {});
 
 var POW2_24 = Math.pow(2, 24);
 var POW2_31 = Math.pow(2, 31);
 var POW2_32 = Math.pow(2, 32);
 var POW10_11 = Math.pow(10, 11);
 
-Int64Util.toDecimalString = function(i64) {
+Int64Util.toDecimalString = function (i64) {
   var b = i64.buffer;
   var o = i64.offset;
-  if ((!b[o] && !(b[o + 1] & 0xe0)) ||
-      (!~b[o] && !~(b[o + 1] & 0xe0))) {
+  if ((!b[o] && !(b[o + 1] & 0xe0)) || (!~b[o] && !~(b[o + 1] & 0xe0))) {
     // The magnitude is small enough.
     return i64.toString();
   } else {
@@ -47,34 +46,39 @@
     }
     var high2 = b[o + 1] + (b[o] << 8);
     // Lesser 11 digits with exceeding values but is under 53 bits capacity.
-    var low = b[o + 7] + (b[o + 6] << 8) + (b[o + 5] << 16)
-        + b[o + 4] * POW2_24  // Bit shift renders 32th bit as sign, so use multiplication
-        + (b[o + 3] + (b[o + 2] << 8)) * POW2_32 + high2 * 74976710656;  // The literal is 2^48 % 10^11
+    var low =
+      b[o + 7] +
+      (b[o + 6] << 8) +
+      (b[o + 5] << 16) +
+      b[o + 4] * POW2_24 + // Bit shift renders 32th bit as sign, so use multiplication
+      (b[o + 3] + (b[o + 2] << 8)) * POW2_32 +
+      high2 * 74976710656; // The literal is 2^48 % 10^11
     // 12th digit and greater.
-    var high = Math.floor(low / POW10_11) + high2 * 2814;  // The literal is 2^48 / 10^11
+    var high = Math.floor(low / POW10_11) + high2 * 2814; // The literal is 2^48 / 10^11
     // Make it exactly 11 with leading zeros.
-    low = ('00000000000' + String(low % POW10_11)).slice(-11);
-    return (negative ? '-' : '') + String(high) + low;
+    low = ("00000000000" + String(low % POW10_11)).slice(-11);
+    return (negative ? "-" : "") + String(high) + low;
   }
 };
 
-Int64Util.fromDecimalString = function(text) {
-  var negative = text.charAt(0) === '-';
+Int64Util.fromDecimalString = function (text) {
+  var negative = text.charAt(0) === "-";
   if (text.length < (negative ? 17 : 16)) {
     // The magnitude is smaller than 2^53.
     return new Int64(+text);
   } else if (text.length > (negative ? 20 : 19)) {
-    throw new RangeError('Too many digits for Int64: ' + text);
+    throw new RangeError("Too many digits for Int64: " + text);
   } else {
     // Most significant (up to 5) digits
     var high5 = +text.slice(negative ? 1 : 0, -15);
-    var low = +text.slice(-15) + high5 * 2764472320;  // The literal is 10^15 % 2^32
-    var high = Math.floor(low / POW2_32) + high5 * 232830;  // The literal is 10^15 / 2^&32
+    var low = +text.slice(-15) + high5 * 2764472320; // The literal is 10^15 % 2^32
+    var high = Math.floor(low / POW2_32) + high5 * 232830; // The literal is 10^15 / 2^&32
     low = low % POW2_32;
-    if (high >= POW2_31 &&
-        !(negative && high == POW2_31 && low == 0)  // Allow minimum Int64
-       ) {
-      throw new RangeError('The magnitude is too large for Int64.');
+    if (
+      high >= POW2_31 &&
+      !(negative && high == POW2_31 && low == 0) // Allow minimum Int64
+    ) {
+      throw new RangeError("The magnitude is too large for Int64.");
     }
     if (negative) {
       // 2's complement
diff --git a/lib/nodejs/lib/thrift/json_parse.js b/lib/nodejs/lib/thrift/json_parse.js
index 93b0bf2..3d111c0 100644
--- a/lib/nodejs/lib/thrift/json_parse.js
+++ b/lib/nodejs/lib/thrift/json_parse.js
@@ -12,7 +12,6 @@
  * NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
  */
 
-
 /*jslint for */
 
 /*property
@@ -20,280 +19,260 @@
     prototype, push, r, t, text
 */
 
-var Int64 = require('node-int64');
-var Int64Util = require('./int64_util');
+var Int64 = require("node-int64");
+var Int64Util = require("./int64_util");
 
-var json_parse = module.exports = (function () {
-    "use strict";
+var json_parse = (module.exports = (function () {
+  "use strict";
 
-// This is a function that can parse a JSON text, producing a JavaScript
-// data structure. It is a simple, recursive descent parser. It does not use
-// eval or regular expressions, so it can be used as a model for implementing
-// a JSON parser in other languages.
+  // This is a function that can parse a JSON text, producing a JavaScript
+  // data structure. It is a simple, recursive descent parser. It does not use
+  // eval or regular expressions, so it can be used as a model for implementing
+  // a JSON parser in other languages.
 
-// We are defining the function inside of another function to avoid creating
-// global variables.
+  // We are defining the function inside of another function to avoid creating
+  // global variables.
 
-    var at,     // The index of the current character
-        ch,     // The current character
-        escapee = {
-            '"': '"',
-            '\\': '\\',
-            '/': '/',
-            b: '\b',
-            f: '\f',
-            n: '\n',
-            r: '\r',
-            t: '\t'
-        },
-        text,
+  var at, // The index of the current character
+    ch, // The current character
+    escapee = {
+      '"': '"',
+      "\\": "\\",
+      "/": "/",
+      b: "\b",
+      f: "\f",
+      n: "\n",
+      r: "\r",
+      t: "\t",
+    },
+    text,
+    error = function (m) {
+      // Call error when something is wrong.
 
-        error = function (m) {
+      throw new SyntaxError(m);
+    },
+    next = function (c) {
+      // If a c parameter is provided, verify that it matches the current character.
 
-// Call error when something is wrong.
+      if (c && c !== ch) {
+        error("Expected '" + c + "' instead of '" + ch + "'");
+      }
 
-            throw new SyntaxError(m);
-        },
+      // Get the next character. When there are no more characters,
+      // return the empty string.
 
-        next = function (c) {
+      ch = text.charAt(at);
+      at += 1;
+      return ch;
+    },
+    number = function () {
+      // Parse a number value.
 
-// If a c parameter is provided, verify that it matches the current character.
+      var number,
+        string = "";
 
-            if (c && c !== ch) {
-                error("Expected '" + c + "' instead of '" + ch + "'");
-            }
+      if (ch === "-") {
+        string = "-";
+        next("-");
+      }
+      while (ch >= "0" && ch <= "9") {
+        string += ch;
+        next();
+      }
+      if (ch === ".") {
+        string += ".";
+        while (next() && ch >= "0" && ch <= "9") {
+          string += ch;
+        }
+      }
+      if (ch === "e" || ch === "E") {
+        string += ch;
+        next();
+        if (ch === "-" || ch === "+") {
+          string += ch;
+          next();
+        }
+        while (ch >= "0" && ch <= "9") {
+          string += ch;
+          next();
+        }
+      }
+      number = +string;
+      if (!isFinite(number)) {
+        error("Bad number");
+      } else if (number >= Int64.MAX_INT || number <= Int64.MIN_INT) {
+        // Return raw string for further process in TJSONProtocol
+        return string;
+      } else {
+        return number;
+      }
+    },
+    string = function () {
+      // Parse a string value.
 
-// Get the next character. When there are no more characters,
-// return the empty string.
+      var hex,
+        i,
+        string = "",
+        uffff;
 
-            ch = text.charAt(at);
-            at += 1;
-            return ch;
-        },
+      // When parsing for string values, we must look for " and \ characters.
 
-        number = function () {
-
-// Parse a number value.
-
-            var number,
-                string = '';
-
-            if (ch === '-') {
-                string = '-';
-                next('-');
-            }
-            while (ch >= '0' && ch <= '9') {
-                string += ch;
-                next();
-            }
-            if (ch === '.') {
-                string += '.';
-                while (next() && ch >= '0' && ch <= '9') {
-                    string += ch;
+      if (ch === '"') {
+        while (next()) {
+          if (ch === '"') {
+            next();
+            return string;
+          }
+          if (ch === "\\") {
+            next();
+            if (ch === "u") {
+              uffff = 0;
+              for (i = 0; i < 4; i += 1) {
+                hex = parseInt(next(), 16);
+                if (!isFinite(hex)) {
+                  break;
                 }
-            }
-            if (ch === 'e' || ch === 'E') {
-                string += ch;
-                next();
-                if (ch === '-' || ch === '+') {
-                    string += ch;
-                    next();
-                }
-                while (ch >= '0' && ch <= '9') {
-                    string += ch;
-                    next();
-                }
-            }
-            number = +string;
-            if (!isFinite(number)) {
-                error("Bad number");
-            } else if (number >= Int64.MAX_INT || number <= Int64.MIN_INT) {
-                // Return raw string for further process in TJSONProtocol
-                return string;
+                uffff = uffff * 16 + hex;
+              }
+              string += String.fromCharCode(uffff);
+            } else if (typeof escapee[ch] === "string") {
+              string += escapee[ch];
             } else {
-                return number;
+              break;
             }
-        },
-
-        string = function () {
-
-// Parse a string value.
-
-            var hex,
-                i,
-                string = '',
-                uffff;
-
-// When parsing for string values, we must look for " and \ characters.
-
-            if (ch === '"') {
-                while (next()) {
-                    if (ch === '"') {
-                        next();
-                        return string;
-                    }
-                    if (ch === '\\') {
-                        next();
-                        if (ch === 'u') {
-                            uffff = 0;
-                            for (i = 0; i < 4; i += 1) {
-                                hex = parseInt(next(), 16);
-                                if (!isFinite(hex)) {
-                                    break;
-                                }
-                                uffff = uffff * 16 + hex;
-                            }
-                            string += String.fromCharCode(uffff);
-                        } else if (typeof escapee[ch] === 'string') {
-                            string += escapee[ch];
-                        } else {
-                            break;
-                        }
-                    } else {
-                        string += ch;
-                    }
-                }
-            }
-            error("Bad string");
-        },
-
-        white = function () {
-
-// Skip whitespace.
-
-            while (ch && ch <= ' ') {
-                next();
-            }
-        },
-
-        word = function () {
-
-// true, false, or null.
-
-            switch (ch) {
-            case 't':
-                next('t');
-                next('r');
-                next('u');
-                next('e');
-                return true;
-            case 'f':
-                next('f');
-                next('a');
-                next('l');
-                next('s');
-                next('e');
-                return false;
-            case 'n':
-                next('n');
-                next('u');
-                next('l');
-                next('l');
-                return null;
-            }
-            error("Unexpected '" + ch + "'");
-        },
-
-        value,  // Place holder for the value function.
-
-        array = function () {
-
-// Parse an array value.
-
-            var array = [];
-
-            if (ch === '[') {
-                next('[');
-                white();
-                if (ch === ']') {
-                    next(']');
-                    return array;   // empty array
-                }
-                while (ch) {
-                    array.push(value());
-                    white();
-                    if (ch === ']') {
-                        next(']');
-                        return array;
-                    }
-                    next(',');
-                    white();
-                }
-            }
-            error("Bad array");
-        },
-
-        object = function () {
-
-// Parse an object value.
-
-            var key,
-                object = {};
-
-            if (ch === '{') {
-                next('{');
-                white();
-                if (ch === '}') {
-                    next('}');
-                    return object;   // empty object
-                }
-                while (ch) {
-                    key = string();
-                    white();
-                    next(':');
-                    if (Object.hasOwnProperty.call(object, key)) {
-                        error('Duplicate key "' + key + '"');
-                    }
-                    object[key] = value();
-                    white();
-                    if (ch === '}') {
-                        next('}');
-                        return object;
-                    }
-                    next(',');
-                    white();
-                }
-            }
-            error("Bad object");
-        };
-
-    value = function () {
-
-// Parse a JSON value. It could be an object, an array, a string, a number,
-// or a word.
-
-        white();
-        switch (ch) {
-        case '{':
-            return object();
-        case '[':
-            return array();
-        case '"':
-            return string();
-        case '-':
-            return number();
-        default:
-            return ch >= '0' && ch <= '9'
-                ? number()
-                : word();
+          } else {
+            string += ch;
+          }
         }
+      }
+      error("Bad string");
+    },
+    white = function () {
+      // Skip whitespace.
+
+      while (ch && ch <= " ") {
+        next();
+      }
+    },
+    word = function () {
+      // true, false, or null.
+
+      switch (ch) {
+        case "t":
+          next("t");
+          next("r");
+          next("u");
+          next("e");
+          return true;
+        case "f":
+          next("f");
+          next("a");
+          next("l");
+          next("s");
+          next("e");
+          return false;
+        case "n":
+          next("n");
+          next("u");
+          next("l");
+          next("l");
+          return null;
+      }
+      error("Unexpected '" + ch + "'");
+    },
+    value, // Place holder for the value function.
+    array = function () {
+      // Parse an array value.
+
+      var array = [];
+
+      if (ch === "[") {
+        next("[");
+        white();
+        if (ch === "]") {
+          next("]");
+          return array; // empty array
+        }
+        while (ch) {
+          array.push(value());
+          white();
+          if (ch === "]") {
+            next("]");
+            return array;
+          }
+          next(",");
+          white();
+        }
+      }
+      error("Bad array");
+    },
+    object = function () {
+      // Parse an object value.
+
+      var key,
+        object = {};
+
+      if (ch === "{") {
+        next("{");
+        white();
+        if (ch === "}") {
+          next("}");
+          return object; // empty object
+        }
+        while (ch) {
+          key = string();
+          white();
+          next(":");
+          if (Object.hasOwnProperty.call(object, key)) {
+            error('Duplicate key "' + key + '"');
+          }
+          object[key] = value();
+          white();
+          if (ch === "}") {
+            next("}");
+            return object;
+          }
+          next(",");
+          white();
+        }
+      }
+      error("Bad object");
     };
 
-// Return the json_parse function. It will have access to all of the above
-// functions and variables.
+  value = function () {
+    // Parse a JSON value. It could be an object, an array, a string, a number,
+    // or a word.
 
-    return function (source) {
-        var result;
+    white();
+    switch (ch) {
+      case "{":
+        return object();
+      case "[":
+        return array();
+      case '"':
+        return string();
+      case "-":
+        return number();
+      default:
+        return ch >= "0" && ch <= "9" ? number() : word();
+    }
+  };
 
-        text = source;
-        at = 0;
-        ch = ' ';
-        result = value();
-        white();
-        if (ch) {
-            error("Syntax error");
-        }
+  // Return the json_parse function. It will have access to all of the above
+  // functions and variables.
 
-        return result;
-    };
-}());
+  return function (source) {
+    var result;
+
+    text = source;
+    at = 0;
+    ch = " ";
+    result = value();
+    white();
+    if (ch) {
+      error("Syntax error");
+    }
+
+    return result;
+  };
+})());
diff --git a/lib/nodejs/lib/thrift/json_protocol.js b/lib/nodejs/lib/thrift/json_protocol.js
index 7e2b7c9..31dcb81 100644
--- a/lib/nodejs/lib/thrift/json_protocol.js
+++ b/lib/nodejs/lib/thrift/json_protocol.js
@@ -17,15 +17,15 @@
  * under the License.
  */
 
-var Int64 = require('node-int64');
-var Thrift = require('./thrift');
+var Int64 = require("node-int64");
+var Thrift = require("./thrift");
 var Type = Thrift.Type;
 var util = require("util");
 
-var Int64Util = require('./int64_util');
-var json_parse = require('./json_parse');
+var Int64Util = require("./int64_util");
+var json_parse = require("./json_parse");
 
-var InputBufferUnderrunError = require('./input_buffer_underrun_error');
+var InputBufferUnderrunError = require("./input_buffer_underrun_error");
 
 module.exports = TJSONProtocol;
 
@@ -43,7 +43,7 @@
   this.tstack = [];
   this.tpos = [];
   this.trans = trans;
-};
+}
 
 /**
  * Thrift IDL type Id to string mapping.
@@ -89,12 +89,12 @@
  */
 TJSONProtocol.Version = 1;
 
-TJSONProtocol.prototype.flush = function() {
+TJSONProtocol.prototype.flush = function () {
   this.writeToTransportIfStackIsFlushable();
   return this.trans.flush();
 };
 
-TJSONProtocol.prototype.writeToTransportIfStackIsFlushable = function() {
+TJSONProtocol.prototype.writeToTransportIfStackIsFlushable = function () {
   if (this.tstack.length === 1) {
     this.trans.write(this.tstack.pop());
   }
@@ -106,20 +106,29 @@
  * @param {Thrift.MessageType} messageType - The type of method call.
  * @param {number} seqid - The sequence number of this call (always 0 in Apache Thrift).
  */
-TJSONProtocol.prototype.writeMessageBegin = function(name, messageType, seqid) {
-  this.tstack.push([TJSONProtocol.Version, '"' + name + '"', messageType, seqid]);
+TJSONProtocol.prototype.writeMessageBegin = function (
+  name,
+  messageType,
+  seqid,
+) {
+  this.tstack.push([
+    TJSONProtocol.Version,
+    '"' + name + '"',
+    messageType,
+    seqid,
+  ]);
 };
 
 /**
  * Serializes the end of a Thrift RPC message.
  */
-TJSONProtocol.prototype.writeMessageEnd = function() {
+TJSONProtocol.prototype.writeMessageEnd = function () {
   var obj = this.tstack.pop();
 
   this.wobj = this.tstack.pop();
   this.wobj.push(obj);
 
-  this.wbuf = '[' + this.wobj.join(',') + ']';
+  this.wbuf = "[" + this.wobj.join(",") + "]";
 
   // we assume there is nothing more to come so we write
   this.trans.write(this.wbuf);
@@ -129,7 +138,7 @@
  * Serializes the beginning of a struct.
  * @param {string} name - The name of the struct.
  */
-TJSONProtocol.prototype.writeStructBegin = function(name) {
+TJSONProtocol.prototype.writeStructBegin = function (name) {
   this.tpos.push(this.tstack.length);
   this.tstack.push({});
 };
@@ -137,22 +146,22 @@
 /**
  * Serializes the end of a struct.
  */
-TJSONProtocol.prototype.writeStructEnd = function() {
+TJSONProtocol.prototype.writeStructEnd = function () {
   var p = this.tpos.pop();
   var struct = this.tstack[p];
-  var str = '{';
+  var str = "{";
   var first = true;
   for (var key in struct) {
     if (first) {
       first = false;
     } else {
-      str += ',';
+      str += ",";
     }
 
-    str += key + ':' + struct[key];
+    str += key + ":" + struct[key];
   }
 
-  str += '}';
+  str += "}";
   this.tstack[p] = str;
 
   this.writeToTransportIfStackIsFlushable();
@@ -164,26 +173,27 @@
  * @param {Thrift.Protocol.Type} fieldType - The data type of the field.
  * @param {number} fieldId - The field's unique identifier.
  */
-TJSONProtocol.prototype.writeFieldBegin = function(name, fieldType, fieldId) {
+TJSONProtocol.prototype.writeFieldBegin = function (name, fieldType, fieldId) {
   this.tpos.push(this.tstack.length);
-  this.tstack.push({ 'fieldId': '"' +
-    fieldId + '"', 'fieldType': TJSONProtocol.Type[fieldType]
+  this.tstack.push({
+    fieldId: '"' + fieldId + '"',
+    fieldType: TJSONProtocol.Type[fieldType],
   });
 };
 
 /**
  * Serializes the end of a field.
  */
-TJSONProtocol.prototype.writeFieldEnd = function() {
+TJSONProtocol.prototype.writeFieldEnd = function () {
   var value = this.tstack.pop();
   var fieldInfo = this.tstack.pop();
 
-  if (':' + value === ":[object Object]") {
-    this.tstack[this.tstack.length - 1][fieldInfo.fieldId] = '{' +
-      fieldInfo.fieldType + ':' + JSON.stringify(value) + '}';
+  if (":" + value === ":[object Object]") {
+    this.tstack[this.tstack.length - 1][fieldInfo.fieldId] =
+      "{" + fieldInfo.fieldType + ":" + JSON.stringify(value) + "}";
   } else {
-    this.tstack[this.tstack.length - 1][fieldInfo.fieldId] = '{' +
-      fieldInfo.fieldType + ':' + value + '}';
+    this.tstack[this.tstack.length - 1][fieldInfo.fieldId] =
+      "{" + fieldInfo.fieldType + ":" + value + "}";
   }
   this.tpos.pop();
 
@@ -193,8 +203,7 @@
 /**
  * Serializes the end of the set of fields for a struct.
  */
-TJSONProtocol.prototype.writeFieldStop = function() {
-};
+TJSONProtocol.prototype.writeFieldStop = function () {};
 
 /**
  * Serializes the beginning of a map collection.
@@ -202,16 +211,20 @@
  * @param {Thrift.Type} valType - The data type of the value.
  * @param {number} [size] - The number of elements in the map (ignored).
  */
-TJSONProtocol.prototype.writeMapBegin = function(keyType, valType, size) {
+TJSONProtocol.prototype.writeMapBegin = function (keyType, valType, size) {
   //size is invalid, we'll set it on end.
   this.tpos.push(this.tstack.length);
-  this.tstack.push([TJSONProtocol.Type[keyType], TJSONProtocol.Type[valType], 0]);
+  this.tstack.push([
+    TJSONProtocol.Type[keyType],
+    TJSONProtocol.Type[valType],
+    0,
+  ]);
 };
 
 /**
  * Serializes the end of a map.
  */
-TJSONProtocol.prototype.writeMapEnd = function() {
+TJSONProtocol.prototype.writeMapEnd = function () {
   var p = this.tpos.pop();
 
   if (p == this.tstack.length) {
@@ -219,14 +232,14 @@
   }
 
   if ((this.tstack.length - p - 1) % 2 !== 0) {
-    this.tstack.push('');
+    this.tstack.push("");
   }
 
   var size = (this.tstack.length - p - 1) / 2;
 
   this.tstack[p][this.tstack[p].length - 1] = size;
 
-  var map = '}';
+  var map = "}";
   var first = true;
   while (this.tstack.length > p + 1) {
     var v = this.tstack.pop();
@@ -234,16 +247,18 @@
     if (first) {
       first = false;
     } else {
-      map = ',' + map;
+      map = "," + map;
     }
 
-    if (! isNaN(k)) { k = '"' + k + '"'; } //json "keys" need to be strings
-    map = k + ':' + v + map;
+    if (!isNaN(k)) {
+      k = '"' + k + '"';
+    } //json "keys" need to be strings
+    map = k + ":" + v + map;
   }
-  map = '{' + map;
+  map = "{" + map;
 
   this.tstack[p].push(map);
-  this.tstack[p] = '[' + this.tstack[p].join(',') + ']';
+  this.tstack[p] = "[" + this.tstack[p].join(",") + "]";
 
   this.writeToTransportIfStackIsFlushable();
 };
@@ -253,7 +268,7 @@
  * @param {Thrift.Type} elemType - The data type of the elements.
  * @param {number} size - The number of elements in the list.
  */
-TJSONProtocol.prototype.writeListBegin = function(elemType, size) {
+TJSONProtocol.prototype.writeListBegin = function (elemType, size) {
   this.tpos.push(this.tstack.length);
   this.tstack.push([TJSONProtocol.Type[elemType], size]);
 };
@@ -261,7 +276,7 @@
 /**
  * Serializes the end of a list.
  */
-TJSONProtocol.prototype.writeListEnd = function() {
+TJSONProtocol.prototype.writeListEnd = function () {
   var p = this.tpos.pop();
 
   while (this.tstack.length > p + 1) {
@@ -270,7 +285,7 @@
     this.tstack[p].push(tmpVal);
   }
 
-  this.tstack[p] = '[' + this.tstack[p].join(',') + ']';
+  this.tstack[p] = "[" + this.tstack[p].join(",") + "]";
 
   this.writeToTransportIfStackIsFlushable();
 };
@@ -280,15 +295,15 @@
  * @param {Thrift.Type} elemType - The data type of the elements.
  * @param {number} size - The number of elements in the list.
  */
-TJSONProtocol.prototype.writeSetBegin = function(elemType, size) {
-    this.tpos.push(this.tstack.length);
-    this.tstack.push([TJSONProtocol.Type[elemType], size]);
+TJSONProtocol.prototype.writeSetBegin = function (elemType, size) {
+  this.tpos.push(this.tstack.length);
+  this.tstack.push([TJSONProtocol.Type[elemType], size]);
 };
 
 /**
  * Serializes the end of a set.
  */
-TJSONProtocol.prototype.writeSetEnd = function() {
+TJSONProtocol.prototype.writeSetEnd = function () {
   var p = this.tpos.pop();
 
   while (this.tstack.length > p + 1) {
@@ -297,33 +312,33 @@
     this.tstack[p].push(tmpVal);
   }
 
-  this.tstack[p] = '[' + this.tstack[p].join(',') + ']';
+  this.tstack[p] = "[" + this.tstack[p].join(",") + "]";
 
   this.writeToTransportIfStackIsFlushable();
 };
 
 /** Serializes a boolean */
-TJSONProtocol.prototype.writeBool = function(bool) {
+TJSONProtocol.prototype.writeBool = function (bool) {
   this.tstack.push(bool ? 1 : 0);
 };
 
 /** Serializes a number */
-TJSONProtocol.prototype.writeByte = function(byte) {
+TJSONProtocol.prototype.writeByte = function (byte) {
   this.tstack.push(byte);
 };
 
 /** Serializes a number */
-TJSONProtocol.prototype.writeI16 = function(i16) {
+TJSONProtocol.prototype.writeI16 = function (i16) {
   this.tstack.push(i16);
 };
 
 /** Serializes a number */
-TJSONProtocol.prototype.writeI32 = function(i32) {
+TJSONProtocol.prototype.writeI32 = function (i32) {
   this.tstack.push(i32);
 };
 
 /** Serializes a number */
-TJSONProtocol.prototype.writeI64 = function(i64) {
+TJSONProtocol.prototype.writeI64 = function (i64) {
   if (i64 instanceof Int64) {
     this.tstack.push(Int64Util.toDecimalString(i64));
   } else {
@@ -332,69 +347,81 @@
 };
 
 /** Serializes a number */
-TJSONProtocol.prototype.writeDouble = function(dub) {
+TJSONProtocol.prototype.writeDouble = function (dub) {
   this.tstack.push(dub);
 };
 
 /** Serializes a string */
-TJSONProtocol.prototype.writeString = function(arg) {
+TJSONProtocol.prototype.writeString = function (arg) {
   // We do not encode uri components for wire transfer:
   if (arg === null) {
-      this.tstack.push(null);
+    this.tstack.push(null);
   } else {
-      if (typeof arg === 'string') {
-        var str = arg;
-      } else if (arg instanceof Buffer) {
-        var str = arg.toString('utf8');
-      } else {
-        throw new Error('writeString called without a string/Buffer argument: ' + arg);
-      }
+    if (typeof arg === "string") {
+      var str = arg;
+    } else if (arg instanceof Buffer) {
+      var str = arg.toString("utf8");
+    } else {
+      throw new Error(
+        "writeString called without a string/Buffer argument: " + arg,
+      );
+    }
 
-      // concat may be slower than building a byte buffer
-      var escapedString = '';
-      for (var i = 0; i < str.length; i++) {
-          var ch = str.charAt(i);      // a single double quote: "
-          if (ch === '\"') {
-              escapedString += '\\\"'; // write out as: \"
-          } else if (ch === '\\') {    // a single backslash: \
-              escapedString += '\\\\'; // write out as: \\
-          /* Currently escaped forward slashes break TJSONProtocol.
-           * As it stands, we can simply pass forward slashes into
-           * our strings across the wire without being escaped.
-           * I think this is the protocol's bug, not thrift.js
-           * } else if(ch === '/') {   // a single forward slash: /
-           *  escapedString += '\\/';  // write out as \/
-           * }
-           */
-          } else if (ch === '\b') {    // a single backspace: invisible
-              escapedString += '\\b';  // write out as: \b"
-          } else if (ch === '\f') {    // a single formfeed: invisible
-              escapedString += '\\f';  // write out as: \f"
-          } else if (ch === '\n') {    // a single newline: invisible
-              escapedString += '\\n';  // write out as: \n"
-          } else if (ch === '\r') {    // a single return: invisible
-              escapedString += '\\r';  // write out as: \r"
-          } else if (ch === '\t') {    // a single tab: invisible
-              escapedString += '\\t';  // write out as: \t"
-          } else {
-              escapedString += ch;     // Else it need not be escaped
-          }
+    // concat may be slower than building a byte buffer
+    var escapedString = "";
+    for (var i = 0; i < str.length; i++) {
+      var ch = str.charAt(i); // a single double quote: "
+      if (ch === '\"') {
+        escapedString += '\\\"'; // write out as: \"
+      } else if (ch === "\\") {
+        // a single backslash: \
+        escapedString += "\\\\"; // write out as: \\
+        /* Currently escaped forward slashes break TJSONProtocol.
+         * As it stands, we can simply pass forward slashes into
+         * our strings across the wire without being escaped.
+         * I think this is the protocol's bug, not thrift.js
+         * } else if(ch === '/') {   // a single forward slash: /
+         *  escapedString += '\\/';  // write out as \/
+         * }
+         */
+      } else if (ch === "\b") {
+        // a single backspace: invisible
+        escapedString += "\\b"; // write out as: \b"
+      } else if (ch === "\f") {
+        // a single formfeed: invisible
+        escapedString += "\\f"; // write out as: \f"
+      } else if (ch === "\n") {
+        // a single newline: invisible
+        escapedString += "\\n"; // write out as: \n"
+      } else if (ch === "\r") {
+        // a single return: invisible
+        escapedString += "\\r"; // write out as: \r"
+      } else if (ch === "\t") {
+        // a single tab: invisible
+        escapedString += "\\t"; // write out as: \t"
+      } else {
+        escapedString += ch; // Else it need not be escaped
       }
-      this.tstack.push('"' + escapedString + '"');
+    }
+    this.tstack.push('"' + escapedString + '"');
   }
 };
 
 /** Serializes a string */
-TJSONProtocol.prototype.writeBinary = function(arg) {
-  if (typeof arg === 'string') {
-    var buf = new Buffer(arg, 'binary');
-  } else if (arg instanceof Buffer ||
-             Object.prototype.toString.call(arg) == '[object Uint8Array]')  {
+TJSONProtocol.prototype.writeBinary = function (arg) {
+  if (typeof arg === "string") {
+    var buf = new Buffer(arg, "binary");
+  } else if (
+    arg instanceof Buffer ||
+    Object.prototype.toString.call(arg) == "[object Uint8Array]"
+  ) {
     var buf = arg;
   } else {
-    throw new Error('writeBinary called without a string/Buffer argument: ' + arg);
+    throw new Error(
+      "writeBinary called without a string/Buffer argument: " + arg,
+    );
   }
-  this.tstack.push('"' + buf.toString('base64') + '"');
+  this.tstack.push('"' + buf.toString("base64") + '"');
 };
 
 /**
@@ -408,7 +435,7 @@
  * Deserializes the beginning of a message.
  * @returns {AnonReadMessageBeginReturn}
  */
-TJSONProtocol.prototype.readMessageBegin = function() {
+TJSONProtocol.prototype.readMessageBegin = function () {
   this.rstack = [];
   this.rpos = [];
 
@@ -419,7 +446,8 @@
   }
   var cursor = transBuf.readIndex;
 
-  if (transBuf.buf[cursor] !== 0x5B) { //[
+  if (transBuf.buf[cursor] !== 0x5b) {
+    //[
     throw new Error("Malformed JSON input, no opening bracket");
   }
 
@@ -432,22 +460,27 @@
     var chr = transBuf.buf[cursor];
     //we use hexa charcode here because data[i] returns an int and not a char
     if (inString) {
-      if (chr === 0x22) { //"
+      if (chr === 0x22) {
+        //"
         inString = false;
-      } else if (chr === 0x5C) { //\
+      } else if (chr === 0x5c) {
+        //\
         //escaped character, skip
         cursor += 1;
       }
     } else {
-      if (chr === 0x5B) { //[
+      if (chr === 0x5b) {
+        //[
         openBracketCount += 1;
-      } else if (chr === 0x5D) { //]
+      } else if (chr === 0x5d) {
+        //]
         openBracketCount -= 1;
         if (openBracketCount === 0) {
           //end of json message detected
           break;
         }
-      } else if (chr === 0x22) { //"
+      } else if (chr === 0x22) {
+        //"
         inString = true;
       }
     }
@@ -459,13 +492,15 @@
   }
 
   //Reconstitute the JSON object and conume the necessary bytes
-  this.robj = json_parse(transBuf.buf.slice(transBuf.readIndex, cursor+1).toString());
+  this.robj = json_parse(
+    transBuf.buf.slice(transBuf.readIndex, cursor + 1).toString(),
+  );
   this.trans.consume(cursor + 1 - transBuf.readIndex);
 
   //Verify the protocol version
   var version = this.robj.shift();
   if (version != TJSONProtocol.Version) {
-    throw new Error('Wrong thrift protocol version: ' + version);
+    throw new Error("Wrong thrift protocol version: " + version);
   }
 
   //Objectify the thrift message {name/type/sequence-number} for return
@@ -479,17 +514,16 @@
 };
 
 /** Deserializes the end of a message. */
-TJSONProtocol.prototype.readMessageEnd = function() {
-};
+TJSONProtocol.prototype.readMessageEnd = function () {};
 
 /**
  * Deserializes the beginning of a struct.
  * @param {string} [name] - The name of the struct (ignored)
  * @returns {object} - An object with an empty string fname property
  */
-TJSONProtocol.prototype.readStructBegin = function() {
+TJSONProtocol.prototype.readStructBegin = function () {
   var r = {};
-  r.fname = '';
+  r.fname = "";
 
   //incase this is an array of structs
   if (this.rstack[this.rstack.length - 1] instanceof Array) {
@@ -500,7 +534,7 @@
 };
 
 /** Deserializes the end of a struct. */
-TJSONProtocol.prototype.readStructEnd = function() {
+TJSONProtocol.prototype.readStructEnd = function () {
   this.rstack.pop();
 };
 
@@ -515,14 +549,14 @@
  * Deserializes the beginning of a field.
  * @returns {AnonReadFieldBeginReturn}
  */
-TJSONProtocol.prototype.readFieldBegin = function() {
+TJSONProtocol.prototype.readFieldBegin = function () {
   var r = {};
 
   var fid = -1;
   var ftype = Type.STOP;
 
   //get a fieldId
-  for (var f in (this.rstack[this.rstack.length - 1])) {
+  for (var f in this.rstack[this.rstack.length - 1]) {
     if (f === null) {
       continue;
     }
@@ -543,17 +577,18 @@
   if (fid != -1) {
     //should only be 1 of these but this is the only
     //way to match a key
-    for (var i in (this.rstack[this.rstack.length - 1])) {
+    for (var i in this.rstack[this.rstack.length - 1]) {
       if (TJSONProtocol.RType[i] === null) {
         continue;
       }
 
       ftype = TJSONProtocol.RType[i];
-      this.rstack[this.rstack.length - 1] = this.rstack[this.rstack.length - 1][i];
+      this.rstack[this.rstack.length - 1] =
+        this.rstack[this.rstack.length - 1][i];
     }
   }
 
-  r.fname = '';
+  r.fname = "";
   r.ftype = ftype;
   r.fid = fid;
 
@@ -561,7 +596,7 @@
 };
 
 /** Deserializes the end of a field. */
-TJSONProtocol.prototype.readFieldEnd = function() {
+TJSONProtocol.prototype.readFieldEnd = function () {
   var pos = this.rpos.pop();
 
   //get back to the right place in the stack
@@ -581,7 +616,7 @@
  * Deserializes the beginning of a map.
  * @returns {AnonReadMapBeginReturn}
  */
-TJSONProtocol.prototype.readMapBegin = function() {
+TJSONProtocol.prototype.readMapBegin = function () {
   var map = this.rstack.pop();
   var first = map.shift();
   if (first instanceof Array) {
@@ -595,7 +630,6 @@
   r.vtype = TJSONProtocol.RType[map.shift()];
   r.size = map.shift();
 
-
   this.rpos.push(this.rstack.length);
   this.rstack.push(map.shift());
 
@@ -603,7 +637,7 @@
 };
 
 /** Deserializes the end of a map. */
-TJSONProtocol.prototype.readMapEnd = function() {
+TJSONProtocol.prototype.readMapEnd = function () {
   this.readFieldEnd();
 };
 
@@ -617,7 +651,7 @@
  * Deserializes the beginning of a list.
  * @returns {AnonReadColBeginReturn}
  */
-TJSONProtocol.prototype.readListBegin = function() {
+TJSONProtocol.prototype.readListBegin = function () {
   var list = this.rstack[this.rstack.length - 1];
 
   var r = {};
@@ -631,7 +665,7 @@
 };
 
 /** Deserializes the end of a list. */
-TJSONProtocol.prototype.readListEnd = function() {
+TJSONProtocol.prototype.readListEnd = function () {
   var pos = this.rpos.pop() - 2;
   var st = this.rstack;
   st.pop();
@@ -644,33 +678,33 @@
  * Deserializes the beginning of a set.
  * @returns {AnonReadColBeginReturn}
  */
-TJSONProtocol.prototype.readSetBegin = function() {
+TJSONProtocol.prototype.readSetBegin = function () {
   return this.readListBegin();
 };
 
 /** Deserializes the end of a set. */
-TJSONProtocol.prototype.readSetEnd = function() {
+TJSONProtocol.prototype.readSetEnd = function () {
   return this.readListEnd();
 };
 
-TJSONProtocol.prototype.readBool = function() {
-  return this.readValue() == '1';
+TJSONProtocol.prototype.readBool = function () {
+  return this.readValue() == "1";
 };
 
-TJSONProtocol.prototype.readByte = function() {
+TJSONProtocol.prototype.readByte = function () {
   return this.readI32();
 };
 
-TJSONProtocol.prototype.readI16 = function() {
+TJSONProtocol.prototype.readI16 = function () {
   return this.readI32();
 };
 
-TJSONProtocol.prototype.readI32 = function(f) {
+TJSONProtocol.prototype.readI32 = function (f) {
   return +this.readValue();
-}
+};
 
 /** Returns the next value found in the protocol buffer */
-TJSONProtocol.prototype.readValue = function(f) {
+TJSONProtocol.prototype.readValue = function (f) {
   if (f === undefined) {
     f = this.rstack[this.rstack.length - 1];
   }
@@ -702,9 +736,9 @@
   return r.value;
 };
 
-TJSONProtocol.prototype.readI64 = function() {
-  var n = this.readValue()
-  if (typeof n === 'string') {
+TJSONProtocol.prototype.readI64 = function () {
+  var n = this.readValue();
+  if (typeof n === "string") {
     // Assuming no one is sending in 1.11111e+33 format
     return Int64Util.fromDecimalString(n);
   } else {
@@ -712,15 +746,15 @@
   }
 };
 
-TJSONProtocol.prototype.readDouble = function() {
+TJSONProtocol.prototype.readDouble = function () {
   return this.readI32();
 };
 
-TJSONProtocol.prototype.readBinary = function() {
-  return new Buffer(this.readValue(), 'base64');
+TJSONProtocol.prototype.readBinary = function () {
+  return new Buffer(this.readValue(), "base64");
 };
 
-TJSONProtocol.prototype.readString = function() {
+TJSONProtocol.prototype.readString = function () {
   return this.readValue();
 };
 
@@ -729,15 +763,15 @@
  * @readonly
  * @returns {Thrift.Transport} The underlying transport.
  */
-TJSONProtocol.prototype.getTransport = function() {
+TJSONProtocol.prototype.getTransport = function () {
   return this.trans;
 };
 
 /**
  * Method to arbitrarily skip over data
  */
-TJSONProtocol.prototype.skip = function(type) {
-    switch (type) {
+TJSONProtocol.prototype.skip = function (type) {
+  switch (type) {
     case Type.BOOL:
       this.readBool();
       break;
@@ -794,6 +828,6 @@
       this.readListEnd();
       break;
     default:
-      throw new  Error("Invalid type: " + type);
+      throw new Error("Invalid type: " + type);
   }
 };
diff --git a/lib/nodejs/lib/thrift/log.js b/lib/nodejs/lib/thrift/log.js
index 053e813..82d8a22 100644
--- a/lib/nodejs/lib/thrift/log.js
+++ b/lib/nodejs/lib/thrift/log.js
@@ -17,17 +17,17 @@
  * under the License.
  */
 
-var util = require('util');
+var util = require("util");
 
 var disabled = function () {};
 var logFunc = console.log;
-var logLevel = 'error'; // default level
+var logLevel = "error"; // default level
 
 function factory(level) {
   return function () {
     // better use spread syntax, but due to compatibility,
     // use legacy method here.
-    var args = ['thrift: [' + level + '] '].concat(Array.from(arguments));
+    var args = ["thrift: [" + level + "] "].concat(Array.from(arguments));
     return logFunc(util.format.apply(null, args));
   };
 }
@@ -42,22 +42,22 @@
   logFunc = func;
 };
 
-var setLogLevel = exports.setLogLevel = function (level) {
+var setLogLevel = (exports.setLogLevel = function (level) {
   trace = debug = error = warning = info = disabled;
   logLevel = level;
   switch (logLevel) {
-  case 'trace':
-    trace = factory('TRACE');
-  case 'debug':
-    debug = factory('DEBUG');
-  case 'error':
-    error = factory('ERROR');
-  case 'warning':
-    warning = factory('WARN');
-  case 'info':
-    info = factory('INFO');
+    case "trace":
+      trace = factory("TRACE");
+    case "debug":
+      debug = factory("DEBUG");
+    case "error":
+      error = factory("ERROR");
+    case "warning":
+      warning = factory("WARN");
+    case "info":
+      info = factory("INFO");
   }
-};
+});
 
 // set default
 setLogLevel(logLevel);
diff --git a/lib/nodejs/lib/thrift/multiplexed_processor.js b/lib/nodejs/lib/thrift/multiplexed_processor.js
index 67b62f7..864d66d 100644
--- a/lib/nodejs/lib/thrift/multiplexed_processor.js
+++ b/lib/nodejs/lib/thrift/multiplexed_processor.js
@@ -16,31 +16,38 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-var Thrift = require('./thrift');
+var Thrift = require("./thrift");
 
 exports.MultiplexedProcessor = MultiplexedProcessor;
 
 function MultiplexedProcessor(stream, options) {
   this.services = {};
-};
+}
 
-MultiplexedProcessor.prototype.registerProcessor = function(name, handler) {
+MultiplexedProcessor.prototype.registerProcessor = function (name, handler) {
   this.services[name] = handler;
 };
 
-MultiplexedProcessor.prototype.process = function(inp, out) {
+MultiplexedProcessor.prototype.process = function (inp, out) {
   var begin = inp.readMessageBegin();
 
-  if (begin.mtype != Thrift.MessageType.CALL && begin.mtype != Thrift.MessageType.ONEWAY) {
-    throw new Thrift.TException('TMultiplexedProcessor: Unexpected message type');
+  if (
+    begin.mtype != Thrift.MessageType.CALL &&
+    begin.mtype != Thrift.MessageType.ONEWAY
+  ) {
+    throw new Thrift.TException(
+      "TMultiplexedProcessor: Unexpected message type",
+    );
   }
 
-  var p = begin.fname.split(':');
+  var p = begin.fname.split(":");
   var sname = p[0];
   var fname = p[1];
 
-  if (! (sname in this.services)) {
-    throw new Thrift.TException('TMultiplexedProcessor: Unknown service: ' + sname);
+  if (!(sname in this.services)) {
+    throw new Thrift.TException(
+      "TMultiplexedProcessor: Unknown service: " + sname,
+    );
   }
 
   //construct a proxy object which stubs the readMessageBegin
@@ -51,11 +58,11 @@
     inpProxy[attr] = inp[attr];
   }
 
-  inpProxy.readMessageBegin = function() {
+  inpProxy.readMessageBegin = function () {
     return {
       fname: fname,
       mtype: begin.mtype,
-      rseqid: begin.rseqid
+      rseqid: begin.rseqid,
     };
   };
 
diff --git a/lib/nodejs/lib/thrift/multiplexed_protocol.js b/lib/nodejs/lib/thrift/multiplexed_protocol.js
index d078aa2..1d2df96 100644
--- a/lib/nodejs/lib/thrift/multiplexed_protocol.js
+++ b/lib/nodejs/lib/thrift/multiplexed_protocol.js
@@ -16,55 +16,69 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-var util = require('util');
-var Thrift = require('./thrift');
+var util = require("util");
+var Thrift = require("./thrift");
 
 exports.Multiplexer = Multiplexer;
 
 function Wrapper(serviceName, protocol, connection) {
-
   function MultiplexProtocol(trans, strictRead, strictWrite) {
     protocol.call(this, trans, strictRead, strictWrite);
-  };
+  }
 
   util.inherits(MultiplexProtocol, protocol);
 
-  MultiplexProtocol.prototype.writeMessageBegin = function(name, type, seqid) {
+  MultiplexProtocol.prototype.writeMessageBegin = function (name, type, seqid) {
     if (type == Thrift.MessageType.CALL || type == Thrift.MessageType.ONEWAY) {
       connection.seqId2Service[seqid] = serviceName;
-      MultiplexProtocol.super_.prototype.writeMessageBegin.call(this,
-                                                                serviceName + ":" + name,
-                                                                type,
-                                                                seqid);
+      MultiplexProtocol.super_.prototype.writeMessageBegin.call(
+        this,
+        serviceName + ":" + name,
+        type,
+        seqid,
+      );
     } else {
-      MultiplexProtocol.super_.prototype.writeMessageBegin.call(this, name, type, seqid);
+      MultiplexProtocol.super_.prototype.writeMessageBegin.call(
+        this,
+        name,
+        type,
+        seqid,
+      );
     }
   };
 
   return MultiplexProtocol;
-};
+}
 
 function Multiplexer() {
   this.seqid = 0;
-};
+}
 
-Multiplexer.prototype.createClient = function(serviceName, ServiceClient, connection) {
+Multiplexer.prototype.createClient = function (
+  serviceName,
+  ServiceClient,
+  connection,
+) {
   if (ServiceClient.Client) {
     ServiceClient = ServiceClient.Client;
   }
-  var writeCb = function(buf, seqid) {
-    connection.write(buf,seqid);
+  var writeCb = function (buf, seqid) {
+    connection.write(buf, seqid);
   };
   var transport = new connection.transport(undefined, writeCb);
-  var protocolWrapper = new Wrapper(serviceName, connection.protocol, connection);
+  var protocolWrapper = new Wrapper(
+    serviceName,
+    connection.protocol,
+    connection,
+  );
   var client = new ServiceClient(transport, protocolWrapper);
   var self = this;
-  client.new_seqid = function() {
+  client.new_seqid = function () {
     self.seqid += 1;
     return self.seqid;
   };
 
-  if (typeof connection.client !== 'object') {
+  if (typeof connection.client !== "object") {
     connection.client = {};
   }
   connection.client[serviceName] = client;
diff --git a/lib/nodejs/lib/thrift/ohos_connection.js b/lib/nodejs/lib/thrift/ohos_connection.js
index 95bf122..34afaae 100644
--- a/lib/nodejs/lib/thrift/ohos_connection.js
+++ b/lib/nodejs/lib/thrift/ohos_connection.js
@@ -16,15 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-var util = require('util');
-var EventEmitter = require('events').EventEmitter;
-var thrift = require('./thrift');
+var util = require("util");
+var EventEmitter = require("events").EventEmitter;
+var thrift = require("./thrift");
 
-var TBufferedTransport = require('./buffered_transport');
-var TBinaryProtocol = require('./binary_protocol');
-var InputBufferUnderrunError = require('./input_buffer_underrun_error');
+var TBufferedTransport = require("./buffered_transport");
+var TBinaryProtocol = require("./binary_protocol");
+var InputBufferUnderrunError = require("./input_buffer_underrun_error");
 
-var createClient = require('./create_client');
+var createClient = require("./create_client");
 
 /**
  * @class
@@ -69,7 +69,7 @@
  *     semantics implemented over the OpenHarmonyOS http.request() method.
  * @see {@link createOhosConnection}
  */
-var OhosConnection = exports.OhosConnection = function(options) {
+var OhosConnection = (exports.OhosConnection = function (options) {
   //Initialize the emitter base object
   EventEmitter.call(this);
 
@@ -78,12 +78,12 @@
   this.options = options || {};
   this.host = this.options.host;
   this.port = this.options.port;
-  this.path = this.options.path || '/';
+  this.path = this.options.path || "/";
   //OpenHarmonyOS needs URL for initiating an HTTP request.
   this.url =
     this.port === 80
-      ? this.host.replace(/\/$/, '') + this.path
-      : this.host.replace(/\/$/, '') + ':' + this.port + this.path;
+      ? this.host.replace(/\/$/, "") + this.path
+      : this.host.replace(/\/$/, "") + ":" + this.port + this.path;
   this.transport = this.options.transport || TBufferedTransport;
   this.protocol = this.options.protocol || TBinaryProtocol;
   //Inherit method from OpenHarmonyOS HTTP module
@@ -91,17 +91,17 @@
 
   //Prepare HTTP request options
   this.requestOptions = {
-    method: 'POST',
+    method: "POST",
     header: this.options.header || {},
     readTimeout: this.options.readTimeout || 60000,
-    connectTimeout: this.options.connectTimeout || 60000
+    connectTimeout: this.options.connectTimeout || 60000,
   };
   for (var attrname in this.options.requestOptions) {
     this.requestOptions[attrname] = this.options.requestOptions[attrname];
   }
   /*jshint -W069 */
-  if (!this.requestOptions.header['Connection']) {
-    this.requestOptions.header['Connection'] = 'keep-alive';
+  if (!this.requestOptions.header["Connection"]) {
+    this.requestOptions.header["Connection"] = "keep-alive";
   }
   /*jshint +W069 */
 
@@ -134,60 +134,61 @@
           delete self.seqId2Service[header.rseqid];
         }
         /*jshint -W083 */
-        client._reqs[dummy_seqid] = function(err, success){
+        client._reqs[dummy_seqid] = function (err, success) {
           transport_with_data.commitPosition();
           var clientCallback = client._reqs[header.rseqid];
           delete client._reqs[header.rseqid];
           if (clientCallback) {
-            process.nextTick(function() {
+            process.nextTick(function () {
               clientCallback(err, success);
             });
           }
         };
         /*jshint +W083 */
-        if(client['recv_' + header.fname]) {
-          client['recv_' + header.fname](proto, header.mtype, dummy_seqid);
+        if (client["recv_" + header.fname]) {
+          client["recv_" + header.fname](proto, header.mtype, dummy_seqid);
         } else {
           delete client._reqs[dummy_seqid];
-          self.emit("error",
-                    new thrift.TApplicationException(
-                       thrift.TApplicationExceptionType.WRONG_METHOD_NAME,
-                       "Received a response to an unknown RPC function"));
+          self.emit(
+            "error",
+            new thrift.TApplicationException(
+              thrift.TApplicationExceptionType.WRONG_METHOD_NAME,
+              "Received a response to an unknown RPC function",
+            ),
+          );
         }
       }
-    }
-    catch (e) {
+    } catch (e) {
       if (e instanceof InputBufferUnderrunError) {
         transport_with_data.rollbackPosition();
       } else {
-        self.emit('error', e);
+        self.emit("error", e);
       }
     }
   }
 
-
   //Response handler
   //////////////////////////////////////////////////
-  this.responseCallback = function(error, response) {
+  this.responseCallback = function (error, response) {
     //Response will be a struct like:
     // https://developer.harmonyos.com/en/docs/documentation/doc-references/js-apis-net-http-0000001168304341#section15920192914312
     var data = [];
     var dataLen = 0;
 
     if (error) {
-      self.emit('error', error);
+      self.emit("error", error);
       return;
     }
 
     if (!response || response.responseCode !== 200) {
-      self.emit('error', new THTTPException(response));
+      self.emit("error", new THTTPException(response));
     }
 
     // With OpenHarmonyOS running in a Browser (e.g. Browserify), chunk
     // will be a string or an ArrayBuffer.
     if (
-      typeof response.result == 'string' ||
-      Object.prototype.toString.call(response.result) == '[object Uint8Array]'
+      typeof response.result == "string" ||
+      Object.prototype.toString.call(response.result) == "[object Uint8Array]"
     ) {
       // Wrap ArrayBuffer/string in a Buffer so data[i].copy will work
       data.push(Buffer.from(response.result));
@@ -211,7 +212,7 @@
    * @event {error} the "error" event is raised upon request failure passing the
    *     Node.js error object to the listener.
    */
-  this.write = function(data) {
+  this.write = function (data) {
     //To initiate multiple HTTP requests, we must create an HttpRequest object
     // for each HTTP request
     var http = self.createHttp();
@@ -223,7 +224,7 @@
     opts.extraData = data.toString();
     http.request(self.url, opts, self.responseCallback);
   };
-};
+});
 util.inherits(OhosConnection, EventEmitter);
 
 /**
@@ -236,7 +237,7 @@
  * @returns {OhosConnection} The connection object.
  * @see {@link ConnectOptions}
  */
-exports.createOhosConnection = function(createHttp, host, port, options) {
+exports.createOhosConnection = function (createHttp, host, port, options) {
   options.createHttp = createHttp;
   options.host = host;
   options.port = port || 80;
@@ -256,6 +257,6 @@
   this.response = response;
   this.type = thrift.TApplicationExceptionType.PROTOCOL_ERROR;
   this.message =
-    'Received a response with a bad HTTP status code: ' + response.responseCode;
+    "Received a response with a bad HTTP status code: " + response.responseCode;
 }
 util.inherits(THTTPException, thrift.TApplicationException);
diff --git a/lib/nodejs/lib/thrift/protocol.js b/lib/nodejs/lib/thrift/protocol.js
index a70ebe2..6eb88da 100644
--- a/lib/nodejs/lib/thrift/protocol.js
+++ b/lib/nodejs/lib/thrift/protocol.js
@@ -17,6 +17,6 @@
  * under the License.
  */
 
-module.exports.TBinaryProtocol = require('./binary_protocol');
-module.exports.TCompactProtocol = require('./compact_protocol');
-module.exports.TJSONProtocol = require('./json_protocol');
+module.exports.TBinaryProtocol = require("./binary_protocol");
+module.exports.TCompactProtocol = require("./compact_protocol");
+module.exports.TJSONProtocol = require("./json_protocol");
diff --git a/lib/nodejs/lib/thrift/server.js b/lib/nodejs/lib/thrift/server.js
index 16b74ea..80a369f 100644
--- a/lib/nodejs/lib/thrift/server.js
+++ b/lib/nodejs/lib/thrift/server.js
@@ -17,14 +17,14 @@
  * under the License.
  */
 
-var constants = require('constants');
-var net = require('net');
-var tls = require('tls');
+var constants = require("constants");
+var net = require("net");
+var tls = require("tls");
 
-var TBufferedTransport = require('./buffered_transport');
-var TBinaryProtocol = require('./binary_protocol');
-var THeaderProtocol = require('./header_protocol');
-var InputBufferUnderrunError = require('./input_buffer_underrun_error');
+var TBufferedTransport = require("./buffered_transport");
+var TBinaryProtocol = require("./binary_protocol");
+var THeaderProtocol = require("./header_protocol");
+var InputBufferUnderrunError = require("./input_buffer_underrun_error");
 
 /**
  * Create a Thrift server which can serve one or multiple services.
@@ -33,75 +33,82 @@
  * @param {ServerOptions} options - Optional additional server configuration.
  * @returns {object} - The Apache Thrift Multiplex Server.
  */
-exports.createMultiplexServer = function(processor, options) {
-  var transport = (options && options.transport) ? options.transport : TBufferedTransport;
-  var protocol = (options && options.protocol) ? options.protocol : TBinaryProtocol;
+exports.createMultiplexServer = function (processor, options) {
+  var transport =
+    options && options.transport ? options.transport : TBufferedTransport;
+  var protocol =
+    options && options.protocol ? options.protocol : TBinaryProtocol;
 
   function serverImpl(stream) {
     var self = this;
-    stream.on('error', function(err) {
-        self.emit('error', err);
+    stream.on("error", function (err) {
+      self.emit("error", err);
     });
-    stream.on('data', transport.receiver(function(transportWithData) {
-      var input = new protocol(transportWithData);
-      var outputCb = function(buf) {
-        try {
+    stream.on(
+      "data",
+      transport.receiver(function (transportWithData) {
+        var input = new protocol(transportWithData);
+        var outputCb = function (buf) {
+          try {
             stream.write(buf);
-        } catch (err) {
-            self.emit('error', err);
+          } catch (err) {
+            self.emit("error", err);
             stream.end();
-        }
-      };
+          }
+        };
 
-      var output = new protocol(new transport(undefined, outputCb));
-      // Read and write need to be performed on the same transport
-      // for THeaderProtocol because we should only respond with
-      // headers if the request contains headers
-      if (protocol === THeaderProtocol) {
-        output = input;
-        output.trans.onFlush = outputCb;
-      }
+        var output = new protocol(new transport(undefined, outputCb));
+        // Read and write need to be performed on the same transport
+        // for THeaderProtocol because we should only respond with
+        // headers if the request contains headers
+        if (protocol === THeaderProtocol) {
+          output = input;
+          output.trans.onFlush = outputCb;
+        }
 
-      try {
-        do {
-          processor.process(input, output);
-          transportWithData.commitPosition();
-        } while (true);
-      } catch (err) {
-        if (err instanceof InputBufferUnderrunError) {
-          //The last data in the buffer was not a complete message, wait for the rest
-          transportWithData.rollbackPosition();
+        try {
+          do {
+            processor.process(input, output);
+            transportWithData.commitPosition();
+          } while (true);
+        } catch (err) {
+          if (err instanceof InputBufferUnderrunError) {
+            //The last data in the buffer was not a complete message, wait for the rest
+            transportWithData.rollbackPosition();
+          } else if (err.message === "Invalid type: undefined") {
+            //No more data in the buffer
+            //This trap is a bit hackish
+            //The next step to improve the node behavior here is to have
+            //  the compiler generated process method throw a more explicit
+            //  error when the network buffer is empty (regardles of the
+            //  protocol/transport stack in use) and replace this heuristic.
+            //  Also transports should probably not force upper layers to
+            //  manage their buffer positions (i.e. rollbackPosition() and
+            //  commitPosition() should be eliminated in lieu of a transport
+            //  encapsulated buffer management strategy.)
+            transportWithData.rollbackPosition();
+          } else {
+            //Unexpected error
+            self.emit("error", err);
+            stream.end();
+          }
         }
-        else if (err.message === "Invalid type: undefined") {
-          //No more data in the buffer
-          //This trap is a bit hackish
-          //The next step to improve the node behavior here is to have
-          //  the compiler generated process method throw a more explicit
-          //  error when the network buffer is empty (regardles of the
-          //  protocol/transport stack in use) and replace this heuristic.
-          //  Also transports should probably not force upper layers to
-          //  manage their buffer positions (i.e. rollbackPosition() and
-          //  commitPosition() should be eliminated in lieu of a transport
-          //  encapsulated buffer management strategy.)
-          transportWithData.rollbackPosition();
-        }
-        else {
-          //Unexpected error
-          self.emit('error', err);
-          stream.end();
-        }
-      }
-    }));
+      }),
+    );
 
-    stream.on('end', function() {
+    stream.on("end", function () {
       stream.end();
     });
   }
 
   if (options && options.tls) {
-    if (!('secureProtocol' in options.tls) && !('secureOptions' in options.tls)) {
+    if (
+      !("secureProtocol" in options.tls) &&
+      !("secureOptions" in options.tls)
+    ) {
       options.tls.secureProtocol = "SSLv23_method";
-      options.tls.secureOptions = constants.SSL_OP_NO_SSLv2 | constants.SSL_OP_NO_SSLv3;
+      options.tls.secureOptions =
+        constants.SSL_OP_NO_SSLv2 | constants.SSL_OP_NO_SSLv3;
     }
     return tls.createServer(options.tls, serverImpl);
   } else {
@@ -115,7 +122,7 @@
  * @param {ServerOptions} options - Optional additional server configuration.
  * @returns {object} - The Apache Thrift Multiplex Server.
  */
-exports.createServer = function(processor, handler, options) {
+exports.createServer = function (processor, handler, options) {
   if (processor.Processor) {
     processor = processor.Processor;
   }
diff --git a/lib/nodejs/lib/thrift/thrift.js b/lib/nodejs/lib/thrift/thrift.js
index 3a693f6..741a493 100644
--- a/lib/nodejs/lib/thrift/thrift.js
+++ b/lib/nodejs/lib/thrift/thrift.js
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-var util = require('util');
+var util = require("util");
 
-var Type = exports.Type = {
+var Type = (exports.Type = {
   STOP: 0,
   VOID: 1,
   BOOL: 2,
@@ -35,14 +35,14 @@
   SET: 14,
   LIST: 15,
   UTF8: 16,
-  UTF16: 17
-};
+  UTF16: 17,
+});
 
 exports.MessageType = {
   CALL: 1,
   REPLY: 2,
   EXCEPTION: 3,
-  ONEWAY: 4
+  ONEWAY: 4,
 };
 
 exports.TException = TException;
@@ -55,10 +55,10 @@
 
   this.name = this.constructor.name;
   this.message = message;
-};
+}
 util.inherits(TException, Error);
 
-var TApplicationExceptionType = exports.TApplicationExceptionType = {
+var TApplicationExceptionType = (exports.TApplicationExceptionType = {
   UNKNOWN: 0,
   UNKNOWN_METHOD: 1,
   INVALID_MESSAGE_TYPE: 2,
@@ -69,8 +69,8 @@
   PROTOCOL_ERROR: 7,
   INVALID_TRANSFORM: 8,
   INVALID_PROTOCOL: 9,
-  UNSUPPORTED_CLIENT_TYPE: 10
-};
+  UNSUPPORTED_CLIENT_TYPE: 10,
+});
 
 exports.TApplicationException = TApplicationException;
 
@@ -83,73 +83,73 @@
   this.type = type || TApplicationExceptionType.UNKNOWN;
   this.name = this.constructor.name;
   this.message = message;
-};
+}
 util.inherits(TApplicationException, TException);
 
-TApplicationException.prototype[Symbol.for("read")] = TApplicationException.prototype.read = function(input) {
-  var ftype;
-  var ret = input.readStructBegin('TApplicationException');
+TApplicationException.prototype[Symbol.for("read")] =
+  TApplicationException.prototype.read = function (input) {
+    var ftype;
+    var ret = input.readStructBegin("TApplicationException");
 
-  while(1){
+    while (1) {
       ret = input.readFieldBegin();
-      if(ret.ftype == Type.STOP)
-          break;
+      if (ret.ftype == Type.STOP) break;
 
-      switch(ret.fid){
-          case 1:
-              if( ret.ftype == Type.STRING ){
-                  ret = input.readString();
-                  this.message = ret;
-              } else {
-                  ret = input.skip(ret.ftype);
-              }
-              break;
-          case 2:
-              if( ret.ftype == Type.I32 ){
-                  ret = input.readI32();
-                  this.type = ret;
-              } else {
-                  ret   = input.skip(ret.ftype);
-              }
-              break;
-          default:
-              ret = input.skip(ret.ftype);
-              break;
+      switch (ret.fid) {
+        case 1:
+          if (ret.ftype == Type.STRING) {
+            ret = input.readString();
+            this.message = ret;
+          } else {
+            ret = input.skip(ret.ftype);
+          }
+          break;
+        case 2:
+          if (ret.ftype == Type.I32) {
+            ret = input.readI32();
+            this.type = ret;
+          } else {
+            ret = input.skip(ret.ftype);
+          }
+          break;
+        default:
+          ret = input.skip(ret.ftype);
+          break;
       }
       input.readFieldEnd();
-  }
-  input.readStructEnd();
-};
+    }
+    input.readStructEnd();
+  };
 
-TApplicationException.prototype[Symbol.for("write")] = TApplicationException.prototype.write = function(output){
-  output.writeStructBegin('TApplicationException');
+TApplicationException.prototype[Symbol.for("write")] =
+  TApplicationException.prototype.write = function (output) {
+    output.writeStructBegin("TApplicationException");
 
-  if (this.message) {
-      output.writeFieldBegin('message', Type.STRING, 1);
+    if (this.message) {
+      output.writeFieldBegin("message", Type.STRING, 1);
       output.writeString(this.message);
       output.writeFieldEnd();
-  }
+    }
 
-  if (this.code) {
-      output.writeFieldBegin('type', Type.I32, 2);
+    if (this.code) {
+      output.writeFieldBegin("type", Type.I32, 2);
       output.writeI32(this.code);
       output.writeFieldEnd();
-  }
+    }
 
-  output.writeFieldStop();
-  output.writeStructEnd();
-};
+    output.writeFieldStop();
+    output.writeStructEnd();
+  };
 
-var TProtocolExceptionType = exports.TProtocolExceptionType = {
+var TProtocolExceptionType = (exports.TProtocolExceptionType = {
   UNKNOWN: 0,
   INVALID_DATA: 1,
   NEGATIVE_SIZE: 2,
   SIZE_LIMIT: 3,
   BAD_VERSION: 4,
   NOT_IMPLEMENTED: 5,
-  DEPTH_LIMIT: 6
-};
-
+  DEPTH_LIMIT: 6,
+});
 
 exports.TProtocolException = TProtocolException;
 
@@ -162,74 +162,74 @@
   this.name = this.constructor.name;
   this.type = type;
   this.message = message;
-};
+}
 util.inherits(TProtocolException, Error);
 
-exports.objectLength = function(obj) {
+exports.objectLength = function (obj) {
   return Object.keys(obj).length;
 };
 
-exports.inherits = function(constructor, superConstructor) {
+exports.inherits = function (constructor, superConstructor) {
   util.inherits(constructor, superConstructor);
 };
 
 var copyList, copyMap;
 
-copyList = function(lst, types) {
-
-  if (!lst) {return lst; }
+copyList = function (lst, types) {
+  if (!lst) {
+    return lst;
+  }
 
   var type;
 
   if (types.shift === undefined) {
     type = types;
-  }
-  else {
+  } else {
     type = types[0];
   }
   var Type = type;
 
-  var len = lst.length, result = [], i, val;
+  var len = lst.length,
+    result = [],
+    i,
+    val;
   for (i = 0; i < len; i++) {
     val = lst[i];
     if (type === null) {
       result.push(val);
-    }
-    else if (type === copyMap || type === copyList) {
+    } else if (type === copyMap || type === copyList) {
       result.push(type(val, types.slice(1)));
-    }
-    else {
+    } else {
       result.push(new Type(val));
     }
   }
   return result;
 };
 
-copyMap = function(obj, types){
-
-  if (!obj) {return obj; }
+copyMap = function (obj, types) {
+  if (!obj) {
+    return obj;
+  }
 
   var type;
 
   if (types.shift === undefined) {
     type = types;
-  }
-  else {
+  } else {
     type = types[0];
   }
   var Type = type;
 
-  var result = {}, val;
-  for(var prop in obj) {
-    if(obj.hasOwnProperty(prop)) {
+  var result = {},
+    val;
+  for (var prop in obj) {
+    if (obj.hasOwnProperty(prop)) {
       val = obj[prop];
       if (type === null) {
         result[prop] = val;
-      }
-      else if (type === copyMap || type === copyList) {
+      } else if (type === copyMap || type === copyList) {
         result[prop] = type(val, types.slice(1));
-      }
-      else {
+      } else {
         result[prop] = new Type(val);
       }
     }
diff --git a/lib/nodejs/lib/thrift/transport.js b/lib/nodejs/lib/thrift/transport.js
index 59daa98..b3ba394 100644
--- a/lib/nodejs/lib/thrift/transport.js
+++ b/lib/nodejs/lib/thrift/transport.js
@@ -17,6 +17,6 @@
  * under the License.
  */
 
-module.exports.TBufferedTransport = require('./buffered_transport');
-module.exports.TFramedTransport = require('./framed_transport');
-module.exports.InputBufferUnderrunError = require('./input_buffer_underrun_error');
+module.exports.TBufferedTransport = require("./buffered_transport");
+module.exports.TFramedTransport = require("./framed_transport");
+module.exports.InputBufferUnderrunError = require("./input_buffer_underrun_error");
diff --git a/lib/nodejs/lib/thrift/web_server.js b/lib/nodejs/lib/thrift/web_server.js
index a33f47a..f49f654 100644
--- a/lib/nodejs/lib/thrift/web_server.js
+++ b/lib/nodejs/lib/thrift/web_server.js
@@ -16,19 +16,20 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-var http = require('http');
-var https = require('https');
+var http = require("http");
+var https = require("https");
 var url = require("url");
 var path = require("path");
 var fs = require("fs");
 var crypto = require("crypto");
-var log = require('./log');
+var log = require("./log");
 
-var MultiplexedProcessor = require('./multiplexed_processor').MultiplexedProcessor;
+var MultiplexedProcessor =
+  require("./multiplexed_processor").MultiplexedProcessor;
 
-var TBufferedTransport = require('./buffered_transport');
-var TBinaryProtocol = require('./binary_protocol');
-var InputBufferUnderrunError = require('./input_buffer_underrun_error');
+var TBufferedTransport = require("./buffered_transport");
+var TBinaryProtocol = require("./binary_protocol");
+var InputBufferUnderrunError = require("./input_buffer_underrun_error");
 
 // WSFrame constructor and prototype
 /////////////////////////////////////////////////////////////////////
@@ -82,36 +83,43 @@
    * @param {Boolean} binEncoding - True for binary encoding, false for text encoding
    * @returns {Buffer} - The WebSocket frame, ready to send
    */
-  encode: function(data, mask, binEncoding) {
-      var frame = new Buffer(wsFrame.frameSizeFromData(data, mask));
-      //Byte 0 - FIN & OPCODE
-      frame[0] = wsFrame.fin.FIN +
-          (binEncoding ? wsFrame.frameOpCodes.BIN : wsFrame.frameOpCodes.TEXT);
-      //Byte 1 or 1-3 or 1-9 - MASK FLAG & SIZE
-      var payloadOffset = 2;
-      if (data.length < 0x7E) {
-        frame[1] = data.length + (mask ? wsFrame.mask.TO_SERVER : wsFrame.mask.TO_CLIENT);
-      } else if (data.length < 0xFFFF) {
-        frame[1] = 0x7E + (mask ? wsFrame.mask.TO_SERVER : wsFrame.mask.TO_CLIENT);
-        frame.writeUInt16BE(data.length, 2, true);
-        payloadOffset = 4;
-      } else {
-        frame[1] = 0x7F + (mask ? wsFrame.mask.TO_SERVER : wsFrame.mask.TO_CLIENT);
-        frame.writeUInt32BE(0, 2, true);
-        frame.writeUInt32BE(data.length, 6, true);
-        payloadOffset = 10;
-      }
-      //MASK
-      if (mask) {
-        mask.copy(frame, payloadOffset, 0, 4);
-        payloadOffset += 4;
-      }
-      //Payload
-      data.copy(frame, payloadOffset);
-      if (mask) {
-        wsFrame.applyMask(frame.slice(payloadOffset), frame.slice(payloadOffset-4,payloadOffset));
-      }
-      return frame;
+  encode: function (data, mask, binEncoding) {
+    var frame = new Buffer(wsFrame.frameSizeFromData(data, mask));
+    //Byte 0 - FIN & OPCODE
+    frame[0] =
+      wsFrame.fin.FIN +
+      (binEncoding ? wsFrame.frameOpCodes.BIN : wsFrame.frameOpCodes.TEXT);
+    //Byte 1 or 1-3 or 1-9 - MASK FLAG & SIZE
+    var payloadOffset = 2;
+    if (data.length < 0x7e) {
+      frame[1] =
+        data.length + (mask ? wsFrame.mask.TO_SERVER : wsFrame.mask.TO_CLIENT);
+    } else if (data.length < 0xffff) {
+      frame[1] =
+        0x7e + (mask ? wsFrame.mask.TO_SERVER : wsFrame.mask.TO_CLIENT);
+      frame.writeUInt16BE(data.length, 2, true);
+      payloadOffset = 4;
+    } else {
+      frame[1] =
+        0x7f + (mask ? wsFrame.mask.TO_SERVER : wsFrame.mask.TO_CLIENT);
+      frame.writeUInt32BE(0, 2, true);
+      frame.writeUInt32BE(data.length, 6, true);
+      payloadOffset = 10;
+    }
+    //MASK
+    if (mask) {
+      mask.copy(frame, payloadOffset, 0, 4);
+      payloadOffset += 4;
+    }
+    //Payload
+    data.copy(frame, payloadOffset);
+    if (mask) {
+      wsFrame.applyMask(
+        frame.slice(payloadOffset),
+        frame.slice(payloadOffset - 4, payloadOffset),
+      );
+    }
+    return frame;
   },
 
   /**
@@ -127,7 +135,7 @@
    * @property {Boolean} FIN - True is the message is complete
    */
 
-   /** Decodes a WebSocket frame
+  /** Decodes a WebSocket frame
    *
    * @param {Buffer} frame - The raw inbound frame, if this is a continuation
    *                         frame it must have a mask property with the mask.
@@ -135,54 +143,55 @@
    *
    * @see {@link WSDecodeResult}
    */
-  decode: function(frame) {
-      var result = {
-        data: null,
-        mask: null,
-        binEncoding: false,
-        nextFrame: null,
-        FIN: true
-      };
+  decode: function (frame) {
+    var result = {
+      data: null,
+      mask: null,
+      binEncoding: false,
+      nextFrame: null,
+      FIN: true,
+    };
 
-      //Byte 0 - FIN & OPCODE
-      if (wsFrame.fin.FIN != (frame[0] & wsFrame.fin.FIN)) {
-        result.FIN = false;
-      }
-      result.binEncoding = (wsFrame.frameOpCodes.BIN == (frame[0] & wsFrame.frameOpCodes.BIN));
-      //Byte 1 or 1-3 or 1-9 - SIZE
-      var lenByte = (frame[1] & 0x0000007F);
-      var len = lenByte;
-      var dataOffset = 2;
-      if (lenByte == 0x7E) {
-        len = frame.readUInt16BE(2);
-        dataOffset = 4;
-      } else if (lenByte == 0x7F) {
-        len = frame.readUInt32BE(6);
-        dataOffset = 10;
-      }
-      //MASK
-      if (wsFrame.mask.TO_SERVER == (frame[1] & wsFrame.mask.TO_SERVER)) {
-        result.mask = new Buffer(4);
-        frame.copy(result.mask, 0, dataOffset, dataOffset + 4);
-        dataOffset += 4;
-      }
-      //Payload
-      result.data = new Buffer(len);
-      frame.copy(result.data, 0, dataOffset, dataOffset+len);
-      if (result.mask) {
-        wsFrame.applyMask(result.data, result.mask);
-      }
-      //Next Frame
-      if (frame.length > dataOffset+len) {
-        result.nextFrame = new Buffer(frame.length - (dataOffset+len));
-        frame.copy(result.nextFrame, 0, dataOffset+len, frame.length);
-      }
-      //Don't forward control frames
-      if (frame[0] & wsFrame.frameOpCodes.FINCTRL) {
-        result.data = null;
-      }
+    //Byte 0 - FIN & OPCODE
+    if (wsFrame.fin.FIN != (frame[0] & wsFrame.fin.FIN)) {
+      result.FIN = false;
+    }
+    result.binEncoding =
+      wsFrame.frameOpCodes.BIN == (frame[0] & wsFrame.frameOpCodes.BIN);
+    //Byte 1 or 1-3 or 1-9 - SIZE
+    var lenByte = frame[1] & 0x0000007f;
+    var len = lenByte;
+    var dataOffset = 2;
+    if (lenByte == 0x7e) {
+      len = frame.readUInt16BE(2);
+      dataOffset = 4;
+    } else if (lenByte == 0x7f) {
+      len = frame.readUInt32BE(6);
+      dataOffset = 10;
+    }
+    //MASK
+    if (wsFrame.mask.TO_SERVER == (frame[1] & wsFrame.mask.TO_SERVER)) {
+      result.mask = new Buffer(4);
+      frame.copy(result.mask, 0, dataOffset, dataOffset + 4);
+      dataOffset += 4;
+    }
+    //Payload
+    result.data = new Buffer(len);
+    frame.copy(result.data, 0, dataOffset, dataOffset + len);
+    if (result.mask) {
+      wsFrame.applyMask(result.data, result.mask);
+    }
+    //Next Frame
+    if (frame.length > dataOffset + len) {
+      result.nextFrame = new Buffer(frame.length - (dataOffset + len));
+      frame.copy(result.nextFrame, 0, dataOffset + len, frame.length);
+    }
+    //Don't forward control frames
+    if (frame[0] & wsFrame.frameOpCodes.FINCTRL) {
+      result.data = null;
+    }
 
-      return result;
+    return result;
   },
 
   /** Masks/Unmasks data
@@ -190,12 +199,12 @@
    * @param {Buffer} data - data to mask/unmask in place
    * @param {Buffer} mask - the mask
    */
-  applyMask: function(data, mask){
+  applyMask: function (data, mask) {
     //TODO: look into xoring words at a time
     var dataLen = data.length;
     var maskLen = mask.length;
     for (var i = 0; i < dataLen; i++) {
-      data[i] = data[i] ^ mask[i%maskLen];
+      data[i] = data[i] ^ mask[i % maskLen];
     }
   },
 
@@ -204,35 +213,34 @@
    * @param {Buffer} data - data.length is the assumed payload size
    * @param {Boolean} mask - true if a mask will be sent (TO_SERVER)
    */
-  frameSizeFromData: function(data, mask) {
+  frameSizeFromData: function (data, mask) {
     var headerSize = 10;
-    if (data.length < 0x7E) {
+    if (data.length < 0x7e) {
       headerSize = 2;
-    } else if (data.length < 0xFFFF) {
+    } else if (data.length < 0xffff) {
       headerSize = 4;
     }
     return headerSize + data.length + (mask ? 4 : 0);
   },
 
   frameOpCodes: {
-    CONT:     0x00,
-    TEXT:     0x01,
-    BIN:      0x02,
-    CTRL:     0x80
+    CONT: 0x00,
+    TEXT: 0x01,
+    BIN: 0x02,
+    CTRL: 0x80,
   },
 
   mask: {
     TO_SERVER: 0x80,
-    TO_CLIENT: 0x00
+    TO_CLIENT: 0x00,
   },
 
   fin: {
     CONT: 0x00,
-    FIN: 0x80
-  }
+    FIN: 0x80,
+  },
 };
 
-
 // createWebServer constructor and options
 /////////////////////////////////////////////////////////////////////
 
@@ -272,20 +280,20 @@
  * @param {ServerOptions} options - The server configuration.
  * @returns {object} - The Apache Thrift Web Server.
  */
-exports.createWebServer = function(options) {
+exports.createWebServer = function (options) {
   var baseDir = options.files;
   var contentTypesByExtension = {
-    '.txt': 'text/plain',
-    '.html': 'text/html',
-    '.css': 'text/css',
-    '.xml': 'application/xml',
-    '.json': 'application/json',
-    '.js': 'application/javascript',
-    '.jpg': 'image/jpeg',
-    '.jpeg': 'image/jpeg',
-    '.gif': 'image/gif',
-    '.png': 'image/png',
-    '.svg': 'image/svg+xml'
+    ".txt": "text/plain",
+    ".html": "text/html",
+    ".css": "text/css",
+    ".xml": "application/xml",
+    ".json": "application/json",
+    ".js": "application/javascript",
+    ".jpg": "image/jpeg",
+    ".jpeg": "image/jpeg",
+    ".gif": "image/gif",
+    ".png": "image/png",
+    ".svg": "image/svg+xml",
   };
 
   //Setup all of the services
@@ -302,8 +310,9 @@
       //  IDL Compiler generated class housing the processor. Also, the options property
       //  for a Processor has been called both cls and processor at different times. We
       //  support any of the four possibilities here.
-      var processor = (svcObj.processor) ? (svcObj.processor.Processor || svcObj.processor) :
-                                           (svcObj.cls.Processor || svcObj.cls);
+      var processor = svcObj.processor
+        ? svcObj.processor.Processor || svcObj.processor
+        : svcObj.cls.Processor || svcObj.cls;
       //Processors can be supplied as constructed objects with handlers already embedded,
       //  if a handler is provided we construct a new processor, if not we use the processor
       //  object directly
@@ -322,9 +331,18 @@
     if (request.headers.origin && options.cors) {
       if (options.cors["*"] || options.cors[request.headers.origin]) {
         //Allow, origin allowed
-        response.setHeader("access-control-allow-origin", request.headers.origin);
-        response.setHeader("access-control-allow-methods", "GET, POST, OPTIONS");
-        response.setHeader("access-control-allow-headers", "content-type, accept");
+        response.setHeader(
+          "access-control-allow-origin",
+          request.headers.origin,
+        );
+        response.setHeader(
+          "access-control-allow-methods",
+          "GET, POST, OPTIONS",
+        );
+        response.setHeader(
+          "access-control-allow-headers",
+          "content-type, accept",
+        );
         response.setHeader("access-control-max-age", "60");
         return true;
       } else {
@@ -336,19 +354,21 @@
     return true;
   }
 
-
   //Handle OPTIONS method (CORS)
   ///////////////////////////////////////////////////
   function processOptions(request, response) {
     if (VerifyCORSAndSetHeaders(request, response)) {
-      response.writeHead("204", "No Content", {"content-length": 0});
+      response.writeHead("204", "No Content", { "content-length": 0 });
     } else {
-      response.writeHead("403", "Origin " + request.headers.origin + " not allowed", {});
+      response.writeHead(
+        "403",
+        "Origin " + request.headers.origin + " not allowed",
+        {},
+      );
     }
     response.end();
   }
 
-
   //Handle POST methods (TXHRTransport)
   ///////////////////////////////////////////////////
   function processPost(request, response) {
@@ -363,39 +383,47 @@
 
     //Verify CORS requirements
     if (!VerifyCORSAndSetHeaders(request, response)) {
-      response.writeHead("403", "Origin " + request.headers.origin + " not allowed", {});
+      response.writeHead(
+        "403",
+        "Origin " + request.headers.origin + " not allowed",
+        {},
+      );
       response.end();
       return;
     }
 
     //Process XHR payload
-    request.on('data', svc.transport.receiver(function(transportWithData) {
-      var input = new svc.protocol(transportWithData);
-      var output = new svc.protocol(new svc.transport(undefined, function(buf) {
+    request.on(
+      "data",
+      svc.transport.receiver(function (transportWithData) {
+        var input = new svc.protocol(transportWithData);
+        var output = new svc.protocol(
+          new svc.transport(undefined, function (buf) {
+            try {
+              response.writeHead(200);
+              response.end(buf);
+            } catch (err) {
+              response.writeHead(500);
+              response.end();
+            }
+          }),
+        );
+
         try {
-          response.writeHead(200);
-          response.end(buf);
+          svc.processor.process(input, output);
+          transportWithData.commitPosition();
         } catch (err) {
-          response.writeHead(500);
-          response.end();
+          if (err instanceof InputBufferUnderrunError) {
+            transportWithData.rollbackPosition();
+          } else {
+            response.writeHead(500);
+            response.end();
+          }
         }
-      }));
-
-      try {
-        svc.processor.process(input, output);
-        transportWithData.commitPosition();
-      } catch (err) {
-        if (err instanceof InputBufferUnderrunError) {
-          transportWithData.rollbackPosition();
-        } else {
-          response.writeHead(500);
-          response.end();
-        }
-      }
-    }));
+      }),
+    );
   }
 
-
   //Handle GET methods (Static Page Server)
   ///////////////////////////////////////////////////
   function processGet(request, response) {
@@ -408,7 +436,11 @@
 
     //Verify CORS requirements
     if (!VerifyCORSAndSetHeaders(request, response)) {
-      response.writeHead("403", "Origin " + request.headers.origin + " not allowed", {});
+      response.writeHead(
+        "403",
+        "Origin " + request.headers.origin + " not allowed",
+        {},
+      );
       response.end();
       return;
     }
@@ -424,18 +456,18 @@
       return;
     }
 
-    fs.exists(filename, function(exists) {
-      if(!exists) {
+    fs.exists(filename, function (exists) {
+      if (!exists) {
         response.writeHead(404);
         response.end();
         return;
       }
 
       if (fs.statSync(filename).isDirectory()) {
-        filename += '/index.html';
+        filename += "/index.html";
       }
 
-      fs.readFile(filename, "binary", function(err, file) {
+      fs.readFile(filename, "binary", function (err, file) {
         if (err) {
           response.writeHead(500);
           response.end(err + "\n");
@@ -456,30 +488,29 @@
     });
   }
 
-
   //Handle WebSocket calls (TWebSocketTransport)
   ///////////////////////////////////////////////////
   function processWS(data, socket, svc, binEncoding) {
-    svc.transport.receiver(function(transportWithData) {
+    svc.transport.receiver(function (transportWithData) {
       var input = new svc.protocol(transportWithData);
-      var output = new svc.protocol(new svc.transport(undefined, function(buf) {
-        try {
-          var frame = wsFrame.encode(buf, null, binEncoding);
-          socket.write(frame);
-        } catch (err) {
-          //TODO: Add better error processing
-        }
-      }));
+      var output = new svc.protocol(
+        new svc.transport(undefined, function (buf) {
+          try {
+            var frame = wsFrame.encode(buf, null, binEncoding);
+            socket.write(frame);
+          } catch (err) {
+            //TODO: Add better error processing
+          }
+        }),
+      );
 
       try {
         svc.processor.process(input, output);
         transportWithData.commitPosition();
-      }
-      catch (err) {
+      } catch (err) {
         if (err instanceof InputBufferUnderrunError) {
           transportWithData.rollbackPosition();
-        }
-        else {
+        } else {
           //TODO: Add better error processing
         }
       }
@@ -498,69 +529,83 @@
   //   - GET static files,
   //   - POST XHR Thrift services
   //   - OPTIONS CORS requests
-  server.on('request', function(request, response) {
-    if (request.method === 'POST') {
-      processPost(request, response);
-    } else if (request.method === 'GET') {
-      processGet(request, response);
-    } else if (request.method === 'OPTIONS') {
-      processOptions(request, response);
-    } else {
-      response.writeHead(500);
-      response.end();
-    }
-  }).on('upgrade', function(request, socket, head) {
-    //Lookup service
-    var svc;
-    try {
-      svc = services[Object.keys(services)[0]];
-    } catch(e) {
-      socket.write("HTTP/1.1 403 No Apache Thrift Service available\r\n\r\n");
-      return;
-    }
-    //Perform upgrade
-    var hash = crypto.createHash("sha1");
-    hash.update(request.headers['sec-websocket-key'] + "258EAFA5-E914-47DA-95CA-C5AB0DC85B11");
-    socket.write("HTTP/1.1 101 Switching Protocols\r\n" +
-                   "Upgrade: websocket\r\n" +
-                   "Connection: Upgrade\r\n" +
-                   "Sec-WebSocket-Accept: " + hash.digest("base64") + "\r\n" +
-                   "Sec-WebSocket-Origin: " + request.headers.origin + "\r\n" +
-                   "Sec-WebSocket-Location: ws://" + request.headers.host + request.url + "\r\n" +
-                   "\r\n");
-    //Handle WebSocket traffic
-    var data = null;
-    socket.on('data', function(frame) {
-      try {
-        while (frame) {
-          var result = wsFrame.decode(frame);
-          //Prepend any existing decoded data
-          if (data) {
-            if (result.data) {
-              var newData = new Buffer(data.length + result.data.length);
-              data.copy(newData);
-              result.data.copy(newData, data.length);
-              result.data = newData;
-            } else {
-              result.data = data;
-            }
-            data = null;
-          }
-          //If this completes a message process it
-          if (result.FIN) {
-            processWS(result.data, socket, svc, result.binEncoding);
-          } else {
-            data = result.data;
-          }
-          //Prepare next frame for decoding (if any)
-          frame = result.nextFrame;
-        }
-      } catch(e) {
-        log.error('TWebSocketTransport Exception: ' + e);
-        socket.destroy();
+  server
+    .on("request", function (request, response) {
+      if (request.method === "POST") {
+        processPost(request, response);
+      } else if (request.method === "GET") {
+        processGet(request, response);
+      } else if (request.method === "OPTIONS") {
+        processOptions(request, response);
+      } else {
+        response.writeHead(500);
+        response.end();
       }
+    })
+    .on("upgrade", function (request, socket, head) {
+      //Lookup service
+      var svc;
+      try {
+        svc = services[Object.keys(services)[0]];
+      } catch (e) {
+        socket.write("HTTP/1.1 403 No Apache Thrift Service available\r\n\r\n");
+        return;
+      }
+      //Perform upgrade
+      var hash = crypto.createHash("sha1");
+      hash.update(
+        request.headers["sec-websocket-key"] +
+          "258EAFA5-E914-47DA-95CA-C5AB0DC85B11",
+      );
+      socket.write(
+        "HTTP/1.1 101 Switching Protocols\r\n" +
+          "Upgrade: websocket\r\n" +
+          "Connection: Upgrade\r\n" +
+          "Sec-WebSocket-Accept: " +
+          hash.digest("base64") +
+          "\r\n" +
+          "Sec-WebSocket-Origin: " +
+          request.headers.origin +
+          "\r\n" +
+          "Sec-WebSocket-Location: ws://" +
+          request.headers.host +
+          request.url +
+          "\r\n" +
+          "\r\n",
+      );
+      //Handle WebSocket traffic
+      var data = null;
+      socket.on("data", function (frame) {
+        try {
+          while (frame) {
+            var result = wsFrame.decode(frame);
+            //Prepend any existing decoded data
+            if (data) {
+              if (result.data) {
+                var newData = new Buffer(data.length + result.data.length);
+                data.copy(newData);
+                result.data.copy(newData, data.length);
+                result.data = newData;
+              } else {
+                result.data = data;
+              }
+              data = null;
+            }
+            //If this completes a message process it
+            if (result.FIN) {
+              processWS(result.data, socket, svc, result.binEncoding);
+            } else {
+              data = result.data;
+            }
+            //Prepare next frame for decoding (if any)
+            frame = result.nextFrame;
+          }
+        } catch (e) {
+          log.error("TWebSocketTransport Exception: " + e);
+          socket.destroy();
+        }
+      });
     });
-  });
 
   //Return the server
   return server;
diff --git a/lib/nodejs/lib/thrift/ws_connection.js b/lib/nodejs/lib/thrift/ws_connection.js
index 8ee8f6e..878a572 100644
--- a/lib/nodejs/lib/thrift/ws_connection.js
+++ b/lib/nodejs/lib/thrift/ws_connection.js
@@ -16,17 +16,17 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-var util = require('util');
-var WebSocket = require('isomorphic-ws');
+var util = require("util");
+var WebSocket = require("isomorphic-ws");
 var EventEmitter = require("events").EventEmitter;
-var thrift = require('./thrift');
+var thrift = require("./thrift");
 
-var TBufferedTransport = require('./buffered_transport');
-var TJSONProtocol = require('./json_protocol');
-var InputBufferUnderrunError = require('./input_buffer_underrun_error');
+var TBufferedTransport = require("./buffered_transport");
+var TJSONProtocol = require("./json_protocol");
+var InputBufferUnderrunError = require("./input_buffer_underrun_error");
 
-var createClient = require('./create_client');
-var jsEnv = require('browser-or-node');
+var createClient = require("./create_client");
+var jsEnv = require("browser-or-node");
 exports.WSConnection = WSConnection;
 
 /**
@@ -95,38 +95,38 @@
   this.wsOptions = {
     host: this.host,
     port: this.port || 80,
-    path: this.options.path || '/',
-    headers: this.options.headers || {}
+    path: this.options.path || "/",
+    headers: this.options.headers || {},
   };
   for (var attrname in this.options.wsOptions) {
     this.wsOptions[attrname] = this.options.wsOptions[attrname];
   }
-};
+}
 util.inherits(WSConnection, EventEmitter);
 
-WSConnection.prototype.__reset = function() {
+WSConnection.prototype.__reset = function () {
   this.socket = null; //The web socket
   this.send_pending = []; //Buffers/Callback pairs waiting to be sent
 };
 
-WSConnection.prototype.__onOpen = function() {
+WSConnection.prototype.__onOpen = function () {
   this.emit("open");
   if (this.send_pending.length > 0) {
     //If the user made calls before the connection was fully
     //open, send them now
-    this.send_pending.forEach(function(data) {
+    this.send_pending.forEach(function (data) {
       this.socket.send(data);
     }, this);
     this.send_pending = [];
   }
 };
 
-WSConnection.prototype.__onClose = function(evt) {
+WSConnection.prototype.__onClose = function (evt) {
   this.emit("close");
   this.__reset();
 };
 
-WSConnection.prototype.__decodeCallback = function(transport_with_data) {
+WSConnection.prototype.__decodeCallback = function (transport_with_data) {
   var proto = new this.protocol(transport_with_data);
   try {
     while (true) {
@@ -151,7 +151,7 @@
         delete this.seqId2Service[header.rseqid];
       }
       /*jshint -W083 */
-      client._reqs[dummy_seqid] = function(err, success) {
+      client._reqs[dummy_seqid] = function (err, success) {
         transport_with_data.commitPosition();
         var clientCallback = client._reqs[header.rseqid];
         delete client._reqs[header.rseqid];
@@ -160,14 +160,17 @@
         }
       };
       /*jshint +W083 */
-      if (client['recv_' + header.fname]) {
-        client['recv_' + header.fname](proto, header.mtype, dummy_seqid);
+      if (client["recv_" + header.fname]) {
+        client["recv_" + header.fname](proto, header.mtype, dummy_seqid);
       } else {
         delete client._reqs[dummy_seqid];
-        this.emit("error",
+        this.emit(
+          "error",
           new thrift.TApplicationException(
             thrift.TApplicationExceptionType.WRONG_METHOD_NAME,
-            "Received a response to an unknown RPC function"));
+            "Received a response to an unknown RPC function",
+          ),
+        );
       }
     }
   } catch (e) {
@@ -179,20 +182,19 @@
   }
 };
 
-WSConnection.prototype.__onData = function(data) {
+WSConnection.prototype.__onData = function (data) {
   if (Object.prototype.toString.call(data) === "[object ArrayBuffer]") {
     data = new Uint8Array(data);
   }
   var buf = new Buffer(data);
   this.transport.receiver(this.__decodeCallback.bind(this))(buf);
-
 };
 
-WSConnection.prototype.__onMessage = function(evt) {
+WSConnection.prototype.__onMessage = function (evt) {
   this.__onData(evt.data);
 };
 
-WSConnection.prototype.__onError = function(evt) {
+WSConnection.prototype.__onError = function (evt) {
   this.emit("error", evt);
   this.socket.close();
 };
@@ -202,14 +204,14 @@
  * @readonly
  * @returns {boolean}
  */
-WSConnection.prototype.isOpen = function() {
+WSConnection.prototype.isOpen = function () {
   return this.socket && this.socket.readyState === this.socket.OPEN;
 };
 
 /**
  * Opens the transport connection
  */
-WSConnection.prototype.open = function() {
+WSConnection.prototype.open = function () {
   //If OPEN/CONNECTING/CLOSING ignore additional opens
   if (this.socket && this.socket.readyState !== this.socket.CLOSED) {
     return;
@@ -220,7 +222,7 @@
   } else {
     this.socket = new WebSocket(this.uri(), "", this.wsOptions);
   }
-  this.socket.binaryType = 'arraybuffer';
+  this.socket.binaryType = "arraybuffer";
   this.socket.onopen = this.__onOpen.bind(this);
   this.socket.onmessage = this.__onMessage.bind(this);
   this.socket.onerror = this.__onError.bind(this);
@@ -230,7 +232,7 @@
 /**
  * Closes the transport connection
  */
-WSConnection.prototype.close = function() {
+WSConnection.prototype.close = function () {
   this.socket.close();
 };
 
@@ -238,19 +240,22 @@
  * Return URI for the connection
  * @returns {string} URI
  */
-WSConnection.prototype.uri = function() {
-  var schema = this.secure ? 'wss' : 'ws';
-  var port = '';
-  var path = this.path || '/';
+WSConnection.prototype.uri = function () {
+  var schema = this.secure ? "wss" : "ws";
+  var port = "";
+  var path = this.path || "/";
   var host = this.host;
 
   // avoid port if default for schema
-  if (this.port && (('wss' === schema && this.port !== 443) ||
-    ('ws' === schema && this.port !== 80))) {
-    port = ':' + this.port;
+  if (
+    this.port &&
+    (("wss" === schema && this.port !== 443) ||
+      ("ws" === schema && this.port !== 80))
+  ) {
+    port = ":" + this.port;
   }
 
-  return schema + '://' + host + port + path;
+  return schema + "://" + host + port + path;
 };
 
 /**
@@ -260,7 +265,7 @@
  * @event {error} the "error" event is raised upon request failure passing the
  *     Node.js error object to the listener.
  */
-WSConnection.prototype.write = function(data) {
+WSConnection.prototype.write = function (data) {
   if (this.isOpen()) {
     //Send data and register a callback to invoke the client callback
     this.socket.send(data);
@@ -279,7 +284,7 @@
  * @returns {WSConnection} The connection object.
  * @see {@link WSConnectOptions}
  */
-exports.createWSConnection = function(host, port, options) {
+exports.createWSConnection = function (host, port, options) {
   return new WSConnection(host, port, options);
 };
 
diff --git a/lib/nodejs/lib/thrift/ws_transport.js b/lib/nodejs/lib/thrift/ws_transport.js
index 4cf62b9..94b6d90 100644
--- a/lib/nodejs/lib/thrift/ws_transport.js
+++ b/lib/nodejs/lib/thrift/ws_transport.js
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-var log = require('./log');
+var log = require("./log");
 
 module.exports = TWebSocketTransport;
 
@@ -33,19 +33,18 @@
  *   var transport = new Thrift.TWebSocketTransport("http://localhost:8585");
  */
 function TWebSocketTransport(url) {
-    this.__reset(url);
-};
+  this.__reset(url);
+}
 
-
-TWebSocketTransport.prototype.__reset = function(url) {
-  this.url = url;             //Where to connect
-  this.socket = null;         //The web socket
-  this.callbacks = [];        //Pending callbacks
-  this.send_pending = [];     //Buffers/Callback pairs waiting to be sent
-  this.send_buf = '';         //Outbound data, immutable until sent
-  this.recv_buf = '';         //Inbound data
-  this.rb_wpos = 0;           //Network write position in receive buffer
-  this.rb_rpos = 0;           //Client read position in receive buffer
+TWebSocketTransport.prototype.__reset = function (url) {
+  this.url = url; //Where to connect
+  this.socket = null; //The web socket
+  this.callbacks = []; //Pending callbacks
+  this.send_pending = []; //Buffers/Callback pairs waiting to be sent
+  this.send_buf = ""; //Outbound data, immutable until sent
+  this.recv_buf = ""; //Inbound data
+  this.rb_wpos = 0; //Network write position in receive buffer
+  this.rb_rpos = 0; //Client read position in receive buffer
 };
 
 /**
@@ -56,58 +55,62 @@
  * @param {object} callback - The client completion callback.
  * @returns {undefined|string} Nothing (undefined)
  */
-TWebSocketTransport.prototype.flush = function(async, callback) {
+TWebSocketTransport.prototype.flush = function (async, callback) {
   var self = this;
   if (this.isOpen()) {
     //Send data and register a callback to invoke the client callback
     this.socket.send(this.send_buf);
-    this.callbacks.push((function() {
-      var clientCallback = callback;
-      return function(msg) {
-        self.setRecvBuffer(msg);
-        clientCallback();
-      };
-    }()));
+    this.callbacks.push(
+      (function () {
+        var clientCallback = callback;
+        return function (msg) {
+          self.setRecvBuffer(msg);
+          clientCallback();
+        };
+      })(),
+    );
   } else {
     //Queue the send to go out __onOpen
     this.send_pending.push({
       buf: this.send_buf,
-      cb:  callback
+      cb: callback,
     });
   }
 };
 
-TWebSocketTransport.prototype.__onOpen = function() {
-   var self = this;
-   if (this.send_pending.length > 0) {
-      //If the user made calls before the connection was fully
-      //open, send them now
-      this.send_pending.forEach(function(elem) {
-         self.socket.send(elem.buf);
-         self.callbacks.push((function() {
-           var clientCallback = elem.cb;
-           return function(msg) {
-              self.setRecvBuffer(msg);
-              clientCallback();
-           };
-         }()));
-      });
-      this.send_pending = [];
-   }
+TWebSocketTransport.prototype.__onOpen = function () {
+  var self = this;
+  if (this.send_pending.length > 0) {
+    //If the user made calls before the connection was fully
+    //open, send them now
+    this.send_pending.forEach(function (elem) {
+      self.socket.send(elem.buf);
+      self.callbacks.push(
+        (function () {
+          var clientCallback = elem.cb;
+          return function (msg) {
+            self.setRecvBuffer(msg);
+            clientCallback();
+          };
+        })(),
+      );
+    });
+    this.send_pending = [];
+  }
 };
 
-TWebSocketTransport.prototype.__onClose = function(evt) {
+TWebSocketTransport.prototype.__onClose = function (evt) {
   this.__reset(this.url);
 };
 
-TWebSocketTransport.prototype.__onMessage = function(evt) {
+TWebSocketTransport.prototype.__onMessage = function (evt) {
   if (this.callbacks.length) {
     this.callbacks.shift()(evt.data);
   }
 };
 
-TWebSocketTransport.prototype.__onError = function(evt) {
-  log.error('websocket: ' + evt.toString());
+TWebSocketTransport.prototype.__onError = function (evt) {
+  log.error("websocket: " + evt.toString());
   this.socket.close();
 };
 
@@ -115,7 +118,7 @@
  * Sets the buffer to use when receiving server responses.
  * @param {string} buf - The buffer to receive server responses.
  */
-TWebSocketTransport.prototype.setRecvBuffer = function(buf) {
+TWebSocketTransport.prototype.setRecvBuffer = function (buf) {
   this.recv_buf = buf;
   this.recv_buf_sz = this.recv_buf.length;
   this.wpos = this.recv_buf.length;
@@ -127,14 +130,14 @@
  * @readonly
  * @returns {boolean}
  */
-TWebSocketTransport.prototype.isOpen = function() {
+TWebSocketTransport.prototype.isOpen = function () {
   return this.socket && this.socket.readyState == this.socket.OPEN;
 };
 
 /**
  * Opens the transport connection
  */
-TWebSocketTransport.prototype.open = function() {
+TWebSocketTransport.prototype.open = function () {
   //If OPEN/CONNECTING/CLOSING ignore additional opens
   if (this.socket && this.socket.readyState != this.socket.CLOSED) {
     return;
@@ -150,7 +153,7 @@
 /**
  * Closes the transport connection
  */
-TWebSocketTransport.prototype.close = function() {
+TWebSocketTransport.prototype.close = function () {
   this.socket.close();
 };
 
@@ -160,11 +163,11 @@
  * @param {number} len - The number of characters to return.
  * @returns {string} Characters sent by the server.
  */
-TWebSocketTransport.prototype.read = function(len) {
+TWebSocketTransport.prototype.read = function (len) {
   var avail = this.wpos - this.rpos;
 
   if (avail === 0) {
-    return '';
+    return "";
   }
 
   var give = len;
@@ -184,7 +187,7 @@
  * Returns the entire response buffer.
  * @returns {string} Characters sent by the server.
  */
-TWebSocketTransport.prototype.readAll = function() {
+TWebSocketTransport.prototype.readAll = function () {
   return this.recv_buf;
 };
 
@@ -192,7 +195,7 @@
  * Sets the send buffer to buf.
  * @param {string} buf - The buffer to send.
  */
-TWebSocketTransport.prototype.write = function(buf) {
+TWebSocketTransport.prototype.write = function (buf) {
   this.send_buf = buf;
 };
 
@@ -201,6 +204,6 @@
  * @readonly
  * @returns {string} The send buffer.
  */
-TWebSocketTransport.prototype.getSendBuffer = function() {
+TWebSocketTransport.prototype.getSendBuffer = function () {
   return this.send_buf;
 };
diff --git a/lib/nodejs/lib/thrift/xhr_connection.js b/lib/nodejs/lib/thrift/xhr_connection.js
index 6459c90..ea542d1 100644
--- a/lib/nodejs/lib/thrift/xhr_connection.js
+++ b/lib/nodejs/lib/thrift/xhr_connection.js
@@ -16,15 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-var util = require('util');
+var util = require("util");
 var EventEmitter = require("events").EventEmitter;
-var thrift = require('./thrift');
+var thrift = require("./thrift");
 
-var TBufferedTransport = require('./buffered_transport');
-var TJSONProtocol = require('./json_protocol');
-var InputBufferUnderrunError = require('./input_buffer_underrun_error');
+var TBufferedTransport = require("./buffered_transport");
+var TJSONProtocol = require("./json_protocol");
+var InputBufferUnderrunError = require("./input_buffer_underrun_error");
 
-var createClient = require('./create_client');
+var createClient = require("./create_client");
 
 exports.XHRConnection = XHRConnection;
 
@@ -43,43 +43,49 @@
   this.options = options || {};
   this.wpos = 0;
   this.rpos = 0;
-  this.useCORS = (options && options.useCORS);
-  this.send_buf = '';
-  this.recv_buf = '';
+  this.useCORS = options && options.useCORS;
+  this.send_buf = "";
+  this.recv_buf = "";
   this.transport = options.transport || TBufferedTransport;
   this.protocol = options.protocol || TJSONProtocol;
   this.headers = options.headers || {};
 
   host = host || window.location.host;
   port = port || window.location.port;
-  var prefix = options.https ? 'https://' : 'http://';
-  var path = options.path || '/';
+  var prefix = options.https ? "https://" : "http://";
+  var path = options.path || "/";
 
-  if (port === '') {
+  if (port === "") {
     port = undefined;
   }
 
-  if (!port || port === 80 || port === '80') {
+  if (!port || port === 80 || port === "80") {
     this.url = prefix + host + path;
   } else {
-    this.url = prefix + host + ':' + port + path;
+    this.url = prefix + host + ":" + port + path;
   }
 
   //The sequence map is used to map seqIDs back to the
   //  calling client in multiplexed scenarios
   this.seqId2Service = {};
-};
+}
 
 util.inherits(XHRConnection, EventEmitter);
 
 /**
-* Gets the browser specific XmlHttpRequest Object.
-* @returns {object} the browser XHR interface object
-*/
-XHRConnection.prototype.getXmlHttpRequestObject = function() {
-  try { return new XMLHttpRequest(); } catch (e1) { }
-  try { return new ActiveXObject('Msxml2.XMLHTTP'); } catch (e2) { }
-  try { return new ActiveXObject('Microsoft.XMLHTTP'); } catch (e3) { }
+ * Gets the browser specific XmlHttpRequest Object.
+ * @returns {object} the browser XHR interface object
+ */
+XHRConnection.prototype.getXmlHttpRequestObject = function () {
+  try {
+    return new XMLHttpRequest();
+  } catch (e1) {}
+  try {
+    return new ActiveXObject("Msxml2.XMLHTTP");
+  } catch (e2) {}
+  try {
+    return new ActiveXObject("Microsoft.XMLHTTP");
+  } catch (e3) {}
 
   throw "Your browser doesn't support XHR.";
 };
@@ -94,27 +100,27 @@
  * @returns {undefined|string} Nothing or the current send buffer.
  * @throws {string} If XHR fails.
  */
-XHRConnection.prototype.flush = function() {
+XHRConnection.prototype.flush = function () {
   var self = this;
-  if (this.url === undefined || this.url === '') {
+  if (this.url === undefined || this.url === "") {
     return this.send_buf;
   }
 
   var xreq = this.getXmlHttpRequestObject();
 
   if (xreq.overrideMimeType) {
-    xreq.overrideMimeType('application/json');
+    xreq.overrideMimeType("application/json");
   }
 
-  xreq.onreadystatechange = function() {
+  xreq.onreadystatechange = function () {
     if (this.readyState == 4 && this.status == 200) {
       self.setRecvBuffer(this.responseText);
     }
   };
 
-  xreq.open('POST', this.url, true);
+  xreq.open("POST", this.url, true);
 
-  Object.keys(this.headers).forEach(function(headerKey) {
+  Object.keys(this.headers).forEach(function (headerKey) {
     xreq.setRequestHeader(headerKey, self.headers[headerKey]);
   });
 
@@ -125,7 +131,7 @@
  * Sets the buffer to provide the protocol when deserializing.
  * @param {string} buf - The buffer to supply the protocol.
  */
-XHRConnection.prototype.setRecvBuffer = function(buf) {
+XHRConnection.prototype.setRecvBuffer = function (buf) {
   this.recv_buf = buf;
   this.recv_buf_sz = this.recv_buf.length;
   this.wpos = this.recv_buf.length;
@@ -137,10 +143,9 @@
   var thing = new Buffer(data || buf);
 
   this.transport.receiver(this.__decodeCallback.bind(this))(thing);
-
 };
 
-XHRConnection.prototype.__decodeCallback = function(transport_with_data) {
+XHRConnection.prototype.__decodeCallback = function (transport_with_data) {
   var proto = new this.protocol(transport_with_data);
   try {
     while (true) {
@@ -165,7 +170,7 @@
         delete this.seqId2Service[header.rseqid];
       }
       /*jshint -W083 */
-      client._reqs[dummy_seqid] = function(err, success) {
+      client._reqs[dummy_seqid] = function (err, success) {
         transport_with_data.commitPosition();
         var clientCallback = client._reqs[header.rseqid];
         delete client._reqs[header.rseqid];
@@ -174,14 +179,17 @@
         }
       };
       /*jshint +W083 */
-      if (client['recv_' + header.fname]) {
-        client['recv_' + header.fname](proto, header.mtype, dummy_seqid);
+      if (client["recv_" + header.fname]) {
+        client["recv_" + header.fname](proto, header.mtype, dummy_seqid);
       } else {
         delete client._reqs[dummy_seqid];
-        this.emit("error",
+        this.emit(
+          "error",
           new thrift.TApplicationException(
             thrift.TApplicationExceptionType.WRONG_METHOD_NAME,
-            "Received a response to an unknown RPC function"));
+            "Received a response to an unknown RPC function",
+          ),
+        );
       }
     }
   } catch (e) {
@@ -198,19 +206,19 @@
  * @readonly
  * @returns {boolean} Always True.
  */
-XHRConnection.prototype.isOpen = function() {
+XHRConnection.prototype.isOpen = function () {
   return true;
 };
 
 /**
  * Opens the transport connection, with XHR this is a nop.
  */
-XHRConnection.prototype.open = function() {};
+XHRConnection.prototype.open = function () {};
 
 /**
  * Closes the transport connection, with XHR this is a nop.
  */
-XHRConnection.prototype.close = function() {};
+XHRConnection.prototype.close = function () {};
 
 /**
  * Returns the specified number of characters from the response
@@ -218,11 +226,11 @@
  * @param {number} len - The number of characters to return.
  * @returns {string} Characters sent by the server.
  */
-XHRConnection.prototype.read = function(len) {
+XHRConnection.prototype.read = function (len) {
   var avail = this.wpos - this.rpos;
 
   if (avail === 0) {
-    return '';
+    return "";
   }
 
   var give = len;
@@ -242,7 +250,7 @@
  * Returns the entire response buffer.
  * @returns {string} Characters sent by the server.
  */
-XHRConnection.prototype.readAll = function() {
+XHRConnection.prototype.readAll = function () {
   return this.recv_buf;
 };
 
@@ -250,7 +258,7 @@
  * Sets the send buffer to buf.
  * @param {string} buf - The buffer to send.
  */
-XHRConnection.prototype.write = function(buf) {
+XHRConnection.prototype.write = function (buf) {
   this.send_buf = buf;
   this.flush();
 };
@@ -260,7 +268,7 @@
  * @readonly
  * @returns {string} The send buffer.
  */
-XHRConnection.prototype.getSendBuffer = function() {
+XHRConnection.prototype.getSendBuffer = function () {
   return this.send_buf;
 };
 
@@ -273,7 +281,7 @@
  * @returns {XHRConnection} The connection object.
  * @see {@link XHRConnectOptions}
  */
-exports.createXHRConnection = function(host, port, options) {
+exports.createXHRConnection = function (host, port, options) {
   return new XHRConnection(host, port, options);
 };
 
diff --git a/lib/nodejs/test/binary.test.js b/lib/nodejs/test/binary.test.js
index 187cd18..343d39a 100644
--- a/lib/nodejs/test/binary.test.js
+++ b/lib/nodejs/test/binary.test.js
@@ -21,7 +21,7 @@
 const binary = require("thrift/binary");
 
 const cases = {
-  "Should read signed byte": function(assert) {
+  "Should read signed byte": function (assert) {
     assert.equal(1, binary.readByte(0x01));
     assert.equal(-1, binary.readByte(0xff));
 
@@ -29,12 +29,12 @@
     assert.equal(-128, binary.readByte(0x80));
     assert.end();
   },
-  "Should write byte": function(assert) {
+  "Should write byte": function (assert) {
     //Protocol simply writes to the buffer. Nothing to test.. yet.
     assert.ok(true);
     assert.end();
   },
-  "Should read I16": function(assert) {
+  "Should read I16": function (assert) {
     assert.equal(0, binary.readI16([0x00, 0x00]));
     assert.equal(1, binary.readI16([0x00, 0x01]));
     assert.equal(-1, binary.readI16([0xff, 0xff]));
@@ -46,7 +46,7 @@
     assert.end();
   },
 
-  "Should write I16": function(assert) {
+  "Should write I16": function (assert) {
     assert.deepEqual([0x00, 0x00], binary.writeI16([], 0));
     assert.deepEqual([0x00, 0x01], binary.writeI16([], 1));
     assert.deepEqual([0xff, 0xff], binary.writeI16([], -1));
@@ -58,7 +58,7 @@
     assert.end();
   },
 
-  "Should read I32": function(assert) {
+  "Should read I32": function (assert) {
     assert.equal(0, binary.readI32([0x00, 0x00, 0x00, 0x00]));
     assert.equal(1, binary.readI32([0x00, 0x00, 0x00, 0x01]));
     assert.equal(-1, binary.readI32([0xff, 0xff, 0xff, 0xff]));
@@ -70,7 +70,7 @@
     assert.end();
   },
 
-  "Should write I32": function(assert) {
+  "Should write I32": function (assert) {
     assert.deepEqual([0x00, 0x00, 0x00, 0x00], binary.writeI32([], 0));
     assert.deepEqual([0x00, 0x00, 0x00, 0x01], binary.writeI32([], 1));
     assert.deepEqual([0xff, 0xff, 0xff, 0xff], binary.writeI32([], -1));
@@ -78,137 +78,139 @@
     // Min I32
     assert.deepEqual(
       [0x80, 0x00, 0x00, 0x00],
-      binary.writeI32([], -2147483648)
+      binary.writeI32([], -2147483648),
     );
     // Max I32
     assert.deepEqual([0x7f, 0xff, 0xff, 0xff], binary.writeI32([], 2147483647));
     assert.end();
   },
 
-  "Should read doubles": function(assert) {
+  "Should read doubles": function (assert) {
     assert.equal(
       0,
-      binary.readDouble([0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00])
+      binary.readDouble([0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]),
     );
     assert.equal(
       0,
-      binary.readDouble([0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00])
+      binary.readDouble([0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]),
     );
     assert.equal(
       1,
-      binary.readDouble([0x3f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00])
+      binary.readDouble([0x3f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]),
     );
     assert.equal(
       2,
-      binary.readDouble([0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00])
+      binary.readDouble([0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]),
     );
     assert.equal(
       -2,
-      binary.readDouble([0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00])
+      binary.readDouble([0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]),
     );
 
     assert.equal(
       Math.PI,
-      binary.readDouble([0x40, 0x9, 0x21, 0xfb, 0x54, 0x44, 0x2d, 0x18])
+      binary.readDouble([0x40, 0x9, 0x21, 0xfb, 0x54, 0x44, 0x2d, 0x18]),
     );
 
     assert.equal(
       Infinity,
-      binary.readDouble([0x7f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00])
+      binary.readDouble([0x7f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]),
     );
     assert.equal(
       -Infinity,
-      binary.readDouble([0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00])
+      binary.readDouble([0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]),
     );
 
     assert.ok(
-      isNaN(binary.readDouble([0x7f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]))
+      isNaN(
+        binary.readDouble([0x7f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]),
+      ),
     );
 
     assert.equal(
       1 / 3,
-      binary.readDouble([0x3f, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55])
+      binary.readDouble([0x3f, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55]),
     );
 
     // Min subnormal positive double
     assert.equal(
       4.9406564584124654e-324,
-      binary.readDouble([0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01])
+      binary.readDouble([0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01]),
     );
     // Min normal positive double
     assert.equal(
       2.2250738585072014e-308,
-      binary.readDouble([0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00])
+      binary.readDouble([0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]),
     );
     // Max positive double
     assert.equal(
       1.7976931348623157e308,
-      binary.readDouble([0x7f, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff])
+      binary.readDouble([0x7f, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]),
     );
     assert.end();
   },
 
-  "Should write doubles": function(assert) {
+  "Should write doubles": function (assert) {
     assert.deepEqual(
       [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00],
-      binary.writeDouble([], 0)
+      binary.writeDouble([], 0),
     );
     assert.deepEqual(
       [0x3f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00],
-      binary.writeDouble([], 1)
+      binary.writeDouble([], 1),
     );
     assert.deepEqual(
       [0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00],
-      binary.writeDouble([], 2)
+      binary.writeDouble([], 2),
     );
     assert.deepEqual(
       [0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00],
-      binary.writeDouble([], -2)
+      binary.writeDouble([], -2),
     );
 
     assert.deepEqual(
       [0x40, 0x9, 0x21, 0xfb, 0x54, 0x44, 0x2d, 0x18],
-      binary.writeDouble([], Math.PI)
+      binary.writeDouble([], Math.PI),
     );
 
     assert.deepEqual(
       [0x7f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00],
-      binary.writeDouble([], Infinity)
+      binary.writeDouble([], Infinity),
     );
     assert.deepEqual(
       [0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00],
-      binary.writeDouble([], -Infinity)
+      binary.writeDouble([], -Infinity),
     );
 
     assert.deepEqual(
       [0x7f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00],
-      binary.writeDouble([], NaN)
+      binary.writeDouble([], NaN),
     );
 
     assert.deepEqual(
       [0x3f, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55],
-      binary.writeDouble([], 1 / 3)
+      binary.writeDouble([], 1 / 3),
     );
 
     // Min subnormal positive double
     assert.deepEqual(
       [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01],
-      binary.writeDouble([], 4.9406564584124654e-324)
+      binary.writeDouble([], 4.9406564584124654e-324),
     );
     // Min normal positive double
     assert.deepEqual(
       [0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00],
-      binary.writeDouble([], 2.2250738585072014e-308)
+      binary.writeDouble([], 2.2250738585072014e-308),
     );
     // Max positive double
     assert.deepEqual(
       [0x7f, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff],
-      binary.writeDouble([], 1.7976931348623157e308)
+      binary.writeDouble([], 1.7976931348623157e308),
     );
     assert.end();
-  }
+  },
 };
 
-Object.keys(cases).forEach(function(caseName) {
+Object.keys(cases).forEach(function (caseName) {
   test(caseName, cases[caseName]);
 });
diff --git a/lib/nodejs/test/client.js b/lib/nodejs/test/client.js
index 31ea06e..1d137ff 100644
--- a/lib/nodejs/test/client.js
+++ b/lib/nodejs/test/client.js
@@ -25,8 +25,8 @@
 
 const ThriftTest = require(`./${helpers.genPath}/ThriftTest`);
 const ThriftTestDriver = require("./test_driver").ThriftTestDriver;
-const ThriftTestDriverPromise = require("./test_driver")
-  .ThriftTestDriverPromise;
+const ThriftTestDriverPromise =
+  require("./test_driver").ThriftTestDriverPromise;
 const SecondService = require(`./${helpers.genPath}/SecondService`);
 
 const program = require("commander");
@@ -34,24 +34,24 @@
 program
   .option(
     "-p, --protocol <protocol>",
-    "Set thrift protocol (binary|compact|json) [protocol]"
+    "Set thrift protocol (binary|compact|json) [protocol]",
   )
   .option(
     "-t, --transport <transport>",
-    "Set thrift transport (buffered|framed|http) [transport]"
+    "Set thrift transport (buffered|framed|http) [transport]",
   )
   .option("--port <port>", "Set thrift server port number to connect", 9090)
   .option("--host <host>", "Set thrift server host to connect", "localhost")
   .option(
     "--domain-socket <path>",
-    "Set thrift server unix domain socket to connect"
+    "Set thrift server unix domain socket to connect",
   )
   .option("--ssl", "use SSL transport")
   .option("--callback", "test with callback style functions")
   .option(
     "-t, --type <type>",
     "Select server type (http|multiplex|tcp|websocket)",
-    "tcp"
+    "tcp",
   )
   .option("--es6", "Use es6 code")
   .option("--es5", "Use es5 code")
@@ -76,7 +76,7 @@
 
 const options = {
   transport: helpers.transports[program.transport],
-  protocol: helpers.protocols[program.protocol]
+  protocol: helpers.protocols[program.protocol],
 };
 
 if (type === "http" || type === "websocket") {
@@ -128,7 +128,7 @@
   connection.open();
 }
 
-connection.on("error", function(err) {
+connection.on("error", function (err) {
   assert(false, err);
 });
 
@@ -141,11 +141,11 @@
   const secondclient = mp.createClient(
     "SecondService",
     SecondService,
-    connection
+    connection,
   );
 
-  connection.on("connect", function() {
-    secondclient.secondtestString("Test", function(err, response) {
+  connection.on("connect", function () {
+    secondclient.secondtestString("Test", function (err, response) {
       assert(!err);
       assert.equal('testString("Test")', response);
     });
@@ -161,7 +161,7 @@
 }
 
 function runTests() {
-  testDriver(client, function(status) {
+  testDriver(client, function (status) {
     console.log(status);
     if (type !== "http" && type !== "websocket") {
       connection.end();
@@ -172,4 +172,4 @@
   });
 }
 
-exports.expressoTest = function() {};
+exports.expressoTest = function () {};
diff --git a/lib/nodejs/test/deep-constructor.test.js b/lib/nodejs/test/deep-constructor.test.js
index a91ddb1..e5ac3f8 100644
--- a/lib/nodejs/test/deep-constructor.test.js
+++ b/lib/nodejs/test/deep-constructor.test.js
@@ -24,7 +24,7 @@
 
 function serializeBinary(data) {
   let buff;
-  const transport = new thrift.TBufferedTransport(null, function(msg) {
+  const transport = new thrift.TBufferedTransport(null, function (msg) {
     buff = msg;
   });
   const prot = new thrift.TBinaryProtocol(transport);
@@ -43,7 +43,7 @@
 
 function serializeJSON(data) {
   let buff;
-  const transport = new thrift.TBufferedTransport(null, function(msg) {
+  const transport = new thrift.TBufferedTransport(null, function (msg) {
     buff = msg;
   });
   const protocol = new thrift.TJSONProtocol(transport);
@@ -70,17 +70,17 @@
 
     struct_list_field: [
       new ttypes.Simple({ value: "b" }),
-      new ttypes.Simple({ value: "c" })
+      new ttypes.Simple({ value: "c" }),
     ],
 
     struct_set_field: [
       new ttypes.Simple({ value: "d" }),
-      new ttypes.Simple({ value: "e" })
+      new ttypes.Simple({ value: "e" }),
     ],
 
     struct_map_field: {
       A: new ttypes.Simple({ value: "f" }),
-      B: new ttypes.Simple({ value: "g" })
+      B: new ttypes.Simple({ value: "g" }),
     },
 
     struct_nested_containers_field: [
@@ -88,46 +88,46 @@
         {
           C: [
             new ttypes.Simple({ value: "h" }),
-            new ttypes.Simple({ value: "i" })
-          ]
-        }
-      ]
+            new ttypes.Simple({ value: "i" }),
+          ],
+        },
+      ],
     ],
 
     struct_nested_containers_field2: {
       D: [
         {
-          DA: new ttypes.Simple({ value: "j" })
+          DA: new ttypes.Simple({ value: "j" }),
         },
         {
-          DB: new ttypes.Simple({ value: "k" })
-        }
-      ]
+          DB: new ttypes.Simple({ value: "k" }),
+        },
+      ],
     },
 
     list_of_list_field: [
       ["l00", "l01", "l02"],
       ["l10", "l11", "l12"],
-      ["l20", "l21", "l22"]
+      ["l20", "l21", "l22"],
     ],
 
     list_of_list_of_list_field: [
       [
         ["m000", "m001", "m002"],
         ["m010", "m011", "m012"],
-        ["m020", "m021", "m022"]
+        ["m020", "m021", "m022"],
       ],
       [
         ["m100", "m101", "m102"],
         ["m110", "m111", "m112"],
-        ["m120", "m121", "m122"]
+        ["m120", "m121", "m122"],
       ],
       [
         ["m200", "m201", "m202"],
         ["m210", "m211", "m212"],
-        ["m220", "m221", "m222"]
-      ]
-    ]
+        ["m220", "m221", "m222"],
+      ],
+    ],
   });
 }
 
@@ -141,51 +141,51 @@
 
     struct_map_field: {
       A: { value: "f" },
-      B: { value: "g" }
+      B: { value: "g" },
     },
 
     struct_nested_containers_field: [
       [
         {
-          C: [{ value: "h" }, { value: "i" }]
-        }
-      ]
+          C: [{ value: "h" }, { value: "i" }],
+        },
+      ],
     ],
 
     struct_nested_containers_field2: {
       D: [
         {
-          DA: { value: "j" }
+          DA: { value: "j" },
         },
         {
-          DB: { value: "k" }
-        }
-      ]
+          DB: { value: "k" },
+        },
+      ],
     },
 
     list_of_list_field: [
       ["l00", "l01", "l02"],
       ["l10", "l11", "l12"],
-      ["l20", "l21", "l22"]
+      ["l20", "l21", "l22"],
     ],
 
     list_of_list_of_list_field: [
       [
         ["m000", "m001", "m002"],
         ["m010", "m011", "m012"],
-        ["m020", "m021", "m022"]
+        ["m020", "m021", "m022"],
       ],
       [
         ["m100", "m101", "m102"],
         ["m110", "m111", "m112"],
-        ["m120", "m121", "m122"]
+        ["m120", "m121", "m122"],
       ],
       [
         ["m200", "m201", "m202"],
         ["m210", "m211", "m212"],
-        ["m220", "m221", "m222"]
-      ]
-    ]
+        ["m220", "m221", "m222"],
+      ],
+    ],
   };
 }
 
@@ -244,7 +244,7 @@
 
 function createTestCases(serialize, deserialize) {
   const cases = {
-    "Serialize/deserialize should return equal object": function(assert) {
+    "Serialize/deserialize should return equal object": function (assert) {
       const tObj = createThriftObj();
       const received = deserialize(serialize(tObj), ttypes.Complex);
       assert.ok(tObj !== received, "not the same object");
@@ -252,51 +252,49 @@
       assert.end();
     },
 
-    "Nested structs and containers initialized from plain js objects should serialize same as if initialized from thrift objects": function(
-      assert
-    ) {
-      const tObj1 = createThriftObj();
-      const tObj2 = new ttypes.Complex(createJsObj());
-      assertValues(tObj2, assert);
-      const s1 = serialize(tObj1);
-      const s2 = serialize(tObj2);
-      assert.ok(bufferEquals(s1, s2));
-      assert.end();
-    },
+    "Nested structs and containers initialized from plain js objects should serialize same as if initialized from thrift objects":
+      function (assert) {
+        const tObj1 = createThriftObj();
+        const tObj2 = new ttypes.Complex(createJsObj());
+        assertValues(tObj2, assert);
+        const s1 = serialize(tObj1);
+        const s2 = serialize(tObj2);
+        assert.ok(bufferEquals(s1, s2));
+        assert.end();
+      },
 
-    "Modifications to args object should not affect constructed Thrift object": function(
-      assert
-    ) {
-      const args = createJsObj();
-      assertValues(args, assert);
+    "Modifications to args object should not affect constructed Thrift object":
+      function (assert) {
+        const args = createJsObj();
+        assertValues(args, assert);
 
-      const tObj = new ttypes.Complex(args);
-      assertValues(tObj, assert);
+        const tObj = new ttypes.Complex(args);
+        assertValues(tObj, assert);
 
-      args.struct_field.value = "ZZZ";
-      args.struct_list_field[0].value = "ZZZ";
-      args.struct_list_field[1].value = "ZZZ";
-      args.struct_set_field[0].value = "ZZZ";
-      args.struct_set_field[1].value = "ZZZ";
-      args.struct_map_field.A.value = "ZZZ";
-      args.struct_map_field.B.value = "ZZZ";
-      args.struct_nested_containers_field[0][0].C[0] = "ZZZ";
-      args.struct_nested_containers_field[0][0].C[1] = "ZZZ";
-      args.struct_nested_containers_field2.D[0].DA = "ZZZ";
-      args.struct_nested_containers_field2.D[0].DB = "ZZZ";
+        args.struct_field.value = "ZZZ";
+        args.struct_list_field[0].value = "ZZZ";
+        args.struct_list_field[1].value = "ZZZ";
+        args.struct_set_field[0].value = "ZZZ";
+        args.struct_set_field[1].value = "ZZZ";
+        args.struct_map_field.A.value = "ZZZ";
+        args.struct_map_field.B.value = "ZZZ";
+        args.struct_nested_containers_field[0][0].C[0] = "ZZZ";
+        args.struct_nested_containers_field[0][0].C[1] = "ZZZ";
+        args.struct_nested_containers_field2.D[0].DA = "ZZZ";
+        args.struct_nested_containers_field2.D[0].DB = "ZZZ";
 
-      assertValues(tObj, assert);
-      assert.end();
-    },
+        assertValues(tObj, assert);
+        assert.end();
+      },
 
-    "nulls are ok": function(assert) {
+    "nulls are ok": function (assert) {
       const tObj = new ttypes.Complex({
         struct_field: null,
         struct_list_field: null,
         struct_set_field: null,
         struct_map_field: null,
         struct_nested_containers_field: null,
-        struct_nested_containers_field2: null
+        struct_nested_containers_field2: null,
       });
       const received = deserialize(serialize(tObj), ttypes.Complex);
       assert.strictEqual(tObj.struct_field, null);
@@ -305,9 +303,9 @@
       assert.end();
     },
 
-    "Can make list with objects": function(assert) {
+    "Can make list with objects": function (assert) {
       const tObj = new ttypes.ComplexList({
-        struct_list_field: [new ttypes.Complex({})]
+        struct_list_field: [new ttypes.Complex({})],
       });
       const innerObj = tObj.struct_list_field[0];
       assert.ok(innerObj instanceof ttypes.Complex);
@@ -318,13 +316,13 @@
       assert.strictEqual(innerObj.struct_nested_containers_field, null);
       assert.strictEqual(innerObj.struct_nested_containers_field2, null);
       assert.end();
-    }
+    },
   };
   return cases;
 }
 
 function run(name, cases) {
-  Object.keys(cases).forEach(function(caseName) {
+  Object.keys(cases).forEach(function (caseName) {
     test(name + ": " + caseName, cases[caseName]);
   });
 }
diff --git a/lib/nodejs/test/episodic-code-generation-test/client.js b/lib/nodejs/test/episodic-code-generation-test/client.js
index 55dc702..631bfe7 100644
--- a/lib/nodejs/test/episodic-code-generation-test/client.js
+++ b/lib/nodejs/test/episodic-code-generation-test/client.js
@@ -37,21 +37,21 @@
 
 const options = {
   transport: thrift.TBufferedTransport,
-  protocol: thrift.TJSONProtocol
+  protocol: thrift.TJSONProtocol,
 };
 
 const connection = thrift.createConnection(host, port, options);
-const testDriver = function(client, callback) {
-  test("NodeJS episodic compilation client-server test", function(assert) {
+const testDriver = function (client, callback) {
+  test("NodeJS episodic compilation client-server test", function (assert) {
     const type1Object = new Types.Type1();
     type1Object.number = 42;
     type1Object.message = "The answer";
-    client.testEpisode(type1Object, function(err, response) {
+    client.testEpisode(type1Object, function (err, response) {
       assert.error(err, "no callback error");
       assert.equal(response.number, type1Object.number + 1);
       assert.equal(
         response.message,
-        type1Object.message + " [Hello from the server]"
+        type1Object.message + " [Hello from the server]",
       );
       assert.end();
       callback("Server successfully tested");
@@ -59,7 +59,7 @@
   });
 };
 
-connection.on("error", function(err) {
+connection.on("error", function (err) {
   assert(false, err);
 });
 
@@ -68,10 +68,10 @@
 runTests();
 
 function runTests() {
-  testDriver(client, function(status) {
+  testDriver(client, function (status) {
     console.log(status);
     connection.destroy();
   });
 }
 
-exports.expressoTest = function() {};
+exports.expressoTest = function () {};
diff --git a/lib/nodejs/test/episodic-code-generation-test/server.js b/lib/nodejs/test/episodic-code-generation-test/server.js
index 2917b68..feca380 100644
--- a/lib/nodejs/test/episodic-code-generation-test/server.js
+++ b/lib/nodejs/test/episodic-code-generation-test/server.js
@@ -33,17 +33,17 @@
 
 const options = {
   transport: thrift.TBufferedTransport,
-  protocol: thrift.TJSONProtocol
+  protocol: thrift.TJSONProtocol,
 };
 
 const ServiceHandler = {
-  testEpisode: function(receivedType1Object) {
+  testEpisode: function (receivedType1Object) {
     const type1Object = new Types.Type1();
     type1Object.number = receivedType1Object.number + 1;
     type1Object.message =
       receivedType1Object.message + " [Hello from the server]";
     return type1Object;
-  }
+  },
 };
 
 const server = thrift.createServer(Service, ServiceHandler, options);
diff --git a/lib/nodejs/test/exceptions.js b/lib/nodejs/test/exceptions.js
index f30f987..4119e76 100644
--- a/lib/nodejs/test/exceptions.js
+++ b/lib/nodejs/test/exceptions.js
@@ -26,23 +26,23 @@
   const e = new thrift.TApplicationException(1, "foo");
   assert.ok(
     e instanceof thrift.TApplicationException,
-    "is instanceof TApplicationException"
+    "is instanceof TApplicationException",
   );
   assert.ok(e instanceof thrift.TException, "is instanceof TException");
   assert.ok(e instanceof Error, "is instanceof Error");
   assert.equal(typeof e.stack, "string", "has stack trace");
   assert.ok(
     /^TApplicationException: foo/.test(e.stack),
-    "Stack trace has correct error name and message"
+    "Stack trace has correct error name and message",
   );
   assert.ok(
     e.stack.indexOf("test/exceptions.js:7:11") !== -1,
-    "stack trace starts on correct line and column"
+    "stack trace starts on correct line and column",
   );
   assert.equal(
     e.name,
     "TApplicationException",
-    "has function name TApplicationException"
+    "has function name TApplicationException",
   );
   assert.equal(e.message, "foo", 'has error message "foo"');
   assert.equal(e.type, 1, "has type 1");
@@ -53,23 +53,23 @@
   const e = new thrift.TApplicationException(1, 100);
   assert.ok(
     e instanceof thrift.TApplicationException,
-    "is instanceof TApplicationException"
+    "is instanceof TApplicationException",
   );
   assert.ok(e instanceof thrift.TException, "is instanceof TException");
   assert.ok(e instanceof Error, "is instanceof Error");
   assert.equal(typeof e.stack, "string", "has stack trace");
   assert.ok(
     /^TApplicationException: 100/.test(e.stack),
-    "Stack trace has correct error name and message"
+    "Stack trace has correct error name and message",
   );
   assert.ok(
     e.stack.indexOf("test/exceptions.js:7:11") !== -1,
-    "stack trace starts on correct line and column"
+    "stack trace starts on correct line and column",
   );
   assert.equal(
     e.name,
     "TApplicationException",
-    "has function name TApplicationException"
+    "has function name TApplicationException",
   );
   assert.equal(e.message, 100, "has error message 100");
   assert.equal(e.type, 1, "has type 1");
@@ -83,11 +83,11 @@
   assert.equal(typeof e.stack, "string", "has stack trace");
   assert.ok(
     /^TException: foo/.test(e.stack),
-    "Stack trace has correct error name and message"
+    "Stack trace has correct error name and message",
   );
   assert.ok(
     e.stack.indexOf("test/exceptions.js:21:11") !== -1,
-    "stack trace starts on correct line and column"
+    "stack trace starts on correct line and column",
   );
   assert.equal(e.name, "TException", "has function name TException");
   assert.equal(e.message, "foo", 'has error message "foo"');
@@ -98,22 +98,22 @@
   const e = new thrift.TProtocolException(1, "foo");
   assert.ok(
     e instanceof thrift.TProtocolException,
-    "is instanceof TProtocolException"
+    "is instanceof TProtocolException",
   );
   assert.ok(e instanceof Error, "is instanceof Error");
   assert.equal(typeof e.stack, "string", "has stack trace");
   assert.ok(
     /^TProtocolException: foo/.test(e.stack),
-    "Stack trace has correct error name and message"
+    "Stack trace has correct error name and message",
   );
   assert.ok(
     e.stack.indexOf("test/exceptions.js:33:11") !== -1,
-    "stack trace starts on correct line and column"
+    "stack trace starts on correct line and column",
   );
   assert.equal(
     e.name,
     "TProtocolException",
-    "has function name TProtocolException"
+    "has function name TProtocolException",
   );
   assert.equal(e.message, "foo", 'has error message "foo"');
   assert.equal(e.type, 1, "has type 1");
@@ -124,22 +124,22 @@
   const e = new InputBufferUnderrunError("foo");
   assert.ok(
     e instanceof InputBufferUnderrunError,
-    "is instanceof InputBufferUnderrunError"
+    "is instanceof InputBufferUnderrunError",
   );
   assert.ok(e instanceof Error, "is instanceof Error");
   assert.equal(typeof e.stack, "string", "has stack trace");
   assert.ok(
     /^InputBufferUnderrunError: foo/.test(e.stack),
-    "Stack trace has correct error name and message"
+    "Stack trace has correct error name and message",
   );
   assert.ok(
     e.stack.indexOf("test/exceptions.js:46:11") !== -1,
-    "stack trace starts on correct line and column"
+    "stack trace starts on correct line and column",
   );
   assert.equal(
     e.name,
     "InputBufferUnderrunError",
-    "has function name InputBufferUnderrunError"
+    "has function name InputBufferUnderrunError",
   );
   assert.equal(e.message, "foo", 'has error message "foo"');
   assert.end();
diff --git a/lib/nodejs/test/header.test.js b/lib/nodejs/test/header.test.js
index 12f1557..24f49be 100644
--- a/lib/nodejs/test/header.test.js
+++ b/lib/nodejs/test/header.test.js
@@ -26,11 +26,11 @@
 const path = require("path");
 
 const headerPayload = fs.readFileSync(
-  path.join(__dirname, "test_header_payload")
+  path.join(__dirname, "test_header_payload"),
 );
 
 const cases = {
-  "Should read headers from payload": function(assert) {
+  "Should read headers from payload": function (assert) {
     const transport = new TFramedTransport();
     transport.inBuf = Buffer.from(headerPayload);
 
@@ -39,7 +39,7 @@
     assert.equals(headers.Trace, "abcde");
     assert.end();
   },
-  "Should read different headers from different payload": function(assert) {
+  "Should read different headers from different payload": function (assert) {
     const transport = new TFramedTransport();
     const buf = Buffer.from(headerPayload);
     buf[24] = 115; // Change Parent to Parens
@@ -52,7 +52,7 @@
     assert.equals(headers.Trace, "abcde");
     assert.end();
   },
-  "Should read headers when reading message begin": function(assert) {
+  "Should read headers when reading message begin": function (assert) {
     const transport = new TFramedTransport();
     transport.inBuf = Buffer.from(headerPayload);
     const protocol = new THeaderProtocol(transport);
@@ -65,7 +65,7 @@
     assert.equals(result.mtype, thrift.Thrift.MessageType.CALL);
     assert.end();
   },
-  "Should be able to write headers": function(assert) {
+  "Should be able to write headers": function (assert) {
     const writeTransport = new TFramedTransport();
     writeTransport.setProtocolId(THeaderTransport.SubprotocolId.BINARY);
     writeTransport.setWriteHeader("Hihihihi", "hohohoho");
@@ -84,7 +84,7 @@
     assert.equals(headers.a, "z");
     assert.end();
   },
-  "Separate transports should have separate headers": function(assert) {
+  "Separate transports should have separate headers": function (assert) {
     const writeTransport = new TFramedTransport();
     writeTransport.setProtocolId(THeaderTransport.SubprotocolId.BINARY);
     writeTransport.setWriteHeader("foo", "bar");
@@ -101,8 +101,8 @@
     assert.equals(otherHeaders.otherfoo, "baz");
     assert.end();
   },
-  "Should handle large messages without crashing": function(assert) {
-    const callback = function() {};
+  "Should handle large messages without crashing": function (assert) {
+    const callback = function () {};
     const onData = TFramedTransport.receiver(callback);
 
     const largeChunkSize = 2 * 100 * 1024 * 1024;
@@ -112,9 +112,9 @@
     onData(Buffer.concat([sizeBuffer, largeChunk]));
 
     assert.end();
-  }
+  },
 };
 
-Object.keys(cases).forEach(function(caseName) {
+Object.keys(cases).forEach(function (caseName) {
   test(caseName, cases[caseName]);
 });
diff --git a/lib/nodejs/test/helpers.js b/lib/nodejs/test/helpers.js
index f3c27b3..51a0523 100644
--- a/lib/nodejs/test/helpers.js
+++ b/lib/nodejs/test/helpers.js
@@ -22,14 +22,14 @@
 
 module.exports.transports = {
   buffered: thrift.TBufferedTransport,
-  framed: thrift.TFramedTransport
+  framed: thrift.TFramedTransport,
 };
 
 module.exports.protocols = {
   json: thrift.TJSONProtocol,
   binary: thrift.TBinaryProtocol,
   compact: thrift.TCompactProtocol,
-  header: thrift.THeaderProtocol
+  header: thrift.THeaderProtocol,
 };
 
 module.exports.ecmaMode = process.argv.includes("--es6") ? "es6" : "es5";
diff --git a/lib/nodejs/test/int64.test.js b/lib/nodejs/test/int64.test.js
index 27ad28c..21d4d58 100644
--- a/lib/nodejs/test/int64.test.js
+++ b/lib/nodejs/test/int64.test.js
@@ -23,7 +23,7 @@
 const test = require("tape");
 
 const cases = {
-  "should correctly generate Int64 constants": function(assert) {
+  "should correctly generate Int64 constants": function (assert) {
     const EXPECTED_SMALL_INT64_AS_NUMBER = 42;
     const EXPECTED_SMALL_INT64 = new Int64(42);
     const EXPECTED_MAX_JS_SAFE_INT64 = new Int64(Number.MAX_SAFE_INTEGER);
@@ -39,7 +39,7 @@
       EXPECTED_MAX_JS_SAFE_PLUS_ONE_INT64,
       EXPECTED_MIN_JS_SAFE_MINUS_ONE_INT64,
       EXPECTED_MAX_SIGNED_INT64,
-      EXPECTED_MIN_SIGNED_INT64
+      EXPECTED_MIN_SIGNED_INT64,
     ];
 
     assert.ok(EXPECTED_SMALL_INT64.equals(i64types.SMALL_INT64));
@@ -47,27 +47,27 @@
     assert.ok(EXPECTED_MIN_JS_SAFE_INT64.equals(i64types.MIN_JS_SAFE_INT64));
     assert.ok(
       EXPECTED_MAX_JS_SAFE_PLUS_ONE_INT64.equals(
-        i64types.MAX_JS_SAFE_PLUS_ONE_INT64
-      )
+        i64types.MAX_JS_SAFE_PLUS_ONE_INT64,
+      ),
     );
     assert.ok(
       EXPECTED_MIN_JS_SAFE_MINUS_ONE_INT64.equals(
-        i64types.MIN_JS_SAFE_MINUS_ONE_INT64
-      )
+        i64types.MIN_JS_SAFE_MINUS_ONE_INT64,
+      ),
     );
     assert.ok(EXPECTED_MAX_SIGNED_INT64.equals(i64types.MAX_SIGNED_INT64));
     assert.ok(EXPECTED_MIN_SIGNED_INT64.equals(i64types.MIN_SIGNED_INT64));
     assert.equal(
       EXPECTED_SMALL_INT64_AS_NUMBER,
-      i64types.SMALL_INT64.toNumber()
+      i64types.SMALL_INT64.toNumber(),
     );
     assert.equal(
       Number.MAX_SAFE_INTEGER,
-      i64types.MAX_JS_SAFE_INT64.toNumber()
+      i64types.MAX_JS_SAFE_INT64.toNumber(),
     );
     assert.equal(
       Number.MIN_SAFE_INTEGER,
-      i64types.MIN_JS_SAFE_INT64.toNumber()
+      i64types.MIN_JS_SAFE_INT64.toNumber(),
     );
 
     for (let i = 0; i < EXPECTED_INT64_LIST.length; ++i) {
@@ -79,14 +79,14 @@
       assert.ok(
         i64types.INT64_2_INT64_MAP[
           JSONInt64.toDecimalString(int64Object)
-        ].equals(int64Object)
+        ].equals(int64Object),
       );
     }
 
     assert.end();
-  }
+  },
 };
 
-Object.keys(cases).forEach(function(caseName) {
+Object.keys(cases).forEach(function (caseName) {
   test(caseName, cases[caseName]);
 });
diff --git a/lib/nodejs/test/server.js b/lib/nodejs/test/server.js
index 677839a..c8e7808 100644
--- a/lib/nodejs/test/server.js
+++ b/lib/nodejs/test/server.js
@@ -29,12 +29,12 @@
   .option(
     "-p, --protocol <protocol>",
     "Set thrift protocol (binary|compact|json)",
-    "binary"
+    "binary",
   )
   .option(
     "-t, --transport <transport>",
     "Set thrift transport (buffered|framed|http)",
-    "buffered"
+    "buffered",
   )
   .option("--ssl", "use ssl transport")
   .option("--port <port>", "Set thrift server port", 9090)
@@ -42,7 +42,7 @@
   .option(
     "-t, --type <type>",
     "Select server type (http|multiplex|tcp|websocket)",
-    "tcp"
+    "tcp",
   )
   .option("--callback", "test with callback style functions")
   .option("--es6", "Use es6 code")
@@ -68,7 +68,7 @@
 
 let options = {
   transport: helpers.transports[program.transport],
-  protocol: helpers.protocols[program.protocol]
+  protocol: helpers.protocols[program.protocol],
 };
 
 if (type === "http" || type === "websocket") {
@@ -78,30 +78,30 @@
   options = {
     services: { "/test": options },
     cors: {
-      "*": true
-    }
+      "*": true,
+    },
   };
 }
 
 let processor;
 if (type === "multiplex") {
   const SecondServiceHandler = {
-    secondtestString: function(thing, result) {
+    secondtestString: function (thing, result) {
       console.log('testString("' + thing + '")');
       result(null, 'testString("' + thing + '")');
-    }
+    },
   };
 
   processor = new thrift.MultiplexedProcessor();
 
   processor.registerProcessor(
     "ThriftTest",
-    new ThriftTest.Processor(ThriftTestHandler)
+    new ThriftTest.Processor(ThriftTestHandler),
   );
 
   processor.registerProcessor(
     "SecondService",
-    new SecondService.Processor(SecondServiceHandler)
+    new SecondService.Processor(SecondServiceHandler),
   );
 }
 
@@ -114,7 +114,7 @@
   ) {
     options.tls = {
       key: fs.readFileSync(path.resolve(__dirname, "server.key")),
-      cert: fs.readFileSync(path.resolve(__dirname, "server.crt"))
+      cert: fs.readFileSync(path.resolve(__dirname, "server.crt")),
     };
   }
 }
diff --git a/lib/nodejs/test/test-cases.js b/lib/nodejs/test/test-cases.js
index 02c566f..98077f7 100644
--- a/lib/nodejs/test/test-cases.js
+++ b/lib/nodejs/test/test-cases.js
@@ -65,9 +65,9 @@
   a: "123",
   "a b": "with spaces ",
   same: "same",
-  "0": "numeric key",
+  0: "numeric key",
   longValue: stringTest,
-  stringTest: "long key"
+  stringTest: "long key",
 });
 
 const simple = [
@@ -93,9 +93,9 @@
   ["testI64", new Int64(new Buffer([0, 0x20, 0, 0, 0, 0, 0, 1]))], // 2^53+1
   [
     "testI64",
-    new Int64(new Buffer([0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]))
+    new Int64(new Buffer([0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff])),
   ], // -2^53-1
-  ["testTypedef", 69]
+  ["testTypedef", 69],
 ];
 
 const mapout = {};
@@ -106,21 +106,21 @@
 const deep = [
   [
     "testList",
-    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
-  ]
+    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20],
+  ],
 ];
 
 const deepUnordered = [
   ["testMap", mapout],
   ["testSet", [1, 2, 3]],
-  ["testStringMap", mapTestInput]
+  ["testStringMap", mapTestInput],
 ];
 
 const out = new ttypes.Xtruct({
   string_thing: "Zero",
   byte_thing: 1,
   i32_thing: -3,
-  i64_thing: 1000000
+  i64_thing: 1000000,
 });
 
 const out2 = new ttypes.Xtruct2();
@@ -129,44 +129,44 @@
 out2.i32_thing = 5;
 
 const crazy = new ttypes.Insanity({
-  userMap: { "5": 5, "8": 8 },
+  userMap: { 5: 5, 8: 8 },
   xtructs: [
     new ttypes.Xtruct({
       string_thing: "Goodbye4",
       byte_thing: 4,
       i32_thing: 4,
-      i64_thing: 4
+      i64_thing: 4,
     }),
     new ttypes.Xtruct({
       string_thing: "Hello2",
       byte_thing: 2,
       i32_thing: 2,
-      i64_thing: 2
-    })
-  ]
+      i64_thing: 2,
+    }),
+  ],
 });
 
 const crazy2 = new ttypes.Insanity({
-  userMap: { "5": 5, "8": 8 },
+  userMap: { 5: 5, 8: 8 },
   xtructs: [
     {
       string_thing: "Goodbye4",
       byte_thing: 4,
       i32_thing: 4,
-      i64_thing: 4
+      i64_thing: 4,
     },
     {
       string_thing: "Hello2",
       byte_thing: 2,
       i32_thing: 2,
-      i64_thing: 2
-    }
-  ]
+      i64_thing: 2,
+    },
+  ],
 });
 
 const insanity = {
-  "1": { "2": crazy, "3": crazy },
-  "2": { "6": { userMap: {}, xtructs: [] } }
+  1: { 2: crazy, 3: crazy },
+  2: { 6: { userMap: {}, xtructs: [] } },
 };
 
 module.exports.simple = simple;
diff --git a/lib/nodejs/test/test_driver.js b/lib/nodejs/test/test_driver.js
index 7c9a919..0593aea 100644
--- a/lib/nodejs/test/test_driver.js
+++ b/lib/nodejs/test/test_driver.js
@@ -34,18 +34,18 @@
 const Int64 = require("node-int64");
 const testCases = require("./test-cases");
 
-exports.ThriftTestDriver = function(client, callback) {
+exports.ThriftTestDriver = function (client, callback) {
   test(
     "NodeJS Style Callback Client Tests",
     { skip: helpers.ecmaMode === "es6" },
-    function(assert) {
+    function (assert) {
       const checkRecursively = makeRecursiveCheck(assert);
 
       function makeAsserter(assertionFn) {
-        return function(c) {
+        return function (c) {
           const fnName = c[0];
           const expected = c[1];
-          client[fnName](expected, function(err, actual) {
+          client[fnName](expected, function (err, actual) {
             assert.error(err, fnName + ": no callback error");
             assertionFn(actual, expected, fnName);
           });
@@ -53,18 +53,18 @@
       }
 
       testCases.simple.forEach(
-        makeAsserter(function(a, e, m) {
+        makeAsserter(function (a, e, m) {
           if (a instanceof Int64) {
             const e64 = e instanceof Int64 ? e : new Int64(e);
             assert.deepEqual(a.buffer, e64.buffer, m);
           } else {
             assert.equal(a, e, m);
           }
-        })
+        }),
       );
       testCases.deep.forEach(makeAsserter(assert.deepEqual));
       testCases.deepUnordered.forEach(
-        makeAsserter(makeUnorderedDeepEqual(assert))
+        makeAsserter(makeUnorderedDeepEqual(assert)),
       );
 
       const arr = [];
@@ -72,106 +72,106 @@
         arr[i] = 255 - i;
       }
       let buf = new Buffer(arr);
-      client.testBinary(buf, function(err, response) {
+      client.testBinary(buf, function (err, response) {
         assert.error(err, "testBinary: no callback error");
         assert.equal(response.length, 256, "testBinary");
         assert.deepEqual(response, buf, "testBinary(Buffer)");
       });
       buf = new Buffer(arr);
-      client.testBinary(buf.toString("binary"), function(err, response) {
+      client.testBinary(buf.toString("binary"), function (err, response) {
         assert.error(err, "testBinary: no callback error");
         assert.equal(response.length, 256, "testBinary");
         assert.deepEqual(response, buf, "testBinary(string)");
       });
 
-      client.testMapMap(42, function(err, response) {
+      client.testMapMap(42, function (err, response) {
         const expected = {
-          "4": { "1": 1, "2": 2, "3": 3, "4": 4 },
-          "-4": { "-4": -4, "-3": -3, "-2": -2, "-1": -1 }
+          4: { 1: 1, 2: 2, 3: 3, 4: 4 },
+          "-4": { "-4": -4, "-3": -3, "-2": -2, "-1": -1 },
         };
         assert.error(err, "testMapMap: no callback error");
         assert.deepEqual(expected, response, "testMapMap");
       });
 
-      client.testStruct(testCases.out, function(err, response) {
+      client.testStruct(testCases.out, function (err, response) {
         assert.error(err, "testStruct: no callback error");
         checkRecursively(testCases.out, response, "testStruct");
       });
 
-      client.testNest(testCases.out2, function(err, response) {
+      client.testNest(testCases.out2, function (err, response) {
         assert.error(err, "testNest: no callback error");
         checkRecursively(testCases.out2, response, "testNest");
       });
 
-      client.testInsanity(testCases.crazy, function(err, response) {
+      client.testInsanity(testCases.crazy, function (err, response) {
         assert.error(err, "testInsanity: no callback error");
         checkRecursively(testCases.insanity, response, "testInsanity");
       });
 
-      client.testInsanity(testCases.crazy2, function(err, response) {
+      client.testInsanity(testCases.crazy2, function (err, response) {
         assert.error(err, "testInsanity2: no callback error");
         checkRecursively(testCases.insanity, response, "testInsanity2");
       });
 
-      client.testException("TException", function(err, response) {
+      client.testException("TException", function (err, response) {
         assert.ok(
           err instanceof TException,
-          "testException: correct error type"
+          "testException: correct error type",
         );
         assert.ok(!response, "testException: no response");
       });
 
-      client.testException("Xception", function(err, response) {
+      client.testException("Xception", function (err, response) {
         assert.ok(
           err instanceof ttypes.Xception,
-          "testException: correct error type"
+          "testException: correct error type",
         );
         assert.ok(!response, "testException: no response");
         assert.equal(err.errorCode, 1001, "testException: correct error code");
         assert.equal(
           "Xception",
           err.message,
-          "testException: correct error message"
+          "testException: correct error message",
         );
       });
 
-      client.testException("no Exception", function(err, response) {
+      client.testException("no Exception", function (err, response) {
         assert.error(err, "testException: no callback error");
         assert.ok(!response, "testException: no response");
       });
 
-      client.testOneway(0, function(err, response) {
+      client.testOneway(0, function (err, response) {
         assert.error(err, "testOneway: no callback error");
         assert.strictEqual(response, undefined, "testOneway: void response");
       });
 
-      checkOffByOne(function(done) {
-        client.testI32(-1, function(err, response) {
+      checkOffByOne(function (done) {
+        client.testI32(-1, function (err, response) {
           assert.error(err, "checkOffByOne: no callback error");
           assert.equal(-1, response);
           assert.end();
           done();
         });
       }, callback);
-    }
+    },
   );
 
   // ES6 does not support callback style
   if (helpers.ecmaMode === "es6") {
-    checkOffByOne(done => done(), callback);
+    checkOffByOne((done) => done(), callback);
   }
 };
 
-exports.ThriftTestDriverPromise = function(client, callback) {
-  test("Promise Client Tests", function(assert) {
+exports.ThriftTestDriverPromise = function (client, callback) {
+  test("Promise Client Tests", function (assert) {
     const checkRecursively = makeRecursiveCheck(assert);
 
     function makeAsserter(assertionFn) {
-      return function(c) {
+      return function (c) {
         const fnName = c[0];
         const expected = c[1];
         client[fnName](expected)
-          .then(function(actual) {
+          .then(function (actual) {
             assertionFn(actual, expected, fnName);
           })
           .catch(() => assert.fail("fnName"));
@@ -179,63 +179,63 @@
     }
 
     testCases.simple.forEach(
-      makeAsserter(function(a, e, m) {
+      makeAsserter(function (a, e, m) {
         if (a instanceof Int64) {
           const e64 = e instanceof Int64 ? e : new Int64(e);
           assert.deepEqual(a.buffer, e64.buffer, m);
         } else {
           assert.equal(a, e, m);
         }
-      })
+      }),
     );
     testCases.deep.forEach(makeAsserter(assert.deepEqual));
     testCases.deepUnordered.forEach(
-      makeAsserter(makeUnorderedDeepEqual(assert))
+      makeAsserter(makeUnorderedDeepEqual(assert)),
     );
 
     client
       .testStruct(testCases.out)
-      .then(function(response) {
+      .then(function (response) {
         checkRecursively(testCases.out, response, "testStruct");
       })
       .catch(() => assert.fail("testStruct"));
 
     client
       .testNest(testCases.out2)
-      .then(function(response) {
+      .then(function (response) {
         checkRecursively(testCases.out2, response, "testNest");
       })
       .catch(() => assert.fail("testNest"));
 
     client
       .testInsanity(testCases.crazy)
-      .then(function(response) {
+      .then(function (response) {
         checkRecursively(testCases.insanity, response, "testInsanity");
       })
       .catch(() => assert.fail("testInsanity"));
 
     client
       .testInsanity(testCases.crazy2)
-      .then(function(response) {
+      .then(function (response) {
         checkRecursively(testCases.insanity, response, "testInsanity2");
       })
       .catch(() => assert.fail("testInsanity2"));
 
     client
       .testException("TException")
-      .then(function() {
+      .then(function () {
         assert.fail("testException: TException");
       })
-      .catch(function(err) {
+      .catch(function (err) {
         assert.ok(err instanceof TException);
       });
 
     client
       .testException("Xception")
-      .then(function() {
+      .then(function () {
         assert.fail("testException: Xception");
       })
-      .catch(function(err) {
+      .catch(function (err) {
         assert.ok(err instanceof ttypes.Xception);
         assert.equal(err.errorCode, 1001);
         assert.equal("Xception", err.message);
@@ -243,22 +243,22 @@
 
     client
       .testException("no Exception")
-      .then(function(response) {
+      .then(function (response) {
         assert.equal(undefined, response); //void
       })
       .catch(() => assert.fail("testException"));
 
     client
       .testOneway(0)
-      .then(function(response) {
+      .then(function (response) {
         assert.strictEqual(response, undefined, "testOneway: void response");
       })
       .catch(() => assert.fail("testOneway: should not reject"));
 
-    checkOffByOne(function(done) {
+    checkOffByOne(function (done) {
       client
         .testI32(-1)
-        .then(function(response) {
+        .then(function (response) {
           assert.equal(-1, response);
           assert.end();
           done();
@@ -272,7 +272,7 @@
 // =========================================================
 
 function makeRecursiveCheck(assert) {
-  return function(map1, map2, msg) {
+  return function (map1, map2, msg) {
     const equal = checkRecursively(map1, map2);
 
     assert.ok(equal, msg);
@@ -295,7 +295,7 @@
             return map1 == map2;
           }
         } else {
-          return Object.keys(map1).every(function(key) {
+          return Object.keys(map1).every(function (key) {
             return checkRecursively(map1[key], map2[key]);
           });
         }
@@ -319,7 +319,7 @@
    * Because this is the last test against the server, when it completes
    * the entire suite is complete by definition (the tests run serially).
    */
-  done(function() {
+  done(function () {
     test_complete = true;
   });
 
@@ -334,7 +334,7 @@
         callback(
           "Server test failed to complete after " +
             (retry_limit * retry_interval) / 1000 +
-            " seconds"
+            " seconds",
         );
       }
     }
@@ -344,7 +344,7 @@
 }
 
 function makeUnorderedDeepEqual(assert) {
-  return function(actual, expected, name) {
+  return function (actual, expected, name) {
     assert.equal(actual.length, expected.length, name);
     for (const k in actual) {
       let found = false;
diff --git a/lib/nodejs/test/test_handler.js b/lib/nodejs/test/test_handler.js
index 317a7c8..a6a6fc2 100644
--- a/lib/nodejs/test/test_handler.js
+++ b/lib/nodejs/test/test_handler.js
@@ -24,7 +24,7 @@
 const TException = require("thrift").Thrift.TException;
 
 function makeSyncHandler() {
-  return function(thing) {
+  return function (thing) {
     return thing;
   };
 }
@@ -36,11 +36,11 @@
   testMulti: testMulti,
   testException: testException,
   testMultiException: testMultiException,
-  testOneway: testOneway
+  testOneway: testOneway,
 };
 
 function makeAsyncHandler(label) {
-  return function(thing, result) {
+  return function (thing, result) {
     thing = syncHandlers[label](thing);
     result(null, thing);
   };
@@ -51,7 +51,7 @@
   testMulti: testMultiAsync,
   testException: testExceptionAsync,
   testMultiException: testMultiExceptionAsync,
-  testOneway: testOnewayAsync
+  testOneway: testOnewayAsync,
 };
 
 const identityHandlers = [
@@ -69,7 +69,7 @@
   "testSet",
   "testList",
   "testEnum",
-  "testTypedef"
+  "testTypedef",
 ];
 
 function testVoid() {
@@ -208,12 +208,12 @@
   testOneway(sleepFor);
 }
 
-identityHandlers.forEach(function(label) {
+identityHandlers.forEach(function (label) {
   syncHandlers[label] = makeSyncHandler(label);
   asyncHandlers[label] = makeAsyncHandler(label);
 });
 
-["testMapMap", "testInsanity"].forEach(function(label) {
+["testMapMap", "testInsanity"].forEach(function (label) {
   asyncHandlers[label] = makeAsyncHandler(label);
 });