Сценарий

Мы аутентифицировали пользователя и отправили объект пользователя в экземпляр нашего хранилища объектов (OStore).

Мы также хотим поддерживать isAuthenticated:Observable<boolean>, который отслеживает, аутентифицирован ли пользователь в нашем приложении.

Подход

Сначала мы создаем свойство user$:Observable<User|boolean> в нашей государственной службе ( StateService).

Затем мы инициализируем хранилище с помощью USER_KEY, чтобы отслеживать аутентифицированного пользователя. Начальное значение — false, которое сообщает приложению, что в настоящее время в магазине нет пользователей:

this.OS.post(StateService.USER_KEY, false);

Наконец, мы получаем наш isAuthenticated:Observable<boolean> с помощью оператора RxJS map следующим образом:

this.isAuthenticated$ =
this.OS.observe(StateService.USER_KEY).pipe(map(u=>!!u));