1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
lens/extensions/telemetry/src/telemetry-preferences-store.ts
Sebastian Malton 0f3f5611ba
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>
2020-11-19 09:24:41 -05:00

34 lines
741 B
TypeScript

import { Store } from "@k8slens/extensions";
import { toJS } from "mobx"
export type TelemetryPreferencesModel = {
enabled: boolean;
}
export class TelemetryPreferencesStore extends Store.ExtensionStore<TelemetryPreferencesModel> {
enabled = true;
private constructor() {
super({
configName: "preferences-store",
defaults: {
enabled: true
}
})
}
protected fromStore({ enabled }: TelemetryPreferencesModel): void {
this.enabled = enabled
}
toJSON(): TelemetryPreferencesModel {
return toJS({
enabled: this.enabled
}, {
recurseEverything: true
})
}
}
export const telemetryPreferencesStore = TelemetryPreferencesStore.getInstance<TelemetryPreferencesStore>()