private static parseSettings()

in src/visual.ts [617:663]


    private static parseSettings(
        dataView: DataView,
        colorHelper: ColorHelper,
    ): HistogramSettings {
        const settings: HistogramSettings = HistogramSettings.parse<HistogramSettings>(dataView);
        const displayName: string = (dataView
            && dataView.metadata
            && dataView.metadata.columns
            && dataView.metadata.columns[0]
            && dataView.metadata.columns[0].displayName
        ) || null;

        let bins: number = Math.round(settings.general.bins);

        if (displayName) {
            settings.general.displayName = displayName;
        }

        if (isNaN(bins) || bins <= HistogramGeneralSettings.MinNumberOfBins) {
            bins = HistogramGeneralSettings.DefaultBins;
        } else if (bins > HistogramGeneralSettings.MaxNumberOfBins) {
            bins = HistogramGeneralSettings.MaxNumberOfBins;
        }

        settings.general.bins = bins;

        settings.dataPoint.fill = colorHelper.getHighContrastColor("foreground", settings.dataPoint.fill);

        settings.xAxis.precision = Visual.getPrecision(settings.xAxis.precision);
        settings.xAxis.axisColor = colorHelper.getHighContrastColor("foreground", settings.xAxis.axisColor);
        settings.xAxis.strokeColor = colorHelper.getHighContrastColor("foreground", settings.xAxis.strokeColor);

        settings.yAxis.precision = Visual.getPrecision(settings.yAxis.precision);
        settings.yAxis.axisColor = colorHelper.getHighContrastColor("foreground", settings.yAxis.axisColor);
        settings.yAxis.strokeColor = colorHelper.getHighContrastColor("foreground", settings.yAxis.strokeColor);

        settings.labels.precision = Visual.getPrecision(settings.labels.precision);
        settings.labels.color = colorHelper.getHighContrastColor("foreground", settings.labels.color);

        settings.general.displayName = Visual.GET_LEGEND_TEXT_WITH_UNITS(
            settings.general.displayName,
            settings.xAxis.style,
            settings.xAxis.displayUnits
        );

        return settings;
    }