У меня два интерфейса, Workflow
и WorkflowVersion
workflow.model.ts
import { WorkflowVersion } from './workflow-version.model';
export interface Workflow{
name: string;
ID: number;
workflowVersions: WorkflowVersion[];
}
workflow-version.model.ts
export interface WorkflowVersion{
versionID: number;
lastPublished: string;
environmentID: number;
}
Я бы хотел создать интерфейс, который «выравнивает» их. Этот новый интерфейс WorkflowFlat
должен содержать все свойства необъектного типа обоих интерфейсов. В настоящее время у меня есть это:
рабочий процесс-flat.model.ts
export interface WorkflowFlat {
name: string;
ID: number;
versionID: number;
lastPublished: string;
environmentID: number;
}
Модель, описанная выше, достигает этого, но она кажется повторяющейся. Если я хочу добавить description
свойство к WorkflowVersion
в будущем, я должен был бы не забыть добавить его также к WorkflowFlat
. Есть ли способ заставить модель автоматически взять все свойства из двух интерфейсов и затем создать новый интерфейс с необъектными?