xsahil03x / super_enum

Create super-powered dart enums similar to sealed classes in Kotlin
https://pub.dev/packages/super_enum
MIT License
116 stars 13 forks source link

Release null safe version ? #69

Open FatulM opened 3 years ago

FatulM commented 3 years ago

Hi, Do you have any plan to release null safe version of the library ?

Thanks.

ride4sun commented 3 years ago

I am getting this problem with Flutter 2.0, is this package getting updated? No is fine but please give us a hint.

Because super_enum_generator >=0.2.0+1 depends on build >=0.12.6 <2.0.0 and chkobd depends on build ^2.0.0, super_enum_generator >=0.2.0+1 is forbidden. So, because chkobd depends on super_enum_generator ^0.6.0, version solving failed. pub get failed (1; So, because chkobd depends on super_enum_generator ^0.6.0, version solving failed.)

ride4sun commented 3 years ago

@xsahil03x The only thing to make super_enum ok for 2.0 is changing the build version in super_enum_generator. Could you please do that?

build: '>=2.0.0 <3.0.0'

FatulM commented 3 years ago

There are some other problems ... For example in whenPartial the arguments should be nullable, but in the generated code they don't have ? sign so they are non-null . @ride4sun

FatulM commented 3 years ago

And for another example when method's return type should be nullable, so we can have void functions ... Since void is Object? not Object

ride4sun commented 3 years ago

@FatulM Ok I just needed something which builds for 2.0 and I got dependency errors for the build you reference. This would be an easy fix and not take in account the null safety issues but helps people which have the same issues I created two separate packages based on your code because the Android X updates were not done and the build package dependency Issues. I excluded all examples which I think should be in a third package with a complete example which shows the complete live cycle of using super_enum which is currently missing.

Here it is if other people have the same problem: https://github.com/ride4sun/super_enum https://github.com/ride4sun/super_enum_generator

They can be referenced in the yaml file like this:

dependencies:
  super_enum:
    git:
      url: https://github.com/ride4sun/super_enum.git
      ref: "0.6.0"

dev_dependencies:
  build_runner: ^1.12.2
  build: ^2.0.0
  built_value_generator: ^8.0.4
  built_value_test: ^8.0.4
  # flutter packages pub run build_runner watch --delete-conflicting-outputs

  super_enum_generator:
    git:
      url: https://github.com/ride4sun/super_enum_generator.git
      ref: "0.6.0"
NikitaMasev commented 3 years ago

Hi! Is there any null safety support planned?

FatulM commented 3 years ago

Hi, I have published several libraries for sealed generation which are very similar to super enum ... They support both legacy and null safe versions. Two of them are actually designed to ease migration from super enum ... Please check them out. https://github.com/6thsolution/dart_sealed Many thanks to super_enum creators .

ride4sun commented 3 years ago

@FatuIM what is the link to the one which replaces superEnum. dart_sealed looks quite different.

xsahil03x commented 3 years ago

Hey, sorry all I was a bit busy with maintaining our flutter SDK at my new job at @getstream. I will soon release a null-safe version. Thanks

FatulM commented 3 years ago

There is a section at the end of readme There I have discussed the versions which use super_enum API ... https://github.com/6thsolution/dart_sealed The section named: super_enum compatible API @ride4sun

Octacore19 commented 3 years ago

Hey, sorry all I was a bit busy with maintaining our flutter SDK at my new job at @GetStream. I will soon release a null-safe version. Thanks

Please how soon can you get this done? I keep having to edit the generated file all the time to get things to work, once I try to add another generated file, eveything else I've editted before is back to default..

emme1444 commented 3 years ago

@xsahil03x any updates on this?

develogo commented 2 years ago

@xsahil03x update please, this package is awesome

rishabhdeepsingh commented 2 years ago

Any update on this?

ride4sun commented 1 year ago

Hey, sorry all I was a bit busy with maintaining our flutter SDK at my new job at @GetStream. I will soon release a null-safe version. Thanks

Please how soon can you get this done? I keep having to edit the generated file all the time to get things to work, once I try to add another generated file, eveything else I've editted before is back to default..

Hey, sorry all I was a bit busy with maintaining our flutter SDK at my new job at @GetStream. I will soon release a null-safe version. Thanks

Don't you think that is a bit misleading for your community? It should not be much effort to make this library drop-in compatible. On the other hand, you could mark it obsolete and let your community in clear terms know that you do not plan to do anything. Just my two cents.