export async function wrangle()

in charts/shared/wrangle.js [26:67]


export async function wrangle(data, chart) {
  const settings = initializeSettings(data);

  if (data.columns && data.data) {
    const columns = data.columns.length ? data.columns : await schema(data.data);
    settings.columns = columns;
    settings.columnMap = new Map(columns.map(d => [d.column, d]));
    console.log("---- New schema info ----", columns, "---- Ends ----");
  }

  processSettings(settings);

  if (settings.dropdown?.length) {
    settings.dropdown = settings.dropdown.map(dropdown => {
      const mergedDropdown = merge({ label: "", values: "", tooltip: "", colours: "", data: "" }, dropdown);
      if (!mergedDropdown.label && mergedDropdown.data) {
        mergedDropdown.label = mergedDropdown.data;
        if (!mergedDropdown.values) {
          mergedDropdown.values = mergedDropdown.data;
        }
      }
      return mergedDropdown;
    });
  }

  updateAxisSettings(chart, settings);
  applyChartSettings(chart, settings);

  if (settings.type === "table" && data.userkey) {
    processTableGraphics(data.userkey, settings, data);
  }

  if (contains(AXIS_TYPES, settings.type)) {
    settings.xFormat = xFormatting(settings);
    console.log("xFormat", settings.xFormat)
  }

  processDateSettings(settings);

  
  return settings;
}