mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
* Add support for concating iterators Signed-off-by: Sebastian Malton <sebastian@malton.name> * Make clear the seperation of extenal and internal stores and apis Signed-off-by: Sebastian Malton <sebastian@malton.name> * Remove old kludge Signed-off-by: Sebastian Malton <sebastian@malton.name> * Add kludge to extension api to maintain functionality Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix imports Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix KubeApi tests Signed-off-by: Sebastian Malton <sebastian@malton.name> * Add failing test to maintain behaviour Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix tests for KubeApi Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix build Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix reactively-hide-kube-object-detail-item tests Signed-off-by: Sebastian Malton <sebastian@malton.name> * Update snapshots Signed-off-by: Sebastian Malton <sebastian@malton.name> * Update snapshots Signed-off-by: Sebastian Malton <sebastian@malton.name> * Add some technical tests Signed-off-by: Sebastian Malton <sebastian@malton.name> * More clear apiBase initialization Signed-off-by: Sebastian Malton <sebastian@malton.name> Signed-off-by: Sebastian Malton <sebastian@malton.name>
31 lines
1.2 KiB
TypeScript
31 lines
1.2 KiB
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 { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
|
import { ApiManager } from "./api-manager";
|
|
import { computedInjectManyInjectable } from "@ogre-tools/injectable-extension-for-mobx";
|
|
import { kubeObjectStoreInjectionToken } from "./kube-object-store-token";
|
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
|
import { computed } from "mobx";
|
|
|
|
const apiManagerInjectable = getInjectable({
|
|
id: "api-manager",
|
|
instantiate: (di) => {
|
|
const computedInjectMany = di.inject(computedInjectManyInjectable);
|
|
const storesAndApisCanBeCreated = di.inject(storesAndApisCanBeCreatedInjectionToken);
|
|
|
|
return new ApiManager({
|
|
apis: storesAndApisCanBeCreated
|
|
? computedInjectMany(kubeApiInjectionToken)
|
|
: computed(() => []),
|
|
stores: storesAndApisCanBeCreated
|
|
? computedInjectMany(kubeObjectStoreInjectionToken)
|
|
: computed(() => []),
|
|
});
|
|
},
|
|
});
|
|
|
|
export default apiManagerInjectable;
|