(value: unknown)
| 85 | } |
| 86 | |
| 87 | function renderCell(value: unknown) { |
| 88 | if (value === null || value === undefined) return "" |
| 89 | if (typeof value === "string" && value.startsWith("https://")) { |
| 90 | return ( |
| 91 | <a href={value} target="_blank" rel="noopener noreferrer"> |
| 92 | {value} |
| 93 | </a> |
| 94 | ) |
| 95 | } |
| 96 | if (isLinkCell(value)) { |
| 97 | const external = value.__link.startsWith("http") |
| 98 | return ( |
| 99 | <a |
| 100 | href={value.__link} |
| 101 | target={external ? "_blank" : undefined} |
| 102 | rel={external ? "noopener noreferrer" : undefined} |
| 103 | > |
| 104 | {value.label} |
| 105 | </a> |
| 106 | ) |
| 107 | } |
| 108 | if (typeof value === "object") return JSON.stringify(value) |
| 109 | return String(value) |
| 110 | } |
| 111 | |
| 112 | function isLinkCell(value: unknown): value is { __link: string; label: string } { |
| 113 | return ( |
no test coverage detected