vega-lite
Version:
Vega-Lite is a concise high-level language for interactive visualization.
22 lines (20 loc) • 747 B
text/typescript
import {GuideEncodingEntry} from '../guide.js';
import {keys} from '../util.js';
import {VgEncodeChannel} from '../vega.schema.js';
import {signalOrValueRef} from './common.js';
import {wrapCondition} from './mark/encode/conditional.js';
import {UnitModel} from './unit.js';
export function guideEncodeEntry(encoding: GuideEncodingEntry, model: UnitModel) {
return keys(encoding).reduce((encode, channel: VgEncodeChannel) => {
return {
...encode,
...wrapCondition({
model,
channelDef: encoding[channel],
vgChannel: channel,
mainRefFn: (def) => signalOrValueRef(def.value),
invalidValueRef: undefined, // guide encoding won't show invalid values for the scale
}),
};
}, {});
}