objectUtil.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. "use strict";
  2. /**
  3. * 检查对象是否为JSON。
  4. *
  5. * @see http://stackoverflow.com/questions/11182924/how-to-check-if-javascript-object-is-json
  6. *
  7. * @param object
  8. */
  9. exports.isJsonObject = function(value){
  10. return {}.constructor === value.constructor;
  11. };
  12. /**
  13. * 检查对象是否具有指定的属性列表。
  14. *
  15. * @param arguments
  16. * @returns {{pass: boolean, message: string}}
  17. */
  18. exports.fieldsCheck = function(){
  19. var ret = {pass: false, message: ''};
  20. if(arguments.length <= 1){
  21. ret.message = 'Function arguments not enough.';
  22. return ret;
  23. }
  24. var obj = arguments[0];
  25. if(!this.isJsonObject(obj)){
  26. ret.message = 'Function first argument must be a dict.';
  27. return ret;
  28. }
  29. ret.pass = true;
  30. ret.message = 'Missing field(s): ';
  31. for(var i = 1; i < arguments.length; ++i){
  32. if(!obj.hasOwnProperty(arguments[i])){
  33. ret.pass = false;
  34. ret.message += arguments[i];
  35. if(i !== arguments.length - 1){
  36. ret.message += ", ";
  37. }
  38. }
  39. }
  40. if(ret.pass) ret.message = null;
  41. return ret;
  42. };
  43. exports.timestampToLong = function(tm){
  44. return Date.parse(new Date(tm));
  45. };