mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
chore: Fix type errors relating to LensRendererExtension
Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
parent
3a62cd4848
commit
3175c96c38
@ -6,29 +6,24 @@ import { getInjectionToken } from "@ogre-tools/injectable";
|
||||
import type { RequiredKeysOf } from "type-fest";
|
||||
import type { Route } from "./front-end-route-injection-token";
|
||||
|
||||
type InferParametersFrom<TRoute> = TRoute extends Route<infer TParameters extends object>
|
||||
? TParameters
|
||||
: never;
|
||||
|
||||
type Parameters<TParameters extends object> = TParameters extends void
|
||||
? { parameters?: undefined }
|
||||
: (
|
||||
RequiredKeysOf<TParameters> extends never
|
||||
export type NavigateWithParameterOptions<TParameters> = (
|
||||
TParameters extends object
|
||||
? RequiredKeysOf<TParameters> extends never
|
||||
? { parameters?: TParameters }
|
||||
: { parameters: TParameters }
|
||||
: { parameters?: undefined }
|
||||
);
|
||||
|
||||
export type NavigateToRouteOptions<TRoute> = Parameters<
|
||||
InferParametersFrom<TRoute>
|
||||
> & {
|
||||
export interface BaseNavigateToRouteOptions {
|
||||
query?: Record<string, string>;
|
||||
fragment?: string;
|
||||
withoutAffectingBackButton?: boolean;
|
||||
};
|
||||
parameters?: undefined;
|
||||
}
|
||||
|
||||
export type NavigateToRoute = <TRoute extends Route<unknown>>(
|
||||
route: TRoute,
|
||||
options?: NavigateToRouteOptions<TRoute>) => void;
|
||||
export interface NavigateToRoute {
|
||||
(route: Route<void>, options?: BaseNavigateToRouteOptions): void;
|
||||
<R extends Route<Params>, Params>(route: R, options: BaseNavigateToRouteOptions & NavigateWithParameterOptions<Params>): void;
|
||||
}
|
||||
|
||||
export const navigateToRouteInjectionToken = getInjectionToken<NavigateToRoute>(
|
||||
{ id: "navigate-to-route-injection-token" },
|
||||
|
||||
@ -5,6 +5,7 @@
|
||||
|
||||
import { Disposers, LensExtension } from "./lens-extension";
|
||||
import type { Disposer } from "@k8slens/utilities";
|
||||
import { object } from "@k8slens/utilities";
|
||||
import type { LensExtensionDependencies } from "./lens-extension";
|
||||
import type { CatalogEntity, CategoryFilter, CatalogCategoryRegistry } from "../common/catalog";
|
||||
import type { EntityFilter, CatalogEntityRegistry } from "../renderer/api/catalog/entity/registry";
|
||||
@ -20,7 +21,7 @@ import type { StatusBarRegistration } from "../renderer/components/status-bar/st
|
||||
import type { KubeObjectMenuRegistration } from "../renderer/components/kube-object-menu/kube-object-menu-registration";
|
||||
import type { WorkloadsOverviewDetailRegistration } from "../renderer/components/workloads-overview/workloads-overview-detail-registration";
|
||||
import type { KubeObjectStatusRegistration } from "../renderer/components/kube-object-status-icon/kube-object-status-registration";
|
||||
import { fromPairs, map, matches, toPairs } from "lodash/fp";
|
||||
import { fromPairs, map, matches } from "lodash/fp";
|
||||
import { pipeline } from "@ogre-tools/fp";
|
||||
import { getExtensionRoutePath } from "../renderer/routes/for-extension";
|
||||
import type { KubeObjectHandlerRegistration } from "../renderer/kube-object/handler";
|
||||
@ -100,7 +101,7 @@ export class LensRendererExtension extends LensExtension {
|
||||
super(deps, extension);
|
||||
}
|
||||
|
||||
navigate(pageId?: string, params: object = {}) {
|
||||
navigate(pageId?: string, params: Record<string, unknown> = {}) {
|
||||
const routes = this.dependencies.routes.get();
|
||||
const targetRegistration = [...this.globalPages, ...this.clusterPages]
|
||||
.find(registration => registration.id === (pageId || undefined));
|
||||
@ -121,8 +122,7 @@ export class LensRendererExtension extends LensExtension {
|
||||
registration: targetRegistration,
|
||||
});
|
||||
const query = pipeline(
|
||||
params,
|
||||
toPairs,
|
||||
object.entries(params),
|
||||
map(([key, value]) => [
|
||||
key,
|
||||
normalizedParams[key].stringify(value),
|
||||
@ -132,7 +132,6 @@ export class LensRendererExtension extends LensExtension {
|
||||
|
||||
this.dependencies.navigateToRoute(targetRoute, {
|
||||
query,
|
||||
parameters: {},
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@ -52,7 +52,7 @@ const convertPartialPageParamInitToFull = (key: string, value: FallthroughPagePa
|
||||
const convertStringToPageParamInit = (
|
||||
key: string,
|
||||
value: string,
|
||||
): PageParamInit<string> => ({
|
||||
): PageParamInit<unknown> => ({
|
||||
name: key,
|
||||
defaultValue: value,
|
||||
});
|
||||
|
||||
Loading…
Reference in New Issue
Block a user