import { Pencil, Trash2 } from "lucide-react"; import { Button } from "@/components/ui/button"; import type { Transformer } from "@/types"; interface TransformerListProps { transformers: Transformer[]; onEdit: (index: number) => void; onRemove: (index: number) => void; } export function TransformerList({ transformers, onEdit, onRemove }: TransformerListProps) { // Handle case where transformers might be null or undefined if (!transformers || !Array.isArray(transformers)) { return (
No transformers configured
); } return (
{transformers.map((transformer, index) => { // Handle case where individual transformer might be null or undefined if (!transformer) { return (

Invalid Transformer

Transformer data is missing

); } // Handle case where transformer.path might be null or undefined const transformerPath = transformer.path || "Unnamed Transformer"; // Handle case where transformer.parameters might be null or undefined const options = transformer.options || {}; // Render parameters as tags in a single line const renderParameters = () => { if (!options || Object.keys(options).length === 0) { return

No parameters configured

; } return (
{Object.entries(options).map(([key, value]) => ( {key}: {String(value)} ))}
); }; return (

{transformerPath}

{renderParameters()}
); })}
); }