1 | evaluateType = require './evaluate-type'
|
2 | getPath = require './get-path'
|
3 |
|
4 | module.exports = (
|
5 | findModule
|
6 | ) ->
|
7 |
|
8 | (di, base, modules, callers) ->
|
9 | Object.keys(modules).forEach (key) ->
|
10 | mod = modules[key]
|
11 | path = getPath mod
|
12 | instance = findModule(base, path, callers)
|
13 | type = evaluateType(mod, instance)
|
14 | di[type] key, instance
|
15 | return di
|