MCPcopy Create free account
hub / github.com/microsoft/SandDance / build

Function build

docs/app/js/sanddance-app.js:696–743  ·  view source on GitHub ↗
(specContext, currData)

Source from the content-addressed store, hash-verified

694var _inference = require("./inference");
695var _specBuilder = require("./specBuilder");
696function build(specContext, currData) {
697 const { specColumns } = specContext;
698 const columns = [
699 specColumns.color,
700 specColumns.facet,
701 specColumns.facetV,
702 specColumns.group,
703 specColumns.size,
704 specColumns.sort,
705 specColumns.x,
706 specColumns.y,
707 specColumns.z
708 ];
709 (0, _inference.inferAll)(columns, currData);
710 const specBuilderProps = (0, _charts.getSpecBuilderPropsForChart)(specContext);
711 const specBuilder = new (0, _specBuilder.SpecBuilder)(specBuilderProps, specContext);
712 let specResult;
713 if (specBuilder) {
714 try {
715 const errors = specBuilder.validate();
716 if (errors.length) specResult = {
717 errors,
718 specCapabilities: specBuilderProps.specCapabilities,
719 vegaSpec: null
720 };
721 else specResult = specBuilder.build();
722 } catch (e) {
723 specResult = {
724 specCapabilities: null,
725 vegaSpec: null,
726 errors: [
727 e.stack
728 ]
729 };
730 }
731 if (!specResult.errors) {
732 const data0 = specResult.vegaSpec.data[0];
733 data0.values = currData;
734 }
735 } else specResult = {
736 specCapabilities: null,
737 vegaSpec: null,
738 errors: [
739 `could not build spec for ${specContext.insight.chart}`
740 ]
741 };
742 return specResult;
743}
744
745},{"./charts":"buOmZ","./inference":"dq4sa","./specBuilder":"h8MxI","@parcel/transformer-js/src/esmodule-helpers.js":"jA2du"}],"buOmZ":[function(require,module,exports) {
746var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");

Callers

nothing calls this directly

Calls 2

validateMethod · 0.65
buildMethod · 0.45

Tested by

no test coverage detected