kessler / darkmagic

An experimental opinionated dependency injection module
MIT License
21 stars 0 forks source link

circular dependency goes undetected in certain scenarios #9

Open kessler opened 9 years ago

kessler commented 9 years ago

In a situation like this:

index.js

var darkmagic = require('darkmagic')

darkmagic.inject(function(y, callback) {
    callback()
})

y.js

module.exports = function($injector, callback) {
    console.log('y')
    $injector.inject(function (z) {
        callback()
    })
}

z.js

module.exports = function (y, callback) {
    console.log('z')
    setImmediate(function() {
        setImmediate(callback)
    })
}