Super Simple Dependecy Injection for NodeJS/IO.js

Downloads in past


1.0.39 years ago9 years agoMinified + gzip package size for node-kissdi in KB


Simple Dependency Injection for NodeJS
Build Status

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 = [
    function (foo, bar) {
        return function () {
            return [foo, bar];

// Then, call inject like this
var injected_func = inject(
        "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"]