You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							71 lines
						
					
					
						
							1.4 KiB
						
					
					
				
			
		
		
	
	
							71 lines
						
					
					
						
							1.4 KiB
						
					
					
				function Message() { | 
						|
    Object.defineProperties( | 
						|
        this, { | 
						|
            data: { | 
						|
                enumerable: true, | 
						|
                get: getData, | 
						|
                set: setData | 
						|
            }, | 
						|
            type: { | 
						|
                enumerable: true, | 
						|
                get: getType, | 
						|
                set: setType | 
						|
            }, | 
						|
            load:{ | 
						|
                enumerable:true, | 
						|
                writable:false, | 
						|
                value:parse | 
						|
            }, | 
						|
            JSON: { | 
						|
                enumerable: true, | 
						|
                get: getJSON | 
						|
            } | 
						|
        } | 
						|
    ); | 
						|
 | 
						|
    var type = ''; | 
						|
    var data = {}; | 
						|
 | 
						|
    function getType() { | 
						|
        return type; | 
						|
    } | 
						|
 | 
						|
    function getData() { | 
						|
        return data; | 
						|
    } | 
						|
 | 
						|
    function getJSON() { | 
						|
        return JSON.stringify( | 
						|
            { | 
						|
                type: type, | 
						|
                data: data | 
						|
            } | 
						|
        ); | 
						|
    } | 
						|
 | 
						|
    function setType(value) { | 
						|
        type = value; | 
						|
    } | 
						|
 | 
						|
    function setData(value) { | 
						|
        data = value; | 
						|
    } | 
						|
 | 
						|
    function parse(message){ | 
						|
        try{ | 
						|
            var message=JSON.parse(message); | 
						|
            type=message.type; | 
						|
            data=message.data; | 
						|
        }catch(err){ | 
						|
            var badMessage=message; | 
						|
            type='error', | 
						|
            data={ | 
						|
                message:'Invalid JSON response format', | 
						|
                err:err, | 
						|
                response:badMessage | 
						|
            } | 
						|
        } | 
						|
    } | 
						|
} | 
						|
 | 
						|
module.exports=Message;
 | 
						|
 |