Make BaseStore abstract (#1431)

* make BaseStore abstract so that implementers are forced to decide how to store data

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton authored and GitHub committed 2020-11-19 09:24:41 -05:00
1 parent b64694acda
commit 0f3f5611ba
3 files changed
+27 -23

No files matched your search

@@ -1,11 +1,13 @@
import { Store } from "@k8slens/extensions";
import { toJS } from "mobx"
export type TelemetryPreferencesModel = {
export type TelemetryPreferencesModel = {
enabled: boolean;
}
export class TelemetryPreferencesStore extends Store.ExtensionStore<TelemetryPreferencesModel> {
enabled = true;
private constructor() {
super({
configName: "preferences-store",
@@ -15,17 +17,13 @@ export class TelemetryPreferencesStore extends Store.ExtensionStore<TelemetryPre
})
}
get enabled() {
return this.data.enabled
}
set enabled(v: boolean) {
this.data.enabled = v
protected fromStore({ enabled }: TelemetryPreferencesModel): void {
this.enabled = enabled
}
toJSON(): TelemetryPreferencesModel {
return toJS({
enabled: this.data.enabled
enabled: this.enabled
}, {
recurseEverything: true
})