Build a discriminated union from a tag key and mapping
type Map = { cat: { meows: boolean }; dog: { barks: boolean } };type DU = DiscriminatedUnion<'type', Map>;// { type: 'cat'; meows: boolean } | { type: 'dog'; barks: boolean } Copy
type Map = { cat: { meows: boolean }; dog: { barks: boolean } };type DU = DiscriminatedUnion<'type', Map>;// { type: 'cat'; meows: boolean } | { type: 'dog'; barks: boolean }
Build a discriminated union from a tag key and mapping