У меня есть этот интерфейс:
export interface UserSettings
{
one: {
three: number;
four: number;
};
two: {
five: number;
six: number;
};
}
... и хочу превратить это в это:
export interface UserSettingsForUpdate
{
one?: {
three?: number;
four?: number;
};
two?: {
five?: number;
six?: number;
};
}
... но Partial<UserSettings>
создает следующее:
{
one?: {
three: number;
four: number;
};
two?: {
five: number;
six: number;
};
}
Можно ли использовать сопоставленные типы, чтобы сделать все свойства на всех глубинах необязательными, или мне нужно создать для этого интерфейс вручную?