virool-pivot
Version:
A web-based exploratory visualization UI for Druid.io
50 lines (49 loc) • 2.34 kB
TypeScript
import { List } from 'immutable';
import { Instance } from 'immutable-class';
import { Timezone, Duration } from 'chronoshift';
import { Expression, ExpressionJS, Set, Range } from 'plywood';
import { Dimension } from '../dimension/dimension';
import { FilterClause } from '../filter-clause/filter-clause';
export declare type FilterValue = List<FilterClause>;
export declare type FilterJS = ExpressionJS | string;
export declare class Filter implements Instance<FilterValue, FilterJS> {
static EMPTY: Filter;
static isFilter(candidate: any): candidate is Filter;
static fromClause(clause: FilterClause): Filter;
static fromJS(parameters: FilterJS): Filter;
clauses: List<FilterClause>;
constructor(parameters: FilterValue);
valueOf(): FilterValue;
toJS(): FilterJS;
toJSON(): FilterJS;
toString(): string;
equals(other: Filter): boolean;
replaceByIndex(index: number, replace: FilterClause): Filter;
insertByIndex(index: number, insert: FilterClause): Filter;
empty(): boolean;
single(): boolean;
length(): number;
toExpression(): Expression;
isEmpty(): boolean;
isRelative(): boolean;
getSpecificFilter(now: Date, maxTime: Date, timezone: Timezone): Filter;
private indexOfClause(attribute);
clauseForExpression(attribute: Expression): FilterClause;
filteredOn(attribute: Expression): boolean;
filteredOnValue(attribute: Expression, value: any): boolean;
addValue(attribute: Expression, value: any): Filter;
remove(attribute: Expression): Filter;
removeValue(attribute: Expression, value: any): Filter;
toggleValue(attribute: Expression, value: any): Filter;
getSelection(attribute: Expression): Expression;
setSelection(attribute: Expression, selection: Expression): Filter;
getExtent(attribute: Expression): Range<any>;
getFileString(timeAttribute: Expression): string;
getLiteralSet(attribute: Expression): Set;
setClause(expression: FilterClause): Filter;
applyDelta(delta: Filter): Filter;
getSingleClauseSet(): Set;
constrainToDimensions(dimensions: List<Dimension>, timeAttribute: Expression, oldTimeAttribute?: Expression): Filter;
getDifferentAttributes(other: Filter): Expression[];
overQuery(duration: Duration, timezone: Timezone, timeAttribute: Expression): Filter;
}