in web-console/src/utils/types.ts [40:125]
export function dataTypeToIcon(dataType: string): IconName {
const typeUpper = dataType.toUpperCase();
switch (typeUpper) {
case 'NULL':
return IconNames.CIRCLE;
case 'TIMESTAMP':
return IconNames.TIME;
case 'BOOLEAN':
return IconNames.SEGMENTED_CONTROL;
case 'VARCHAR':
case 'STRING':
return IconNames.FONT;
case 'BIGINT':
case 'LONG':
return IconNames.NUMERICAL;
case 'DECIMAL':
case 'REAL':
case 'FLOAT':
case 'DOUBLE':
return IconNames.FLOATING_POINT;
case 'ARRAY<STRING>':
return IconNames.ARRAY_STRING;
case 'ARRAY<LONG>':
return IconNames.ARRAY_NUMERIC;
case 'ARRAY<FLOAT>':
case 'ARRAY<DOUBLE>':
return IconNames.ARRAY_FLOATING_POINT;
case 'COMPLEX<JSON>':
return IconNames.DIAGRAM_TREE;
case 'COMPLEX<HYPERUNIQUE>':
case 'COMPLEX<HLLSKETCH>':
case 'COMPLEX<HLLSKETCHBUILD>':
case 'COMPLEX<THETASKETCH>':
case 'COMPLEX<THETASKETCHBUILD>':
return IconNames.SNOWFLAKE;
case 'COMPLEX<QUANTILESDOUBLESSKETCH>':
case 'COMPLEX<APPROXIMATEHISTOGRAM>':
case 'COMPLEX<FIXEDBUCKETSHISTOGRAM>':
case 'COMPLEX<ARRAYOFDOUBLESSKETCH>':
case 'COMPLEX<MOMENTSKETCH>':
return IconNames.HORIZONTAL_DISTRIBUTION;
case 'COMPLEX<VARIANCE>':
return IconNames.ALIGNMENT_HORIZONTAL_CENTER;
case 'COMPLEX<IPADDRESS>':
case 'COMPLEX<IPPREFIX>':
return IconNames.IP_ADDRESS;
case 'COMPLEX<SERIALIZABLEPAIRLONGSTRING>':
return IconNames.DOUBLE_CHEVRON_RIGHT;
case 'COMPLEX<BLOOM>':
return IconNames.FILTER_LIST;
case 'COMPLEX<KLLDOUBLESSKETCH>':
case 'COMPLEX<KLLFLOATSSKETCH>':
return IconNames.HURRICANE;
case 'COMPLEX<COMPRESSEDBIGDECIMAL>':
return IconNames.SORT_NUMERICAL_DESC;
case 'COMPLEX<TEXT>':
return IconNames.LABEL;
case 'COMPLEX<VECTOR>':
return IconNames.REGRESSION_CHART;
default:
if (typeUpper.startsWith('ARRAY')) return IconNames.ARRAY;
if (typeUpper.startsWith('COMPLEX')) return IconNames.ASTERISK;
return IconNames.HELP;
}
}