1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-23 19:53:43 +00:00

[EC-522] Improve handling of rxjs subjects (#3772)

* [EC-522] feat: no public rxjs subjects

* [EC-522] feat: improve null handling

* [EC-552] fix: init subject with empty set instead of null

* [EC-552] fix: don't push null into account subject

* [EC-522] feat: remove null filter
This commit is contained in:
Andreas Coroiu
2022-11-01 11:25:46 +01:00
committed by GitHub
parent 4c9cddd639
commit 7b8507cf9b
15 changed files with 42 additions and 24 deletions

View File

@@ -65,8 +65,10 @@ export class StateService<
TAccount extends Account = Account
> implements StateServiceAbstraction<TAccount>
{
accounts = new BehaviorSubject<{ [userId: string]: TAccount }>({});
private activeAccountSubject = new BehaviorSubject<string>(null);
private accountsSubject = new BehaviorSubject<{ [userId: string]: TAccount }>({});
accounts$ = this.accountsSubject.asObservable();
private activeAccountSubject = new BehaviorSubject<string | null>(null);
activeAccount$ = this.activeAccountSubject.asObservable();
private activeAccountUnlockedSubject = new BehaviorSubject<boolean>(false);
@@ -2530,11 +2532,11 @@ export class StateService<
await this.pruneInMemoryAccounts();
await this.state().then((state) => {
if (state.accounts == null || Object.keys(state.accounts).length < 1) {
this.accounts.next(null);
this.accountsSubject.next({});
return;
}
this.accounts.next(state.accounts);
this.accountsSubject.next(state.accounts);
});
}