| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
 | | 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; | 
 |