nmix

    0.9.3 • Public • Published

    nmix

    A simple mixin module which facilitates multiple inheritance in JavaScript.

    Installation

    npm install nmix

    Example Usage

    var nmix = require('nmix');
     
    var Apple = function(adjective) {
        this.info = function() {
            return '' + adjective + ' apple';
        }
        this.crunch = function() {
            return 'CRUNCH CRUNCH CRUNCH!';
        }
    }
     
    var Banana = function() {
        this.info = function(size) {
            return '' + size + ' banana';
        }
        this.splat = function() {
            return 'SPLAT!';
        }
    }
     
    var FruitSalad = nmix(function(appleColor) {
        this.initMixin(Apple, appleColor);
        this.initMixin(Banana);
        
        this.info = function() {
            var appleInfo = this.callMixinMethod(Apple, 'info');
            var bananaInfo = this.callMixinMethod(Banana, 'info', 'big');
            var str = 'A fruit salad containing ' + appleInfo + ' and ' + bananaInfo;
            return str;
        }
    });
     
    var ImprovedFruitSalad = nmix(function() {
        this.initMixin(FruitSalad, 'red');
        
        this.info = function() {
            var str = this.callMixinMethod(FruitSalad, 'info') + ' - An improved version';
            return str;
        }
    });
     
    var fruitSalad = new FruitSalad('green');
    console.log(fruitSalad.splat()); // outputs 'SPLAT!'
    console.log(fruitSalad.crunch()); // 'CRUNCH CRUNCH CRUNCH!'
    console.log(fruitSalad.info()); // 'A fruit salad containing a green apple and a big banana'
     
    console.log();
     
    var improvedFruitSalad = new ImprovedFruitSalad();
    console.log(improvedFruitSalad.info()); // 'A fruit salad containing a red apple and a big banana - An improved version'

    Install

    npm i nmix

    DownloadsWeekly Downloads

    2

    Version

    0.9.3

    License

    none

    Last publish

    Collaborators

    • avatar