THRIFT-1014 JavaScript code should use semicolon-terminated statements


git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1078905 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/lib/js/thrift.js b/lib/js/thrift.js
index 4d66861..4f828cb 100644
--- a/lib/js/thrift.js
+++ b/lib/js/thrift.js
@@ -18,141 +18,142 @@
  */
 var Thrift = {
 
-    Type : {
-        "STOP"   : 0,
-        "VOID"   : 1,
-        "BOOL"   : 2,
-        "BYTE"   : 3,
-        "I08"    : 3,
-        "DOUBLE" : 4,
-        "I16"    : 6,
-        "I32"    : 8,
-        "I64"    : 10,
-        "STRING" : 11,
-        "UTF7"   : 11,
-        "STRUCT" : 12,
-        "MAP"    : 13,
-        "SET"    : 14,
-        "LIST"   : 15,
-        "UTF8"   : 16,
-        "UTF16"  : 17
+    Type: {
+        'STOP' : 0,
+        'VOID' : 1,
+        'BOOL' : 2,
+        'BYTE' : 3,
+        'I08' : 3,
+        'DOUBLE' : 4,
+        'I16' : 6,
+        'I32' : 8,
+        'I64' : 10,
+        'STRING' : 11,
+        'UTF7' : 11,
+        'STRUCT' : 12,
+        'MAP' : 13,
+        'SET' : 14,
+        'LIST' : 15,
+        'UTF8' : 16,
+        'UTF16' : 17
     },
 
-    MessageType : {
-        "CALL"      : 1,
-        "REPLY"     : 2,
-        "EXCEPTION" : 3
+    MessageType: {
+        'CALL' : 1,
+        'REPLY' : 2,
+        'EXCEPTION' : 3
     },
-    
-    objectLength : function(obj) {
-        var length = 0
+
+    objectLength: function(obj) {
+        var length = 0;
         for (k in obj)
             if (obj.hasOwnProperty(k))
-              length++
-        return length
+              length++;
+        return length;
     },
 
-    inherits : function(constructor, superConstructor) {
-      function F(){} //Prototypal Inheritance http://javascript.crockford.com/prototypal.html
-      F.prototype = superConstructor.prototype
-      constructor.prototype = new F()
+    inherits: function(constructor, superConstructor) {

+      //Prototypal Inheritance http://javascript.crockford.com/prototypal.html
+      function F() {}
+      F.prototype = superConstructor.prototype;
+      constructor.prototype = new F();
     }
-}
+};
 
 
-Thrift.TException = {}
-Thrift.TException.prototype = { 
-    initialize: function( message, code ) {
+Thrift.TException = {};
+Thrift.TException.prototype = {
+    initialize: function(message, code) {
             this.message = message;
-            this.code    = (code == null) ? 0 : code;
+            this.code = (code == null) ? 0 : code;
     }
-}
+};
 
 
 Thrift.TApplicationExceptionType = {
-    "UNKNOWN"              : 0,
-    "UNKNOWN_METHOD"       : 1,
-    "INVALID_MESSAGE_TYPE" : 2,
-    "WRONG_METHOD_NAME"    : 3,
-    "BAD_SEQUENCE_ID"      : 4,
-    "MISSING_RESULT"       : 5       
-}
+    'UNKNOWN' : 0,
+    'UNKNOWN_METHOD' : 1,
+    'INVALID_MESSAGE_TYPE' : 2,
+    'WRONG_METHOD_NAME' : 3,
+    'BAD_SEQUENCE_ID' : 4,
+    'MISSING_RESULT' : 5
+};
 
-Thrift.TApplicationException = function(message, code){
-    this.message = message
-    this.code    = (code == null) ? 0 : code
-}
+Thrift.TApplicationException = function(message, code) {
+    this.message = message;
+    this.code = (code == null) ? 0 : code;
+};
 
-Thrift.TApplicationException.prototype = { 
-       
-    read : function(input){
-        while(1){
-            ret = input.readFieldBegin()
-            
-            if(ret.ftype == Thrift.Type.STOP)
-                break
-            
-            var fid = ret.fid
-            
-            switch(fid){
-                case 1: 
-                    if( ret.ftype == Thrift.Type.STRING ){
-                        ret = input.readString()
-                        this.message = ret.value
+Thrift.TApplicationException.prototype = {
+
+    read: function(input) {
+        while (1) {
+            ret = input.readFieldBegin();
+
+            if (ret.ftype == Thrift.Type.STOP)
+                break;
+
+            var fid = ret.fid;
+
+            switch (fid) {
+                case 1:
+                    if (ret.ftype == Thrift.Type.STRING) {
+                        ret = input.readString();
+                        this.message = ret.value;
                     } else {
-                        ret = input.skip(ret.ftype)
+                        ret = input.skip(ret.ftype);
                     }
-                    
-                    break
+
+                    break;
                 case 2:
-                    if( ret.ftype == Thrift.Type.I32 ){
-                        ret = input.readI32()
-                        this.code = ret.value
+                    if (ret.ftype == Thrift.Type.I32) {
+                        ret = input.readI32();
+                        this.code = ret.value;
                     } else {
-                        ret   = input.skip(ret.ftype)
+                        ret = input.skip(ret.ftype);
                     }
-                    break
-                    
+                    break;
+
                 default:
-                    ret = input.skip(ret.ftype)
-                    break
+                    ret = input.skip(ret.ftype);
+                    break;
             }
-            
-            input.readFieldEnd()
+
+            input.readFieldEnd();
         }
-        
-        input.readStructEnd()
+
+        input.readStructEnd();
     },
-    
-    write: function(output){
-        var xfer   = 0;
-        
+
+    write: function(output) {
+        var xfer = 0;
+
         output.writeStructBegin('TApplicationException');
-        
+
         if (this.message) {
-            output.writeFieldBegin('message', Thrift.Type.STRING, 1)
-            output.writeString(this.getMessage())
-            output.writeFieldEnd()
+            output.writeFieldBegin('message', Thrift.Type.STRING, 1);
+            output.writeString(this.getMessage());
+            output.writeFieldEnd();
         }
-        
+
         if (this.code) {
-            output.writeFieldBegin('type', Thrift.Type.I32, 2)
-            output.writeI32(this.code)
-            output.writeFieldEnd()
+            output.writeFieldBegin('type', Thrift.Type.I32, 2);
+            output.writeI32(this.code);
+            output.writeFieldEnd();
         }
-        
-        output.writeFieldStop()
-        output.writeStructEnd()
+
+        output.writeFieldStop();
+        output.writeStructEnd();
     },
-    
-    getCode : function() {
-        return this.code
+
+    getCode: function() {
+        return this.code;
     },
-    
-    getMessage : function() {
-        return this.message
+
+    getMessage: function() {
+        return this.message;
     }
-}
+};
 
 
 
@@ -160,560 +161,566 @@
  *If you do not specify a url then you must handle ajax on your own.
  *This is how to use js bindings in a async fashion.
  */
-Thrift.Transport = function(url){
-    this.url      = url
-    this.wpos     = 0
-    this.rpos     = 0
+Thrift.Transport = function(url) {
+    this.url = url;
+    this.wpos = 0;
+    this.rpos = 0;
 
-    this.send_buf = ''
-    this.recv_buf = ''
-}
+    this.send_buf = '';
+    this.recv_buf = '';
+};
 
 Thrift.Transport.prototype = {
 
     //Gets the browser specific XmlHttpRequest Object
-    getXmlHttpRequestObject : function() {
-    
-        try { return new XMLHttpRequest() } catch(e) {}
-        try { return new ActiveXObject("Msxml2.XMLHTTP") } catch (e) {}
-        try { return new ActiveXObject("Microsoft.XMLHTTP") } catch (e) {}
+    getXmlHttpRequestObject: function() {
 
-        throw "Your browser doesn't support the XmlHttpRequest object.  Try upgrading to Firefox."
-    
+        try { return new XMLHttpRequest() } catch (e) {}
+        try { return new ActiveXObject('Msxml2.XMLHTTP') } catch (e) {}
+        try { return new ActiveXObject('Microsoft.XMLHTTP') } catch (e) {}
+
+        throw "Your browser doesn't support the XmlHttpRequest object.";
+
     },
 
-    flush : function(){
+    flush: function() {
 
         //async mode
-        if(this.url == undefined || this.url == '')
+        if (this.url == undefined || this.url == '')
             return this.send_buf;
 
-        var xreq = this.getXmlHttpRequestObject()
-                
+        var xreq = this.getXmlHttpRequestObject();
+
         if (xreq.overrideMimeType)
-            xreq.overrideMimeType("application/json")
-        
-        xreq.open("POST", this.url, false)
-        xreq.send(this.send_buf)
-        
+            xreq.overrideMimeType('application/json');
+
+        xreq.open('POST', this.url, false);
+        xreq.send(this.send_buf);
+
         if (xreq.readyState != 4)
-            throw "encountered an unknown ajax ready state: "+xreq.readyState
-        
+            throw 'encountered an unknown ajax ready state: ' + xreq.readyState;
+
         if (xreq.status != 200)
-            throw "encountered a unknown request status: "+xreq.status
+            throw 'encountered a unknown request status: ' + xreq.status;
 
-        this.recv_buf    = xreq.responseText
-        this.recv_buf_sz = this.recv_buf.length
-        this.wpos        = this.recv_buf.length
-        this.rpos        = 0
+        this.recv_buf = xreq.responseText;
+        this.recv_buf_sz = this.recv_buf.length;
+        this.wpos = this.recv_buf.length;
+        this.rpos = 0;
     },
 
-    setRecvBuffer : function(buf){
-        this.recv_buf    = buf
-        this.recv_buf_sz = this.recv_buf.length
-        this.wpos        = this.recv_buf.length
-        this.rpos        = 0
+    setRecvBuffer: function(buf) {
+        this.recv_buf = buf;
+        this.recv_buf_sz = this.recv_buf.length;
+        this.wpos = this.recv_buf.length;
+        this.rpos = 0;
     },
 
-    isOpen : function() {
-        return true
+    isOpen: function() {
+        return true;
     },
 
-    open : function() {},
+    open: function() {},
 
     close: function() {},
 
-    read : function(len) {
-        var avail = this.wpos - this.rpos
-       
-        if(avail == 0)
-            return ''
+    read: function(len) {
+        var avail = this.wpos - this.rpos;
 
-        var give = len
+        if (avail == 0)
+            return '';
 
-        if(avail < len)
-            give = avail
+        var give = len;
 
-        var ret = this.read_buf.substr(this.rpos,give)
-        this.rpos += give
+        if (avail < len)
+            give = avail;
+
+        var ret = this.read_buf.substr(this.rpos, give);
+        this.rpos += give;
 
         //clear buf when complete?
-        return ret
+        return ret;
     },
 
-    readAll : function() {
-       return this.recv_buf
+    readAll: function() {
+       return this.recv_buf;
     },
 
-    write : function(buf){
-        this.send_buf = buf
+    write: function(buf) {
+        this.send_buf = buf;
     },
 
-    getSendBuffer : function(){
-        return this.send_buf
+    getSendBuffer: function() {
+        return this.send_buf;
     }
 
-}
+};
 
 
 
-Thrift.Protocol = function(transport){
-    this.transport = transport
-}
+Thrift.Protocol = function(transport) {
+    this.transport = transport;
+};
 
-Thrift.Protocol.Type = {}
-Thrift.Protocol.Type[ Thrift.Type.BOOL   ] = '"tf"'
-Thrift.Protocol.Type[ Thrift.Type.BYTE   ] = '"i8"'
-Thrift.Protocol.Type[ Thrift.Type.I16    ] = '"i16"'
-Thrift.Protocol.Type[ Thrift.Type.I32    ] = '"i32"'
-Thrift.Protocol.Type[ Thrift.Type.I64    ] = '"i64"'
-Thrift.Protocol.Type[ Thrift.Type.DOUBLE ] = '"dbl"'
-Thrift.Protocol.Type[ Thrift.Type.STRUCT ] = '"rec"'
-Thrift.Protocol.Type[ Thrift.Type.STRING ] = '"str"'
-Thrift.Protocol.Type[ Thrift.Type.MAP    ] = '"map"'
-Thrift.Protocol.Type[ Thrift.Type.LIST   ] = '"lst"'
-Thrift.Protocol.Type[ Thrift.Type.SET    ] = '"set"'
+Thrift.Protocol.Type = {};
+Thrift.Protocol.Type[Thrift.Type.BOOL] = '"tf"';
+Thrift.Protocol.Type[Thrift.Type.BYTE] = '"i8"';
+Thrift.Protocol.Type[Thrift.Type.I16] = '"i16"';
+Thrift.Protocol.Type[Thrift.Type.I32] = '"i32"';
+Thrift.Protocol.Type[Thrift.Type.I64] = '"i64"';
+Thrift.Protocol.Type[Thrift.Type.DOUBLE] = '"dbl"';
+Thrift.Protocol.Type[Thrift.Type.STRUCT] = '"rec"';
+Thrift.Protocol.Type[Thrift.Type.STRING] = '"str"';
+Thrift.Protocol.Type[Thrift.Type.MAP] = '"map"';
+Thrift.Protocol.Type[Thrift.Type.LIST] = '"lst"';
+Thrift.Protocol.Type[Thrift.Type.SET] = '"set"';
 
 
-Thrift.Protocol.RType = {}
-Thrift.Protocol.RType[ "tf" ] = Thrift.Type.BOOL
-Thrift.Protocol.RType[ "i8" ] = Thrift.Type.BYTE
-Thrift.Protocol.RType[ "i16"] = Thrift.Type.I16
-Thrift.Protocol.RType[ "i32"] = Thrift.Type.I32
-Thrift.Protocol.RType[ "i64"] = Thrift.Type.I64 
-Thrift.Protocol.RType[ "dbl"] = Thrift.Type.DOUBLE 
-Thrift.Protocol.RType[ "rec"] = Thrift.Type.STRUCT 
-Thrift.Protocol.RType[ "str"] = Thrift.Type.STRING
-Thrift.Protocol.RType[ "map"] = Thrift.Type.MAP 
-Thrift.Protocol.RType[ "lst"] = Thrift.Type.LIST
-Thrift.Protocol.RType[ "set"] = Thrift.Type.SET 
+Thrift.Protocol.RType = {};
+Thrift.Protocol.RType['tf'] = Thrift.Type.BOOL;
+Thrift.Protocol.RType['i8'] = Thrift.Type.BYTE;
+Thrift.Protocol.RType['i16'] = Thrift.Type.I16;
+Thrift.Protocol.RType['i32'] = Thrift.Type.I32;
+Thrift.Protocol.RType['i64'] = Thrift.Type.I64;
+Thrift.Protocol.RType['dbl'] = Thrift.Type.DOUBLE;
+Thrift.Protocol.RType['rec'] = Thrift.Type.STRUCT;
+Thrift.Protocol.RType['str'] = Thrift.Type.STRING;
+Thrift.Protocol.RType['map'] = Thrift.Type.MAP;
+Thrift.Protocol.RType['lst'] = Thrift.Type.LIST;
+Thrift.Protocol.RType['set'] = Thrift.Type.SET;
 
-Thrift.Protocol.Version = 1
+Thrift.Protocol.Version = 1;
 
 Thrift.Protocol.prototype = {
-    
-    getTransport : function(){
-        return this.transport
+
+    getTransport: function() {
+        return this.transport;
     },
 
     //Write functions
-    writeMessageBegin : function(name,messageType,seqid){
-        this.tstack = new Array()
-        this.tpos   = new Array();
-           
-        this.tstack.push([Thrift.Protocol.Version,'"'+name+'"',messageType,seqid]);
+    writeMessageBegin: function(name, messageType, seqid) {
+        this.tstack = new Array();
+        this.tpos = new Array();

+

+        this.tstack.push([Thrift.Protocol.Version, '"' +

+            name + '"', messageType, seqid]);
     },
 
-    writeMessageEnd : function(){
-        var obj = this.tstack.pop()
-        
-        this.wobj = this.tstack.pop()
-        this.wobj.push(obj)
- 
-        this.wbuf = "["+this.wobj.join(",")+"]";
+    writeMessageEnd: function() {
+        var obj = this.tstack.pop();
 
-        this.transport.write(this.wbuf);       
+        this.wobj = this.tstack.pop();
+        this.wobj.push(obj);
+
+        this.wbuf = '[' + this.wobj.join(',') + ']';
+
+        this.transport.write(this.wbuf);
      },
 
 
-    writeStructBegin : function(name){
-        this.tpos.push(this.tstack.length)
-        this.tstack.push({})
+    writeStructBegin: function(name) {
+        this.tpos.push(this.tstack.length);
+        this.tstack.push({});
     },
 
-    writeStructEnd : function(){
-        
-        var p = this.tpos.pop()
-        var struct = this.tstack[p]
-        var str = "{"
-        var first = true
-        for( var key in struct ){
-            if(first) 
+    writeStructEnd: function() {
+
+        var p = this.tpos.pop();
+        var struct = this.tstack[p];
+        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;
     },
 
-    writeFieldBegin : function(name,fieldType,fieldId){
-        this.tpos.push(this.tstack.length)
-        this.tstack.push({"fieldId" : '"'+fieldId+'"', "fieldType" : Thrift.Protocol.Type[fieldType]});
-       
+    writeFieldBegin: function(name, fieldType, fieldId) {
+        this.tpos.push(this.tstack.length);

+        this.tstack.push({ 'fieldId': '"' +

+            fieldId + '"', 'fieldType': Thrift.Protocol.Type[fieldType]

+        });
+
     },
 
-    writeFieldEnd : function(){
-        var value     = this.tstack.pop()
-        var fieldInfo = this.tstack.pop() 
-        
-        this.tstack[this.tstack.length-1][fieldInfo.fieldId] = "{"+fieldInfo.fieldType+":"+value+"}" 
-        this.tpos.pop()
+    writeFieldEnd: function() {
+        var value = this.tstack.pop();
+        var fieldInfo = this.tstack.pop();

+

+        this.tstack[this.tstack.length - 1][fieldInfo.fieldId] = '{' +

+            fieldInfo.fieldType + ':' + value + '}';
+        this.tpos.pop();
     },
 
-    writeFieldStop : function(){
+    writeFieldStop: function() {
         //na
     },
 
-    writeMapBegin : function(keyType,valType,size){
+    writeMapBegin: function(keyType, valType, size) {
         //size is invalid, we'll set it on end.
-        this.tpos.push(this.tstack.length)
-        this.tstack.push([Thrift.Protocol.Type[keyType],Thrift.Protocol.Type[valType],0]) 
+        this.tpos.push(this.tstack.length);

+        this.tstack.push([Thrift.Protocol.Type[keyType],
+            Thrift.Protocol.Type[valType], 0]);
     },
 
-    writeMapEnd : function(){
-        var p   = this.tpos.pop()
-        
-        if(p == this.tstack.length)
+    writeMapEnd: function() {
+        var p = this.tpos.pop();
+
+        if (p == this.tstack.length)
             return;
-        
-        if((this.tstack.length - p - 1) % 2 != 0)
-            this.tstack.push("");
 
-        var size = (this.tstack.length - p - 1)/2
+        if ((this.tstack.length - p - 1) % 2 != 0)
+            this.tstack.push('');
 
-        this.tstack[p][this.tstack[p].length-1] = size;
-        
-        var map = "}"
-        var first = true
-        while( this.tstack.length > p+1 ){
-            var v = this.tstack.pop()
-            var k = this.tstack.pop()
-            if(first){
-                first = false
-            }else{
-                map = "," + map
+        var size = (this.tstack.length - p - 1) / 2;
+
+        this.tstack[p][this.tstack[p].length - 1] = size;
+
+        var map = '}';
+        var first = true;
+        while (this.tstack.length > p + 1) {
+            var v = this.tstack.pop();
+            var k = this.tstack.pop();
+            if (first) {
+                first = false;
+            }else {
+                map = ',' + map;
             }
-            
-            map = '"'+k+'":'+v + map
+
+            map = '"' + k + '":' + v + map;
         }
-        map = "{" + map
-        
-        this.tstack[p].push(map)
-        this.tstack[p] = "["+this.tstack[p].join(",")+"]"
+        map = '{' + map;
+
+        this.tstack[p].push(map);
+        this.tstack[p] = '[' + this.tstack[p].join(',') + ']';
     },
 
-    writeListBegin : function(elemType,size){
-        this.tpos.push(this.tstack.length)
-        this.tstack.push([Thrift.Protocol.Type[elemType],size]);
+    writeListBegin: function(elemType, size) {
+        this.tpos.push(this.tstack.length);
+        this.tstack.push([Thrift.Protocol.Type[elemType], size]);
     },
 
-    writeListEnd : function(){
-        var p = this.tpos.pop()
+    writeListEnd: function() {
+        var p = this.tpos.pop();
 
-        while( this.tstack.length > p+1 ){
-            var tmpVal = this.tstack[p+1]
-            this.tstack.splice(p+1, 1)
-            this.tstack[p].push(tmpVal)
+        while (this.tstack.length > p + 1) {
+            var tmpVal = this.tstack[p + 1];
+            this.tstack.splice(p + 1, 1);
+            this.tstack[p].push(tmpVal);
         }
 
-        this.tstack[p] = '['+this.tstack[p].join(",")+']';
+        this.tstack[p] = '[' + this.tstack[p].join(',') + ']';
     },
 
-    writeSetBegin : function(elemType,size){
-        this.tpos.push(this.tstack.length)
-        this.tstack.push([Thrift.Protocol.Type[elemType],size]);
+    writeSetBegin: function(elemType, size) {
+        this.tpos.push(this.tstack.length);
+        this.tstack.push([Thrift.Protocol.Type[elemType], size]);
     },
 
-    writeSetEnd : function(){
-        var p = this.tpos.pop()
+    writeSetEnd: function() {
+        var p = this.tpos.pop();
 
-        while( this.tstack.length > p+1 ){
-            var tmpVal = this.tstack[p+1]
-            this.tstack.splice(p+1, 1)
-            this.tstack[p].push(tmpVal)
+        while (this.tstack.length > p + 1) {
+            var tmpVal = this.tstack[p + 1];
+            this.tstack.splice(p + 1, 1);
+            this.tstack[p].push(tmpVal);
         }
 
-        this.tstack[p] = '['+this.tstack[p].join(",")+']';
+        this.tstack[p] = '[' + this.tstack[p].join(',') + ']';
     },
 
-    writeBool : function(value){
-        this.tstack.push( value ? 1 : 0 );
+    writeBool: function(value) {
+        this.tstack.push(value ? 1 : 0);
     },
 
-    writeByte : function(i8){
+    writeByte: function(i8) {
         this.tstack.push(i8);
     },
 
-    writeI16 : function(i16){
+    writeI16: function(i16) {
         this.tstack.push(i16);
     },
 
-    writeI32 : function(i32){
+    writeI32: function(i32) {
         this.tstack.push(i32);
     },
 
-    writeI64 : function(i64){
+    writeI64: function(i64) {
         this.tstack.push(i64);
     },
 
-    writeDouble : function(dbl){
+    writeDouble: function(dbl) {
         this.tstack.push(dbl);
     },
 
-    writeString : function(str){
-        // We do not encode uri components for wire transfer: 
-        if(str === null) {
+    writeString: function(str) {
+        // We do not encode uri components for wire transfer:
+        if (str === null) {
             this.tstack.push(null);
         } else {
             // 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: \\
+            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.
+                 * 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 === '/') {   // 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 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
+                    escapedString += ch;     // Else it need not be escaped
                 }
             }
             this.tstack.push('"' + escapedString + '"');
         }
     },
 
-    writeBinary : function(str){
+    writeBinary: function(str) {
         this.writeString(str);
     },
 
 
-    
+
     // Reading functions
-    readMessageBegin : function(name, messageType, seqid){
-        this.rstack = new Array()
-        this.rpos   = new Array()
-       
-        this.robj = eval(this.transport.readAll())
-        
-        var r = {}     
-        var version = this.robj.shift()
-        
-        if(version != Thrift.Protocol.Version){
-            throw "Wrong thrift protocol version: "+version
-        }
+    readMessageBegin: function(name, messageType, seqid) {
+        this.rstack = new Array();
+        this.rpos = new Array();
 
-        r["fname"]  = this.robj.shift()
-        r["mtype"]  = this.robj.shift()
-        r["rseqid"] = this.robj.shift()
-        
-        
-        //get to the main obj
-        this.rstack.push(this.robj.shift())
-      
-        return r
-    },
+        this.robj = eval(this.transport.readAll());
 
-  
-    readMessageEnd : function(){
-    },
-
-    readStructBegin : function(name){
-        var r = {}
-        r["fname"] = ''
-        
-        //incase this is an array of structs
-        if(this.rstack[this.rstack.length-1] instanceof Array)
-            this.rstack.push(this.rstack[this.rstack.length-1].shift())
-     
-        return r
-    },
-
-    readStructEnd : function(){
-        if(this.rstack[this.rstack.length-2] instanceof Array)
-            this.rstack.pop()
-    },
-
-    readFieldBegin : function(){
         var r = {};
-        
-        var fid   = -1
-        var ftype = Thrift.Type.STOP 
-        
-        //get a fieldId
-        for(var f in (this.rstack[this.rstack.length-1])){
-            if(f == null) continue
-            
-            fid = parseInt(f)
-            this.rpos.push(this.rstack.length)
-            
-            var field = this.rstack[this.rstack.length-1][fid]
-           
-            //remove so we don't see it again
-            delete this.rstack[this.rstack.length-1][fid]
-            
-            this.rstack.push(field)            
-            
-            break
+        var version = this.robj.shift();
+
+        if (version != Thrift.Protocol.Version) {
+            throw 'Wrong thrift protocol version: ' + version;
         }
-            
-        if(fid != -1){      
-       
+
+        r['fname'] = this.robj.shift();
+        r['mtype'] = this.robj.shift();
+        r['rseqid'] = this.robj.shift();
+
+
+        //get to the main obj
+        this.rstack.push(this.robj.shift());
+
+        return r;
+    },
+
+
+    readMessageEnd: function() {
+    },
+
+    readStructBegin: function(name) {
+        var r = {};
+        r['fname'] = '';
+
+        //incase this is an array of structs
+        if (this.rstack[this.rstack.length - 1] instanceof Array)
+            this.rstack.push(this.rstack[this.rstack.length - 1].shift());
+
+        return r;
+    },
+
+    readStructEnd: function() {
+        if (this.rstack[this.rstack.length - 2] instanceof Array)
+            this.rstack.pop();
+    },
+
+    readFieldBegin: function() {
+        var r = {};
+
+        var fid = -1;
+        var ftype = Thrift.Type.STOP;
+
+        //get a fieldId
+        for (var f in (this.rstack[this.rstack.length - 1])) {
+            if (f == null) continue;
+
+            fid = parseInt(f);
+            this.rpos.push(this.rstack.length);
+
+            var field = this.rstack[this.rstack.length - 1][fid]
+
+            //remove so we don't see it again
+            delete this.rstack[this.rstack.length - 1][fid];
+
+            this.rstack.push(field);
+
+            break;
+        }
+
+        if (fid != -1) {
+
             //should only be 1 of these but this is the only
             //way to match a key
-            for(var f in (this.rstack[this.rstack.length-1])){
-                if(Thrift.Protocol.RType[f] == null ) continue
-                
-                ftype = Thrift.Protocol.RType[f]
-                this.rstack[this.rstack.length-1] = this.rstack[this.rstack.length-1][f]
-            }        
-        }
-        
-        r["fname"] = ''
-        r["ftype"] = ftype
-        r["fid"]   = fid
-        
+            for (var f in (this.rstack[this.rstack.length - 1])) {
+                if (Thrift.Protocol.RType[f] == null) continue;
 
-        return r
+                ftype = Thrift.Protocol.RType[f];

+                this.rstack[this.rstack.length - 1] =
+                    this.rstack[this.rstack.length - 1][f];
+            }
+        }
+
+        r['fname'] = '';
+        r['ftype'] = ftype;
+        r['fid'] = fid;
+
+
+        return r;
     },
 
-    readFieldEnd : function(){  
-        var pos = this.rpos.pop()
-        
+    readFieldEnd: function() {
+        var pos = this.rpos.pop();
+
         //get back to the right place in the stack
-        while(this.rstack.length > pos)
+        while (this.rstack.length > pos)
             this.rstack.pop();
-                 
+
     },
 
-    readMapBegin : function(keyType,valType,size){
-        
-        var map = this.rstack.pop()
-        
+    readMapBegin: function(keyType, valType, size) {
+
+        var map = this.rstack.pop();
+
         var r = {};
-        r["ktype"] = Thrift.Protocol.RType[map.shift()]
-        r["vtype"] = Thrift.Protocol.RType[map.shift()]
-        r["size"]  = map.shift()
-        
-        
-        this.rpos.push(this.rstack.length)
-        this.rstack.push(map.shift())
-        
-        return r;
-    },
+        r['ktype'] = Thrift.Protocol.RType[map.shift()];
+        r['vtype'] = Thrift.Protocol.RType[map.shift()];
+        r['size'] = map.shift();
 
-    readMapEnd : function(){
-        this.readFieldEnd()
-    },
 
-    readListBegin : function(elemType,size){
-      
-        var list = this.rstack[this.rstack.length-1]
-      
-        var r = {};
-        r["etype"] = Thrift.Protocol.RType[list.shift()];
-        r["size" ] = list.shift();
-        
-        
         this.rpos.push(this.rstack.length);
-        this.rstack.push(list)
-             
+        this.rstack.push(map.shift());
+
         return r;
     },
 
-    readListEnd : function(){
-        this.readFieldEnd()
+    readMapEnd: function() {
+        this.readFieldEnd();
     },
 
-    readSetBegin : function(elemType,size){
-        return this.readListBegin(elemType,size)
+    readListBegin: function(elemType, size) {
+
+        var list = this.rstack[this.rstack.length - 1];
+
+        var r = {};
+        r['etype'] = Thrift.Protocol.RType[list.shift()];
+        r['size'] = list.shift();
+
+
+        this.rpos.push(this.rstack.length);
+        this.rstack.push(list);
+
+        return r;
     },
 
-    readSetEnd : function(){
-        return this.readListEnd()
+    readListEnd: function() {
+        this.readFieldEnd();
     },
 
-    readBool : function(){
-        var r = this.readI32()
-    
-        if( r != null && r["value"] == "1" ){
-            r["value"] = true
-        }else{
-            r["value"] = false
+    readSetBegin: function(elemType, size) {
+        return this.readListBegin(elemType, size);
+    },
+
+    readSetEnd: function() {
+        return this.readListEnd();
+    },
+
+    readBool: function() {
+        var r = this.readI32();
+
+        if (r != null && r['value'] == '1') {
+            r['value'] = true;
+        }else {
+            r['value'] = false;
         }
-        
-        return r
+
+        return r;
     },
 
-    readByte : function(){
-        return this.readI32()
+    readByte: function() {
+        return this.readI32();
     },
 
-    readI16 : function(){
-        return this.readI32()
+    readI16: function() {
+        return this.readI32();
     },
-   
 
-    readI32 : function(f){
-        if(f == undefined)
-            f = this.rstack[this.rstack.length-1]
-        
-        var r = {}    
-            
-        if(f instanceof Array){
-            if(f.length == 0)
-                r["value"] = undefined
+
+    readI32: function(f) {
+        if (f == undefined)
+            f = this.rstack[this.rstack.length - 1];
+
+        var r = {};
+
+        if (f instanceof Array) {
+            if (f.length == 0)
+                r['value'] = undefined;
             else
-                r["value"] = f.shift()
+                r['value'] = f.shift();
 
-        }else if(f instanceof Object){
-           for(var i in f){
-                if(i == null) continue
+        }else if (f instanceof Object) {
+           for (var i in f) {
+                if (i == null) continue;
                 this.rstack.push(f[i])
-                delete f[i]  
-                                  
-                r["value"] = i
-                break
+                delete f[i];
+
+                r['value'] = i;
+                break;
            }
         } else {
-            r["value"] = f
-            this.rstack.pop()
+            r['value'] = f;
+            this.rstack.pop();
         }
-        
-        return r
+
+        return r;
     },
 
-    readI64 : function(){
-        return this.readI32()
+    readI64: function() {
+        return this.readI32();
     },
 
-    readDouble : function(){
-        return this.readI32()
+    readDouble: function() {
+        return this.readI32();
     },
 
-    readString : function(){
-        var r = this.readI32()
-        return r
+    readString: function() {
+        var r = this.readI32();
+        return r;
     },
 
-    readBinary : function(){
-        return this.readString()
+    readBinary: function() {
+        return this.readString();
     },
 
-    
+
     //Method to arbitrarily skip over data.
-    skip : function(type){
-        throw "skip not supported yet"
+    skip: function(type) {
+        throw 'skip not supported yet';
     }
-   
-}
+
+};