vega-lite
Version:
Vega-Lite is a concise high-level language for interactive visualization.
54 lines • 1.71 kB
TypeScript
import type { LoggerInterface, Spec as VgSpec } from 'vega';
import * as vlFieldDef from '../channeldef.js';
import { Config } from '../config.js';
import { LayoutSizeMixins, TopLevel, TopLevelSpec } from '../spec/index.js';
export interface CompileOptions {
/**
* Sets a Vega-Lite configuration.
*/
config?: Config;
/**
* Sets a custom logger.
*/
logger?: LoggerInterface;
/**
* Sets a field title formatter.
*/
fieldTitle?: vlFieldDef.FieldTitleFormatter;
}
/**
* Vega-Lite's main function, for compiling Vega-Lite spec into Vega spec.
*
* At a high-level, we make the following transformations in different phases:
*
* Input spec
* |
* | (Normalization)
* v
* Normalized Spec (Row/Column channels in single-view specs becomes faceted specs, composite marks becomes layered specs.)
* |
* | (Build Model)
* v
* A model tree of the spec
* |
* | (Parse)
* v
* A model tree with parsed components (intermediate structure of visualization primitives in a format that can be easily merged)
* |
* | (Optimize)
* v
* A model tree with parsed components with the data component optimized
* |
* | (Assemble)
* v
* Vega spec
*
* @param inputSpec The Vega-Lite specification.
* @param opt Optional arguments passed to the Vega-Lite compiler.
* @returns An object containing the compiled Vega spec and normalized Vega-Lite spec.
*/
export declare function compile(inputSpec: TopLevelSpec, opt?: CompileOptions): {
spec: VgSpec;
normalized: TopLevel<import("../spec/index.js").NormalizedSpec> & LayoutSizeMixins;
};
//# sourceMappingURL=compile.d.ts.map