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

Function parseScaleRange

docs/app/js/sanddance-app.js:147454–147493  ·  view source on GitHub ↗
(spec, scope, params)

Source from the content-addressed store, hash-verified

147452 if (interpolate.gamma != null) params.interpolateGamma = parseLiteral(interpolate.gamma);
147453} // -- SCALE RANGE -----
147454function parseScaleRange(spec, scope, params) {
147455 const config = scope.config.range;
147456 let range = spec.range;
147457 if (range.signal) return scope.signalRef(range.signal);
147458 else if ((0, _vegaUtil.isString)(range)) {
147459 if (config && (0, _vegaUtil.hasOwnProperty)(config, range)) {
147460 spec = (0, _vegaUtil.extend)({}, spec, {
147461 range: config[range]
147462 });
147463 return parseScaleRange(spec, scope, params);
147464 } else if (range === "width") range = [
147465 0,
147466 {
147467 signal: "width"
147468 }
147469 ];
147470 else if (range === "height") range = (0, _vegaScale.isDiscrete)(spec.type) ? [
147471 0,
147472 {
147473 signal: "height"
147474 }
147475 ] : [
147476 {
147477 signal: "height"
147478 },
147479 0
147480 ];
147481 else (0, _vegaUtil.error)("Unrecognized scale range value: " + (0, _vegaUtil.stringValue)(range));
147482 } else if (range.scheme) {
147483 params.scheme = (0, _vegaUtil.isArray)(range.scheme) ? parseArray(range.scheme, scope) : parseLiteral(range.scheme, scope);
147484 if (range.extent) params.schemeExtent = parseArray(range.extent, scope);
147485 if (range.count) params.schemeCount = parseLiteral(range.count, scope);
147486 return;
147487 } else if (range.step) {
147488 params.rangeStep = parseLiteral(range.step, scope);
147489 return;
147490 } else if ((0, _vegaScale.isDiscrete)(spec.type) && !(0, _vegaUtil.isArray)(range)) return parseScaleDomain(range, spec, scope);
147491 else if (!(0, _vegaUtil.isArray)(range)) (0, _vegaUtil.error)("Unsupported range type: " + (0, _vegaUtil.stringValue)(range));
147492 return range.map((v)=>((0, _vegaUtil.isArray)(v) ? parseArray : parseLiteral)(v, scope));
147493}
147494function parseProjection(proj, scope) {
147495 const config = scope.config.projection || {}, params = {};
147496 for(const name in proj){

Callers 1

parseScaleFunction · 0.70

Calls 3

parseArrayFunction · 0.70
parseLiteralFunction · 0.70
parseScaleDomainFunction · 0.70

Tested by

no test coverage detected