Decorators & metadata reflection in TypeScript: From Novice to Expert (Part I)

An in-depth look to the TypeScript implementation of decorators and how they make possible new exciting JavaScript features like reflection or dependency injection.