'use strict';

exports = module.exports = defineProperty;

// defineProperty shorcut
//
function defineProperty(obj, prop, matches, value){
  if(obj[prop]){ return ; }

  matches = matches || '';

  var descriptor = {
    writable: /w/.test(matches),
    enumerable: /e/.test(matches),
    configurable: /c/.test(matches)
  };

  if(value){ descriptor.value = value; }
  Object.defineProperty(obj, prop, descriptor);
}

@@ -145,14 +145,29 @@
 (obj
-%5B
+.hasOwnProperty(
 prop
-%5D
+)
 )%7B r

make it more general