extend-with-super

Extend object literals with function properties to have a _super method that references the original function, instead of overwriting it. (No dependencies, but borrowed methods from underscore.js.)


Keywords
extend, super, _super, this._super, this._super(), inheritance, object, literal, function, extendWithSuper, extend-with-super, underscore, underscorejs, plugin
License
MIT
Install
npm install extend-with-super@2.0.0

Documentation

extend-with-super

Build Status Codeship Status for michaelBenin/extend-with-super Build status Circle CI Code Climate Coverage Status NPM version Dependency status Dev Dependency Status Downloads per Month Built with Grunt

NPM

Quickstart Example & Description

// Extend object literals with function properties to have a
// _super method that references the original function, instead
// of overwriting it.
// (No dependencies, but borrowed methods from underscore.js.)

var sampleObj = {
  funcProp: function(){
    return 'Hello';
  }
};

var sampleObj2 = {
  funcProp: function(){
    var originalMethod = this._super();
    return originalMethod + ' World';
  }
};

// Note just like _.extend, only the first argument is modified
var sampleObj3 = extendWithSuper({}, sampleObj, sampleObj2);

sampleObj3.funcProp(); // Hello World

Usage / Support

On the server/browserify:

CommonJS in npm.

Supported in all versions of node.js/iojs.

With RequireJS or as Global in browser:

Bower in UMD ~ Global is extendWithSuper.

Tests pass in IE9+ - Does not break IE8.

In browser weight

< 1kb
gzip: 606 bytes

Contributing

Commands:

npm run build
npm test

Open a github issue for the bug/enhancement discussion.

Any contributions must be accompanied with tests.

Make a pull request to the develop branch referencing the issue.

Please do not introduce any external dependencies.

Main functionality influenced by underscore.js.

License MIT

Bitdeli Badge