Unionize
Unionize
@example
type Props = { name: string; age: number; visible: boolean };
// Expect: { name: string; } | { age: number; } | { visible: boolean; }
type UnionizedType = Unionize<Props>;
type Unionize<T extends object> = [P in keyof T]: [Q in P]: T[P][keyof T];