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

Function serializeSpec

docs/app/js/sanddance-app.js:13129–13165  ·  view source on GitHub ↗
(vegaSpec, datafile, dataRefType, transform, scheme)

Source from the content-addressed store, hash-verified

13127 return SandDance.VegaDeckGl.util.clone(vegaSpec.scales);
13128}
13129function serializeSpec(vegaSpec, datafile, dataRefType, transform, scheme) {
13130 const scales = cloneScales(vegaSpec);
13131 const colorScale = scales.filter((scale)=>scale.name === SandDance.constants.ScaleNames.Color)[0];
13132 if (scheme.indexOf("dual_") >= 0) colorScale.range = SandDance.colorSchemes.filter((cs)=>cs.scheme === scheme)[0].colors;
13133 const clone = cloneData(vegaSpec);
13134 const data0 = clone.data[0];
13135 if (dataRefType === DataRefType.inline) {
13136 const valuesData = data0;
13137 valuesData.format = {
13138 parse: "auto",
13139 type: "json"
13140 };
13141 valuesData.values = clone.values;
13142 } else if (dataRefType === DataRefType.none) {
13143 const valuesData = data0;
13144 valuesData.values = [];
13145 if (transform) {
13146 if (valuesData.transform) valuesData.transform.push.apply(valuesData.transform, transform);
13147 else valuesData.transform = transform;
13148 }
13149 } else if (dataRefType === DataRefType.url) {
13150 const urlData = data0;
13151 urlData.url = datafile.dataUrl;
13152 urlData.format = {
13153 parse: "auto",
13154 type: datafile.type
13155 };
13156 if (transform) {
13157 if (urlData.transform) urlData.transform.push.apply(urlData.transform, transform);
13158 else urlData.transform = transform;
13159 }
13160 }
13161 return Object.assign(Object.assign({}, vegaSpec), {
13162 data: clone.data,
13163 scales
13164 });
13165}
13166function defaultDataRefType(datafile) {
13167 if (datafile.dataUrl) return DataRefType.url;
13168 return DataRefType.none;

Callers 1

renderMethod · 0.70

Calls 3

cloneScalesFunction · 0.70
cloneDataFunction · 0.70
filterMethod · 0.45

Tested by

no test coverage detected