Incorrect type inference with discriminated unions.
Hey folks, I am having a really weird issue.
Here is a minimal reproducible example: https://tsplay.dev/WJB1kW
Basically I have a function that returns an object of the
Difference
, which is a union of 3 other types:
I have created a router and a procedure that returns the result of myFunction
. I then call this function on the client like this:
However, I am getting a type error:
Any idea how to solve this issue?tsplay.dev
A link shortener for the TypeScript Playground
Solution:Jump to solution
GitHub
bug: Incorrect type inference with discriminated unions. ยท Issue #5...
Provide environment information System: OS: Linux 6.5 Linux Mint 21.2 (Victoria) CPU: (24) x64 AMD Ryzen 9 7900 12-Core Processor Memory: 24.78 GB / 30.53 GB Container: Yes Shell: 5.8.1 - /bin/zsh ...
9 Replies
Hey could you please put this in a GitHub issue? Fantastic reproduction ๐
for sure I can, I just thought I might be doing something wrong
so didn't want to create a useless issue
All looks sane to me, we might be able to improve this
all right, i will do it in a few min, do you think the title is good enough?
as in, is it descriptive enough, right terminology and all?
Solution
GitHub
bug: Incorrect type inference with discriminated unions. ยท Issue #5...
Provide environment information System: OS: Linux 6.5 Linux Mint 21.2 (Victoria) CPU: (24) x64 AMD Ryzen 9 7900 12-Core Processor Memory: 24.78 GB / 30.53 GB Container: Yes Shell: 5.8.1 - /bin/zsh ...
ah, this is something to do with the SerializeJson we use
you can see this works https://tsplay.dev/mxzyZw
TS Playground - An online editor for exploring TypeScript and JavaS...
The Playground lets you write TypeScript or JavaScript online in a safe and sharable way.
oops, i missed that there was replies ๐
hey man I left a reply in the github issue, but just wanted to say thanks to both of you for helping out, i appreciate it ๐