type OneKey<K, V, KK> = { [P in K]: { [Q in P]: V; } & { [Q in Exclude<KK, P>]?: undefined; } extends infer O ? { [Q in keyof O]: O[Q]; } : never; }[K]
Record with only one-key
Record with only one-key