Type Alias OptionalKeys<T>

OptionalKeys: T extends unknown
    ? {
        [k in keyof T]-?: Record<KeyTypes, any> extends Pick<T, k> ? k : never
    }[keyof T]
    : never

Gets the optional keys of T.

🦴 utilities

Type Parameters

  • T
OptionalKeys<{ a: 1 }> // never
OptionalKeys<{ a?: 1, b: number }> // 'a'