1.0.3 • Published 10 years ago

node-kissdi v1.0.3

Weekly downloads
630
License
MIT
Repository
github
Last release
10 years ago

Simple Dependency Injection for NodeJS

Build Status

NPM

What this?

This lib provides Dependency Injection to NodeJS by super-simple approach.

How to install

Just run npm install kissdi

How to use

Also just simple!

// kissdi has a function named 'inject' as library's member.
inject = require("node-kissdi").inject
/*
 * To inject a function, we need to create a "target function"
 * the target function should be an instance of Array that has a function as
 * a last element. i.e.
 */
var target = [
    "foo",
    "bar",
    function (foo, bar) {
        return function () {
            return [foo, bar];
        };
    }
];

// Then, call inject like this
var injected_func = inject(
    target,
    {
        "foo": "Hello",
        "bar": "World"
    }
);

// To obtain the return value from the target, call inject_func.invoke
var func = inject_func.invoke();
// Because the target function is a closure, we need to call it once more.
// Therefore, needs to call func if we obtain the result list
var list = func()
// expect: ["Hello", "World"]

// Calling invoke with an object that has corresponding paramenters as keys,
// the corresponding parameters are replaced with the given values.
var func = inject_func.invoke({
   "foo": "Konichiwa"
});
// func() returns ["Konichiwa", "World"]
var list = func()
// expect: ["Konichiwa", "World"]
1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago