ag-charts-community
Version:
Advanced Charting / Charts supporting Javascript / Typescript / React / Angular / Vue
23 lines (22 loc) • 1.21 kB
TypeScript
import { type ChartModuleDefinition } from 'ag-charts-core';
import type { AgChartThemeParams } from 'ag-charts-types';
export interface StructuralCacheEntry {
/** `processedOptions` with `data` and `VOLATILE_KEYS` stripped. */
processedOptions: unknown;
themeParameters: AgChartThemeParams;
googleFonts: Set<string> | undefined;
fonts: Set<string> | undefined;
annotationThemes: any;
chartDef: ChartModuleDefinition<any>;
}
/**
* Per-instance keys that reach `processedOptions`. Stripped before caching and re-attached
* from the chart's `userOptions` on hit, otherwise charts sharing an entry would alias each
* other's container reference and user-supplied context payload.
*/
export declare const VOLATILE_KEYS: readonly ["container", "context"];
export declare function computeStructuralCacheKey(options: object): string | undefined;
export declare function getStructuralCacheEntry(key: string): StructuralCacheEntry | undefined;
export declare function setStructuralCacheEntry(key: string, value: StructuralCacheEntry): void;
/** Test-only: drop all cached entries so cases start from a known cold state. */
export declare function __clearStructuralCacheForTests(): void;