OptionalExceptOne...

typescript

OptionalExceptOne:
другие самплы
type _OptionalExceptOne<T extends object, Rest = never, Result = never> = {
    [K in keyof T]: Exclude<Rest, K> extends never 
        ? _OptionalExceptOne<Omit<T, K>, Rest | K, Result | Partial<Omit<T, K>> & {[k in K]: T[K]}>
        : Result
}[keyof T]

type OptionalExceptOne<T extends object> = _OptionalExceptOne<T>
(ваш голос учтен)

Прикрепить файл