1
0
Fork 0
arangodb/js/node/node_modules/extendible
Alan Plum 9afb093e84 Replace bundled backbone extend with npm dep. 2015-03-24 22:58:45 +01:00
..
example
.npmignore
.travis.yml
README.md
index.js
package.json
test.js

README.md

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

Build Status

var extend = require('extendible')
  , 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