shark-di

    0.3.3 • Public • Published

    node-shark-di

    Easy to use, non-intrusive and friendly dependency-injection (DI) container for node.

    NPM Install

        $ npm install shark-di --save-dev

    Basic Usage

    You can get the complete sample here node-shark-di-sample

     
        const container = require('shark-di').BootstrapContainer;
     
        // weapon factory
        function sword(){
            return {name: 'sword', damage: 2.5};
        }
     
        // warrior constructor
        function ninja(weapon) {
            this.weapon = weapon;
            this.attack = function(){
                console.log('attack using ' + this.weapon.name + '' + this.weapon.damage + ' damage');
            } 
        }
     
        container.bind('weapon', sword); 
        container.bindClass('warrior', ninja);
     
        container.get(function(err, warrior){
     
            if(err)
            console.log(err);
            else
            warrior.attack();
     
        });

    Promise based factories

    Just return a promise/A+ in your factory.

     
        container.bind('weapon', function(){
     
            return promise_a_plus;
     
        });

    Sample using RSVP Promise/A+ Library

        
        const RSVP = require('rsvp');
        
        container.bind('weapon', function(){
     
            return new RSVP.Promise(function(resolve, reject){
                 resolve({name: 'shuriken',  damage: 1.0}); 
            });
     
        });

    Install

    npm i shark-di

    DownloadsWeekly Downloads

    1

    Version

    0.3.3

    License

    MIT

    Last publish

    Collaborators

    • gabriel.peixinho