-
Notifications
You must be signed in to change notification settings - Fork 43
/
query.ts
43 lines (37 loc) · 1.32 KB
/
query.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import {SpecQuery} from './spec';
import {Nest, GroupBy} from './groupby';
import {QueryConfig} from '../config';
export interface Query {
/**
* **Specification** (`spec`) for describing a collection of queried visualizations. This `spec`'s
* syntax follows a structure similar to [Vega-Lite](https://vega.github.io/vega-lite)'s single view
* specification. However, `spec` in CompassQL can have _wildcards_ (or _enumeration specifiers_)
* to describe properties that can be enumerated.
*
* See the SpecQuery interface for more details.
*/
spec: SpecQuery;
/**
* Methods for grouping queried visualization into groups. This property is a shorthand for the
* `nest` property with one level.
*/
groupBy?: GroupBy;
/**
* Methods for grouping queried visualization into hierarchical groupings.
*/
nest?: Nest[];
/**
* Method for ordering the list of visualization represented by this query (or the list of visualization
* groups if `groupBy` or `nest` is specified.)
*/
orderBy?: string | string[];
/**
* Method for ordering the top visualization represented by this query (or the top visualization group
* if `groupBy` or `nest` is specified.)
*/
chooseBy?: string | string[];
/**
* Configuration for customizing query parameters.
*/
config?: QueryConfig;
}