This package has been deprecated

Author message:

not maintained anymore

furg

1.1.1 • Public • Published

furg Build Status

NPM

NPM

basic depenency injection framework

usage

var assert = require('assert');
 
var Injector = require('furg');
 
function Foo (bar) {
    this._bar = bar;
}
 
function Bar (a) {
    this._a = a;
}
 
var i = new Injector();
 
//register constructors
i.register('foo', Foo);
i.register('bar', Bar);
 
//register scalar values
i.register('a', {foo: 'bar'});
 
//create objects
var created = i.create('foo');
 
assert(created instanceof Foo);
assert(created._bar instanceof Bar);
assert(created._bar._a.foo === 'bar');
 
//use a assigned constructor and equip with dependencies
var created2 = i.equip(function(foo, bar, a) {
    this._foo = foo;
    this._bar = bar;
    this._a = a;
});
 
assert(created2._foo instanceof Foo);
assert(created2._bar instanceof Bar);
assert(created2._a.foo === 'bar');
 
function MyFactory(foo, bar) {
    Injector.Factory.call(this);
 
    this._foo = foo;
    this._bar = bar;
}
 
util.inherits(MyFactory, Injector.Factory);
 
MyFactory.prototype.create = function() {
    return {
        asdfasdf: this._foo,
        jkloejkloe: this._bar
    };
};
 
i.register('fff', MyFactory);
 
//create via factory
var created3 = i.create('fff');
 
assert(created3.asdfasdf instanceof Foo);
assert(created3.jkloejkloe instanceof Bar);
assert(created3.jkloejkloe._a.foo === 'bar');

furg?

A furg is a hairy creature that likes to bang its head into the ground and fling its excrements about. (I recommend to have a look at The Legend Of Zero)

Dependencies (0)

    Dev Dependencies (4)

    Package Sidebar

    Install

    npm i furg

    Weekly Downloads

    4

    Version

    1.1.1

    License

    MIT

    Last publish

    Collaborators

    • zaphod1984