You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
In my app that I'm working on, I love the developer experience of exhaustive checks, because they force me to handle all of the edge cases that I need. But too often I am encountering scenarios where something doesn't migrate quite right, my runtime type becomes slightly different than my compile time type, and then I get a production error and have to switch from exhaustive to otherwise.
Describe the solution you'd like
It would be extremely awesome if there was a safer alternative to .exhaustive that provided the same developer experience in typescript. To me this would look something like this:
typeMyUnion="a"|"b"consta=""asMyUnionmatch(a).with(("a")=>"you chose a").with(("b")=>"you chose b").safeExhaustive("a"// <= default if error is thrown by patern match,console.error// a callback that allows us to handle the error throw by pattern matching)
Describe alternatives you've considered
Using .otherwise
In a perfect world (I know this is probably a bigger ask), it would be cool if we could create a customized instance of match so we wouldn't have to dump in a callback every time or something like that. But I imagine that's a much bigger lift than just building a .safeExhaustive method
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem? Please describe.
In my app that I'm working on, I love the developer experience of exhaustive checks, because they force me to handle all of the edge cases that I need. But too often I am encountering scenarios where something doesn't migrate quite right, my runtime type becomes slightly different than my compile time type, and then I get a production error and have to switch from
exhaustive
tootherwise
.Describe the solution you'd like
It would be extremely awesome if there was a safer alternative to .exhaustive that provided the same developer experience in typescript. To me this would look something like this:
Describe alternatives you've considered
Using .otherwise
In a perfect world (I know this is probably a bigger ask), it would be cool if we could create a customized instance of
match
so we wouldn't have to dump in a callback every time or something like that. But I imagine that's a much bigger lift than just building a.safeExhaustive
methodThe text was updated successfully, but these errors were encountered: