Хелпер Providers
Даний клас спрощує додавання провайдерів до DI з одночасним контролем їх типів. Оскільки даний клас впроваджує так званий Iteration protocols, це спрощує перетворення його на масив (зверніть увагу на трикрапку):
import { Providers } from '@ditsmod/core';
import { restModule } from '@ditsmod/rest';
// ...
@restModule({
// ...
providersPerRou: [
Provider1,
Provider2,
...new Providers().useValue<CorsOptions>(CorsOptions, { origin: 'https://example.com' }),
// ...
],
// ...
})
export class SomeModule {}
Починаючи з v2.55, Ditsmod дозволяє передавати інстанс Providers безпосередньо у властивості providersPer* метаданих модуля чи контролера:
import { Providers } from '@ditsmod/core';
import { restModule } from '@ditsmod/rest';
// ...
@restModule({
// ...
providersPerRou: new Providers()
.passThrough(Provider1)
.passThrough(Provider2)
.useValue<CorsOptions>(CorsOptions, { origin: 'https://example.com' }),
// ...
})
export class SomeModule {}
Метод providers.passThrough() пропускає провайдери без перевірки типів, він призначається для передачі класів у якості провайдерів.