      1 pockets.object = {};
      2
      3 pockets.object.deleteDirectProperties = function(o){
      4   for (var prop in o) {
      5     if(o.hasOwnProperty(prop) && !pockets.object.isFunction(o[prop]) && !pockets.object.isGetter(o, prop) && !pockets.object.isSetter(o, prop)){
      6       delete o[prop];
      7     }
      8   }
      9 };
     10
     11 pockets.object.isFunction = function(o) {
     12   return typeof o === 'function';
     13 };
     14
     15 pockets.object.isBlank = function(o) {
     16   return (o == null) || (o.strip && o.strip().empty());
     17 };
     18
     19 pockets.object.isGetter = function(o, prop) {
     20   return o.__lookupGetter__(prop) !== undefined;
     21 };
     22
     23 pockets.object.isSetter = function(o, prop) {
     24   return o.__lookupSetter__(prop) !== undefined;
     25 };