Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

light-ioc

maldicion0693MIT1.6.0TypeScript support: included

Simple IOC module for web and server

typescript, vanilla, ioc

readme

light-IOC

Simple Inversion of Control module from my NodeJS Framework.

This library works with any project based on JavaScript, both web and server.

About

We present a class and module version using vanilla javascript and typescript.

Examples

// var IOC = require("light-ioc");
// Create IOC and save values
var ioc = new IOC();
ioc.$set("var1", "mr sandman");
ioc.$set("var2", 12*5);
ioc.$set("var3", "hello");
ioc.$set("var4", "*****");

// Call ioc methods
try {
    // Inject values name from function arguments
    ioc.$call(function(var1, var4) {
        alert(var1);
        alert(var4);
    });
    // Inject values from all arguments but the last (function)
    ioc.$inject("var2", "var2", function(myvar, myvar2) {
        alert(myvar);
        alert(myvar2);
    });
    // Inject values from firt argument (array)
    ioc.$invoke(["var2", "var4", "var3", "var1"], 
        function(name0, name1, name2, name3) {
            alert(name0);
            alert(name1);
            alert(name2);
            alert(name3);
        });
    ioc.$singleton("timeNow", function() {
        return new Date().getTime();
    });
    setInterval(function() {
        ioc.$invoke(["timeNow"], function(t) {
            console.log(t);
        });
    }, 2500);
} catch(e) {
    console.log(e);
}

TODO

  • <input checked="" disabled="" type="checkbox"> $get and $set
  • <input checked="" disabled="" type="checkbox"> $call
  • <input checked="" disabled="" type="checkbox"> $inject
  • <input checked="" disabled="" type="checkbox"> $invoke
  • <input checked="" disabled="" type="checkbox"> Argument simple validations
  • <input checked="" disabled="" type="checkbox"> Add all
  • <input checked="" disabled="" type="checkbox"> $singleton
  • <input checked="" disabled="" type="checkbox"> $provider
  • <input checked="" disabled="" type="checkbox"> $factory
  • <input checked="" disabled="" type="checkbox"> Testing
  • <input checked="" disabled="" type="checkbox"> Documentation
  • <input checked="" disabled="" type="checkbox"> Case sensitive On/Off (Default: false)