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.
		
		
		
		
			
				
					76 lines
				
				1.9 KiB
			
		
		
			
		
	
	
					76 lines
				
				1.9 KiB
			| 
								 
											4 years ago
										 
									 | 
							
								(
							 | 
						||
| 
								 | 
							
								    function(){
							 | 
						||
| 
								 | 
							
								        function Message() {
							 | 
						||
| 
								 | 
							
								            Object.defineProperties(
							 | 
						||
| 
								 | 
							
								                this, {
							 | 
						||
| 
								 | 
							
								                    data: {
							 | 
						||
| 
								 | 
							
								                        enumerable: true,
							 | 
						||
| 
								 | 
							
								                        get: getData,
							 | 
						||
| 
								 | 
							
								                        set: setData
							 | 
						||
| 
								 | 
							
								                    },
							 | 
						||
| 
								 | 
							
								                    type: {
							 | 
						||
| 
								 | 
							
								                        enumerable: true,
							 | 
						||
| 
								 | 
							
								                        get: getType,
							 | 
						||
| 
								 | 
							
								                        set: setType
							 | 
						||
| 
								 | 
							
								                    },
							 | 
						||
| 
								 | 
							
								                    load:{
							 | 
						||
| 
								 | 
							
								                        enumarable: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
							 | 
						||
| 
								 | 
							
								                    }
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        window.Message=Message;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								)();
							 |