Skip to content

Commit 7a231e5

Browse files
authored
[unified_analytics] Add lints to consistently use final (#278)
1 parent e660a68 commit 7a231e5

File tree

9 files changed

+22
-20
lines changed

9 files changed

+22
-20
lines changed

pkgs/unified_analytics/analysis_options.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,5 @@ include: package:dart_flutter_team_lints/analysis_options.yaml
66
linter:
77
rules:
88
- avoid_catches_without_on_clauses
9+
- prefer_final_in_for_each
10+
- prefer_final_locals

pkgs/unified_analytics/example/unified_analytics_example.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ final Analytics analytics = Analytics.development(
2323

2424
// Timing a process and sending the event
2525
void main() async {
26-
var start = DateTime.now();
26+
final start = DateTime.now();
2727

2828
// Each client using this package will have it's own
2929
// method to show the message but the below is a trivial

pkgs/unified_analytics/lib/src/asserts.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ void checkBody(Map<String, Object?> body) {
3535
}
3636

3737
// Checks for each event object
38-
for (var eventMap in events.cast<Map<String, Object?>>()) {
38+
for (final eventMap in events.cast<Map<String, Object?>>()) {
3939
final eventName = eventMap['name'] as String;
4040

4141
// GA4 Limitation:
@@ -73,7 +73,7 @@ void checkBody(Map<String, Object?> body) {
7373
}
7474

7575
// Loop through each of the event parameters
76-
for (var entry in eventParams.entries) {
76+
for (final entry in eventParams.entries) {
7777
final key = entry.key;
7878
final value = entry.value;
7979

@@ -138,7 +138,7 @@ void checkBody(Map<String, Object?> body) {
138138
}
139139

140140
// Checks for each user property item
141-
for (var entry in userProperties.entries) {
141+
for (final entry in userProperties.entries) {
142142
final key = entry.key;
143143
final value = entry.value as Map<String, Object?>;
144144

pkgs/unified_analytics/lib/src/log_handler.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ class LogFileStats {
136136

137137
@override
138138
String toString() {
139-
final encoder = const JsonEncoder.withIndent(' ');
139+
const encoder = JsonEncoder.withIndent(' ');
140140
return encoder.convert({
141141
'startDateTime': startDateTime.toString(),
142142
'minsFromStartDateTime': minsFromStartDateTime,
@@ -219,7 +219,7 @@ class LogHandler {
219219
final eventCount = <String, int>{};
220220
final flutterChannelCount = <String, int>{};
221221
final toolCount = <String, int>{};
222-
for (var record in records) {
222+
for (final record in records) {
223223
counter['sessions']!.add(record.sessionId);
224224
counter['tool']!.add(record.tool);
225225
if (record.flutterChannel != null) {
@@ -432,7 +432,7 @@ class LogItem {
432432
hostOsVersion,
433433
locale,
434434
];
435-
for (var value in values) {
435+
for (final value in values) {
436436
if (value == null) return null;
437437
}
438438

pkgs/unified_analytics/lib/src/survey_handler.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ class Survey {
146146

147147
@override
148148
String toString() {
149-
final encoder = const JsonEncoder.withIndent(' ');
149+
const encoder = JsonEncoder.withIndent(' ');
150150
return encoder.convert({
151151
'uniqueId': uniqueId,
152152
'startDate': startDate.toString(),
@@ -229,7 +229,7 @@ class SurveyHandler {
229229

230230
// Initialize the list of persisted surveys and add to them
231231
// as they are being parsed
232-
var persistedSurveys = <String, PersistedSurvey>{};
232+
final persistedSurveys = <String, PersistedSurvey>{};
233233
contents.forEach((key, value) {
234234
value as Map<String, dynamic>;
235235

pkgs/unified_analytics/lib/src/user_property.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ class UserProperty {
8787
/// https://developers.google.com/analytics/devguides/collection/protocol/ga4/user-properties?client_type=gtag
8888
Map<String, Map<String, Object?>> preparePayload() {
8989
return <String, Map<String, Object?>>{
90-
for (MapEntry<String, Object?> entry in _toMap().entries)
90+
for (final entry in _toMap().entries)
9191
entry.key: <String, Object?>{'value': entry.value}
9292
};
9393
}

pkgs/unified_analytics/lib/src/utils.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ Map<String, Object?> generateRequestBody({
9494
/// contain all of the analytics files.
9595
Directory? getHomeDirectory(FileSystem fs) {
9696
String? home;
97-
var envVars = io.Platform.environment;
97+
final envVars = io.Platform.environment;
9898

9999
if (io.Platform.isMacOS) {
100100
home = envVars['HOME'];
@@ -320,7 +320,7 @@ class Uuid {
320320
/// random numbers as the source of the generated uuid.
321321
String generateV4() {
322322
// Generate xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx / 8-4-4-4-12.
323-
var special = 8 + _random.nextInt(4);
323+
final special = 8 + _random.nextInt(4);
324324

325325
return '${_bitsDigits(16, 4)}${_bitsDigits(16, 4)}-'
326326
'${_bitsDigits(16, 4)}-'

pkgs/unified_analytics/test/event_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -620,7 +620,7 @@ void main() {
620620

621621
test('Confirm all constructors were checked', () {
622622
var constructorCount = 0;
623-
for (var declaration in reflectClass(Event).declarations.keys) {
623+
for (final declaration in reflectClass(Event).declarations.keys) {
624624
// Count public constructors but omit private constructors
625625
if (declaration.toString().contains('Event.') &&
626626
!declaration.toString().contains('Event._')) constructorCount++;

pkgs/unified_analytics/test/unified_analytics_test.dart

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -649,7 +649,7 @@ ${initialTool.label}=$dateStamp,$toolsMessageVersion
649649
];
650650
expect(analytics.userPropertyMap.keys.length, userPropertyKeys.length,
651651
reason: 'There should only be ${userPropertyKeys.length} keys');
652-
for (var key in userPropertyKeys) {
652+
for (final key in userPropertyKeys) {
653653
expect(analytics.userPropertyMap.keys.contains(key), true,
654654
reason: 'The $key variable is required');
655655
}
@@ -944,7 +944,7 @@ ${initialTool.label}=$dateStamp,$toolsMessageVersion
944944
secondAnalytics!.send(testEvent);
945945

946946
// Query the log file stats to verify that there are two tools
947-
var query = analytics.logFileStats()!;
947+
final query = analytics.logFileStats()!;
948948

949949
expect(query.toolCount, {'flutter-tool': 1, 'dart-tool': 1},
950950
reason: 'There should have been two tools in the persisted logs');
@@ -1048,7 +1048,7 @@ ${initialTool.label}=$dateStamp,$toolsMessageVersion
10481048
secondAnalytics!.send(testEvent);
10491049

10501050
// Query the log file stats to verify that there are two tools
1051-
var query = analytics.logFileStats()!;
1051+
final query = analytics.logFileStats()!;
10521052

10531053
expect(query.toolCount, {'dart-tool': 1},
10541054
reason: 'There should have only been on tool that sent events');
@@ -1059,7 +1059,7 @@ ${initialTool.label}=$dateStamp,$toolsMessageVersion
10591059
// Sending a query with the first analytics instance which has flutter information
10601060
// available should reflect in the query that there is 1 flutter channel present
10611061
analytics.send(testEvent);
1062-
LogFileStats? query2 = analytics.logFileStats()!;
1062+
final query2 = analytics.logFileStats()!;
10631063

10641064
expect(query2.toolCount, {'dart-tool': 1, 'flutter-tool': 1},
10651065
reason: 'Two different analytics instances have '
@@ -1098,7 +1098,7 @@ ${initialTool.label}=$dateStamp,$toolsMessageVersion
10981098

10991099
var userPropLengthValid = true;
11001100
final invalidUserProps = <String>[];
1101-
for (var key in userPropPayload.keys) {
1101+
for (final key in userPropPayload.keys) {
11021102
if (key.length > maxUserPropLength) {
11031103
userPropLengthValid = false;
11041104
invalidUserProps.add(key);
@@ -1117,7 +1117,7 @@ ${initialTool.label}=$dateStamp,$toolsMessageVersion
11171117
final toolLabelPattern = RegExp(r'^[a-zA-Z][a-zA-Z\_-]{0,35}$');
11181118
var toolLengthValid = true;
11191119
final invalidTools = <DashTool>[];
1120-
for (var tool in DashTool.values) {
1120+
for (final tool in DashTool.values) {
11211121
if (!toolLabelPattern.hasMatch(tool.label)) {
11221122
toolLengthValid = false;
11231123
invalidTools.add(tool);
@@ -1137,7 +1137,7 @@ ${initialTool.label}=$dateStamp,$toolsMessageVersion
11371137
final eventLabelPattern = RegExp(r'^[a-zA-Z]{1}[a-zA-Z0-9\_]{0,39}$');
11381138
var eventValid = true;
11391139
final invalidEvents = <DashEvent>[];
1140-
for (var event in DashEvent.values) {
1140+
for (final event in DashEvent.values) {
11411141
if (!eventLabelPattern.hasMatch(event.label)) {
11421142
eventValid = false;
11431143
invalidEvents.add(event);

0 commit comments

Comments
 (0)