1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Fix StorageHelp to initialize only once

- Don't create a box and then override it

- Initial value should be the default value

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton 2021-03-31 08:21:16 -04:00
parent 63f6562e0a
commit 1bf4d4ce8b

View File

@ -1,7 +1,7 @@
// Helper for working with storages (e.g. window.localStorage, NodeJS/file-system, etc.)
import type { CreateObservableOptions } from "mobx/lib/api/observable";
import { action, comparer, observable, toJS, when } from "mobx";
import { action, comparer, observable, toJS, when, IObservableValue } from "mobx";
import produce, { Draft, enableMapSet, setAutoFreeze } from "immer";
import { isEqual, isFunction, isPlainObject } from "lodash";
import logger from "../../main/logger";
@ -33,7 +33,7 @@ export class StorageHelper<T> {
}
};
@observable private data = observable.box<T>();
private data: IObservableValue<T>;
@observable initialized = false;
whenReady = when(() => this.initialized);
@ -101,7 +101,7 @@ export class StorageHelper<T> {
@action
private configureObservable(options = this.options.observable) {
this.data = observable.box<T>(this.data.get(), {
this.data = observable.box<T>(this.options.defaultValue, {
...StorageHelper.defaultOptions.observable, // inherit default observability options
...(options ?? {}),
});