??
Это решение рабоатет для { name: string | null | undefined }, но не работает для { name?: string }
type TMakeNonNullable<T, Keys extends keyof T> =
Omit<T, Keys> & { [K in Keys]: NonNullable<T[K]> };
type TTmp = TMakeRequired<{ name?: string}, 'name'>['name']
Стандартный Required вроде это делает
Обсуждают сегодня