UNPKG

type-plus

Version:
10 lines (7 loc) 325 B
import type { KeyTypes } from './KeyTypes.js' export type OptionalKeys<O extends Record<KeyTypes, any>> = O extends unknown ? OptionalKeys._<O> : never export namespace OptionalKeys { export type _<O extends Record<KeyTypes, any>> = { [K in keyof O]-?: Record<KeyTypes, any> extends Pick<O, K> ? K : never }[keyof O] }