Я создаю небольшое приложение на машинописном компьютере, где я использую интерфейсы для
создавать объекты определенных типов, например, следующий UserProfile
интерфейс.
Функции interface
и fulfill
определены в файле user-profile.ts
.
export interface UserProfile {
readonly titel_id: number;
readonly user_name: string;
readonly email: string;
readonly first_name: string;
readonly last_name: string;
readonly phone: string;
readonly fax: string;
}
export function fulfill({ titel_id, user_name, email, first_name, last_name, phone, fax }: any): UserProfile {
return {
titel_id,
user_name,
email,
first_name,
last_name,
phone,
fax
}
}
Я вызываю эту функцию из моей UserMdoel's find
функции, которая содержит все поля таблицы пользователя, а функция execute дает только те поля, которые указаны в интерфейсе. Но, как вы можете видеть, я должен написать поля 3 раза
один раз в интерфейсе, затем в деструктурировании объекта и затем в операторе возврата. Это означает, что если мне позже придется изменить поля, я должен изменить это в 3 местах.
Есть ли лучший способ решить эту проблему?