Dependency Injection Engine

This is a simple implementation of a dependency injection (DI) system in TypeScript.
Uses TypeScript's metadata reflection system to automatically detect dependencies.
Handles circular dependency checks to prevent issues in your system.