We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
This code seems to cause issues, I had to manually fix my guard check.
export interface BaseVideo<T extends VideoType = VideoType> { type: T; data: T extends "MOTIVATIONAL" ? MotivationalVideoData : T extends "SHOWER_THOUGHTS" ? ShowerThoughtsVideoData : T extends "QUIZ" ? QuizVideoData : T extends "QUIZ_SHORT" ? QuizShortVideoData : T extends "SUMMARY" ? any : never; }
(Yes isVideoType is included in the guards, and the other types not included in this code too)
Apart the data part, which is understandable if it gets it wrong, the guard checks if the type is equal to "T" and typescript gives me an error there.
The text was updated successfully, but these errors were encountered:
It looks like you're trying to make a discriminated union, that looks like a java base type?
type Video = | MotivationalVideo | ShowerThoughtsVideo ... type MotivationalVideo = { type: 'MOTIVATIONAL' data: MotivationalVideoData } type ShowerThoughtsVideo = { type: 'SHOWER_THOUGHTS' data: ShowerThoughtsVideoData } ...
If it's possible to use that pattern in your codebase, you can likely generate guards for the constituent types and the union.
Sorry, something went wrong.
Please provide expected output.
Although you should know that whatever it is, it's extremely unlikely to be easy to support.
No branches or pull requests
This code seems to cause issues, I had to manually fix my guard check.
(Yes isVideoType is included in the guards, and the other types not included in this code too)
Apart the data part, which is understandable if it gets it wrong, the guard checks if the type is equal to "T" and typescript gives me an error there.
The text was updated successfully, but these errors were encountered: