MCPcopy Index your code
hub / github.com/microsoft/SandDance / applyDefaults

Function applyDefaults

docs/app/js/sanddance-app.js:146889–146916  ·  view source on GitHub ↗
(encode, type, role, style, config)

Source from the content-addressed store, hash-verified

146887const TitleTextRole = "title-text";
146888const TitleSubtitleRole = "title-subtitle";
146889function applyDefaults(encode, type, role, style, config) {
146890 const defaults1 = {}, enter = {};
146891 let update, key1, skip, props1; // if text mark, apply global lineBreak settings (#2370)
146892 key1 = "lineBreak";
146893 if (type === "text" && config[key1] != null && !has(key1, encode)) applyDefault(defaults1, key1, config[key1]);
146894 // ignore legend and axis roles
146895 if (role == "legend" || String(role).startsWith("axis")) role = null;
146896 // resolve mark config
146897 props1 = role === FrameRole ? config.group : role === MarkRole ? (0, _vegaUtil.extend)({}, config.mark, config[type]) : null;
146898 for(key1 in props1){
146899 // do not apply defaults if relevant fields are defined
146900 skip = has(key1, encode) || (key1 === "fill" || key1 === "stroke") && (has("fill", encode) || has("stroke", encode));
146901 if (!skip) applyDefault(defaults1, key1, props1[key1]);
146902 } // resolve styles, apply with increasing precedence
146903 (0, _vegaUtil.array)(style).forEach((name)=>{
146904 const props = config.style && config.style[name];
146905 for(const key in props)if (!has(key, encode)) applyDefault(defaults1, key, props[key]);
146906 });
146907 encode = (0, _vegaUtil.extend)({}, encode); // defensive copy
146908 for(key1 in defaults1){
146909 props1 = defaults1[key1];
146910 if (props1.signal) (update = update || {})[key1] = props1;
146911 else enter[key1] = props1;
146912 }
146913 encode.enter = (0, _vegaUtil.extend)(enter, encode.enter);
146914 if (update) encode.update = (0, _vegaUtil.extend)(update, encode.update);
146915 return encode;
146916}
146917function applyDefault(defaults2, key, value2) {
146918 defaults2[key] = value2 && value2.signal ? {
146919 signal: value2.signal

Callers 1

parseEncodeFunction · 0.70

Calls 3

hasFunction · 0.70
applyDefaultFunction · 0.70
forEachMethod · 0.45

Tested by

no test coverage detected