ag-charts-community
Version:
Advanced Charting / Charts supporting Javascript / Typescript / React / Angular / Vue
34 lines (33 loc) • 1.59 kB
TypeScript
import type { EventsHub } from '../../core/eventsHub';
import type { ChartMode } from '../chartMode';
import { type CachedData } from './caching';
import { DataModel, type DataModelOptions, type ProcessedData } from './dataModel';
import type { DataSet } from './dataSet';
type Result<D extends object, K extends keyof D & string = keyof D & string, G extends boolean | undefined = undefined> = {
processedData: ProcessedData<D>;
dataModel: DataModel<D, K, G>;
};
/** Implements cross-series data model coordination. */
export declare class DataController {
private readonly mode;
readonly suppressFieldDotNotation: boolean;
private readonly eventsHub;
private readonly debug;
private readonly requested;
private status;
constructor(mode: ChartMode, suppressFieldDotNotation: boolean, eventsHub: EventsHub | undefined);
request<D extends object, K extends keyof D & string = keyof D & string, G extends boolean | undefined = undefined>(id: string, dataSet: DataSet<D>, opts: DataModelOptions<K, any, false>): Promise<Result<D, K, G>>;
execute(cachedData?: CachedData): CachedData;
private validateRequests;
private mergeRequested;
private static groupMatch;
private static readonly crossScopeMergableTypes;
private static mergeRequests;
private static mergeIdsMap;
private static createIdsMap;
static readonly skipKeys: Set<string>;
static deepEqual<T>(a: T, b: T): boolean;
/** JSON replacer for serializing non-JSON-serializable objects like Map and Set */
private static jsonReplacer;
}
export {};