Adds a static `extend` method to a class, to simplify inheritance. Extends the static properties, prototype properties, and descriptors from a `Parent` constructor onto `Child` constructors.
npm install static-extendAdds a static extend method to a class, to simplify inheritance. Extends the static properties, prototype properties, and descriptors from a Parent constructor onto Child constructors.
Install with npm:
``sh`
$ npm install static-extend --save
`js`
var extend = require('static-extend');
Returns a function for extending the static properties, prototype properties, and descriptors from the Parent constructor onto Child constructors.
Params
* Parent {Function}: Parent ctorextendFn
* {Function}: Optional extend function for handling any necessary custom merging. Useful when updating methods that require a specific prototype.Child
* {Function}: Child ctorproto
* {Object}: Optionally pass additional prototype properties to inherit.returns
* {Object}
Example
`js
var extend = require('static-extend');
Parent.extend = extend(Parent);
// optionally pass a custom merge function as the second arg
Parent.extend = extend(Parent, function(Child) {
Child.prototype.mixin = function(key, val) {
Child.prototype[key] = val;
};
});
// extend "child" constructors
Parent.extend(Child);
// optionally define prototype methods as the second arg
Parent.extend(Child, {
foo: function() {},
bar: function() {}
});
`
This document was generated by verb-readme-generator (a verb generator), please don't edit directly. Any changes to the readme must be made in .verb.md. See Building Docs.
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue. Or visit the verb-readme-generator project to submit bug reports or pull requests for the readme layout template.
Generate readme and API documentation with verb:
`sh`
$ npm install -g verb verb-readme-generator && verb
Install dev dependencies:
`sh``
$ npm install -d && npm test
Jon Schlinkert
* github/jonschlinkert
* twitter/jonschlinkert
Copyright © 2016, Jon Schlinkert.
Released under the MIT license.
*
_This file was generated by verb, v0.9.0, on June 09, 2016._