From 4caf77aec63826851b140c11a0bf3fd8ee2a160d Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Tue, 24 Jan 2023 10:10:04 -0500 Subject: [PATCH] Cleanup types to remove multiple cast locations Signed-off-by: Sebastian Malton --- packages/core/src/common/base-store/base-store.ts | 8 +++++--- packages/core/src/common/cluster-store/cluster-store.ts | 2 +- packages/core/src/common/user-store/user-store.ts | 2 +- packages/core/src/extensions/base-extension-store.ts | 2 +- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/packages/core/src/common/base-store/base-store.ts b/packages/core/src/common/base-store/base-store.ts index a6f48c1f57..8d31e7dc6e 100644 --- a/packages/core/src/common/base-store/base-store.ts +++ b/packages/core/src/common/base-store/base-store.ts @@ -4,7 +4,7 @@ */ import type Config from "conf"; -import type { Options as ConfOptions } from "conf/dist/source/types"; +import type { Migrations, Options as ConfOptions } from "conf/dist/source/types"; import type { IEqualsComparer } from "mobx"; import { reaction } from "mobx"; import { disposer, isPromiseLike } from "@k8slens/utilities"; @@ -18,13 +18,15 @@ import type { GetBasenameOfPath } from "../path/get-basename.injectable"; import type { EnlistMessageChannelListener } from "@k8slens/messaging"; import { toJS } from "../utils"; -export interface BaseStoreParams extends ConfOptions { +export interface BaseStoreParams extends Omit, "migrations"> { syncOptions?: { fireImmediately?: boolean; equals?: IEqualsComparer; }; readonly configName: string; + migrations?: Migrations>; + /** * fromStore is called internally when a child class syncs with the file * system. @@ -85,7 +87,7 @@ export class BaseStore { const config = this.dependencies.getConfigurationFileModel({ projectName: "lens", cwd: this.cwd(), - ...this.params, + ...this.params as ConfOptions, }); const res = this.params.fromStore(config.store); diff --git a/packages/core/src/common/cluster-store/cluster-store.ts b/packages/core/src/common/cluster-store/cluster-store.ts index 9b58c73152..aa670dcafc 100644 --- a/packages/core/src/common/cluster-store/cluster-store.ts +++ b/packages/core/src/common/cluster-store/cluster-store.ts @@ -40,7 +40,7 @@ export class ClusterStore { equals: comparer.structural, }, projectVersion: this.dependencies.storeMigrationVersion, - migrations: this.dependencies.migrations as unknown as Migrations, + migrations: this.dependencies.migrations, fromStore: action(({ clusters = [] }) => { const currentClusters = new Map(this.clusters); const newClusters = new Map(); diff --git a/packages/core/src/common/user-store/user-store.ts b/packages/core/src/common/user-store/user-store.ts index 1db4f783b3..0a72c2ed16 100644 --- a/packages/core/src/common/user-store/user-store.ts +++ b/packages/core/src/common/user-store/user-store.ts @@ -39,7 +39,7 @@ export class UserStore { this.store = this.dependencies.createBaseStore({ configName: "lens-user-store", projectVersion: this.dependencies.storeMigrationVersion, - migrations: this.dependencies.migrations as unknown as Migrations, + migrations: this.dependencies.migrations, fromStore: action(({ preferences }) => { this.dependencies.logger.debug("UserStore.fromStore()", { preferences }); diff --git a/packages/core/src/extensions/base-extension-store.ts b/packages/core/src/extensions/base-extension-store.ts index 50cd5c9401..4139ead756 100644 --- a/packages/core/src/extensions/base-extension-store.ts +++ b/packages/core/src/extensions/base-extension-store.ts @@ -22,7 +22,7 @@ import { persistStateToConfigInjectionToken } from "../common/base-store/save-to import getBasenameOfPathInjectable from "../common/path/get-basename.injectable"; import { enlistMessageChannelListenerInjectionToken } from "@k8slens/messaging"; -export interface ExtensionStoreParams extends BaseStoreParams { +export interface ExtensionStoreParams extends Omit, "migrations"> { migrations?: Migrations; }