yahoo-swiv
Version:
A web-based exploratory visualization UI for Druid.io
60 lines (59 loc) • 2.07 kB
TypeScript
import { List } from 'immutable';
import { Instance } from 'immutable-class';
import { Expression } from 'swiv-plywood';
import { Granularity, GranularityJS } from "../granularity/granularity";
export declare type BucketingStrategy = 'defaultBucket' | 'defaultNoBucket';
export interface DimensionValue {
name: string;
title?: string;
formula?: string;
kind?: string;
url?: string;
granularities?: Granularity[];
bucketedBy?: Granularity;
bucketingStrategy?: BucketingStrategy;
sortStrategy?: string;
}
export interface DimensionJS {
name: string;
title?: string;
formula?: string;
kind?: string;
url?: string;
granularities?: GranularityJS[];
bucketedBy?: GranularityJS;
bucketingStrategy?: BucketingStrategy;
sortStrategy?: string;
}
export declare class Dimension implements Instance<DimensionValue, DimensionJS> {
static defaultBucket: BucketingStrategy;
static defaultNoBucket: BucketingStrategy;
static isDimension(candidate: any): candidate is Dimension;
static getDimension(dimensions: List<Dimension>, dimensionName: string): Dimension;
static getDimensionByExpression(dimensions: List<Dimension>, expression: Expression): Dimension;
static fromJS(parameters: DimensionJS): Dimension;
name: string;
title: string;
formula: string;
expression: Expression;
kind: string;
className: string;
url: string;
granularities: Granularity[];
bucketedBy: Granularity;
bucketingStrategy: BucketingStrategy;
sortStrategy: string;
constructor(parameters: DimensionValue);
valueOf(): DimensionValue;
toJS(): DimensionJS;
toJSON(): DimensionJS;
toString(): string;
equals(other: Dimension): boolean;
canBucketByDefault(): boolean;
isContinuous(): boolean;
change(propertyName: string, newValue: any): Dimension;
changeKind(newKind: string): Dimension;
changeName(newName: string): Dimension;
changeTitle(newTitle: string): Dimension;
changeFormula(newFormula: string): Dimension;
}