mirror of
https://github.com/olehomelchenko/astrolabe.git
synced 2026-08-08 10:12:34 +00:00
Eng-council sweep: export hygiene, dead code, helper dedup, declare vega-expression
This commit is contained in:
@@ -34,8 +34,7 @@ export const MARK_TYPES = ['bar', 'line', 'point', 'area', 'circle'] as const;
|
||||
export type MarkType = (typeof MARK_TYPES)[number];
|
||||
|
||||
/** The four Vega-Lite field types a channel may carry, in override-menu order. */
|
||||
export const FIELD_TYPES = ['quantitative', 'nominal', 'ordinal', 'temporal'] as const;
|
||||
export type FieldType = (typeof FIELD_TYPES)[number];
|
||||
export type FieldType = 'quantitative' | 'nominal' | 'ordinal' | 'temporal';
|
||||
|
||||
/** The four encoding channels the builder offers, in display order (spec §06). */
|
||||
export const CHANNELS = ['x', 'y', 'color', 'size'] as const;
|
||||
@@ -49,8 +48,7 @@ export type ChannelName = (typeof CHANNELS)[number];
|
||||
* reduce a quantitative field; min/max also order a temporal or ordinal one. See
|
||||
* `validAggregateOps` for the per-type menu.
|
||||
*/
|
||||
export const AGGREGATE_OPS = ['count', 'distinct', 'sum', 'mean', 'median', 'min', 'max'] as const;
|
||||
export type AggregateOp = (typeof AGGREGATE_OPS)[number];
|
||||
export type AggregateOp = 'count' | 'distinct' | 'sum' | 'mean' | 'median' | 'min' | 'max';
|
||||
|
||||
/**
|
||||
* Temporal granularities (Vega-Lite `timeUnit`), coarse → fine, with the combined
|
||||
@@ -71,12 +69,10 @@ export const TIME_UNITS = [
|
||||
export type TimeUnit = (typeof TIME_UNITS)[number];
|
||||
|
||||
/** Sort the categorical axis by its measure (spec §06 → Ranking). */
|
||||
export const SORT_ORDERS = ['ascending', 'descending'] as const;
|
||||
export type SortOrder = (typeof SORT_ORDERS)[number];
|
||||
export type SortOrder = 'ascending' | 'descending';
|
||||
|
||||
/** Part-to-whole stacking for bar/area + a colour series: absolute vs 100%. */
|
||||
export const STACK_MODES = ['zero', 'normalize'] as const;
|
||||
export type StackMode = (typeof STACK_MODES)[number];
|
||||
export type StackMode = 'zero' | 'normalize';
|
||||
|
||||
/**
|
||||
* Comparison operators a guarded filter predicate offers (Vega-Lite field
|
||||
@@ -85,17 +81,7 @@ export type StackMode = (typeof STACK_MODES)[number];
|
||||
* `range`; a category offers membership (`oneOf`). `notEqual` is expressed as a
|
||||
* `{ not: { …equal } }` logical wrapper (Vega-Lite has no bare `!=` predicate).
|
||||
*/
|
||||
export const FILTER_OPS = [
|
||||
'equal',
|
||||
'notEqual',
|
||||
'lt',
|
||||
'lte',
|
||||
'gt',
|
||||
'gte',
|
||||
'range',
|
||||
'oneOf',
|
||||
] as const;
|
||||
export type FilterOp = (typeof FILTER_OPS)[number];
|
||||
export type FilterOp = 'equal' | 'notEqual' | 'lt' | 'lte' | 'gt' | 'gte' | 'range' | 'oneOf';
|
||||
|
||||
/** How a filter expresses its predicate: a guarded shelf, or a raw expression. */
|
||||
export type FilterMode = 'predicate' | 'expression';
|
||||
|
||||
Reference in New Issue
Block a user