this post was submitted on 04 Oct 2023
2 points (100.0% liked)

Flutter

3 readers
1 users here now

Flutter and the related logo are trademarks of Google LLC. We are not endorsed by or affiliated with Google LLC

founded 1 year ago
MODERATORS
 

Here's a nice simple article explaining enhanced enums that have been around for a while but may be something overlooked. Between these and sealed classes I think Dart has an excellent story for pattern matching.

top 7 comments
sorted by: hot top controversial new old
[–] anlumo@feddit.de 1 points 1 year ago (2 children)

I've yet to find a single use case for enhanced enums. It also doesn’t help that freezed doesn’t support them.

[–] samus7070@programming.dev 1 points 1 year ago

Prior to sealed classes, I wished they were more like swift enums that could carry dynamic data and have different associated types per case. Now if I want that, I can do that with a sealed class. It’s still nice to have smarter enums if I need a little extra smarts and want to keep the logic close to the enum.

[–] Rexios@lemm.ee 1 points 1 year ago (2 children)

How exactly does freezed not support them? All data on an enhanced enum is static.

[–] anlumo@feddit.de 1 points 1 year ago (1 children)

Freezed generates sealed classes, not enums.

[–] Rexios@lemm.ee 1 points 1 year ago (1 children)

I’m not sure enhanced enums do what you think they do if you expect freezed to generate anything for them besides what json_serializable generates for regular enums

[–] anlumo@feddit.de 1 points 1 year ago

The whole point of the discussion is that enhanced enums don't do anything in practice.

[–] samus7070@programming.dev 1 points 1 year ago

Maybe the code generator? I have no idea. It seems like there shouldn’t be an issue.