Диагностика флаттераTreeMixin с @freezed
Я пытаюсь реализовать состояние удержания класса провайдера, сгенерированное с помощью @freezed:
@injectable
class NewClientFormProvider with ChangeNotifier, DiagnosticableTreeMixin {
final IClientRepository _clientRepository;
NewClientFormState _state = NewClientFormState.initial();
NewClientFormState get state => _state;
NewClientFormProvider(this._clientRepository);
@override
void debugFillProperties(DiagnosticPropertiesBuilder properties) {
super.debugFillProperties(properties);
properties.add(
DiagnosticsProperty<NewClientFormState>("state", _state),
);
}
}
@freezed
class NewClientFormState with _$NewClientFormState, DiagnosticableTreeMixin {
const factory NewClientFormState({
required Client client,
required bool isSubmitting,
required Option<Either<SaveFailure, Client>> saveFailureOrSuccessOption,
}) = _NewClientFormState;
const NewClientFormState._();
@override
void debugFillProperties(DiagnosticPropertiesBuilder properties) {
super.debugFillProperties(properties);
properties.add(
DiagnosticsProperty<String>("companyName", client.companyName),
);
}
}
Все сгенерировано и скомпилировано успешно, но переопределенные методы не используются, поэтому DevTools не могут читать текущие значения состояния (теперь должно быть видимым свойство "companyName". Я также попытался исключить DiagnosticableTreeMixin и реализовать только toString (), но это тоже не используется (использовалась замороженная версия переопределения).