1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
lens/src/renderer/api/catalog/entity/get-active-cluster-entity.injectable.ts
Sebastian Malton dba4f59644 Add enough code to get first couple terminal tests to pass
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2023-01-10 15:17:50 -05:00

31 lines
1023 B
TypeScript

/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectable } from "@ogre-tools/injectable";
import getClusterByIdInjectable from "../../../../common/cluster-store/get-by-id.injectable";
import type { Cluster } from "../../../../common/cluster/cluster";
import catalogEntityRegistryInjectable from "./registry.injectable";
export type GetActiveClusterEntity = () => Cluster | undefined;
const getActiveClusterEntityInjectable = getInjectable({
id: "get-active-cluster-entity",
instantiate: (di): GetActiveClusterEntity => {
const getClusterById = di.inject(getClusterByIdInjectable);
const entityRegistry = di.inject(catalogEntityRegistryInjectable);
return () => {
const clusterId = entityRegistry.activeEntity?.getId();
if (!clusterId) {
return undefined;
}
return getClusterById(clusterId);
};
},
});
export default getActiveClusterEntityInjectable;