53 / 58
Как типизировать dependency injection контейнер?
DI-контейнер типизируется через интерфейс-реестр (registry), где ключ -- строковый токен, а значение -- тип сервиса. Метод resolve принимает ключ и возвращает точный тип из реестра благодаря indexed access types и generic-параметру с ограничением keyof. Это позволяет получить автокомплит, проверку типов при регистрации и при извлечении зависимостей без единого any.