понимаю зачем он нужен и что он делает, тк не так хорошо знаком с TypeScript
export type RecursivePartial<T> = {
[P in keyof T]?: T[P] extends (infer U)[]
? RecursivePartial<U>[]
: T[P] extends object | undefined
? RecursivePartial<T[P]>
: T[P];
};
Превращает типы любой вложенности в типы, где все свойства необязательны
Обсуждают сегодня