ThreadSky
About ThreadSky
Log In
zsilbi.hu
•
6 days ago
Try this:
type ExtractedType = Omit
Comments
Log in
with your Bluesky account to leave a comment
[–]
tkdodo.eu
•
6 days ago
okay wtf that works - but WHY ?
https://www.typescriptlang.org/play/?#code/MYewdgzgLgBCBGArGBeGBvAUDGBDAXBgGYgiECMAvgDTYzyHolkwDMNmlA3JplAJ4AHAKYwAogA8oAJ1zAowgCYAVIaLQB5ALYBLKAB4BIkEThIA2gGth-EzCPC7CRAF1qMAEQeAfJgD0fjgwAHoA-EA
6
1
reply
[–]
tkdodo.eu
•
6 days ago
also works with Omit
😅
4
1
reply
[–]
andarist.bsky.social
•
6 days ago
you totally dont want to use either of those here:
https://www.typescriptlang.org/play/?#code/MYewdgzgLgBCBGArGBeGBvAUDGBDAXBjAGYgiECMMAvgDTYzyHolmEDMN9OwzjuAJ0IAiYV0zUA3JkxQAngAcApjACiADygDcwKEoAmAFUUq0ACnnKQxOEgCUAbQDWSudZiWl7hIgC60zxgAJSUIAFcAG1g0AHkAWwBLKAAeDS0dPSMTWhgwJQA3JQEAPmkAejKcGAA9AH5MIA
4
1
reply
[–]
andarist.bsky.social
•
6 days ago
Omit doesn't distribute so it selects shared keys from all of your input types and then omits the requested keys - but that first step creates a new flattened (sort of) type (that's why it seems to work in the simple case)
4
1
reply
[–]
andarist.bsky.social
•
6 days ago
A distributive Omit wouldn't solve ur case either:
https://www.typescriptlang.org/play/?#code/MYewdgzgLgBCBGArGBeGBvAUDGBDAXBjAGYgiECMMAvgDTYzyHolmEDMN9OwzjuAJ0IAiYV0zUA3JkxQAngAcApjAAiAS2gD18AK5R1ANyUB5ALbqoAHgAqtGAGkYSgB5QlYACYQYABQEgygLyDkpyAHyoMDbObh7eeGByDAD8MOaWtvYO4QyEYErGAtKyiioAom4CuMDunjZlUQAU8sogxHBIAJQA2gDWYe0wrUpDCIgAutIjMABKShC6ADawaBpaOvpGphbWlVDVtUr1ZfYFReHSAPRXODAAeimYQA
1
1
reply
[–]
andarist.bsky.social
•
6 days ago
just for the fun of it, this one works, since in unionizing those conditional expression branches goes through subtype reduction:
https://www.typescriptlang.org/play/?#code/MYewdgzgLgBCBGArGBeGBvAUDGBDAXBjAGYgiECMMAvgDTYzyHolmEDMN9OwzjuAJ0IAiYV0zUA3JkyhIsCAE8AtqhgBlFfBAAbABQBKaToCmsASYAmAV2BWAKooAOJtQFlcUABYA6AbjBLEGVDBgB+GD0wax0dAEI8CEioZxMQYjgkAwBtAGsTRXSYFJcihEQAXQMGQiVlaUwS1wBRAA8of2AoB1S1NuAda0sTAB4moosbO0tHF1pi1KK6gD5pAHo1nBgAPTDMIA
4
1
reply
Posting Rules
Be respectful to others
No spam or self-promotion
Stay on topic
Follow Bluesky's terms of service
×
Reply
Post Reply
Comments
https://www.typescriptlang.org/play/?#code/MYewdgzgLgBCBGArGBeGBvAUDGBDAXBgGYgiECMAvgDTYzyHolkwDMNmlA3JplAJ4AHAKYwAogA8oAJ1zAowgCYAVIaLQB5ALYBLKAB4BIkEThIA2gGth-EzCPC7CRAF1qMAEQeAfJgD0fjgwAHoA-EA
https://www.typescriptlang.org/play/?#code/MYewdgzgLgBCBGArGBeGBvAUDGBDAXBjAGYgiECMMAvgDTYzyHolmEDMN9OwzjuAJ0IAiYV0zUA3JkxQAngAcApjACiADygDcwKEoAmAFUUq0ACnnKQxOEgCUAbQDWSudZiWl7hIgC60zxgAJSUIAFcAG1g0AHkAWwBLKAAeDS0dPSMTWhgwJQA3JQEAPmkAejKcGAA9AH5MIA