Nodejs Utililty Methods Class Extend

List of utility methods to do Class Extend

Description

The list of methods to do Class Extend are organized into topic(s).

Method

subclass(base)
Function.prototype.subclass = function(base) {
  var c = Function.prototype.subclass.nonconstructor;
  c.prototype = base.prototype;
  this.prototype = new c();
};
Function.prototype.subclass.nonconstructor = function() {};
Object.size = function(obj) {
  var size = 0, key;
  for (key in obj) {
...
inherits(BaseClass)
Function.prototype.inherits = function (BaseClass) {
  function Surrogate () {}
  Surrogate.prototype = BaseClass.prototype;
  this.prototype = new Surrogate();
  this.prototype.constructor = this;
};
String.prototype.capitalize = function() {
    return this.charAt(0).toUpperCase() + this.slice(1);
};
...
inheritsFrom(parent)
Function.prototype.inheritsFrom = function(parent){ 
  this.prototype = new parent();
  this.prototype.constructor = this;
  this.prototype.parent = parent.prototype;
  return this;
};
Inherits(parent)
Function.prototype.Inherits = function(parent) {
  this.prototype = new parent();
  this.prototype.constructor = this;
  this.prototype.parent = parent.prototype;
};
inherit(ParentClass)
Function.prototype.inherit = function(ParentClass) {
  this.prototype = Object.create(ParentClass.prototype);
  this.prototype.constructor = this;
  this.prototype.parent = ParentClass.prototype;
__extends(parent)
Function.prototype.__extends = function(parent) {
    this.prototype = Object.create(parent.prototype);
};
__extends(superClass)
Function.prototype.__extends = function(superClass) { 
    this.prototype = Object.create(superClass.prototype);
}; 
Object._entries = function(obj) {
    var entry = [];
    for (key in obj)
        entry[entry.length] = [key, obj[key]];
    return entry;
};
...
Inherits(parent)
Object.prototype.Inherits = function(parent) {
  if(arguments.length > 1) {
    parent.apply(this, Array.prototype.slice.call(arguments, 1) );
  } else {      
    parent.call(this);
};
extend()
Object.prototype.extend = function(){
   var Obj = function(){};
   Obj.prototype = this;
   return new Obj();
extend(destination, source)
Object.extend = function(destination, source) {
  for (var property in source) {
    if (source.hasOwnProperty(property)) {
      destination[property] = source[property];
  return destination;
};