У меня определен интерфейс с 6 свойствами. Я хочу, чтобы одно из этих свойств было обязательным в одном рабочем процессе и необязательным для другого рабочего процесса. Я пытался определить тип в соответствии со следующим фрагментом кода. Это похоже на распространение всех свойств объекта и изменение нескольких параметров после операции распространения.
type Entity<T, Keys extends keyof T> = {
[P in keyof T]?: T[P];
[S in Keys]: T[S];
};
Однако это не делает работу. Есть ли способ сделать это?