From f1ba79fec03fd209d1734e49cfbacac97537c8f7 Mon Sep 17 00:00:00 2001 From: blam Date: Wed, 3 Jun 2020 14:51:53 +0200 Subject: [PATCH] chore(core-api/Storage): Fixing order of the functions --- .../src/apis/definitions/StorageApi.ts | 2 +- .../implementations/StorageApi/WebStorage.ts | 30 +++++++++---------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/packages/core-api/src/apis/definitions/StorageApi.ts b/packages/core-api/src/apis/definitions/StorageApi.ts index c8e72a518f..e0bd2c7ed3 100644 --- a/packages/core-api/src/apis/definitions/StorageApi.ts +++ b/packages/core-api/src/apis/definitions/StorageApi.ts @@ -15,7 +15,7 @@ */ import { createApiRef } from '../ApiRef'; -import { Observable } from '@backstage/core-api'; +import { Observable } from '../../types'; export type ObservableMessage = { key: string; diff --git a/packages/core-api/src/apis/implementations/StorageApi/WebStorage.ts b/packages/core-api/src/apis/implementations/StorageApi/WebStorage.ts index 432c08e3d1..a6a646d3dc 100644 --- a/packages/core-api/src/apis/implementations/StorageApi/WebStorage.ts +++ b/packages/core-api/src/apis/implementations/StorageApi/WebStorage.ts @@ -22,15 +22,6 @@ export class WebStorage implements StorageApi { ZenObservable.SubscriptionObserver > = new Set(); - private readonly observable = new ObservableImpl( - subscriber => { - this.subscribers.add(subscriber); - return () => { - this.subscribers.delete(subscriber); - }; - }, - ); - get(key: string): T | undefined { try { const storage = JSON.parse(localStorage.getItem(key)!); @@ -55,15 +46,24 @@ export class WebStorage implements StorageApi { this.notifyChanges({ key, newValue: undefined }); } - notifyChanges(message: ObservableMessage) { - for (const subscription of this.subscribers) { - subscription.next(message); - } - } - observe$(key: string): Observable { return this.observable.filter( ({ key: messageKey }) => messageKey === key, ) as Observable; } + + private notifyChanges(message: ObservableMessage) { + for (const subscription of this.subscribers) { + subscription.next(message); + } + } + + private readonly observable = new ObservableImpl( + subscriber => { + this.subscribers.add(subscriber); + return () => { + this.subscribers.delete(subscriber); + }; + }, + ); }