virool-pivot
Version:
A web-based exploratory visualization UI for Druid.io
43 lines (42 loc) • 2.1 kB
TypeScript
import { List } from 'immutable';
import { Instance } from 'immutable-class';
import { Expression, SortAction } from 'plywood';
import { Dimension } from '../dimension/dimension';
import { Filter } from '../filter/filter';
import { SplitCombine, SplitCombineJS, SplitCombineContext } from '../split-combine/split-combine';
export declare type SplitsValue = List<SplitCombine>;
export declare type SplitsJS = SplitCombineJS | SplitCombineJS[];
export declare type SplitContext = SplitCombineContext;
export declare class Splits implements Instance<SplitsValue, SplitsJS> {
static EMPTY: Splits;
static isSplits(candidate: any): candidate is Splits;
static fromSplitCombine(splitCombine: SplitCombine): Splits;
static fromJS(parameters: SplitsJS, context?: SplitContext): Splits;
splitCombines: List<SplitCombine>;
constructor(parameters: SplitsValue);
valueOf(): SplitsValue;
toJS(): SplitsJS;
toJSON(): SplitsJS;
toString(): string;
equals(other: Splits): boolean;
replaceByIndex(index: number, replace: SplitCombine): Splits;
insertByIndex(index: number, insert: SplitCombine): Splits;
addSplit(split: SplitCombine): Splits;
removeSplit(split: SplitCombine): Splits;
changeSortAction(sort: SortAction): Splits;
getTitle(dimensions: List<Dimension>): string;
length(): number;
forEach(sideEffect: (value?: SplitCombine, key?: number, iter?: List<SplitCombine>) => any, context?: any): number;
get(index: number): SplitCombine;
first(): SplitCombine;
last(): SplitCombine;
findSplitForDimension(dimension: Dimension): SplitCombine;
hasSplitOn(dimension: Dimension): boolean;
replace(search: SplitCombine, replace: SplitCombine): Splits;
map(mapper: (value?: SplitCombine, key?: number) => SplitCombine, context?: any): Splits;
toArray(): SplitCombine[];
removeBucketingFrom(expressions: Expression[]): Splits;
updateWithFilter(filter: Filter, dimensions: List<Dimension>): Splits;
constrainToDimensions(dimensions: List<Dimension>): Splits;
timezoneDependant(): boolean;
}