microsoft / microsoft/TypeScript

TS2590 for simple ternary expression with large discriminated union

Ouverte
#59,367 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Bug Domain: check: Big Unions Help Wanted
Langage dominant
Go
Étoiles
111k
Forks
14.4k
Merge moyen
1 j 19 h
PR mergées (30 j)
117

Description

🔎 Search Terms

TS2590 ternary conditional

🕗 Version & Regression Information
  • This changed between versions 3.3.3 and 3.5.1
⏯ Playground Link

https://www.typescriptlang.org/play/?#code/C4TwDgpgBAqgdgSwPZygXigbygEwFxQBEAjIVAL5QA+WuBhATGZTdvkQMzPW3uEAs3VnSIBWIb3oA2CW3oB2WSMIAOJXwCc6+sQAM2osVIUecw0xPC+xLpcmHBdsyXFPlxGW+uKvOtb8MtAMZ9YIZjFntGC0jnBltY5QZHRL4GV1T6Bk9MogYfXMZ-QoYgwo5Q8ojTZQ4Ymr4OBIb6DhSWzgyOwg4c7o4C-uL+su7+SrHqq3p+eumifmb5gXbl-i61vrXBteG10eXRCcOpqNE5s6Wz1bONs62znbO9s4OoqWP30+cpC5+rn43H53H4PH5PH4vH5vZzyT6w77KeR-JEApFApEgpFgpEQpFQpEw5QqeHExF8FQoiloikYilYik4il4ikEilEzSkzTk+gaKm8mm8um8hm8pm8lm8tm8jk6XRcuU8wy6fnKwXK4XK0XK8XKyXK6XK2WGPQGEhGM1GVXm9XmzXm7Xm3Xm-Xmw3m40kBgK8xKr3W4jxS3JYOOwPOwOuwPuwOemw+kgcP02ANNS1tdNh3rpqMcGMcOPjS38ZOzYu24j8e2VsP8CP8KP8GP8ONHS2iZPndsV0TV0Rh0QR0RR0Qx0Rxj6WqTJ35TitSatSMNSCNSKNSGNSONwy3yZPI3cV+TV+Rh+QR+RR+Qx+RxkmWlTJykPisqasqMMqCMqKMqGMqOMNATYgNGTPlLQ0CsNGrDQww0CMNCjDQYw0T1vQTb0-W9a1vVtb17W9R1vWdb1XW9d1vTQ00wgtGicJsM1wgI4giI8RjiDI4gKJAxjvV4rCGBwoMwhDESiOyXiyIYCjSkYio5Kwuo5LwjMwg4IjszUsi8zktCizCEtGLLAy8KrIyiLrIyyKbIy0LbMIO0YrsHLw3snKIwcnLI0cnLQycwmnRjZwCvCFyCoiVyCsiNyCtCdzCPdGIPBK8OPJKiPPJKyOvJK0PvMJH0Y58Crwt8iqIr8irIv8irQoDGNAhqcMghqCNghqSMQhqKNQs0KgTCo-Qqa0KltCp7QqR0KmdCpXQqd0Kk9JMBtoqoRoY4Ikwmli+rYzaON2haeM2viTqGwS+uE8pROuqaJJOubpMupb5M2pM+qUt6xtU8p1I+maBg+haCz6-TykMzbjPBsazMhqbLMhuabMhpb7PKRzNuc9GxrczGps8zG5p8zGlv88pAs24LybGsLKamyLKbmmLKaW+LykSzbkvZsa0s5qbMs5uacs5pb8vKQrNuK8WxrKyWpsqyW5pqyWlvqzbGvVkaWvVib2vVmauvVhbeuCcYE3GP1xmtcZbXGe1xkdcZnXGV1xndcZPRLc3Vsma2NsKEt7Z2029oDg6Q-d46A9O6PLYu02rrGG6k8d+7o9dp6E8916A-e03Ptz22frGP78+dwH8-dkHTbBsYIYDqG69t2GG8dhGG9d5GG89tGxgxgOsb723cYHx2CYH13iYHz2ybGCmA6pufbdphfHYZhfXeZhfPbZsYOYDrm99t3mD8dgWD9d4WD89sWxglgOpbv23ZYfx2FYf13lYfz21YDjW-+ttrP+9s9Z-2dobP+7sTaFCOAmI4fojjWiOLaI49ojiOiOM6I4rojjuiOJ6DscCfYnCQf7boHY0HBxgaHch4dqF4KjuQmOTCEHxxgYnQ4ydOEYLTkwnBmd2EEJzuQvOMCC4iJQcXQ4pcxFYIrmIvB1cYG10OPXchjdVEoJbuojB7d1E4K7uoghvdDj93IYPUxKCR7mIwePcxOCp7mIIbPQ489yGL1cSgle7iMHr3cTgre7iCG70OPvchh9QkoJPuEjB59wk4KvuEght9Dj33IY-VJKCX7pIwe-dJOCv7pIIb-ch-9SlIKAaUtBoDSlYIgaUvB0DugfATB8P0HxrQfFtB8e0HxHQfGdB8V0Hx3QfE9NOVpxCvidLIcsacvSqHNJoXMuhSzRmMLmcwzZ7S2HNI4e8LhBz+m8M2cMgRezxnCLmaI5p4jrndKke8GRtzBnyNuaMpRzSVHvDUXMjRPzunaL+f0vRfzhmGL+eMkx7wzFzIsTC7p1i4X9LsXC4Zji4XjJce8NxcyPE4u6d4vF-S-F4uGYEvF4yQnvDCXMiJNLunRLpf0uJdLhmJLpeMlJ7w0lzIyTy7p2S+X9LyXy4ZhS+XjJKXMspMrOmVJlb0mpMrBn1JlaMppyw4QJjhH6OE1o4S2jhPaOEjo4TOjhK6OE7o4Sej3DqqZCIDWzKiHuE1iytXLNdasz1NqNmuq2QGvVuytX7NhIc8NZqTkBqtec0NdqrmupuVqu5SajWPNhM8lNFq3kpptZ8rV3zYS-Ndf84tRqgWlrNaC0tVqIWlrtdC2EsLXXwubUapFrazWotbVajFra7XYthLi11+Lh1GqJaOs1pLR1WopaOu11LYS0tdfS5dRqmWrrNay1dVqOWrrtdy2EvLXX8uPUaoVp6zWitPVaiVp67XStdbK59BqFXPpNcq59Fq1XPptZqqIJIEwkj9CSa0JJbQkntCSR0JJnQkldCSd0JJPSPmA46sk4GXXOEfNBj1gGvU4Z9QR5D-qcOBvI6BkNgGw3EgjXR2D0byOIbjTR1DiacPJsA6mzjkGM3Eizdx+DubuPIYLYBotxIS04bLVJyDlaZOwZrTJxD9aZOoabcSFtOG21acg52nTsGe06cQ-2nTqGh3EhHThsdVnIOTps7BmdNnEPzps6hpdxIV04bXV5yDm6fOwZ3T5xD+6fOoaPcSE9OGz1Rcg5emLsGb0xcQ-emLqGn04ZfVl8D76svQa-Vl+Dv6svIYA84ICCYgJ+iAtaICtogL2iAo6ICzogKuiAu6ICnpQJVYw9yOr2HlCgSa-hirhHhvEfG11sjw2KNzZq9RirtHND0dWy1pjc2OuseWz1jjw2uMVZ4wdhr-HNCCaO21kTR2uviYq5JzQ0nhuycew1hTz2WvKeex1tTz2euac0Np4bunAcNYM8DlrxngcdbM8DnrlnNDWeG7ZxHDWHPI5a855HHW3PI5655zQ3nhu+cJw1gLxOWvBeJx1sLxOeuRc0NF4bsXGcNYS8zlryXmcdbS8znrmXhvZcF3VvLgumuFcF21krguuvlfcPKYC8oIgAG4ABQquABmABXOAABjYAyBUAa6QEgAAFAASgIPAQ3WBVdQHt1AAAThAYAWvHeoGcBkNX5B1fa71wblAUAABGABDR3FureIEDzQOAWuAA2cfbcO6dy7t3qBgCO619AAA-GcbgBBY8J9Vz71XuuUAAGdgBQBD+gYPYeLfK6gAAeib1AJAABrEPIBS8V6r0H2vGes9QFz8bs35uoAF-j3H5XQA

