Skip to content

Extend object literals with function properties to have a _super method that references the original function, instead of overwriting it.

License

Notifications You must be signed in to change notification settings

michaelBenin/extend-with-super

Repository files navigation

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

About

Extend object literals with function properties to have a _super method that references the original function, instead of overwriting it.

Resources

License

Stars

Watchers

Forks

Packages

No packages published