Skip to content

Henkoglobin/luadep

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

luadep

A Lua module that allows a form of dependency injection.

When using luadep, you can define the interfaces that a module implements as well as its dependencies:

local module = require("luadep.module")

local car = {
	-- ...
}

return module(car)
	:isA("ICar")
	:dependsOn("IEngine")

In order to retrieve a module, you can instantiate a container and add modules to it. Afterwards, you can get the actual module:

local container = require("luadep.container")

-- Get dependent modules
local car = require("car")
local engine = require("engine")

local myContainer = container()
myContainer:collect(car)
myContainer:collect(engine)

local myCar = myContainer:get("ICar")

About

A Lua module that allows a form of dependency injection.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages