0.0.4 • Published 7 years ago

class-inject v0.0.4

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

class-inject

Class-based, async-supported, dependency injection for node.js. Injectable modules must have a filename that ends in .inject.js and exports only a class with an onInit method. Dependencies are injected into this method, as requested, as singleton class instances. Specify callback as the final parameter if the onInit method needs to be async.

Example Usage

foo.inject.js

module.exports = class a {
    constructor() {

    }
    onInit(b, callback) {
        b.asyncMethod(callback);
    }
}

bar.inject.js

module.exports = class b {
    constructor() {

    }
    onInit(logger) {
        logger.debug('Initializing b...');
    }
    asyncMethod(cb) {
        setTimeout(() => cb());
    }
}

Initialization

const lib = require('class-inject');

lib.init(function(){
    console.log('DONE!');
})
0.0.4

7 years ago

0.0.3

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago