extendable

v0.1.0
Extend constructors using backbone's .extend signature
backbone underscore lodash extend inherit inherits

Extend your JavaScript constructors in the same as you are used to in backbone.js

Build Status

var extend = require('extendable')
  , EventEmitter = require('events').EventEmitter;

function Awesomeness() {
  var self = this;

  setTimeout(function () {
    self.render(self.data);
  }, 100);

  EventEmitter.call(this);
}

Awesomeness.prototype = new EventEmitter;
Awesomeness.prototype.constructor = Awesomeness;

Awesomeness.prototype.data = 'bar';
Awesomeness.prototype.render = function render() {
  // does nothing
};

Awesomeness.extend = extend;

And you can now use it

var SuperAwesome = Awesomeness.extend({
    data: 'trololol'

  , render: function render(data) {
      console.log(data);
    }
});

new SuperAwesome();
// outputs "trololo" after 100 ms

License

MIT

npm i extendable

Metadata

  • MIT
  • Whatever
  • Arnout Kazemier
  • released 10/27/2014

Downloads

Maintainers