lib/util/js.js
function defineImmutable(target, values) {
    Object.keys(values).forEach(function(key){
      Object.defineProperty(target, key, {
        configurable: false,
        enumerable: true,
        value: values[key]
      });
    });
    return target;
  }
function defineImmutable(target, values) {
    Object.keys(values).forEach(function(key){
      Object.defineProperty(target, key, {
        configurable: false,
        enumerable: true,
        value: values[key]
      });
    });
    return target;
  }
function defineImmutable ( target , values ) { Object . keys ( values ) . forEach ( function ( key ) { Object . defineProperty ( target , key , { configurable : false , enumerable : true , value : values [ key ] } ) ; } ) ; return target ; }
Define immutable properties on a target object

@param {Object} target - An object to be extended
@param {Object} values - An object of properties
@return {Object} The target object
Define immutable properties on a target object