types-kit.optionalkeys.md
September 4, 2023 ยท View on GitHub
Home > types-kit > OptionalKeys
OptionalKeys type
Get optional property keys of T.
Signature:
export type OptionalKeys<T> = {
[K in keyof T]-?: {} extends Pick<T, K> ? K : never
}[Keys<T>]
References: Keys
Example
interface Props {
a?: number
readonly b: number
c?: number
}
// Expect: 'a' | 'c'
type PropKeys = OptionalKeys<Props>