Use ReadonlyArrays in conversation model and redux

This commit is contained in:
Fedor Indutny 2022-12-21 16:07:02 -08:00 committed by GitHub
parent ecbf84638d
commit dec23725e5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
55 changed files with 173 additions and 162 deletions

View file

@ -45,14 +45,14 @@ export class MemberRepository {
FUSE_OPTIONS
);
constructor(private members: Array<ConversationType> = []) {}
constructor(private members: ReadonlyArray<ConversationType> = []) {}
updateMembers(members: Array<ConversationType>): void {
updateMembers(members: ReadonlyArray<ConversationType>): void {
this.members = members;
this.isFuseReady = false;
}
getMembers(omit?: ConversationType): Array<ConversationType> {
getMembers(omit?: ConversationType): ReadonlyArray<ConversationType> {
if (omit) {
return this.members.filter(({ id }) => id !== omit.id);
}
@ -72,7 +72,10 @@ export class MemberRepository {
: undefined;
}
search(pattern: string, omit?: ConversationType): Array<ConversationType> {
search(
pattern: string,
omit?: ConversationType
): ReadonlyArray<ConversationType> {
if (!this.isFuseReady) {
this.fuse.setCollection(this.members);
this.isFuseReady = true;