@stolostron/multicluster-sdk
Version:
Provides extensions and APIs that dynamic plugins can use to leverage multicluster capabilities provided by Red Hat Advanced Cluster Management.
37 lines • 1.91 kB
TypeScript
import { FleetK8sResourceCommon, FleetWatchK8sResultsObject } from '../types';
type Data = FleetK8sResourceCommon | FleetK8sResourceCommon[];
type CacheEntry = {
result?: FleetWatchK8sResultsObject<Data>;
socket?: WebSocket;
refCount: number;
timestamp: number;
resourceVersion?: string;
timeout?: NodeJS.Timeout;
};
export declare const isCacheEntryValid: (entry: CacheEntry) => boolean;
export declare const isCacheEntryFresh: (entry: CacheEntry) => boolean;
export declare const getCacheEntryAge: (entry: CacheEntry) => number;
export declare const getSocketMonitoringInterval: () => number;
export type FleetK8sWatchResourceStore = {
cache: Record<string, CacheEntry>;
setResult: (key: string, data: Data | undefined, loaded: boolean, loadError?: any, resourceVersion?: string) => void;
setSocket: (key: string, socket: WebSocket) => void;
incrementRefCount: (key: string) => void;
decrementRefCount: (key: string) => void;
touchEntry: (key: string) => void;
removeEntry: (key: string) => void;
getResult: (key: string) => FleetWatchK8sResultsObject<Data> | undefined;
getRefCount: (key: string) => number;
getResourceVersion: (key: string) => string | undefined;
};
export declare const useFleetK8sWatchResourceStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<FleetK8sWatchResourceStore>, "subscribe"> & {
subscribe: {
(listener: (selectedState: FleetK8sWatchResourceStore, previousSelectedState: FleetK8sWatchResourceStore) => void): () => void;
<U>(selector: (state: FleetK8sWatchResourceStore) => U, listener: (selectedState: U, previousSelectedState: U) => void, options?: {
equalityFn?: ((a: U, b: U) => boolean) | undefined;
fireImmediately?: boolean;
} | undefined): () => void;
};
}>;
export {};
//# sourceMappingURL=fleetK8sWatchResourceStore.d.ts.map