class.js
function addStatics(statics, Subclass) {

  // static method inheritance (including `extend`)
  Object.keys(statics).forEach(function(key) {
    var descriptor = Object.getOwnPropertyDescriptor(statics, key);
    if (!descriptor.configurable) return;

    Object.defineProperty(Subclass, key, descriptor);
  });
}
function addStatics(statics, Subclass) {

  // static method inheritance (including `extend`)
  Object.keys(statics).forEach(function(key) {
    var descriptor = Object.getOwnPropertyDescriptor(statics, key);
    if (!descriptor.configurable) return;

    Object.defineProperty(Subclass, key, descriptor);
  });
}
function addStatics ( statics , Subclass ) { // static method inheritance (including `extend`) Object . keys ( statics ) . forEach ( function ( key ) { var descriptor = Object . getOwnPropertyDescriptor ( statics , key ) ; if ( ! descriptor . configurable ) return ; Object . defineProperty ( Subclass , key , descriptor ) ; } ) ; }
Copies static methods over for static inheritance
Copies static methods over for static inheritance