spkersten / dart_functional_data

Simple and non-intrusive code generator for lenses and boilerplate of data types
https://pub.dev/packages/functional_data
MIT License
41 stars 15 forks source link

Generics are not passed on #10

Closed modulovalue closed 4 years ago

modulovalue commented 5 years ago

@FunctionalData()
class Generic<T> extends $Generic<T> {
    final T generic;

    const Generic({
        @required this.generic,
    });
}

generates:


abstract class $Generic {
  T get generic;
  const $Generic();
  Generic copyWith({T generic}) => Generic(generic: generic ?? this.generic);
  String toString() => "Generic(generic: $generic)";
  bool operator ==(dynamic other) =>
      other.runtimeType == runtimeType && generic == other.generic;
  @override
  int get hashCode {
    var result = 17;
    result = 37 * result + generic.hashCode;
    return result;
  }
}

But it should generate:

abstract class $Generic<T> {
  T get generic;
  const $Generic();
  Generic<T> copyWith({T generic}) => Generic(generic: generic ?? this.generic);
  ...
}