export function mapToDisplayEdgeTypeConfig()

in packages/graph-explorer/src/core/StateProvider/displayTypeConfigs.ts [159:194]


export function mapToDisplayEdgeTypeConfig(
  typeConfig: EdgeTypeConfig,
  textTransform: TextTransformer = sanitizeText
): DisplayEdgeTypeConfig {
  const displayLabel =
    typeConfig.displayLabel ||
    textTransform(typeConfig.type) ||
    MISSING_DISPLAY_TYPE;

  const attributes: DisplayConfigAttribute[] = typeConfig.attributes
    .map(attr => ({
      name: attr.name,
      displayLabel: attr.displayLabel || textTransform(attr.name),
      isSearchable: isAttributeSearchable(attr),
    }))
    .toSorted((a, b) => a.name.localeCompare(b.name));

  const style: DisplayEdgeStyle = {
    sourceArrowStyle:
      typeConfig.sourceArrowStyle || defaultEdgeTypeConfig.sourceArrowStyle,
    targetArrowStyle:
      typeConfig.targetArrowStyle || defaultEdgeTypeConfig.targetArrowStyle,
    lineStyle: typeConfig.lineStyle || defaultEdgeTypeConfig.lineStyle,
    lineColor: typeConfig.lineColor || defaultEdgeTypeConfig.lineColor,
  };

  const result: DisplayEdgeTypeConfig = {
    type: typeConfig.type,
    displayLabel,
    attributes,
    style,
    displayNameAttribute:
      typeConfig.displayNameAttribute || RESERVED_TYPES_PROPERTY,
  };
  return result;
}