/** * 取出所有必须的key, * @example * 输入: * type Example = { foo?: string; bar: number } * type example = RequiredKeys * 输出; * type example = "bar" */ export type RequiredKeys = { [K in keyof T]-?: {} extends Pick ? never : K; }[keyof T];