build/es-class.max.amd.js
function setProperty(inherits, target, key, descriptor, publicStatic, isNOTExtendingNative) {
    var
      hasValue = hOP.call(descriptor, VALUE),
      configurable,
      value
    ;
    if (publicStatic) {
      if (hOP.call(target, key)) {
        // in case the value is not a static one
        if (
          inherits &&
          isObject(target[key]) &&
          isObject(inherits[CONSTRUCTOR][key])
        ) {
          copyMerged(inherits[CONSTRUCTOR][key], target[key]);
        }
        return;
      } else if (hasValue) {
        // in case it's an object perform a deep copy
        copyValueIfObject(descriptor, copyDeep);
      }
    } else if (hasValue) {
      value = descriptor[VALUE];
      if (typeof value === 'function' && trustSuper(value)) {
        descriptor[VALUE] = wrap(inherits, key, value, publicStatic);
      }
    } else if (isNOTExtendingNative) {
      wrapGetOrSet(inherits, key, descriptor, 'get');
      wrapGetOrSet(inherits, key, descriptor, 'set');
    }
    configurable = isConfigurable(key, publicStatic);
    descriptor.enumerable = false; // was: publicStatic;
    descriptor.configurable = configurable;
    if (hasValue) {
      descriptor.writable = configurable;
    }
    defineProperty(target, key, descriptor);
  }
function setProperty(inherits, target, key, descriptor, publicStatic, isNOTExtendingNative) {
    var
      hasValue = hOP.call(descriptor, VALUE),
      configurable,
      value
    ;
    if (publicStatic) {
      if (hOP.call(target, key)) {
        // in case the value is not a static one
        if (
          inherits &&
          isObject(target[key]) &&
          isObject(inherits[CONSTRUCTOR][key])
        ) {
          copyMerged(inherits[CONSTRUCTOR][key], target[key]);
        }
        return;
      } else if (hasValue) {
        // in case it's an object perform a deep copy
        copyValueIfObject(descriptor, copyDeep);
      }
    } else if (hasValue) {
      value = descriptor[VALUE];
      if (typeof value === 'function' && trustSuper(value)) {
        descriptor[VALUE] = wrap(inherits, key, value, publicStatic);
      }
    } else if (isNOTExtendingNative) {
      wrapGetOrSet(inherits, key, descriptor, 'get');
      wrapGetOrSet(inherits, key, descriptor, 'set');
    }
    configurable = isConfigurable(key, publicStatic);
    descriptor.enumerable = false; // was: publicStatic;
    descriptor.configurable = configurable;
    if (hasValue) {
      descriptor.writable = configurable;
    }
    defineProperty(target, key, descriptor);
  }
function setProperty ( inherits , target , key , descriptor , publicStatic , isNOTExtendingNative ) { var hasValue = hOP . call ( descriptor , VALUE ) , configurable , value ; if ( publicStatic ) { if ( hOP . call ( target , key ) ) { // in case the value is not a static one if ( inherits && isObject ( target [ key ] ) && isObject ( inherits [ CONSTRUCTOR ] [ key ] ) ) { copyMerged ( inherits [ CONSTRUCTOR ] [ key ] , target [ key ] ) ; } return ; } else if ( hasValue ) { // in case it's an object perform a deep copy copyValueIfObject ( descriptor , copyDeep ) ; } } else if ( hasValue ) { value = descriptor [ VALUE ] ; if ( typeof value === 'function' && trustSuper ( value ) ) { descriptor [ VALUE ] = wrap ( inherits , key , value , publicStatic ) ; } } else if ( isNOTExtendingNative ) { wrapGetOrSet ( inherits , key , descriptor , 'get' ) ; wrapGetOrSet ( inherits , key , descriptor , 'set' ) ; } configurable = isConfigurable ( key , publicStatic ) ; descriptor . enumerable = false ; // was: publicStatic; descriptor . configurable = configurable ; if ( hasValue ) { descriptor . writable = configurable ; } defineProperty ( target , key , descriptor ) ; }
set a property via defineProperty using a common descriptor only if properties where not defined yet. If publicStatic is true, properties are both non configurable and non writable
set a property via defineProperty using a common descriptor only if properties where not defined yet . If publicStatic is true properties are both non configurable and non writable