import { Source } from '../Source.js';
|
import { ArrayLike } from 'zrender/lib/core/types.js';
|
import { DimensionName, DimensionIndex, OptionSourceData, OptionDataItem, OptionDataValue, SourceFormat, SeriesLayoutBy, ParsedValue, DimensionLoose, NullUndefined } from '../../util/types.js';
|
import SeriesData from '../SeriesData.js';
|
export interface DataProvider {
|
/**
|
* true: all of the value are in primitive type (in type `OptionDataValue`).
|
* false: Not sure whether any of them is non primitive type (in type `OptionDataItemObject`).
|
* Like `data: [ { value: xx, itemStyle: {...} }, ...]`
|
* At present it only happen in `SOURCE_FORMAT_ORIGINAL`.
|
*/
|
pure?: boolean;
|
/**
|
* If data is persistent and will not be released after use.
|
*/
|
persistent?: boolean;
|
getSource(): Source;
|
count(): number;
|
getItem(idx: number, out?: OptionDataItem): OptionDataItem;
|
fillStorage?(start: number, end: number, out: ArrayLike<ParsedValue>[], extent: number[][]): void;
|
appendData?(newData: ArrayLike<OptionDataItem>): void;
|
clean?(): void;
|
}
|
export interface DefaultDataProvider {
|
fillStorage?(start: number, end: number, out: ArrayLike<ParsedValue>[], extent: number[][]): void;
|
}
|
/**
|
* If normal array used, mutable chunk size is supported.
|
* If typed array used, chunk size must be fixed.
|
*/
|
export declare class DefaultDataProvider implements DataProvider {
|
private _source;
|
private _data;
|
private _offset;
|
private _dimSize;
|
pure: boolean;
|
persistent: boolean;
|
static protoInitialize: void;
|
constructor(sourceParam: Source | OptionSourceData, dimSize?: number);
|
getSource(): Source;
|
count(): number;
|
getItem(idx: number, out?: ArrayLike<OptionDataValue>): OptionDataItem;
|
appendData(newData: OptionSourceData): void;
|
clean(): void;
|
private static internalField;
|
}
|
declare type RawSourceItemGetter = (rawData: OptionSourceData, startIndex: number, dimsDef: {
|
name?: DimensionName;
|
}[], idx: number, out?: ArrayLike<OptionDataValue>) => OptionDataItem | ArrayLike<OptionDataValue>;
|
export declare function getRawSourceItemGetter(sourceFormat: SourceFormat, seriesLayoutBy: SeriesLayoutBy): RawSourceItemGetter;
|
declare type RawSourceDataCounter = (rawData: OptionSourceData, startIndex: number, dimsDef: {
|
name?: DimensionName;
|
}[]) => number;
|
export declare function getRawSourceDataCounter(sourceFormat: SourceFormat, seriesLayoutBy: SeriesLayoutBy): RawSourceDataCounter;
|
declare type RawSourceValueGetter = (dataItem: OptionDataItem, dimIndex: DimensionIndex, property: DimensionName) => OptionDataValue;
|
export declare function getRawSourceValueGetter(sourceFormat: SourceFormat): RawSourceValueGetter;
|
export declare function retrieveRawValue(data: SeriesData, dataIndex: number, dim?: DimensionLoose | NullUndefined): OptionDataValue | OptionDataItem;
|
/**
|
* Compatible with some cases (in pie, map) like:
|
* data: [{name: 'xx', value: 5, selected: true}, ...]
|
* where only sourceFormat is 'original' and 'objectRows' supported.
|
*
|
* // TODO
|
* Supported detail options in data item when using 'arrayRows'.
|
*
|
* @param data
|
* @param dataIndex
|
* @param attr like 'selected'
|
*/
|
export declare function retrieveRawAttr(data: SeriesData, dataIndex: number, attr: string): any;
|
export {};
|