type-plus
Version:
Provides additional types for TypeScript.
9 lines (6 loc) • 328 B
text/typescript
import type { KeyTypes } from './KeyTypes.js'
import type { OptionalKeys } from './OptionalKeys.js'
export type RequiredKeys<T extends Record<KeyTypes, any>> = T extends unknown ? RequiredKeys._<T> : never
export namespace RequiredKeys {
export type _<T extends Record<KeyTypes, any>> = Exclude<keyof T, OptionalKeys._<T>>
}