У меня есть несколько моделей, которые я использую в качестве типов данных, и выбор одной из них зависит от некоторых условий. В настоящее время я использую условия if, но я ищу динамический способ c, если это возможно.
`
handleWizardContext (wizardContextModel: WizardContextModel): BookNewJobStrategyDto | CancelJobStrategyDto {
let context: BookNewJobStrategyDto | CancelJobStrategyDto;
if (wizardContextModel.wizardId === Wizards.BookNewJob) { // handle context of book new job
context = new BookNewJobStrategyDto();
}
else if (wizardContextModel.wizardId === Wizards.CancelJob) { // handle context of cancel job
context = new CancelJobStrategyDto();
context.wizardId = wizardContextModel.wizardId;
context.projectId = wizardContextModel.projectId;
context.jobVisitId = wizardContextModel.jobVisit.jobVisitId;
context.jobId = wizardContextModel.jobVisit.jobId;
context.projectRegionId = wizardContextModel.jobVisit.projectRegionId;
context.siteId = wizardContextModel.jobVisit.siteId;
} else {
context = ((new Object()) as any);
}
// there will be more else if conditions here
return context;
}`
выбранный метод должен обрабатывать 13 случаев, поэтому мне нужно получить динамический c способ сделать это