public static getCategoricalColumns()

in src/columns.ts [46:69]


    public static getCategoricalColumns(dataView: DataView) {
        const categorical: DataViewCategorical = dataView && dataView.categorical;
        const categories: DataViewCategoryColumn[] = categorical && categorical.categories || [];
        const values: DataViewValueColumns = categorical && categorical.values || <DataViewValueColumns>[];

        return categorical && _.mapValues(
            new this<DataViewCategoryColumn & DataViewValueColumn[] & DataViewValueColumns>(),
            (n, i) => {
                let result: any = categories.filter(x => x.source.roles && x.source.roles[i])[0];

                if (!result) {
                    result = values.source && values.source.roles && values.source.roles[i] && values;
                }

                if (!result) {
                    result = values.filter(x => x.source.roles && x.source.roles[i]);
                    if (_.isEmpty(result)) {
                        result = undefined;
                    }
                }

                return result;
            });
    }