avoid-bloc-public-fields

Group
Style
Path
lint/style/avoid-bloc-public-fields
Default
Off, opt in
Origin
Falcon
Domain
bloc
Rule
23 of 512
bloc

Keep package-confirmed Bloc instance fields private; inherited API overrides are allowed.

Invalid

example.dartdart
import 'package:bloc/bloc.dart';
class Example extends Bloc<int, int> {
  Example() : super(0);
  final int value0 = 0;
  final int value1 = 1;
  final int value2 = 2;
  final int value3 = 3;
  final int value4 = 4;
}
Keep Bloc instance fields private; expose state instead.
3 Example() : super(0);
4 final int value0 = 0;
Keep Bloc instance fields private; expose state instead.
4 final int value0 = 0;
5 final int value1 = 1;
Keep Bloc instance fields private; expose state instead.
5 final int value1 = 1;
6 final int value2 = 2;
Keep Bloc instance fields private; expose state instead.
6 final int value2 = 2;
7 final int value3 = 3;
Keep Bloc instance fields private; expose state instead.
7 final int value3 = 3;
8 final int value4 = 4;

Valid

example.dartdart
import 'package:bloc/bloc.dart';
class Example extends Bloc<int, int> {
  Example() : super(0);
  final int _value = 0;
  static final int shared = 1;
  int get value => _value;
  @override final int state = 0;
  void _command() {}
}
class Ordinary { int value = 0; }

Configure avoid-bloc-public-fields

Set its severity in falcon.json. See the configuration guide.

falcon.jsonjson
{
  "linter": {
    "rules": {
      "style": {
        "avoid-bloc-public-fields": "error"
      }
    }
  }
}

Or silence one occurrence with a suppression comment; the reason is required.

example.dartdart
// falcon-ignore lint/style/avoid-bloc-public-fields: <reason>