💻 Code
type Union = { d: "1" } | { d: "2" } | { d: "3" } | { d: "4" } | { d: "5" } | { d: "6" } | { d: "7" } | { d: "8" } | { d: "9" } | { d: "10" } | { d: "11" } | { d: "12" } | { d: "13" } | { d: "14" } | { d: "15" } | { d: "16" } | { d: "17" } | { d: "18" } | { d: "19" } | { d: "20" } | { d: "21" } | { d: "22" } | { d: "23" } | { d: "24" } | { d: "25" } | { d: "26" } | { d: "27" } | { d: "28" } | { d: "29" } | { d: "30" } | { d: "31" } | { d: "32" } | { d: "33" } | { d: "34" } | { d: "35" } | { d: "36" } | { d: "37" } | { d: "38" } | { d: "39" } | { d: "40" } | { d: "41" } | { d: "42" } | { d: "43" } | { d: "44" } | { d: "45" } | { d: "46" } | { d: "47" } | { d: "48" } | { d: "49" } | { d: "50" } | { d: "51" } | { d: "52" } | { d: "53" } | { d: "54" } | { d: "55" } | { d: "56" } | { d: "57" } | { d: "58" } | { d: "59" } | { d: "60" } | { d: "61" } | { d: "62" } | { d: "63" } | { d: "64" } | { d: "65" } | { d: "66" } | { d: "67" } | { d: "68" } | { d: "69" } | { d: "70" } | { d: "71" } | { d: "72" } | { d: "73" } | { d: "74" } | { d: "75" } | { d: "76" } | { d: "77" } | { d: "78" } | { d: "79" } | { d: "80" } | { d: "81" } | { d: "82" } | { d: "83" } | { d: "84" } | { d: "85" } | { d: "86" } | { d: "87" } | { d: "88" } | { d: "89" } | { d: "90" } | { d: "91" } | { d: "92" } | { d: "93" } | { d: "94" } | { d: "95" } | { d: "96" } | { d: "97" } | { d: "98" } | { d: "99" } | { d: "100" } | { d: "101" } | { d: "102" } | { d: "103" } | { d: "104" } | { d: "105" } | { d: "106" } | { d: "107" } | { d: "108" } | { d: "109" } | { d: "110" } | { d: "111" } | { d: "112" } | { d: "113" } | { d: "114" } | { d: "115" } | { d: "116" } | { d: "117" } | { d: "118" } | { d: "119" } | { d: "120" } | { d: "121" } | { d: "122" } | { d: "123" } | { d: "124" } | { d: "125" } | { d: "126" } | { d: "127" } | { d: "128" } | { d: "129" } | { d: "130" } | { d: "131" } | { d: "132" } | { d: "133" } | { d: "134" } | { d: "135" } | { d: "136" } | { d: "137" } | { d: "138" } | { d: "139" } | { d: "140" } | { d: "141" } | { d: "142" } | { d: "143" } | { d: "144" } | { d: "145" } | { d: "146" } | { d: "147" } | { d: "148" } | { d: "149" } | { d: "150" } | { d: "151" } | { d: "152" } | { d: "153" } | { d: "154" } | { d: "155" } | { d: "156" } | { d: "157" } | { d: "158" } | { d: "159" } | { d: "160" } | { d: "161" } | { d: "162" } | { d: "163" } | { d: "164" } | { d: "165" } | { d: "166" } | { d: "167" } | { d: "168" } | { d: "169" } | { d: "170" } | { d: "171" } | { d: "172" } | { d: "173" } | { d: "174" } | { d: "175" } | { d: "176" } | { d: "177" } | { d: "178" } | { d: "179" } | { d: "180" } | { d: "181" } | { d: "182" } | { d: "183" } | { d: "184" } | { d: "185" } | { d: "186" } | { d: "187" } | { d: "188" } | { d: "189" } | { d: "190" } | { d: "191" } | { d: "192" } | { d: "193" } | { d: "194" } | { d: "195" } | { d: "196" } | { d: "197" } | { d: "198" } | { d: "199" } | { d: "200" } | { d: "201" } | { d: "202" } | { d: "203" } | { d: "204" } | { d: "205" } | { d: "206" } | { d: "207" } | { d: "208" } | { d: "209" } | { d: "210" } | { d: "211" } | { d: "212" } | { d: "213" } | { d: "214" } | { d: "215" } | { d: "216" } | { d: "217" } | { d: "218" } | { d: "219" } | { d: "220" } | { d: "221" } | { d: "222" } | { d: "223" } | { d: "224" } | { d: "225" } | { d: "226" } | { d: "227" } | { d: "228" } | { d: "229" } | { d: "230" } | { d: "231" } | { d: "232" } | { d: "233" } | { d: "234" } | { d: "235" } | { d: "236" } | { d: "237" } | { d: "238" } | { d: "239" } | { d: "240" } | { d: "241" } | { d: "242" } | { d: "243" } | { d: "244" } | { d: "245" } | { d: "246" } | { d: "247" } | { d: "248" } | { d: "249" } | { d: "250" } | { d: "251" } | { d: "252" } | { d: "253" } | { d: "254" } | { d: "255" } | { d: "256" } | { d: "257" } | { d: "258" } | { d: "259" } | { d: "260" } | { d: "261" } | { d: "262" } | { d: "263" } | { d: "264" } | { d: "265" } | { d: "266" } | { d: "267" } | { d: "268" } | { d: "269" } | { d: "270" } | { d: "271" } | { d: "272" } | { d: "273" } | { d: "274" } | { d: "275" } | { d: "276" } | { d: "277" } | { d: "278" } | { d: "279" } | { d: "280" } | { d: "281" } | { d: "282" } | { d: "283" } | { d: "284" } | { d: "285" } | { d: "286" } | { d: "287" } | { d: "288" } | { d: "289" } | { d: "290" } | { d: "291" } | { d: "292" } | { d: "293" } | { d: "294" } | { d: "295" } | { d: "296" } | { d: "297" } | { d: "298" } | { d: "299" } | { d: "300" } | { d: "301" } | { d: "302" } | { d: "303" } | { d: "304" } | { d: "305" } | { d: "306" } | { d: "307" } | { d: "308" } | { d: "309" } | { d: "310" } | { d: "311" } | { d: "312" } | { d: "313" } | { d: "314" } | { d: "315" } | { d: "316" } | { d: "317" } | { d: "318" } | { d: "319" } | { d: "320" } | { d: "321" } | { d: "322" } | { d: "323" } | { d: "324" } | { d: "325" } | { d: "326" } | { d: "327" } | { d: "328" } | { d: "329" } | { d: "330" } | { d: "331" } | { d: "332" } | { d: "333" } | { d: "334" } | { d: "335" } | { d: "336" } | { d: "337" } | { d: "338" } | { d: "339" } | { d: "340" } | { d: "341" } | { d: "342" } | { d: "343" } | { d: "344" } | { d: "345" } | { d: "346" } | { d: "347" } | { d: "348" } | { d: "349" } | { d: "350" } | { d: "351" } | { d: "352" } | { d: "353" } | { d: "354" } | { d: "355" } | { d: "356" } | { d: "357" } | { d: "358" } | { d: "359" } | { d: "360" } | { d: "361" } | { d: "362" } | { d: "363" } | { d: "364" } | { d: "365" } | { d: "366" } | { d: "367" } | { d: "368" } | { d: "369" } | { d: "370" } | { d: "371" } | { d: "372" } | { d: "373" } | { d: "374" } | { d: "375" } | { d: "376" } | { d: "377" } | { d: "378" } | { d: "379" } | { d: "380" } | { d: "381" } | { d: "382" } | { d: "383" } | { d: "384" } | { d: "385" } | { d: "386" } | { d: "387" } | { d: "388" } | { d: "389" } | { d: "390" } | { d: "391" } | { d: "392" } | { d: "393" } | { d: "394" } | { d: "395" } | { d: "396" } | { d: "397" } | { d: "398" } | { d: "399" } | { d: "400" } | { d: "401" } | { d: "402" } | { d: "403" } | { d: "404" } | { d: "405" } | { d: "406" } | { d: "407" } | { d: "408" } | { d: "409" } | { d: "410" } | { d: "411" } | { d: "412" } | { d: "413" } | { d: "414" } | { d: "415" } | { d: "416" } | { d: "417" } | { d: "418" } | { d: "419" } | { d: "420" } | { d: "421" } | { d: "422" } | { d: "423" } | { d: "424" } | { d: "425" } | { d: "426" } | { d: "427" } | { d: "428" } | { d: "429" } | { d: "430" } | { d: "431" } | { d: "432" } | { d: "433" } | { d: "434" } | { d: "435" } | { d: "436" } | { d: "437" } | { d: "438" } | { d: "439" } | { d: "440" } | { d: "441" } | { d: "442" } | { d: "443" } | { d: "444" } | { d: "445" } | { d: "446" } | { d: "447" } | { d: "448" } | { d: "449" } | { d: "450" } | { d: "451" } | { d: "452" } | { d: "453" } | { d: "454" } | { d: "455" } | { d: "456" } | { d: "457" } | { d: "458" } | { d: "459" } | { d: "460" } | { d: "461" } | { d: "462" } | { d: "463" } | { d: "464" } | { d: "465" } | { d: "466" } | { d: "467" } | { d: "468" } | { d: "469" } | { d: "470" } | { d: "471" } | { d: "472" } | { d: "473" } | { d: "474" } | { d: "475" } | { d: "476" } | { d: "477" } | { d: "478" } | { d: "479" } | { d: "480" } | { d: "481" } | { d: "482" } | { d: "483" } | { d: "484" } | { d: "485" } | { d: "486" } | { d: "487" } | { d: "488" } | { d: "489" } | { d: "490" } | { d: "491" } | { d: "492" } | { d: "493" } | { d: "494" } | { d: "495" } | { d: "496" } | { d: "497" } | { d: "498" } | { d: "499" } | { d: "500" } | { d: "501" } | { d: "502" } | { d: "503" } | { d: "504" } | { d: "505" } | { d: "506" } | { d: "507" } | { d: "508" } | { d: "509" } | { d: "510" } | { d: "511" } | { d: "512" } | { d: "513" } | { d: "514" } | { d: "515" } | { d: "516" } | { d: "517" } | { d: "518" } | { d: "519" } | { d: "520" } | { d: "521" } | { d: "522" } | { d: "523" } | { d: "524" } | { d: "525" } | { d: "526" } | { d: "527" } | { d: "528" } | { d: "529" } | { d: "530" } | { d: "531" } | { d: "532" } | { d: "533" } | { d: "534" } | { d: "535" } | { d: "536" } | { d: "537" } | { d: "538" } | { d: "539" } | { d: "540" } | { d: "541" } | { d: "542" } | { d: "543" } | { d: "544" } | { d: "545" } | { d: "546" } | { d: "547" } | { d: "548" } | { d: "549" } | { d: "550" } | { d: "551" } | { d: "552" } | { d: "553" } | { d: "554" } | { d: "555" } | { d: "556" } | { d: "557" } | { d: "558" } | { d: "559" } | { d: "560" } | { d: "561" } | { d: "562" } | { d: "563" } | { d: "564" } | { d: "565" } | { d: "566" } | { d: "567" } | { d: "568" } | { d: "569" } | { d: "570" } | { d: "571" } | { d: "572" } | { d: "573" } | { d: "574" } | { d: "575" } | { d: "576" } | { d: "577" } | { d: "578" } | { d: "579" } | { d: "580" } | { d: "581" } | { d: "582" } | { d: "583" } | { d: "584" } | { d: "585" } | { d: "586" } | { d: "587" } | { d: "588" } | { d: "589" } | { d: "590" } | { d: "591" } | { d: "592" } | { d: "593" } | { d: "594" } | { d: "595" } | { d: "596" } | { d: "597" } | { d: "598" } | { d: "599" } | { d: "600" } | { d: "601" } | { d: "602" } | { d: "603" } | { d: "604" } | { d: "605" } | { d: "606" } | { d: "607" } | { d: "608" } | { d: "609" } | { d: "610" } | { d: "611" } | { d: "612" } | { d: "613" } | { d: "614" } | { d: "615" } | { d: "616" } | { d: "617" } | { d: "618" } | { d: "619" } | { d: "620" } | { d: "621" } | { d: "622" } | { d: "623" } | { d: "624" } | { d: "625" } | { d: "626" } | { d: "627" } | { d: "628" } | { d: "629" } | { d: "630" } | { d: "631" } | { d: "632" } | { d: "633" } | { d: "634" } | { d: "635" } | { d: "636" } | { d: "637" } | { d: "638" } | { d: "639" } | { d: "640" } | { d: "641" } | { d: "642" } | { d: "643" } | { d: "644" } | { d: "645" } | { d: "646" } | { d: "647" } | { d: "648" } | { d: "649" } | { d: "650" } | { d: "651" } | { d: "652" } | { d: "653" } | { d: "654" } | { d: "655" } | { d: "656" } | { d: "657" } | { d: "658" } | { d: "659" } | { d: "660" } | { d: "661" } | { d: "662" } | { d: "663" } | { d: "664" } | { d: "665" } | { d: "666" } | { d: "667" } | { d: "668" } | { d: "669" } | { d: "670" } | { d: "671" } | { d: "672" } | { d: "673" } | { d: "674" } | { d: "675" } | { d: "676" } | { d: "677" } | { d: "678" } | { d: "679" } | { d: "680" } | { d: "681" } | { d: "682" } | { d: "683" } | { d: "684" } | { d: "685" } | { d: "686" } | { d: "687" } | { d: "688" } | { d: "689" } | { d: "690" } | { d: "691" } | { d: "692" } | { d: "693" } | { d: "694" } | { d: "695" } | { d: "696" } | { d: "697" } | { d: "698" } | { d: "699" } | { d: "700" } | { d: "701" } | { d: "702" } | { d: "703" } | { d: "704" } | { d: "705" } | { d: "706" } | { d: "707" } | { d: "708" } | { d: "709" } | { d: "710" } | { d: "711" } | { d: "712" } | { d: "713" } | { d: "714" } | { d: "715" } | { d: "716" } | { d: "717" } | { d: "718" } | { d: "719" } | { d: "720" } | { d: "721" } | { d: "722" } | { d: "723" } | { d: "724" } | { d: "725" } | { d: "726" } | { d: "727" } | { d: "728" } | { d: "729" } | { d: "730" } | { d: "731" } | { d: "732" } | { d: "733" } | { d: "734" } | { d: "735" } | { d: "736" } | { d: "737" } | { d: "738" } | { d: "739" } | { d: "740" } | { d: "741" } | { d: "742" } | { d: "743" } | { d: "744" } | { d: "745" } | { d: "746" } | { d: "747" } | { d: "748" } | { d: "749" } | { d: "750" } | { d: "751" } | { d: "752" } | { d: "753" } | { d: "754" } | { d: "755" } | { d: "756" } | { d: "757" } | { d: "758" } | { d: "759" } | { d: "760" } | { d: "761" } | { d: "762" } | { d: "763" } | { d: "764" } | { d: "765" } | { d: "766" } | { d: "767" } | { d: "768" } | { d: "769" } | { d: "770" } | { d: "771" } | { d: "772" } | { d: "773" } | { d: "774" } | { d: "775" } | { d: "776" } | { d: "777" } | { d: "778" } | { d: "779" } | { d: "780" } | { d: "781" } | { d: "782" } | { d: "783" } | { d: "784" } | { d: "785" } | { d: "786" } | { d: "787" } | { d: "788" } | { d: "789" } | { d: "790" } | { d: "791" } | { d: "792" } | { d: "793" } | { d: "794" } | { d: "795" } | { d: "796" } | { d: "797" } | { d: "798" } | { d: "799" } | { d: "800" } | { d: "801" } | { d: "802" } | { d: "803" } | { d: "804" } | { d: "805" } | { d: "806" } | { d: "807" } | { d: "808" } | { d: "809" } | { d: "810" } | { d: "811" } | { d: "812" } | { d: "813" } | { d: "814" } | { d: "815" } | { d: "816" } | { d: "817" } | { d: "818" } | { d: "819" } | { d: "820" } | { d: "821" } | { d: "822" } | { d: "823" } | { d: "824" } | { d: "825" } | { d: "826" } | { d: "827" } | { d: "828" } | { d: "829" } | { d: "830" } | { d: "831" } | { d: "832" } | { d: "833" } | { d: "834" } | { d: "835" } | { d: "836" } | { d: "837" } | { d: "838" } | { d: "839" } | { d: "840" } | { d: "841" } | { d: "842" } | { d: "843" } | { d: "844" } | { d: "845" } | { d: "846" } | { d: "847" } | { d: "848" } | { d: "849" } | { d: "850" } | { d: "851" } | { d: "852" } | { d: "853" } | { d: "854" } | { d: "855" } | { d: "856" } | { d: "857" } | { d: "858" } | { d: "859" } | { d: "860" } | { d: "861" } | { d: "862" } | { d: "863" } | { d: "864" } | { d: "865" } | { d: "866" } | { d: "867" } | { d: "868" } | { d: "869" } | { d: "870" } | { d: "871" } | { d: "872" } | { d: "873" } | { d: "874" } | { d: "875" } | { d: "876" } | { d: "877" } | { d: "878" } | { d: "879" } | { d: "880" } | { d: "881" } | { d: "882" } | { d: "883" } | { d: "884" } | { d: "885" } | { d: "886" } | { d: "887" } | { d: "888" } | { d: "889" } | { d: "890" } | { d: "891" } | { d: "892" } | { d: "893" } | { d: "894" } | { d: "895" } | { d: "896" } | { d: "897" } | { d: "898" } | { d: "899" } | { d: "900" } | { d: "901" } | { d: "902" } | { d: "903" } | { d: "904" } | { d: "905" } | { d: "906" } | { d: "907" } | { d: "908" } | { d: "909" } | { d: "910" } | { d: "911" } | { d: "912" } | { d: "913" } | { d: "914" } | { d: "915" } | { d: "916" } | { d: "917" } | { d: "918" } | { d: "919" } | { d: "920" } | { d: "921" } | { d: "922" } | { d: "923" } | { d: "924" } | { d: "925" } | { d: "926" } | { d: "927" } | { d: "928" } | { d: "929" } | { d: "930" } | { d: "931" } | { d: "932" } | { d: "933" } | { d: "934" } | { d: "935" } | { d: "936" } | { d: "937" } | { d: "938" } | { d: "939" } | { d: "940" } | { d: "941" } | { d: "942" } | { d: "943" } | { d: "944" } | { d: "945" } | { d: "946" } | { d: "947" } | { d: "948" } | { d: "949" } | { d: "950" } | { d: "951" } | { d: "952" } | { d: "953" } | { d: "954" } | { d: "955" } | { d: "956" } | { d: "957" } | { d: "958" } | { d: "959" } | { d: "960" } | { d: "961" } | { d: "962" } | { d: "963" } | { d: "964" } | { d: "965" } | { d: "966" } | { d: "967" } | { d: "968" } | { d: "969" } | { d: "970" } | { d: "971" } | { d: "972" } | { d: "973" } | { d: "974" } | { d: "975" } | { d: "976" } | { d: "977" } | { d: "978" } | { d: "979" } | { d: "980" } | { d: "981" } | { d: "982" } | { d: "983" } | { d: "984" } | { d: "985" } | { d: "986" } | { d: "987" } | { d: "988" } | { d: "989" } | { d: "990" } | { d: "991" } | { d: "992" } | { d: "993" } | { d: "994" } | { d: "995" } | { d: "996" } | { d: "997" } | { d: "998" } | { d: "999" } | { d: "1000" } | { d: "1001" };

function foo(): Union {
    return { d: "5" };
}

function bar(): Union | null {
    return true ? { d: "5" } : null
}

const a = bar(); // okay
const b = true ? foo() : null;
🙁 Actual behavior

A ternary expression in the form of <arbitrary condition> ? <large discriminated union> : null produces a TS2590 (Expression produces a union type that is too complex to represent) error.

🙂 Expected behavior

The type of the expression should be inferred as Union | null.

Additional information about the issue
  • This seems to work if the discriminated union has 1000 or fewer members.
  • This also doesn't work when written as an if-else statement.
  • In my actual code the discriminated union was created using conditional types from a union of the discriminant values, but as shown in the Playground link, it seems like this also doesn't work even if the union was defined as a literal.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par la reproduction liée dans TypeScript Playground et comparez son comportement entre les versions 3.3.3 et 3.5.1. Suivez le comportement du compilateur pour l’expression ternaire et la grande discriminated union ; le travail est terminé lorsque la reproduction ne signale plus TS2590 sans provoquer de régression dans le comportement de vérification de types associé.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
typescript
Domaine
compilers
Type d'issue
Bug
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.