Давайте иметь функцию TypeScript для отправки электронных писем:
enum ETemplate {
EXAMPLE1, EXAMPLE2
}
function sendEmail(to: string, template: ETemplate, params: IParams): Promise<void>{
await this.mailService.send(to, template, params);
}
interface IParams {
// depends on template type (ETemplate)
}
Как потребовать params
в зависимости от введенного мной типа шаблона? Причина в том, что каждый шаблон имеет разные IParams
на основе ETemplate
.
. Я знаю, что у TypeScript есть дженерики, но я не уверен, что смогу добиться этого с ними ...