Skip to content

Commit 2858e6b

Browse files
committed
autocomplete [nfc]: Support caching normalized user names in AutocompleteDataCache
1 parent d85d001 commit 2858e6b

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

lib/model/autocomplete.dart

+9-1
Original file line numberDiff line numberDiff line change
@@ -456,13 +456,21 @@ class MentionAutocompleteQuery {
456456
}
457457

458458
class AutocompleteDataCache {
459+
final Map<int, String> _normalizedNamesByUser = {};
460+
461+
/// The lowercase `fullName` of [user].
462+
String normalizedNameForUser(User user) {
463+
return _normalizedNamesByUser[user.userId] ??= user.fullName.toLowerCase();
464+
}
465+
459466
final Map<int, List<String>> _nameWordsByUser = {};
460467

461468
List<String> nameWordsForUser(User user) {
462-
return _nameWordsByUser[user.userId] ??= user.fullName.toLowerCase().split(' ');
469+
return _nameWordsByUser[user.userId] ??= normalizedNameForUser(user).split(' ');
463470
}
464471

465472
void invalidateUser(int userId) {
473+
_normalizedNamesByUser.remove(userId);
466474
_nameWordsByUser.remove(userId);
467475
}
468476
}

0 commit comments

Comments
 (0)