avoid_double_and_int_checks
Avoid double and int checks.
Details
#AVOID to check if type is double or int.
When compiled to JS, integer values are represented as floats. That can lead to
some unexpected behavior when using either is or is! where the type is
either int or double.
BAD:
dart
f(num x) {
if (x is double) {
...
} else if (x is int) {
...
}
}GOOD:
dart
f(dynamic x) {
if (x is num) {
...
} else {
...
}
}
Enable
#To enable the avoid_double_and_int_checks rule,
add avoid_double_and_int_checks under linter > rules in your
analysis_options.yaml file:
analysis_options.yaml
yaml
linter:
rules:
- avoid_double_and_int_checksIf you're instead using the YAML map syntax to configure linter rules,
add avoid_double_and_int_checks: true under linter > rules:
analysis_options.yaml
yaml
linter:
rules:
avoid_double_and_int_checks: true