Message.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. function Message() {
  2. Object.defineProperties(
  3. this, {
  4. data: {
  5. enumerable: true,
  6. get: getData,
  7. set: setData
  8. },
  9. type: {
  10. enumerable: true,
  11. get: getType,
  12. set: setType
  13. },
  14. load:{
  15. enumerable:true,
  16. writable:false,
  17. value:parse
  18. },
  19. JSON: {
  20. enumerable: true,
  21. get: getJSON
  22. }
  23. }
  24. );
  25. var type = '';
  26. var data = {};
  27. function getType() {
  28. return type;
  29. }
  30. function getData() {
  31. return data;
  32. }
  33. function getJSON() {
  34. return JSON.stringify(
  35. {
  36. type: type,
  37. data: data
  38. }
  39. );
  40. }
  41. function setType(value) {
  42. type = value;
  43. }
  44. function setData(value) {
  45. data = value;
  46. }
  47. function parse(message){
  48. try{
  49. var message=JSON.parse(message);
  50. type=message.type;
  51. data=message.data;
  52. }catch(err){
  53. var badMessage=message;
  54. type='error',
  55. data={
  56. message:'Invalid JSON response format',
  57. err:err,
  58. response:badMessage
  59. }
  60. }
  61. }
  62. }
  63. module.exports=Message;