0.1.1 • Published 6 years ago

libdi v0.1.1

Weekly downloads
4
License
MIT
Repository
github
Last release
6 years ago

💉 libdi

A Simple dependency injection for Node.js

Current version: 0.1.0

Get Started

Instalation

npm install -save libdi

Loading libdi

// Load a libdi object
const di = require('libdi');

Configuration:

Setting up dependency injection is extremely easy.

// Set the MyClass to a new instance on each call.
di.addTransient("MyAlias", MyClass);

// Set the MySincletonClass to a singleton instance
di.addSingleton("MySingletonAlias", MySingletonClass);

Creating your objects

class MySingletonClass {
    constructor () {
        this.mySingletonParam = 'my awesome configuration!';
    }
}

// .....

class MyClass {
    constructor (config = di.getInstanceOf("MySingletonAlias")) {
        // config is a singleton object
        console.log(config.mySingletonParam) // 'my awesome configuration!'
        // More code here ...
    }
}

Getting an instance of MyClass

const a = di.getInstanceOf("MyAlias");
const b = di.getInstanceOf("MyAlias");
// a and b are diferent instances of MyClass

const x = di.getInstanceOf("MySingletonAlias");
const y = di.getInstanceOf("MySingletonAlias");
// x and y are a same instance of MySingletonClass

Roadmap (TODO):

  • Integration with express as express module
  • addScoped method (create instances in request scope)
0.1.1

6 years ago

0.1.0

6 years ago