mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
* make BaseStore abstract so that implementers are forced to decide how to store data Signed-off-by: Sebastian Malton <sebastian@malton.name>
34 lines
741 B
TypeScript
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>()
|