UNPKG

vega-lite

Version:

Vega-Lite is a concise high-level language for interactive visualization.

44 lines 3.08 kB
/** * Definition for specifications in Vega-Lite. In general, there are 3 variants of specs for each type of specs: * - Generic specs are generic versions of specs and they are parameterized differently for internal and external specs. * - The external specs (no prefix) would allow composite marks, row/column encodings, and mark macros like point/line overlay. * - The internal specs (with `Normalized` prefix) would only support primitive marks and support no macros/shortcuts. */ import { Field, FieldName } from '../channeldef.js'; import { Encoding } from '../encoding.js'; import { DataMixins } from './base.js'; import { GenericConcatSpec, GenericHConcatSpec, GenericVConcatSpec } from './concat.js'; import { GenericFacetSpec } from './facet.js'; import { GenericLayerSpec, LayerSpec, NormalizedLayerSpec } from './layer.js'; import { RepeatSpec } from './repeat.js'; import { TopLevel } from './toplevel.js'; import { FacetedUnitSpec, GenericUnitSpec, NormalizedUnitSpec, TopLevelUnitSpec, UnitSpecWithFrame } from './unit.js'; export type { BaseSpec, LayoutSizeMixins } from './base.js'; export type { GenericConcatSpec, GenericHConcatSpec, GenericVConcatSpec, NormalizedConcatSpec } from './concat.js'; export { isAnyConcatSpec, isHConcatSpec, isVConcatSpec } from './concat.js'; export type { GenericFacetSpec, NormalizedFacetSpec } from './facet.js'; export { isFacetSpec } from './facet.js'; export type { GenericLayerSpec, LayerSpec, NormalizedLayerSpec } from './layer.js'; export { isLayerSpec } from './layer.js'; export type { RepeatSpec } from './repeat.js'; export { isRepeatSpec } from './repeat.js'; export type { TopLevel } from './toplevel.js'; export type { FacetedUnitSpec, GenericUnitSpec, NormalizedUnitSpec, UnitSpec, TopLevelUnitSpec, UnitSpecWithFrame, } from './unit.js'; export { isUnitSpec } from './unit.js'; /** * Any specification in Vega-Lite. */ export type GenericSpec<U extends GenericUnitSpec<Encoding<F>, any>, L extends GenericLayerSpec<U>, R extends RepeatSpec, F extends Field> = U | L | R | GenericFacetSpec<U, L, F> | GenericConcatSpec<GenericSpec<U, L, R, F>> | GenericVConcatSpec<GenericSpec<U, L, R, F>> | GenericHConcatSpec<GenericSpec<U, L, R, F>>; /** * Specs with only primitive marks and without other macros. */ export type NormalizedSpec = GenericSpec<NormalizedUnitSpec, NormalizedLayerSpec, never, FieldName>; export type TopLevelFacetSpec = TopLevel<GenericFacetSpec<UnitSpecWithFrame<Field>, LayerSpec<Field>, Field>> & DataMixins; export type NonNormalizedSpec = GenericSpec<FacetedUnitSpec<Field>, LayerSpec<Field>, RepeatSpec, Field>; /** * A Vega-Lite top-level specification. * This is the root class for all Vega-Lite specifications. * (The json schema is generated from this type.) */ export type TopLevelSpec = TopLevelUnitSpec<Field> | TopLevelFacetSpec | TopLevel<LayerSpec<Field>> | TopLevel<RepeatSpec> | TopLevel<GenericConcatSpec<NonNormalizedSpec>> | TopLevel<GenericVConcatSpec<NonNormalizedSpec>> | TopLevel<GenericHConcatSpec<NonNormalizedSpec>>; //# sourceMappingURL=index.d.ts.map