UNPKG

vega-lite

Version:

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

35 lines 1.91 kB
import type { SignalRef } from 'vega'; import { FieldName } from '../channeldef.js'; import { Config } from '../config.js'; import { Encoding } from '../encoding.js'; import { ParameterPredicate } from '../predicate.js'; import { ExprRef } from '../expr.js'; import { Projection } from '../projection.js'; import { TopLevelSelectionParameter } from '../selection.js'; import { GenericSpec, NormalizedSpec } from '../spec/index.js'; import { GenericLayerSpec, NormalizedLayerSpec } from '../spec/layer.js'; import { GenericUnitSpec, NormalizedUnitSpec } from '../spec/unit.js'; import { Dict } from '../util.js'; import { RepeaterValue } from './repeater.js'; export type Normalize<S extends GenericSpec<any, any, any, any>, NS extends NormalizedSpec> = (spec: S, params: NormalizerParams) => NS; export interface ExtraNormalizer<S extends GenericSpec<any, any, any, FieldName>, // Input type O extends NormalizedSpec, // Output Type SN extends GenericSpec<any, any, any, FieldName> = S> { name: string; hasMatchingType: (spec: GenericSpec<any, any, any, any>, config: Config) => spec is S; run(spec: S, params: NormalizerParams, normalize: Normalize<SN, O>): O; } export type NonFacetUnitNormalizer<S extends GenericUnitSpec<any, any>> = ExtraNormalizer<S, NormalizedUnitSpec | NormalizedLayerSpec, GenericUnitSpec<any, any> | GenericLayerSpec<any>>; export type NormalizeLayerOrUnit = Normalize<GenericUnitSpec<any, any> | GenericLayerSpec<any>, NormalizedUnitSpec | NormalizedLayerSpec>; export interface NormalizerParams { config: Config<SignalRef>; parentEncoding?: Encoding<FieldName>; parentProjection?: Projection<ExprRef>; repeater?: RepeaterValue; repeaterPrefix?: string; selections?: TopLevelSelectionParameter[]; emptySelections?: Dict<boolean>; selectionPredicates?: Dict<ParameterPredicate[]>; path?: string[]; } //# sourceMappingURL=base.d.ts.map