mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
allow to pass KubeObjectStore.api via constructor
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
This commit is contained in:
parent
487173dc04
commit
53b220b2f9
@ -42,7 +42,7 @@ export interface KubeObjectStoreLoadingParams<K extends KubeObject> {
|
||||
export abstract class KubeObjectStore<T extends KubeObject> extends ItemStore<T> {
|
||||
static defaultContext = observable.box<ClusterContext>(); // TODO: support multiple cluster contexts
|
||||
|
||||
abstract api: KubeApi<T>;
|
||||
declare public api: KubeApi<T>;
|
||||
public readonly limit?: number;
|
||||
public readonly bufferSize: number = 50000;
|
||||
@observable private loadedNamespaces?: string[];
|
||||
@ -55,8 +55,14 @@ export abstract class KubeObjectStore<T extends KubeObject> extends ItemStore<T>
|
||||
return when(() => Boolean(this.loadedNamespaces));
|
||||
}
|
||||
|
||||
constructor() {
|
||||
constructor(api?: KubeApi<T>) {
|
||||
super();
|
||||
if (api) this.api = api;
|
||||
|
||||
if (!this.api) {
|
||||
throw new Error("api is not defined");
|
||||
}
|
||||
|
||||
makeObservable(this);
|
||||
autoBind(this);
|
||||
this.bindWatchEventsUpdater();
|
||||
|
||||
@ -24,10 +24,7 @@ import { KubeObjectStore } from "../../../common/k8s-api/kube-object.store";
|
||||
import type { KubeObject } from "../../../common/k8s-api/kube-object";
|
||||
|
||||
export class CRDResourceStore<K extends KubeObject> extends KubeObjectStore<K> {
|
||||
api: KubeApi<K>;
|
||||
|
||||
constructor(api: KubeApi<K>) {
|
||||
super();
|
||||
this.api = api;
|
||||
super(api);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user