chore(core-api/Storage): Fixing order of the functions
This commit is contained in:
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
|
||||
import { createApiRef } from '../ApiRef';
|
||||
import { Observable } from '@backstage/core-api';
|
||||
import { Observable } from '../../types';
|
||||
|
||||
export type ObservableMessage<T extends object = {}> = {
|
||||
key: string;
|
||||
|
||||
@@ -22,15 +22,6 @@ export class WebStorage implements StorageApi {
|
||||
ZenObservable.SubscriptionObserver<ObservableMessage>
|
||||
> = new Set();
|
||||
|
||||
private readonly observable = new ObservableImpl<ObservableMessage>(
|
||||
subscriber => {
|
||||
this.subscribers.add(subscriber);
|
||||
return () => {
|
||||
this.subscribers.delete(subscriber);
|
||||
};
|
||||
},
|
||||
);
|
||||
|
||||
get<T>(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$<T>(key: string): Observable<T> {
|
||||
return this.observable.filter(
|
||||
({ key: messageKey }) => messageKey === key,
|
||||
) as Observable<T>;
|
||||
}
|
||||
|
||||
private notifyChanges(message: ObservableMessage) {
|
||||
for (const subscription of this.subscribers) {
|
||||
subscription.next(message);
|
||||
}
|
||||
}
|
||||
|
||||
private readonly observable = new ObservableImpl<ObservableMessage>(
|
||||
subscriber => {
|
||||
this.subscribers.add(subscriber);
|
||||
return () => {
|
||||
this.subscribers.delete(subscriber);
|
||||
};
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user