3 ms·
This solution only works with strings, whereas branded types can be used with numbers as well, or any kind of object that you want to add stricter types to with
by lolinder 3y ago
This solution only works with strings, whereas branded types can be used with numbers as well, or any kind of object that you want to add stricter types to without modifying the runtime value.
I haven't observed any issues with branded types and infer—is there documentation somewhere about the problem?
- lifthrasiir 3y agoAs others pointed out, TypeScript sometimes reasons `string & object` or similar as an impossible type and can turn it into `never` at any time. I don't exactly recall whether `infer` triggered that or it was a separate issue, but that was a major problem in my experience.
- presentation 3y agoFWIW I’ve been using branded types for years and never had this issue.