Что такое Reflect Metadata и зачем он нужен?

Senior
211 просмотров
AFK Offer AI

reflect-metadata предоставляет Metadata API для хранения метаданных через декораторы. Reflect.defineMetadata(key, value, target). Reflect.getMetadata(key, target). NestJS и TypeORM используют его для: хранения информации о зависимостях (DI), ORM маппинга колонок, Swagger схем. emitDecoratorMetadata: true в tsconfig позволяет TypeScript автоматически сохранять типы параметров как метаданные — NestJS DI этим пользуется для разрешения зависимостей по типу.

Следующий вопрос

Как правильно тестировать TypeScript типы?