Nourishing Pear Medley

    bloodline

    1.0.1 • Public • Published

    Bloodline

    npm npm license npm downloads build status

    Proper inheritance in JavaScript

    Install via npm

    $ npm install --save bloodline

    Usage

    var inherit = require( 'bloodline' )
    inherit( Constructor, SuperConstructor )

    Notes

    ES6 / ES2015 / ESNext

    ES6 classes cannot be subclassed by ES5 classes (ES5 classes cannot inherit from ES6 classes); there will be a TypeError: Class constructor SuperConstructor cannot be invoked without 'new'. This is not a limitation of this module, but of the ECMAScript specification.

    The other way around also has issues; ES6 classes don't preserve the prototype chain when extending ES5 classes (for an example, see https://gist.github.com/jhermsmeier/e6fb16fab193c0aa4220c98de64fe546).

    So much for backwards compatibility.

    util.inherits

    Usage of Node core's of util.inherits() is discouraged (see nodejs.org/api/util#util_inherits), because of its semantic incompatibility. NOTE: This module does not exhibit these semantic incompatibilities.

    Install

    npm i bloodline

    DownloadsWeekly Downloads

    2,951

    Version

    1.0.1

    License

    MIT

    Last publish

    Collaborators

    • jhermsmeier