Dependency injection via manual construction injection or currying quickly hits limits in scaling from my experience.
You end up building a mess of coupled dependencies that take forever to unpick if you need to change one that is threaded deep throughout your application.
I've been experimenting with a dependency injection library in TypeScript that is:
You end up building a mess of coupled dependencies that take forever to unpick if you need to change one that is threaded deep throughout your application.
I've been experimenting with a dependency injection library in TypeScript that is:
- 100% type safe
- Prevents dependency cycles ie. cycles are impossible (like F#)
- Is purely functional (doesn’t require experimental decorators or heavy runtimes using proxies/reflection)
The code I have so far is on GitHub and I'd love to hear your thoughts on this. Feel free to tag me on Twitter.