inherit-prototypes

0.1.1 • Public • Published

What Does It Do?

This package allows you extend / inherit a class with the prototypes of an array of classes. ES6/ES5 compatible.

How to Use

npm install inherit-prototypes --save
var inherit = require('inherit-prototypes');
//Includes is a class you want to extend Prototypes
class Includes {
someCoolPrototype (){... }
}
//IWantCoolPrototypes is a class that wants the Includes Prototypes.
class IWantCoolPrototypes extends Array {}
 
//Create an array of dependencies and call the inherit function as below.
var dependencies = [includes, String, Object];
inherit(IWantCoolPrototypes, dependencies);
 

TESTS

var chai = require('chai');
var expect = chai.expect;
var inherit = require('../src/inherit-prototypes');
 
 
describe('ES6 class extends some class prorotypes', function () {
  it('should extend some ES6 style classes', function(){
    class base extends Array {}
 
    var dependencies = [String, Object];
    inherit(base, dependencies);
 
    var arr = new base();
    arr.push('lets extend stuff in es6');
    expect(arr[0]).equals('lets extend stuff in es6');
    expect(arr[0].toUpperCase()).equals('LETS EXTEND STUFF IN ES6')
 
  });
});
 
describe('ES5 class extends some class prototypes', function(){
    it('should extend some E5 style classes', function(){
        var dependencies = [String, Object, Array];
        var base = {};
        inherit(base, dependencies);
        base.push('lets extend stuff in es5');
 
        expect(base[0]).equals('lets extend stuff in es5');
        expect(base[0].toUpperCase()).equals('LETS EXTEND STUFF IN ES5');
 
    });
});
 

Package Sidebar

Install

npm i inherit-prototypes

Weekly Downloads

69

Version

0.1.1

License

ISC

Last publish

Collaborators

  • danieldram