#unable to access conditional generic's expected property

3 messages · Page 1 of 1 (latest)

snow badgerBOT
#
Elemelon#6133

Preview:```ts
import React from "react"

type Button = {_type: "button"; button: string}
type Icon = {_type: "icon"; icon: string}

export type ButtonOrIcon = Button | Icon

export type Conditional1<P extends ButtonOrIcon> =
P["_type"] extends "button"
? Button
: P["_type"] extends "icon"
? Icon
: never
...```

blissful anchor
#

i think it's because a condition like P["_type"] extends "button" ? doesn't trigger disributivity, while P extends {_type:"button"} ? does